D2NT Etal hilfe mit scripteinstellung

12/24/2011 18:52 mrwho73#1
Hallo,
möchte gerne wissen, wie ich das baal script so einstellen kann, das mein pala bei stygschen puppen das game verlässt?????
wer eine antwort??????????? danke
:rtfm:
12/24/2011 18:57 mirkoregge#2
Hast dir die Frage doch selber beantwortet:

:rtfm:

:rtfm:

:rtfm:

12/24/2011 21:20 mrwho73#3
hallo, soweit bin ich schon, danke.
jedoch finde ich im script nix........ hier mein script

RegisterEvent(EVENT_SCRIPTMSG, HostileHandler);
var _hostilepause = false;
var poscount = 1;
var _trapsPreCasted;
function NTMain(){

Include("libs/common/NTCommon.ntl");
NTC_IncludeLibs();
NTC_IncludeConfig("NTBot/char_configs");

var i;
var _wave;
var _starttick;

NT_LoadConfig();
NTSI_LoadNIPFiles("NTBot/item_configs");

NTA_Initialize();

if(!NTTM_CheckAct()){
NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
return;
}
NTTMGR_TownManager();
if(!NTTM_TownMove("waypoint")){
NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
return;
}
if(!NTM_TakeWaypoint(129)){
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
return;
}
NTP_DoPrecast(true);
if(NTConfig_ClearWSK == 1){ // Chair add - checking what clear option has been selected. non specified = don't clear!
clearpath = true;
}
else if(NTConfig_ClearWSK == 2){
clearpath = 2;
}
else{
clearpath = false;
}
if(clearpath != 2){ //Chair add - first block handles anything but full level clears
if(!NTM_MoveToStair(me.areaid, 130,0,0,clearpath)){ // Chair add - the clearpath variable is adjusted by NTConfig_ClearWSK above
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveToStair()");
return;
}
if(!NTM_TakeStair(130)){
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeStair()");
return;
}
if(!NTM_MoveToStair(me.areaid, 131,0,0,clearpath)){ // Chair add - the clearpath variable is adjusted by NTConfig_ClearWSK above
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveToStair()");
return;
}
if(NTConfig_MakeHelpTPBeforeThrone && NTConfig_PublicMode){
NTM_MakeTP();
Say(Baal_WSlvl3tpMSG);
NTC_Delay(1000);
NTP_DoPrecast(true);
}
if(!NTM_TakeStair(130+i)){ // stair var i isn't being used yet so not sure why you have it here??? doesn't get used until line 147

NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeStair()");
return;
}
}
else{ //Chair add - This entire block handles the option to clear the entire lvl 2 and 3, not only the path.
if(!NTA_ClearLevel()){
NTC_SendMsgToScript("NTBotGame.ntj", "NTA_ClearLevel()");
return;
}
if(NTConfig_OpenChestsInArea && NTU_DontOpenAreas())
OpenChestsInArea();
if(!NTM_MoveToPresetUnit(me.areaid, NTC_UNIT_TILE, 82)){
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveToPresetUnit()");
return;
}
if(!NTM_TakeStair()){
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeStair()");
return;
}
if(NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe)){
NTTMGR_VisitTown();
}
NTP_DoPrecast();
if(!NTA_ClearLevel()){
NTC_SendMsgToScript("NTBotGame.ntj", "NTA_ClearLevel()");
return;
}
if(NTConfig_OpenChestsInArea && NTU_DontOpenAreas())
OpenChestsInArea();
if(!NTM_MoveToPresetUnit(me.areaid, NTC_UNIT_TILE, 82)){
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveToPresetUnit()");
return;
}
if(!NTM_TakeStair()){
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeStair()");
return;
}
if(NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe)){
NTTMGR_VisitTown();
}
NTP_DoPrecast();
if(!NTA_ClearLevel()){
NTC_SendMsgToScript("NTBotGame.ntj", "NTA_ClearLevel()");
return;
}
if(NTConfig_OpenChestsInArea && NTU_DontOpenAreas())
OpenChestsInArea();
}
//End of things added by Chairman
if(!NTM_MoveTo(me.areaid, 15112, 5068)){
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
return;
}
NTA_ClearPosition(20, true, 2);
if(NTConfig_PublicMode){
if(NTConfig_MakeHotTP){
NTM_MoveTo(me.areaid, 15116, 5068);
NTC_PingDelay(1000);
NTA_ClearPosition(20, true, 2);
NTM_MoveTo(me.areaid, 15116, 5068);
if(NTThrone_Announce)
_announceTMobs();
NTM_MakeTP();
Say(Baal_HotTp);
NTC_Delay(500);
NTP_DoPrecast(true);
}
}
NT_ClearThroneInt();
if(NTConfig_PublicMode){
NTM_MoveTo(me.areaid, 15112, 5004, 1, true);
NTM_MakeTP();
Say(Baal_SafeTp);
NTC_Delay(500);
NTP_DoPrecast(true);
}
while(1){
NTM_MoveTo(me.areaid, prewavespot[0], prewavespot[1]);
if(me.GetState(2))
NTC_PutSkill(109, NTC_HAND_RIGHT);
if(NTConfig_IdInField){
NT_FieldID();
}
for(i = 0 ; i < 6 ; i++){
_wave = NT_ThroneCheckInt();
if(_wave > 0)
break;
NTC_Delay(500);
}
_starttick = GetTickCount();
while(_wave == 0){
if(!NT_ThronePreAttackInt())
NTC_Delay(200);
if(GetTickCount()-_starttick > 15000){
NT_ClearThroneInt();
_starttick = GetTickCount();
}
_wave = NT_ThroneCheckInt();
}
switch(_wave){
case 1:
if(NTConfig_TeleEachWave){
NTM_TeleportTo(me.x+1, me.y+3);
}
NTA_ClearPosition(40, true, 2);
NTP_DoPrecast(true);
break;
case 2:
if(NTConfig_TeleEachWave){
NTM_TeleportTo(me.x+1, me.y+3);
}
if(NTConfig_HolyBoltBaal)
if (me.classid == NTC_CHAR_CLASS_PALADIN && NTConfig_AttackSkill[5] == 101)
achmel();
NTA_ClearPosition(40, true, 2);
if(NTConfig_PsnW2){
if(NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe)){
NTTMGR_VisitTown();
}
}
break;
case 3:
if(NTConfig_TeleEachWave){
NTM_TeleportTo(me.x+1, me.y+3);
}
NTA_ClearPosition(40, true, 2);
if(NTConfig_Wave3 > 0){
NT_CheckHydraInt();
}
else
NTC_Delay(3000);
break;
case 4:
if(NTConfig_TeleEachWave){
NTM_TeleportTo(me.x+1, me.y+3);
}
NTA_ClearPosition(40, true, 2);
break;
case 5:
if(NTConfig_TeleEachWave){
NTM_TeleportTo(me.x+1, me.y+3);
}
NTA_ClearPosition(40, true, 2);
break;
default:
if(NTConfig_TeleEachWave){
NTM_TeleportTo(me.x+1, me.y+3);
}
NTA_ClearPosition(40, true, 2);
break;
}
if(_wave != 0) // Need to force a one time cast/wave Assassin only
_trapsPreCasted = false;
if(_wave == 5)
break;
}
if(NTConfig_KillBaal){
var _portal;
if(NTConfig_PublicMode)
Say(Baal_KillBaalMessage);
if(NTConfig_TownBeforeBaal && NTT_CheckInventoryBeforeBoss()){
Delay(1000);
if(NTConfig_PublicMode) {
Say(Baal_FreeSpaceMessage);
}
NTTMGR_VisitTown();
}
if(NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe)){
NTTMGR_VisitTown();
}
NTM_MoveTo(me.areaid, 15092, 5010);
NTP_DoPrecast(true);
if(NTConfig_IdInField){
NT_FieldID();
}
while(NTC_FindUnit(NTC_UNIT_MONSTER, 543))
NTC_Delay(500);
_portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 1);
if(!_portal){
NTC_SendMsgToScript("NTBotGame.ntj", "NTC_FindUnit()");
return;
}
if(!NTM_UsePortal("Portal", 132, null, _portal)){
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_UsePortal()");
return;
}
NTM_MoveTo(me.areaid, 15138, 5916);
if(!NTA_KillMonster(544)){
if(NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe)){
NTTMGR_VisitTown();
}
NTC_SendMsgToScript("NTBotGame.ntj", "NTA_KillMonster()");
return;
}
NTSI_PickItems();
}
Delay(500);
if(NTConfig_PublicMode)
Say(Baal_NextGameMessage);
Delay(500)
if(Baal_BSayNextGame.length > 0 && NTConfig_PublicMode)
Say(Baal_BSayNextGame + NTC_NextGameSayererer());
Delay(1000);
NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}

