function findLead(leader) { var _lead= getUnit(0, leader) if(_lead) return _lead.area; // leader not found look in party var area =0; var a = getParty(); if(!a) return false; do { if (a.name==leader){ area=a.area; } } while(a.getNext()); if (area==0) { //sendCopyData(null, "OOG", 0,"Quit:Quit()" ); return false; } return area; } var _NTLW_timerLastDrink = new Array(5); var myself; var pause = false; var _LifeMax var _ManaMax var _count = 0; var _mercHP; var _party, _mypartyid; var Result =" "; var Reason =" "; var _NTLW_timerLastDrink = new Array(5); var debugStr; function main() { Result =" "; Reason =" "; delay(500); //text "text",x,y,color,font,alingment //var LWHook = new Text("LWHook", 400, 550, 2, 6, 2); //var LWHook2 = new Text("", 400, 540, 2, 6, 2); include("common/NTCommon.dbl"); NTC_IncludeConfig(); var DrinkHP; var DrinkMP; var DrinkRV; var MercHP; var meHP; var meMP; var DrinkRVm; var LastAction =" " ; var _count = 0; var _LifeMax, _ManaMax; var _mercHP; var _party, _mypartyid; print("c3Start ToolsThread script"); NT_LoadConfig(); _LifeMax = me.hpmax; _ManaMax = me.mpmax; if(NTConfig_LifeChicken > 0) me.chickenhp = parseInt((_LifeMax*NTConfig_LifeChicken)/100,10); if(NTConfig_ManaChicken > 0) me.chickenmp = parseInt((_ManaMax*NTConfig_ManaChicken)/100,10); for(var i = 0 ; i < 5 ; i++) _NTLW_timerLastDrink[i] = ((getTickCount())-5000); //print( _NTLW_timerLastDrink[2] ); myself = copyUnit(me); while(me.ingame) { if(!LW_InTown()) { if(_LifeMax != me.hpmax) { _LifeMax = me.hpmax; if(NTConfig_LifeChicken > 0) me.chickenhp = parseInt((_LifeMax*NTConfig_LifeChicken)/100,10); } if(_ManaMax != me.mpmax) { _ManaMax = me.mpmax; if(NTConfig_ManaChicken > 0) me.chickenmp = parseInt((_ManaMax*NTConfig_ManaChicken)/100); } /* DrinkHP = parseInt((_LifeMax*NTConfig_LifeThresh)/100); DrinkMP = parseInt((_ManaMax*NTConfig_ManaThresh)/100,10); DrinkRV =parseInt((_LifeMax*NTConfig_LifeRejuvThresh)/100,10); DrinkRVm = parseInt((_ManaMax*NTConfig_ManaRejuvThresh)/100,10) meHP =me.hp; meMP = me.mp; debugStr ="Drinking HP at:"+DrinkHP+" Drinking MP at:"+DrinkMP+" Drinking RVhp at:"+DrinkRV +" ManaJuv at:"+DrinkRVm; LWHook.text = debugStr; LWHook2.text = LastAction + " " + Reason; */ //me.overhead( LastAction + " " + Reason); if(me.hp < parseInt((_LifeMax*NTConfig_LifeRejuvThresh)/100,10) || me.mp < parseInt((_ManaMax*NTConfig_ManaRejuvThresh)/100,10)){ LastAction="Drink Rejuve"; if (!NTLW_DrinkPotInt(2)){ //failed to find juvie drink hp/mp if(me.hp < parseInt((_LifeMax*NTConfig_LifeThresh)/100,10)){ NTLW_DrinkPotInt(0); LastAction="Drinking HP"; } if(me.mp < parseInt((_ManaMax*NTConfig_ManaThresh)/100,10)){ NTLW_DrinkPotInt(1); LastAction="Drinking MP"; } } }else { if(me.hp < parseInt((_LifeMax*NTConfig_LifeThresh)/100,10)){ NTLW_DrinkPotInt(0); LastAction="Drinking HP"; } if(me.mp < parseInt((_ManaMax*NTConfig_ManaThresh)/100,10)){ NTLW_DrinkPotInt(1); LastAction="Drinking MP"; } } _mercHP = getMercHP(); if(_mercHP > 0) { if(_mercHP < NTConfig_MercChicken) { quit(); break; } if(_mercHP < NTConfig_MercRejuvThresh){ NTLW_DrinkPotInt(4); LastAction="Merc Rejuve"; } else if(_mercHP < NTConfig_MercLifeThresh){ LastAction="Merc HP"; NTLW_DrinkPotInt(3); } } } if(_count++ > 10) { if(NTConfig_PublicMode) { var leader; _party = getParty(); if(_party) { _mypartyid = _party.partyid; for (var z = 0 ; z < NT_Leader.length ; z++) { if (findLead(NT_Leader[z])) { leader = NT_Leader[z]; break; } else sendCopyData(null,"OOG",0,"Leader Not Found -->" +NT_Leader[z]); } while(_party.getNext()) { if((leader && _party.name == leader) || !leader || me.charname == leader) if(_party.partyid == 65535 || _party.partyid != _mypartyid) { if(_party.partyflag == 2) { clickParty(_party, 2); break; } if(_party.partyid == 65535 && me.charname == leader) { if(_party.partyflag == 4) break; clickParty(_party, 2); delay(40); if(_party.partyflag == 4 || (_party.partyid != 65535 && _party.partyid == _mypartyid)) break; } } } } } _count = 0; } delay(500); } } // Internal function function NTLW_DrinkPotInt(type) { Reason ="Attempting to drink" +type; var _pottype; var _potion; var _tNow = getTickCount(); if(type == 2 || type == 4) { Reason ="timer check"+_NTLW_timerLastDrink[type] ; if(_tNow-_NTLW_timerLastDrink[type] < 1000){ Reason ="Failed Drink Timer"; //print("last drink "+ _NTLW_timerLastDrink[type] + " Diff "+ (_tNow-_NTLW_timerLastDrink[type]) +" type " +type); return false; } } else { Reason ="timer check"+_NTLW_timerLastDrink[type] ; if(_tNow-_NTLW_timerLastDrink[type] < 3000){ Reason ="Failed Drink Timer"; //print("last drink "+ _NTLW_timerLastDrink[type] + " Diff "+ (_tNow-_NTLW_timerLastDrink[type]) +" type " +type); return false; } } Reason ="after timer check"; switch(type) { case 0: case 3: _pottype = 76; break; case 1: _pottype = 77; break; default: _pottype = 78; break; } Reason ="Getting Pot type" +_pottype; _potion = NTLW_GetPotionInt(_pottype); if(_potion) { Reason ="Found Pot"; if(me.mode == 0 || me.mode == 17 || me.mode == 18){ Reason ="bad Mode Failed"; return false; } if(type < 3) _potion.interact(); else clickItem(2, _potion); _NTLW_timerLastDrink[type] = getTickCount(); Reason ="Success"; return true; } Reason ="Failed to find pot"; return false; } function NTLW_GetPotionInt(pottype) { var _items = me.getItems(); if(!_items) return false; for(var i = 0 ; i < _items.length ; i++) { if(_items[i].mode == 2 && _items[i].itemType == pottype){ //print("pot Found"); return copyUnit(_items[i]); } } return false; } function LW_InTown(who) { var _area; if(arguments.length < 1) who = myself; _area = who.area; return (_area == NTC_AREA_ID_ACT_1 || _area == NTC_AREA_ID_ACT_2 || _area == NTC_AREA_ID_ACT_3 || _area == NTC_AREA_ID_ACT_4 || _area == NTC_AREA_ID_ACT_5); }