Hallo zusammen,
da ich schon seit geraumer Zeit bei euch mitlese, möchte ich nun auch eine Kleinigkeit beisteuern.
Wie der Titel schon sagt handelt es sich um ein Aura-Auto-Stack Script für einen Auradin und kann wahlweise für den Helm oder die Rüstung angewendet werden.
Ich lasse derzeit das Script für einen BaalLeechFight follow bot auf HC laufen und bin mitlerweile bei Run 483, was ca. 32h Laufzeit entspricht.
Ich habe versucht das Script so sicher wie irgend möglich zu machen, soll heißen: der Bot soll tunlichst seine Dreams nich wegwerfen :rolleyes:
Daher wird fast alles doppelt und dreifach geprüft und wiederholt da durch Lags, Interrups, fragmentiertem Speicher, etc. es doch mal passieren kann das kurzfristig ein falscher Zustand angenommen wird und eine Schleife fälschlicherweise verlassen wird.
Also nich wundern das im Script zum Teil die selbe Schleife zwei bis vier Mal hintereinander auftaucht bzw. geprüft wird.
Verbesserungsvorschläge und Co. sind immer gern gesehn.
Btw. kann mir bitte wer das Itemprefix für Dream zukommen lassen?
Dann könnte ich noch ein SwapWeapon() einbaun für den Fall das der Char grad nicht sein Dream Schilt auf Tasche hat.
So, dann noch viel Spass beim austesten.
Best regards
easy7going aka eukl1d
da ich schon seit geraumer Zeit bei euch mitlese, möchte ich nun auch eine Kleinigkeit beisteuern.
Wie der Titel schon sagt handelt es sich um ein Aura-Auto-Stack Script für einen Auradin und kann wahlweise für den Helm oder die Rüstung angewendet werden.
Ich lasse derzeit das Script für einen BaalLeechFight follow bot auf HC laufen und bin mitlerweile bei Run 483, was ca. 32h Laufzeit entspricht.
Ich habe versucht das Script so sicher wie irgend möglich zu machen, soll heißen: der Bot soll tunlichst seine Dreams nich wegwerfen :rolleyes:
Daher wird fast alles doppelt und dreifach geprüft und wiederholt da durch Lags, Interrups, fragmentiertem Speicher, etc. es doch mal passieren kann das kurzfristig ein falscher Zustand angenommen wird und eine Schleife fälschlicherweise verlassen wird.
Also nich wundern das im Script zum Teil die selbe Schleife zwei bis vier Mal hintereinander auftaucht bzw. geprüft wird.
Verbesserungsvorschläge und Co. sind immer gern gesehn.
Btw. kann mir bitte wer das Itemprefix für Dream zukommen lassen?
Dann könnte ich noch ein SwapWeapon() einbaun für den Fall das der Char grad nicht sein Dream Schilt auf Tasche hat.
So, dann noch viel Spass beim austesten.
Best regards
easy7going aka eukl1d
Code:
[COLOR=Green]//[/COLOR]
[COLOR=Green]//script: NTAuraAutoSTACK.ntj[/COLOR]
[COLOR=Green]//description: [/COLOR]
[COLOR=Green]//the script will auto-stack your aura for a Dream helm or a Dragon armor[/COLOR]
[COLOR=Green]//[/COLOR]
[COLOR=Green]//location:[/COLOR]
[COLOR=Green]//store the script in the folder: D2NT\scripts\NTBot\bots\[/COLOR]
[COLOR=Green]//and name it for example: NTAuraAutoSTACK.ntj[/COLOR]
[COLOR=Green]//[/COLOR]
[COLOR=Green]//how to start the script: [/COLOR]
[COLOR=Green]//make a push-call in your char config: NTConfig_Paladin_YOURcharNAMEhere.ntl at the start via:[/COLOR]
[COLOR=Green]//NTConfig_Script.push("NTAuraAutoSTACK.ntj");[/COLOR]
[COLOR=Green]//[/COLOR]
[COLOR=Green]//[/COLOR]
[COLOR=Green]//[/COLOR]
[COLOR=Green]//HOW SAFE IS IT[/COLOR]?????
[COLOR=Green]// ---> SHORT version: its pretty safe, but its impossible to bring it up to a 100[/COLOR]%
[COLOR=Green]//[/COLOR]
[COLOR=Green]// ---> EXTENDED version:[/COLOR]
[COLOR=Green]//well, i use that script in HC for my BaalLeechFight-Bot (Follow-Bot) and the bot still wear his Dreams after 483 runs, even if i accidentally clicked around or pressed a button (like Esc/M/I/O/..) during the stack-task[/COLOR]
[COLOR=Green]//the script will double and tripple check everything but thats not a 100[/COLOR]% warranty!!!
[COLOR=Green]//so, the chance to lose your items should be incredibly small (as long as you don't click around during the stack-task)[/COLOR]
[COLOR=Green]// NEVER FORGET [/COLOR]=== >the chance to lose your items will rise if you click around!! even if the script intercepts most of it ---------------->TRY TO AVOID THAT<----------------------
[COLOR=Green]//if you aren't sure about the script ---> try it with a dummy[/COLOR]
[COLOR=Green]//[/COLOR]
[COLOR=Green]//ya, maybe its a bit overdone with all the security checks/delays etc... but hey, as long as it works that well [/COLOR]^_^
[COLOR=Green]//[/COLOR]
[COLOR=Green]//[/COLOR]
[COLOR=Green]//best regards[/COLOR]
[COLOR=Green]//eukl1d[/COLOR]
[COLOR=Green]//////////////[/COLOR]
[COLOR=Green]////////////////////////////////////////////////////////[/COLOR]
[COLOR=Green]//[/COLOR]|###########|
[COLOR=Green]//[/COLOR]|##OPTIONS##|
[COLOR=Green]//[/COLOR]|###########|
[COLOR=Green]//[/COLOR]
[COLOR=Green]//Stack Item -->[/COLOR] Helm = 1 , Armor = 3
[B][I][COLOR=Navy]var[/COLOR][/I][/B] BodyPart = [COLOR=Red]1[/COLOR];
[COLOR=Green]//[/COLOR]
[COLOR=Green]//********stack amount***********[/COLOR]
[B][I][COLOR=Navy]var[/COLOR][/I][/B] StackAmount = [COLOR=Red]100[/COLOR]; [COLOR=Green]//around 35sec for 100 stacks[/COLOR]
[COLOR=Green]//[/COLOR]
[COLOR=Green]//******delay between action******[/COLOR]
[B][I][COLOR=Navy]var[/COLOR][/I][/B] StackDelay = [COLOR=Red]60[/COLOR]; [COLOR=Green]// do not change! + don't change any other delay! if you still want to change it --> test it with a DUMMY![/COLOR]
[COLOR=Green]//[/COLOR]
[COLOR=Green]////////////////////////////////////////////////////////[/COLOR]
[B][I][COLOR=Navy]function[/COLOR][/I][/B] NTMain()
{
Include([COLOR=Gray]"libs/common/NTCommon.ntl"[/COLOR]);
NTC_IncludeLibs();
NTC_IncludeConfig([COLOR=Gray]"NTBot/char_configs"[/COLOR]);
NT_LoadConfig();
NTSI_LoadNIPFiles([COLOR=Gray]"NTBot/item_configs"[/COLOR]);
NTA_Initialize();
[B][I][COLOR=Navy]if[/COLOR][/I][/B](!NTTM_CheckAct())
{
NTC_SendMsgToScript([COLOR=Gray]"NTBotGame.ntj"[/COLOR], [COLOR=Gray]"NTTM_CheckAct()"[/COLOR]);
[B][I][COLOR=Navy]return[/COLOR][/I][/B];
}
NTC_PingDelay([COLOR=Red]500[/COLOR]);
[B][I][COLOR=Navy]var[/COLOR][/I][/B] _merc = NTC_GetMerc();
NTC_PingDelay([COLOR=Red]50[/COLOR]);
[B][I][COLOR=Navy]if[/COLOR][/I][/B](_merc) [COLOR=Green]//merc alive [/COLOR]= true, else the script will stop
{
[B][I][COLOR=Navy]var[/COLOR][/I][/B] _items = _merc.GetItems();
[B][I][COLOR=Navy]if[/COLOR][/I][/B]((BodyPart!=[COLOR=Red]1[/COLOR])&&(BodyPart!=[COLOR=Red]3[/COLOR]))
{
BodyPart=[COLOR=Red]1[/COLOR];
}
[COLOR=Green]//double check[/COLOR]
NTC_PingDelay([COLOR=Red]150[/COLOR]);
NT_SecurityCheck(); [COLOR=Green]//security check[/COLOR]
NTC_PingDelay([COLOR=Red]150[/COLOR]);
NT_SecurityCheck(); [COLOR=Green]//security check[/COLOR]
[B][I][COLOR=Navy]if[/COLOR][/I][/B](_items)
{
NTC_PingDelay([COLOR=Red]StackDelay[/COLOR]);
SetUIState([COLOR=Red]0x01[/COLOR], [B][I][COLOR=Navy]true[/COLOR][/I][/B]);
SetUIState([COLOR=Red]0x24[/COLOR], [B][I][COLOR=Navy]true[/COLOR][/I][/B]);
NTC_PingDelay([COLOR=Red]50[/COLOR]);
[B][I][COLOR=Navy]if[/COLOR][/I][/B](me.ClickMercItem([COLOR=Red]BodyPart[/COLOR]))
{
NTC_PingDelay([COLOR=Red]100[/COLOR]);
[B][I][COLOR=Navy]if[/COLOR][/I][/B](me.itemoncursor)
{
[B][I][COLOR=Navy]for[/COLOR][/I][/B]([B][I][COLOR=Navy]var[/COLOR][/I][/B] count = [COLOR=Red]0[/COLOR]; count < StackAmount; count++)
{
NTC_PingDelay([COLOR=Red]StackDelay[/COLOR]);
SetUIState([COLOR=Red]0x01[/COLOR], [B][I][COLOR=Navy]true[/COLOR][/I][/B]);
SetUIState([COLOR=Red]0x24[/COLOR], [B][I][COLOR=Navy]true[/COLOR][/I][/B]);
me.ClickItem([COLOR=Red]BodyPart[/COLOR]);
NTC_PingDelay([COLOR=Red]StackDelay[/COLOR]);
SetUIState([COLOR=Red]0x01[/COLOR], [B][I][COLOR=Navy]true[/COLOR][/I][/B]);
SetUIState([COLOR=Red]0x24[/COLOR], [B][I][COLOR=Navy]true[/COLOR][/I][/B]);
me.ClickMercItem([COLOR=Red]BodyPart[/COLOR]);
NTC_PingDelay([COLOR=Red]StackDelay[/COLOR]);
}
SetUIState([COLOR=Red]0x01[/COLOR], [B][I][COLOR=Navy]false[/COLOR][/I][/B]); [COLOR=Green]// close inv[/COLOR]
SetUIState([COLOR=Red]0x24[/COLOR], [B][I][COLOR=Navy]false[/COLOR][/I][/B]); [COLOR=Green]// close inv merc[/COLOR]
NTC_PingDelay([COLOR=Red]StackDelay[/COLOR]);
NT_SecurityCheck(); [COLOR=Green]//security check[/COLOR]
}
}
}
NTC_PingDelay([COLOR=Red]1000[/COLOR]);
}
[B][I][COLOR=Navy]for[/COLOR][/I][/B]([B][I][COLOR=Navy]var[/COLOR][/I][/B] count = [COLOR=Red]0[/COLOR]; count < [COLOR=Red]4[/COLOR]; count++)
{
NT_SecurityCheck(); [COLOR=Green]//security check[/COLOR]
NTC_PingDelay([COLOR=Red]500[/COLOR]);
}
NTC_SendMsgToScript([COLOR=Gray]"NTBotGame.ntj"[/COLOR], [COLOR=Gray]"SCRIPT_END"[/COLOR]);
}
[COLOR=Green]//security check, if item on cursor[/COLOR]
[B][I][COLOR=Navy]function[/COLOR][/I][/B] NT_SecurityCheck()
{
[B][I][COLOR=Navy]while[/COLOR][/I][/B](me.itemoncursor)
{
NTC_PingDelay([COLOR=Red]150[/COLOR]);
SetUIState([COLOR=Red]0x01[/COLOR], [B][I][COLOR=Navy]true[/COLOR][/I][/B]); [COLOR=Green]// open inv[/COLOR]
SetUIState([COLOR=Red]0x24[/COLOR], [B][I][COLOR=Navy]true[/COLOR][/I][/B]); [COLOR=Green]// open inv merc[/COLOR]
NTC_PingDelay([COLOR=Red]50[/COLOR]);
me.ClickItem([COLOR=Red]BodyPart[/COLOR]);
NTC_PingDelay([COLOR=Red]150[/COLOR]);
[B][I][COLOR=Navy]if[/COLOR][/I][/B](me.itemoncursor)
{
SetUIState([COLOR=Red]0x01[/COLOR], [B][I][COLOR=Navy]true[/COLOR][/I][/B]); [COLOR=Green]// open inv[/COLOR]
SetUIState([COLOR=Red]0x24[/COLOR], [B][I][COLOR=Navy]true[/COLOR][/I][/B]); [COLOR=Green]// open inv merc[/COLOR]
NTC_PingDelay([COLOR=Red]50[/COLOR]);
me.ClickMercItem([COLOR=Red]BodyPart[/COLOR]);
NTC_PingDelay([COLOR=Red]150[/COLOR]);
}
SetUIState([COLOR=Red]0x01[/COLOR], [B][I][COLOR=Navy]false[/COLOR][/I][/B]); [COLOR=Green]// close inv[/COLOR]
SetUIState([COLOR=Red]0x24[/COLOR], [B][I][COLOR=Navy]false[/COLOR][/I][/B]); [COLOR=Green]// close inv merc[/COLOR]
NTC_PingDelay([COLOR=Red]50[/COLOR]);
}
}