// Internal function
function NT_ClearThroneInt(){
var _attackpos = [15112, 5068, 15075, 5065, 15114, 5045, 15114, 5012, 15095, 5024, 15078, 5013, 15092, 5040];
for(var i = 0 ; i < _attackpos.length ; i += 2){
NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);
NTA_ClearPosition(25, true, 2);
}
}

function NT_ThroneCheckInt(){
var _monster;
if(!NTC_FindUnit(NTC_UNIT_MONSTER, 543))
return 5;
_monster = NTC_FindUnit(NTC_UNIT_MONSTER);
if(_monster){
do{
if(NTA_IsValidMonster(_monster)){
if(_monster.classid == 23 || _monster.classid == 62)
return 1;
if(_monster.classid == 105 || _monster.classid == 381)
return 2;
if(_monster.classid == 557)
return 3;
if(_monster.classid == 558)
return 4;
if(_monster.classid == 571)
return 5;
}
} while(_monster.GetNext());
}
return 0;
}

function NT_ThronePreAttackInt(){
if(me.classid == NTC_CHAR_CLASS_SORCERESS){
if(NTConfig_PreWaveSpam > 0){
if(poscount == 1){
poscount = 2;
return NTC_CastSkill(NTConfig_PreWaveSpam, 0, KBLSpamPos[0], KBLSpamPos[1]);
}
else if(poscount == 2){
poscount = 3;
return NTC_CastSkill(NTConfig_PreWaveSpam, 0, KBLSpamPos[2], KBLSpamPos[3]);
}
else{
poscount = 1;
return NTC_CastSkill(NTConfig_PreWaveSpam, 0, KBLSpamPos[4], KBLSpamPos[5]);
}
}
}
else if(me.classid == NTC_CHAR_CLASS_DRUID){
if(NTConfig_AttackSkill[3] == 245){
return NTC_CastSkill(NTConfig_AttackSkill[3], 2, DruidPreAtt[0], DruidPreAtt[1]);
}
}
else if(me.classid == NTC_CHAR_CLASS_NECROMANCER){
if(NTConfig_PreWaveSpam > 0)
return NTC_CastSkill(NTConfig_PreWaveSpam, _NTA_SkillHand[NTConfig_PreWaveSpam], NecroPreAtt[0], NecroPreAtt[1]);
}
else if(me.classid == NTC_CHAR_CLASS_PALADIN){
if(NTConfig_AttackSkill[3] == 112){
NTC_PutSkill(NTConfig_AttackSkill[3], NTC_HAND_LEFT);
NTC_PutSkill(NTConfig_AttackSkill[4], NTC_HAND_RIGHT);
return NTC_CastSkill(NTConfig_AttackSkill[3], 2, 15092, 5028);
}
}
else if(me.classid == NTC_CHAR_CLASS_ASSASSIN){
var _attackPos = [15088,5023,15087,5032,15098,5022,15101,5034,15094, 5029];
if(NTConfig_UseTraps && !_trapsPreCasted){
for(var i=0;i<5;i++) {
if(i == 0 || i == 2 || i == 3) // Added delays to prevent trap miscast
NTC_Delay(25);
if(NTConfig_TrapSet[i] > 0)
NTC_CastSkill(NTConfig_TrapSet[i], NTC_HAND_RIGHT, _attackPos[i*2],_attackPos[(i*2)+1]);
}
_trapsPreCasted = true;
}
if(NTConfig_AttackSkill[3] == 256)
if(me.GetSkillStatus(NTConfig_AttackSkill[3]) != 8)
return NTC_CastSkill(NTConfig_AttackSkill[3], 2, 15093, 5030);
}
return false;
}

