So, ich hoffe mal, dass dies der richtige Thread ist, um eine Frage zu stellen, die sicher schon 1 mio. mal beantwortet wurde.
Ich benutze den d2nt etal bot, unter anderem läuft der bot auch eldrich, shenk und farren ab. Das Problem dabei ist, dass er bei shenk umgehend nach dem Kill weiter telt, obwohl da ja natürlich auf Grund der Explosion noch Monster platzen.
Kann man irgendwo einstellen, dass er da erst ca. 5-10 sek wartet - dann nochmal die pickit ausführt, bevor er weiter macht?
Ich frag deshalb, weil ich mal zum testen mit nem andern char 10 games mitgelaufen bin um die gegend um shenk nochmal zu checken. Nach den ersten Runs gleich Regenerationstränke gefunden, die er ja eigentlich aufgenommen hätte. Und im 7. oder 8. lag da noch ne verwaiste Ber, die nicht aufgehoben wurde. Wär ja schade drum, wenn sowas dann liegen bleibt.
Hab auch selber mal reingeschaut. Eine Lösung wär wohl Clear Position in der Char Config einzuschalten, da ich dies aber nur bei Shenk brauche wär der Zeitverlust insgesamt zu groß. Kann man das Shenk script nicht irgendwie anpassen, dass er da einfach immer Clear Position ausführt?
Edit: Ok, das hilft wohl doch nicht. Hab das mal angepasst, aber ClearPosition ist immer noch viel zu schnell ausgeführt, als das bis dahin die Monster tot wären.
Hm, noch ne idee. Am schnellsten und einfachsten wärs wohl, wenn er nach Farren einfach nochmal zur Shenk Posi geht und Pickitem ausführt. Werd mich da nochmal durchwühlen..
Edit2: Hat sich erledigt, war gar nicht so schwer wie gedacht. Ein bischen in den scripts lesen und rumprobieren brachte dann die Lösung.
Quote:
Originally Posted by data29
wäre ja schon schön wenn du uns an deiner lösung teilhaben würdest und uns verraten würdest was du geändert hast :D
|
Klar, hätte einfach nicht gedacht, dass es noch jemanden interessiert ^^
Ich lass ihn jetzt einfach nach dem DacFarren Kill ein Stadtportal machen, wieder den Wegpunkt ins Eishochland nehmen, auf die genaue Posi an der Shenk eigentlich steht telen und nochmal PickItem ausführen. War im Endeffekt einfach nur im Eldritch Skript ein paar Zeilen copy+pasten und die genauen Koordinaten besorgen, fertig. Ist zwar nicht die optimale Lösung, weil der Radius sicher nicht weit genug geht um wirklich ALLES zu erfassen. Aber wenigstens das, was im direkten Umkreis noch stand. Zumindest mindert sich mein Gefühl da irgendwas zu verpassen xD
Code:
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("NTBotGame.ntj", "NTTM_CheckAct()");
return;
}
NTTMGR_TownManager();
if(!NTTM_TownMove("waypoint")){
NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
return;
}
if(!NTM_TakeWaypoint(111)){
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
return;
}
NTP_DoPrecast(true);
if(!NTM_MoveTo(me.areaid, 3750, 5090)){
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
return;
}
if(NTA_KillMonster(GetLocaleString(22500))){
if(NTConfig_ClearPosition)
NTA_ClearPosition();
NTSI_PickItems();
if(NTConfig_OpenChestsInArea && NTU_DontOpenAreas()){
OpenChestsInArea();
}
}
if(NTConfig_ShenkExtension){
if(!NTM_MoveTo(110, 3876, 5120)){
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
return;
}
if(me.classid != NTC_CHAR_CLASS_PALADIN && me.classid != NTC_CHAR_CLASS_BARBARIAN)
NTA_ClearPosition(20, true);
if(NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe)){
NTTMGR_VisitTown();
}
if(!NTA_KillMonster(GetLocaleString(22435)))
if(NTConfig_ClearPosition)
NTA_ClearPosition();
NTSI_PickItems();
if(NTConfig_OpenChestsInArea && NTU_DontOpenAreas())
OpenChestsInArea();
}
if(NTConfig_DacFarren){
if(!NTM_MoveTo(110, 4507, 5116)){
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
return;
}
if(!NTA_KillMonster(GetLocaleString(22501))){
NTC_SendMsgToScript("NTBotGame.ntj", "NTA_KillMonster()");
return;
}
if(NTConfig_ClearPosition)
NTA_ClearPosition();
NTSI_PickItems();
if(NTConfig_OpenChestsInArea && NTU_DontOpenAreas()){
OpenChestsInArea();
}
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(111)){
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
return;
}
if(!NTM_MoveTo(110, 3908, 5117)){
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
return;
}
NTSI_PickItems();
}
NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}