Einen Fehler bei deSeis behoben dank der Hilfe von IDevil.
Danke nochmal.
Nun habe ich bei Venom noch ein Problem.
Es kommt vor, dass Venom tot ist und meine Soso nicht zu Dia will.
Und wenn ich es richtig sehe, unabhängig vom Standort der seals.
Code:
/**
* This file was modified by [Only registered and activated users can see links. Click Here To Register...]
* Check the programming section for updates and further scripts
* Last Update: 09/05/2010
* Modyfied for Classic Soso by [Only registered and activated users can see links. Click Here To Register...]
* Last update 09/15/2010
*/
function NTMain()
{
Include("libs/common/NTCommon.ntl");
NTC_IncludeLibs();
NTC_IncludeConfig("NTBot/char_configs");
NT_LoadConfig();
NTSI_LoadNIPFiles("NTBot/item_configs");
NTA_Initialize();
if(!NTTM_CheckAct())
{
NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_CheckAct()");
return;
}
NTTMGR_TownManager();
if(!NTTM_TownMove("waypoint"))
{
NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_TownMove()");
return;
}
if(!NTM_TakeWaypoint(107))
{
NTC_SendMsgToScript("MWBotGame.ntj", "NTM_TakeWaypoint()");
return;
}
NTP_DoPrecast(true);
if(!NTM_MoveTo(108, 7797, 5560))
{
NTC_SendMsgToScript("MWBotGame.ntj", "NTM_MoveTo()");
return;
}
if(!MWConfig_StartAtStar)
{
var _attackpos = [7792, 5525, 7793, 5501, 7773, 5495, 7768, 5480, 7767, 5458, 7770, 5438, 7774, 5417, 7767, 5391, 7768, 5369, 7769, 5345, 7770, 5320, 7780, 5308];
if(!NTM_MoveTo(me.areaid, 7790, 5544))
{
NTC_SendMsgToScript("MWBotGame.ntj", "NTM_MoveTo()");
return;
}
if(NTConfig_PublicMode)
{
var _monsterCount = MWA_FindNearbyMonsters(20);
if(_monsterCount)
{
if(_monsterCount < 3)
Say("TP cold, " + _monsterCount + " Monsters close!");
else if(_monsterCount < 6)
Say("TP warm, " + _monsterCount + " Monsters close!");
else
Say("TP hot, " + _monsterCount + " Monsters close!");
}
else
Say("TP up, no Monsters close!");
NTM_MakeTP();
}
NTA_ClearPosition(25, false, 2);
NTM_MoveTo(me.areaid, 7790, 5544);
NTC_PingDelay(1000);
NTA_ClearPosition(25, true, 2);
NTM_MoveTo(me.areaid, 7790, 5544);
if(NTConfig_PublicMode)
{
if(MWA_FindNearbyMonsters(15) < 2)
Say("TP should be safe now!");
else
Say("TP still might be warm!");
}
for(var i = 0 ; i < _attackpos.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1], 3, true);
NTA_ClearPosition(35, true, 2);
}
}
NTM_MoveTo(me.areaid, 7792, 5292);
if(NTConfig_PublicMode)
{
if(MWConfig_StartAtStar)
{
var _monsterCount = MWA_FindNearbyMonsters(25);
if(_monsterCount)
{
if(_monsterCount < 3)
Say("TP cold, cleaning Star, then Vizier, " + _monsterCount + " Monsters close!");
else if(_monsterCount < 6)
Say("TP warm, cleaning Star, then Vizier, " + _monsterCount + " Monsters close!");
else
Say("TP hot, cleaning Star, then Vizier, " + _monsterCount + " Monsters close!");
}
else
Say("TP up, no Monsters close!");
}
Say("Cleaning Star, then Vizier!");
Say("Let me open Seals !");
NTM_MakeTP();
}
NTC_Delay(1000);
NTP_DoPrecast(true);
NTA_ClearPosition(30);
NTM_MoveTo(me.areaid, 7792, 5292, 3, true);
if(!NT_OpenSealsInt())
{
NTC_SendMsgToScript("MWBotGame.ntj", "NT_OpenSealsInt()");
return;
}
if(NTConfig_PublicMode)
Say("Killing Diablo");
if(!NTM_MoveTo(me.areaid, 7792, 5292))
{
NTC_SendMsgToScript("MWBotGame.ntj", "NTM_MoveTo()");
return;
}
NTP_DoPrecast(true);
if(me.classid == NTC_CHAR_CLASS_PALADIN && !MWC_CheckForExpShrineUsers())
NTC_PutSkill(109, NTC_HAND_RIGHT);
if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe))
{
NTC_SendMsgToScript("MWBotGame.ntj", "NTTMGR_CheckSafe()");
return;
}
NTC_FindUnit(NTC_UNIT_MONSTER, 243, 100);
if(!NTA_KillMonster(243))
{
NTC_SendMsgToScript("MWBotGame.ntj", "NTA_KillMonster()");
return;
}
NTSI_PickItems();
if(NTConfig_PublicMode)
Say("Next game");
NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
}
// Internal function
function NT_OpenSealsInt()
{
var i, _unit;
var _result;
_unit = GetPresetUnits(me.areaid, NTC_UNIT_OBJECT);
if(!_unit)
return false;
_result = false;
for(i = 0 ; i < _unit.length ; i++)
{
if(_unit[i].id == 396)
{
if(_unit[i].roomy*5 + _unit[i].y == 5275)
_result = NT_OpenVizierSealInt(1);
else
_result = NT_OpenVizierSealInt(2);
break;
}
}
if(!_result)
return false;
NTM_MoveTo(me.areaid, 7792, 5292, 3, true);
NTA_ClearPosition(40);
NTP_DoPrecast();
_result = false;
for(i = 0 ; i < _unit.length ; i++)
{
if(_unit[i].id == 394)
{
if(_unit[i].roomx*5 + _unit[i].x == 7773)
_result = NT_OpenDeSeisSealInt(1);
else
_result = NT_OpenDeSeisSealInt(2);
break;
}
}
if(!_result)
return false;
NTM_MoveTo(me.areaid, 7792, 5292, 3, true);
NTA_ClearPosition(40);
NTP_DoPrecast(true);
_result = false;
for(i = 0 ; i < _unit.length ; i++)
{
if(_unit[i].id == 392)
{
if(_unit[i].roomx*5 + _unit[i].x == 7893)
_result = NT_OpenVenomSealInt(1);
else
_result = NT_OpenVenomSealInt(2);
break;
}
}
return _result;
}
function NT_OpenVizierSealInt(type)
{
var i, n;
var _attackpos = [7793, 5267, 7815, 5288, 7798, 5314, 7770, 5288, 7750, 5308, 7730, 5300, 7720, 5306, 7700, 5300, 7680, 5300, 7670, 5300, 7660, 5315, 7660, 5292]; //ff
var _monstername = GetLocaleString(2851);
for(i = 0 ; i < _attackpos.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1], 3, true);
NTA_ClearPosition(30, true, 2);
NTSI_PickItems(); //ff
}
for(i = 0 ; i < 3 ; i++)
{
if(type == 1) //ff river
{
NT_OpenSealInt(395, 7654, 5310);
NT_OpenSealInt(396, 7659, 5277);
NTM_MoveTo(me.areaid, 7665, 5277);
NTA_ClearPosition(30, true, 2); //ff
NTSI_PickItems(); //ff
}
else //ff long
{
NTM_MoveTo(me.areaid, 7660, 5310); //ff
NTA_ClearPosition(30, true, 2); //ff
NTSI_PickItems(); //ff
NT_OpenSealInt(395, 7650, 5276);
NT_OpenSealInt(396, 7651, 5310);
NTA_ClearPosition(); //ff
NTSI_PickItems(); //ff
}
for(n = 0 ; n < 10 ; n++)
{
NTC_Delay(200);
if(NTA_KillMonster(_monstername))
{
NTA_ClearPosition();
NTSI_PickItems();
return NTM_MoveTo(me.areaid, 7750, 5280);
}
}
}
return false;
}
function NT_OpenDeSeisSealInt(type)
{
Say("DeSeis now, let me open Seal!"); //ff
var i, n;
var _attackpos = [7781, 5260, 7783, 5245, 7786, 5253, 7802, 5253, 7814, 5253, 7775, 5238]; //ff
var _monstername = GetLocaleString(2852);
var _deSeis, _dist;
switch(me.classid)
{
case NTC_CHAR_CLASS_BARBARIAN:
case NTC_CHAR_CLASS_PALADIN:
_dist = 8;
break;
case NTC_CHAR_CLASS_DRUID:
_dist = 10;
break;
default:
_dist = 12;
}
for(i = 0 ; i < _attackpos.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);
NTA_ClearPosition(25, true, 2);
NTSI_PickItems(); //ff
}
for(i = 0 ; i < 3 ; i++)
{
if(type == 1) //ff long
NTM_MoveTo(me.areaid, 7769, 5210); //ff
NTA_ClearPosition(30); //ff
NTSI_PickItems(); //ff
NTM_MoveTo(me.areaid, 7769, 5190); //ff
NTA_ClearPosition(30); //ff
NTSI_PickItems(); //ff
NTM_MoveTo(me.areaid, 7817, 5170); //ff
NTA_ClearPosition(30); //ff
NTSI_PickItems(); //ff
NTM_MoveTo(me.areaid, 7817, 5160); //ff
NTA_ClearPosition(30); //ff
NTSI_PickItems(); //ff
NTM_MoveTo(me.areaid, 7817, 5156); //ff
NTA_ClearPosition(30); //ff
NTSI_PickItems(); //ff
NTM_MoveTo(me.areaid, 7790, 5158); //ff
NTA_ClearPosition(30); //ff
NTSI_PickItems(); //ff
NTTMGR_CheckSafe(NTConfig_CheckSelfSafe); //ff
NTC_Delay(200);
NT_OpenSealInt(394, 7769, 5159); // war 5158
_deSeis = NTC_FindUnit(NTC_UNIT_MONSTER, _monstername, 5);
NTM_MoveTo(me.areaid, 7790, 5194); //ff
NTA_ClearPosition(30); //ff
NTSI_PickItems(); //ff
NTM_MoveTo(me.areaid, 7771, 5196);
NTA_ClearPosition(30);
NTSI_PickItems(); //ff
//ff NTM_MoveTo(me.areaid, 7771, 5196);
if(_deSeis)
{ //ff
NTM_MoveTo(me.areaid, 7776, _deSeis.y + _dist);
NTA_ClearPosition(30); //ff
NTSI_PickItems(); //ff
NTM_MoveTo(me.areaid, 7776, 5195); //ff
NTA_ClearPosition(30); //ff
NTSI_PickItems(); //ff
} //ff
else //ff short
{
NTM_MoveTo(me.areaid, 7773, 5189); //ff
NTA_ClearPosition(30); //ff
NTSI_PickItems(); //ff
NTM_MoveTo(me.areaid, 7773, 5153); //ff
NTA_ClearPosition(30); //ff
NTSI_PickItems(); //ff
NT_OpenSealInt(394, 7810, 5156);
_deSeis = NTC_FindUnit(NTC_UNIT_MONSTER, _monstername, 5);
NTM_MoveTo(me.areaid, 7790, 5156); //ff
NTA_ClearPosition(30); //ff
NTSI_PickItems(); //ff
NTM_MoveTo(me.areaid, 7780, 5156); //ff
NTA_ClearPosition(30); //ff
NTSI_PickItems(); //ff
NTM_MoveTo(me.areaid, 7800, 5193); //ff
NTA_ClearPosition(30); //ff
NTSI_PickItems(); //ff
// ff NTM_MoveTo(me.areaid, 7770, 5169);
_deSeis = NTC_FindUnit(NTC_UNIT_MONSTER, _monstername, 5);
if(_deSeis && _deSeis.y + _dist <= 5201)
{ //ff
NTM_MoveTo(me.areaid, 7776, _deSeis.y + _dist);
NTA_ClearPosition(30); //ff
NTSI_PickItems(); //ff
} // ff
else
{ // ff
NTM_MoveTo(me.areaid, 7776, 5195);
NTA_ClearPosition(30); //ff
NTSI_PickItems(); //ff
} // ff
}
for(n = 0 ; n < 10 ; n++)
{
NTC_Delay(200);
NTA_ClearPosition(30); //ff
NTSI_PickItems(); //ff
if(NTA_KillMonster(_monstername))
{
NTA_ClearPosition(30);
NTSI_PickItems();
return NTM_MoveTo(me.areaid, 7800, 5255);
}
}
}
return false;
}
function NT_OpenVenomSealInt(type)
{
Say("Venom now, let me open Seals!")
var i, n;
var _attackpos = [7817, 5274, 7825, 5280, 7835, 5292, 7835, 5283, 7855, 5288];
var _monstername = GetLocaleString(2853);
NTP_DoPrecast(true); //ff
for(i = 0 ; i < _attackpos.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1], 3, true);
NTA_ClearPosition(15, true, 2); //ff war 30, true, 2
NTSI_PickItems(); //ff
}
for(i = 0 ; i < 3 ; i++)
{
if(type == 1) //ff short
{
NTM_MoveTo(me.areaid, 7875, 5300); //ff
NTA_ClearPosition(); //ff
NTM_MoveTo(me.areaid, 7895, 5300); //ff
NTA_ClearPosition(); //ff
NTM_MoveTo(me.areaid, 7910, 5300); //ff
NTA_ClearPosition(); //ff
NTM_MoveTo(me.areaid, 7920, 5300); //ff
NTA_ClearPosition(); //ff
NTSI_PickItems(30);
NT_OpenSealInt(393, 7915, 5280);
NT_OpenSealInt(392, 7895, 5318);
NTM_MoveTo(me.areaid, 7880, 5300); //ff
NTA_ClearPosition(); //ff
NTM_MoveTo(me.areaid, 7890, 5300); //ff
NTA_ClearPosition(); //ff
NTM_MoveTo(me.areaid, 7895, 5300); //ff
NTA_ClearPosition(); //ff
NTM_MoveTo(me.areaid, 7900, 5300); //ff
NTA_ClearPosition(); //ff
NTM_MoveTo(me.areaid, 7905, 5300); //ff
NTA_ClearPosition(30); //ff
NTSI_PickItems(30);
//ff NTM_MoveTo(me.areaid, 7892, 5298);
}
else //ff long
{
NTM_MoveTo(me.areaid, 7875, 5277); //ff
NTA_ClearPosition(); //ff
NTM_MoveTo(me.areaid, 7895, 5277); //ff
NTA_ClearPosition(); //ff
NTM_MoveTo(me.areaid, 7910, 5277); //ff
NTA_ClearPosition(); //ff
NTSI_PickItems(30);
NT_OpenSealInt(393, 7905, 5277);
NTA_ClearPosition(); //ff
NTM_MoveTo(me.areaid, 7931, 5272); //ff
NTA_ClearPosition(); //ff
NTM_MoveTo(me.areaid, 7934, 5285); //ff
NTA_ClearPosition(); //ff
NTM_MoveTo(me.areaid, 7935, 5305); //ff
NTA_ClearPosition(); //ff
NTM_MoveTo(me.areaid, 7931, 5310); //ff
NTA_ClearPosition(); //ff
NTM_MoveTo(me.areaid, 7921, 5310); //ff
NTA_ClearPosition(); //ff
NTSI_PickItems(30);
NT_OpenSealInt(392, 7916, 5310);
NTM_MoveTo(me.areaid, 7937, 5310); //ff
NTA_ClearPosition(30); //ff
NTM_MoveTo(me.areaid, 7937, 5300); //ff
NTA_ClearPosition(30); //ff
NTM_MoveTo(me.areaid, 7937, 5290); //ff
NTA_ClearPosition(30); //ff
NTM_MoveTo(me.areaid, 7937, 5280); //ff
NTA_ClearPosition(30); //ff
NTM_MoveTo(me.areaid, 7880, 5275); //ff
NTA_ClearPosition(30); //ff
NTSI_PickItems(30);
//ff NTM_MoveTo(me.areaid, 7937, 5305);
}
for(n = 0 ; n < 10 ; n++)
{
NTC_Delay(200);
NTA_ClearPosition(30, true, 2); //ff
NTSI_PickItems(); //ff
if(NTA_KillMonster(_monstername))
{
NTA_ClearPosition(30, true, 2); //ff
NTSI_PickItems();
if(NTC_PutSkill(124, NTC_HAND_RIGHT))
NTC_PingDelay(1000);
NTA_ClearPosition(30, true, 2); //ff
return true;
}
}
}
return false;
}
function NT_OpenSealInt(classid, x, y)
{
var _seal;
NTM_MoveTo(me.areaid, x, y);
NTA_ClearPosition(30, true, 2);
NTSI_PickItems(); //ff
_seal = NTC_FindUnit(NTC_UNIT_OBJECT, classid, 5);
if(!_seal)
return false;
if(_seal.mode > 0)
return true;
for(var i = 0 ; i < 4 ; i++)
{
if((i % 2) == 0)
{
if(GetDistance(me, _seal) > 2)
NTM_MoveTo(_seal.areaid, _seal.x-1, _seal.y+1);
NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _seal);
}
NTC_Delay(500);
if(_seal.mode > 0)
return true;
}
return false;
}