function NT_CheckHydraInt(){
var _hydra1, _hydra2, _hydra3;
_hydra1 = NTC_FindUnit(NTC_UNIT_MONSTER, 351);
_hydra2 = NTC_FindUnit(NTC_UNIT_MONSTER, 352);
_hydra3 = NTC_FindUnit(NTC_UNIT_MONSTER, 353);
if((_hydra1 && _hydra1.GetStat(172) != 2 && _hydra1.GetState(105))
|| (_hydra2 && _hydra2.GetStat(172) != 2 && _hydra2.GetState(105))
|| (_hydra3 && _hydra3.GetStat(172) != 2 && _hydra3.GetState(105))){
if(NTConfig_Wave3 == 1)
NTM_MoveTo(me.areaid, 15112, 5004); // right side
else if(NTConfig_Wave3 == 2)
NTM_MoveTo(me.areaid, 15073, 5002); // left side
if(me.GetState(2))
NTC_PutSkill(109, NTC_HAND_RIGHT);
NTC_PingDelay(3000);
}
}

function achmel(){
var x = 0;
var _holdTargetHp = 0;
NTC_PutSkill(NTConfig_AttackSkill[6], NTC_HAND_RIGHT);
var _achmel = NTC_FindUnit(NTC_UNIT_MONSTER, GetLocaleString(21852));
while (_achmel && _achmel.hp > 0){
_holdTargetHp = _achmel.hp;
for(var i = 0; i < 5 ; i++){
NTC_CastSkill(NTConfig_AttackSkill[5], NTC_HAND_LEFT, _achmel);
}
if(_holdTargetHp <= _achmel.hp && NTConfig_WalkAround) {
x++;
if(x % 2 == 0)
NTM_WalkTo(me.x+10, me.y);
else
NTM_WalkTo(me.x-10, me.y);
}
}
var _company = NTC_FindUnit(NTC_UNIT_MONSTER, 105);
do{
while (_company != null && _company.hp >0 && !_company.GetState(53) && !_company.GetState(96)){
_holdTargetHp = _company.hp;
for(var i = 0; i < 5 ; i++){
NTC_CastSkill(NTConfig_AttackSkill[5], NTC_HAND_LEFT, _company);
}
if(_holdTargetHp <= _company.hp && NTConfig_WalkAround) {
x++;
if(x % 2 == 0)
NTM_WalkTo(me.x+10, me.y);
else
NTM_WalkTo(me.x-10, me.y);
}
}
} while (_company && _company.GetNext());
}

