und das baalleech script hab ich so angepasst, dass auch nicht eni chars zu baal kommen
bei interesse kann ich dir ersteres schicken das für baal poste ich einfach mal ;)
Code:
function NTMain()
{
Include("libs/common/NTCommon.ntl");
NTC_IncludeLibs();
NTC_IncludeConfig("NTBot/char_configs");
NT_LoadConfig();
NTSI_LoadNIPFiles("NTBot/item_configs");
NTA_Initialize(); // 10
if(!NTTM_CheckAct())
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
return;
}
if(me.areaid != 109)
{
if(!NTTM_TownMove("waypoint"))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
return;
}
if(!NTM_TakeWaypoint(109))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
return;
}
}
NTTMGR_TownManager();
NTTM_TownMove("portalspot");
for(i = 0; i <= 200; i++)
{
if(NTC_InMyParty(NTConfig_Leader))
break;
Delay(200);
}
if(!NTC_InMyParty(NTConfig_Leader))
NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
while(me.areaid == 109 && NTC_InMyParty(NTConfig_Leader))
{
NTM_UsePortal("BluePortal", 131, NTConfig_Leader); // 50
Delay(2000);
}
var _path = GetPath(me.areaid, me.x, me.y, 15113, 5059, false);
if(_path)
{
for(var i = 0; i < _path.length; i++)
{
NTM_WalkTo(_path[i][0], _path[i][1]);
}
}
NTP_DoPrecast(true);
if(!NTConfig_EniLeecher)
{
var _leader = MW_GetPlayerUnit2(NTConfig_Leader);
while(_leader.areaid!=132)
{
if(!NTC_InMyParty(NTConfig_Leader))
NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
Delay(750);
_leader = MW_GetPlayerUnit2(NTConfig_Leader);
if(_leader==null)
NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}
_path = GetPath(me.areaid, me.x, me.y, 15089, 5006, false);
if(_path)
{
for(var i = 0; i < _path.length; i++)
{
NTM_WalkTo(_path[i][0], _path[i][1]);
}
}
_portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 1);
if(!_portal)
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTC_FindUnit()");
return;
}
MW_UsePortal("Portal", 132, null, _portal);
_path = GetPath(me.areaid, me.x, me.y, 15138, 5916, false);
if(_path)
{
for(var i = 0; i < _path.length; i++)
{
NTM_WalkTo(_path[i][0], _path[i][1]);
}
}
var _baal = NTC_FindUnit(NTC_UNIT_MONSTER, 544);
while(NTC_InMyParty(NTConfig_Leader) && NTA_IsValidMonster(_baal))
Delay(2500);
Delay(2000);
NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}
if(NTConfig_EniLeecher)
{
while(NTC_InMyParty(NTConfig_Leader) && NTC_FindUnit(NTC_UNIT_MONSTER, 543))
Delay(5000);
var _portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 2);
if(!_portal)
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTC_FindUnit()");
return;
}
if(!MW_UsePortal("Portal", 132, null, _portal))
{
NTC_SendMsgToScript("NTBotGame.ntj", "MW_UsePortal()");
return;
}
var _baal = NTC_FindUnit(NTC_UNIT_MONSTER, 544);
while(NTC_InMyParty(NTConfig_Leader) && NTA_IsValidMonster(_baal))
Delay(2500);
Delay(2000);
NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}
else
{
while(NTC_InMyParty(NTConfig_Leader))
{
Delay(1000);
}
NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}
}
function MW_GetPlayerUnit2(leaderName)
{
var _player;
if(arguments.length < 1 || !leaderName)
return null;
_player = GetPlayerUnit();
if(_player)
{
while(_player.GetNext())
{
if(_player.name.toLowerCase() == leaderName.toLowerCase())
return _player;
}
}
return null;
}
function MW_UsePortal(how, dest, ownername, portal)
{
if(me.areaid == dest)
return true;
if(NTC_InTown())
me.Cancel(1);
if(MW_ChangeAreaInt(how, dest, ownername, portal))
{
NTC_PingDelay(NTConfig_AreaDelay);
return true;
}
return false;
}
function MW_ChangeAreaInt(how, dest, ownername, myportal)
{
var _portal;
var _playerportal = false;
var _prearea;
if(how == "BluePortal")
{
if(!ownername)
ownername = me.name;
_playerportal = true;
}
if(arguments.length > 3 && myportal)
_portal = myportal;
else
{
_portal = NTM_FindCorrectPortalInt(_playerportal, ownername);
if(_portal < 0)
_portal = NTM_FindPortalAreaInt(dest);
if(_portal == -1)
return false;
}
if(!_portal)
return false;
_prearea = me.areaid;
for(var i = 0 ; i < 20 ; i++)
{
if((i % 5) == 0)
{
NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _portal);
Delay(200);
if(i == 10)
NTM_WalkTo(_prearea, me.x-1, me.y-1);
if(MW_GetCloserInt(_portal))
NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _portal);
}
NTC_Delay(200);
if(me.areaid != _prearea)
break;
}
while(me.areaid == 0)
NTC_Delay(200);
return (me.areaid == dest);
}
function MW_GetCloserInt(unit)
{
if(GetDistance(me, unit) > 1)
return NTM_WalkTo(unit.areaid, unit.x+1, unit.y);
return true;
}