function HostileHandler(msg){
if(msg == "pause"){
if(_hostilepause){
Print(COLOR_3 + "Resuming...");
_hostilepause = false;
}
else{
Print(COLOR_1 + "Pausing to kill hostiles...");
_hostilepause = true;

ClickMap(NTC_CLICK_LUP, NTC_SHIFT_NONE, null);
ClickMap(NTC_CLICK_RUP, NTC_SHIFT_NONE, null);

while(_hostilepause)
NTC_Delay(250);
}
}
}

function _announceTMobs() {

var _throneMobs = [];
var _count = [];

_monster = NTC_FindUnit(NTC_UNIT_MONSTER);

if(_monster){
do {
if(_outofTBounds(_monster.x, _monster.y))
continue;
switch(_monster.classid) {
case 120:
case 641:
case 733: _updateTMobs("Burning Soul");
break;
case 215:
case 691: _updateTMobs("Undead Soul Killer");
break;
case 478:
case 637: _updateTMobs("Hell Witch");
break;
case 77:
case 598: _updateTMobs("Serpent Magus");
break;
case 133:
case 697:
case 731: _updateTMobs("Dark Lord");
break;
case 510: _updateTMobs("Blood Lord");
break;
case 310:
case 699:
case 700: _updateTMobs("Doom Knight");
break;
case 312:
case 701:
case 702:
case 713: _updateTMobs("Oblivion Knight");
break;
case 361:
case 687:
case 712: _updateTMobs("Pit Lord");
break;
case 104:
case 669:
case 670: _updateTMobs("Horadrim Ancient");
break;
case 33:
case 603: _updateTMobs("Assailant");
break;
default: _updateTMobs("Trash Mob");
break;
}
} while(_monster.GetNext())
}

_sayTMobs();

function _updateTMobs(Tmob) {
var _tIndex = _throneMobs.indexOf(Tmob);
if(_tIndex == -1) {
_throneMobs.push(Tmob);
_count.push(1);
}
else {
_count[_tIndex]++;
}
}

function _sayTMobs() {
for(var i = 0; i < _throneMobs.length; i++) {
Say(_count[i] + " " + (_count[i] == 1 ? _throneMobs[i] : (_throneMobs[i].charAt(_throneMobs[i].length - 1).toLowerCase() == "s" ? _throneMobs[i] + "'s" : (_throneMobs[i].indexOf("Witch") != -1 ? _throneMobs[i] + "es" : _throneMobs[i] + "s"))));
Delay(100);
}
}

function _outofTBounds(monX, monY) {
if((monX >= 15072 && monX <= 15118 && monY >= 5002 && monY <=5073) || (monX >= 15087 && monX <= 15104 && monY >= 5073 && monY <= 5094))
return false;
return true;
}
}
12/24/2011 21:27 Stibi#4
ne alte version?
12/24/2011 22:08 mrwho73#5
ne, ist der neue GVEtal bot D2NT.
12/25/2011 00:24 mirkoregge#6
1. Codebox benutzen
2. siehe Spoiler (musst in CHARconfig ändern)
NTConfig_CheckSoulKillers = false; // End script if Stygian Dolls are found in Throne auf true ...
12/25/2011 01:04 mrwho73#7
was ist codebox ? und kann in char config auch nix finden..........
ratlos
12/25/2011 06:35 mirkoregge#8
Um die Lesbarkeit der Posts zu erhöhen nutzt das Forum sogenannte BBCodes.
Eine Liste dazu findes du hier: [Only registered and activated users can see links. Click Here To Register...]

Die Lösung deines Problems hatte ich bereits bei meiner ersten Antwort gegeben.
Klick einfach mal auf den "Show"-Button.
Deine Charconfig has du ja bereits angepasst. Unter
Code:
	NTConfig_Script.push("NTBaal.ntj"); 
		NTConfig_KillBaal = true;
		NTConfig_MakeHotTP = true; 
		NTConfig_Wave3 = 0; 							// 0 = Don't Move, 1 = Right Side, 2 = Left Side. (Use left side if you have a leecher grabing xp shrines.)
		NTConfig_HolyBoltBaal = false;					// Use Holy Bolt attack sequince? (Can be bad for leechers.)
		NTConfig_WalkAround = false; 					// Move character slightly if Holy Bolt is being blocked?
		NTConfig_TownBeforeBaal = false;				// Check inventory & town if holding any items before going to Worldstone to kill Baal. (Requires NTConfig_FreeSpace correctly configured.)		
		NTConfig_MakeHelpTPBeforeThrone = false;		// TP in WS lvl 3 for help clearing the Throne Room.
		NTConfig_TeleEachWave = false;                	// Teleport bot before each wave to keep merc close (not position based yet)?
		NTConfig_ClearWSK = 0;                 			// 0 = Don't Clear, 1 = Clear Path Only, 2 = Cull Clear Of WSK 2 & 3
		NTConfig_PsnW2 = false;            				// Heal after Baal wave 2 if poisoned?
		NTConfig_CheckSoulKillers = false;					// End script if Stygian Dolls are found in Throne
findest du den Eintrag:
NTConfig_CheckSoulKillers = false;
Diesen musst du auf true stellen.

Im Umgang mit den Scripts rate ich dir das Programm Notepad++ zu nutzen. Es erleichtert dir die Lesbarkeit enorm. Einen sehr guten Guide zu diesem Thema findes du hier: [Only registered and activated users can see links. Click Here To Register...]

Weitere Fragen zum Etal Bot bitte im entprechenden Topic posten. Danke.
12/25/2011 10:06 Stibi#9
Quote:
Originally Posted by mrwho73 View Post
ne, ist der neue GVEtal bot D2NT.
mit sicherheit nicht
machmal n svn update
gv"etal" gibt es nicht mehr; gv ist jetzt wie jsp - legit

--> forums.d2etal.com