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: 12:26 10.05.2011
*/
var _NTTMGR_BuyPots;
var _NTTMGR_BuyTP;
var _NTTMGR_BuyKey;
var _NTTMGR_DoHeal;
var _NTTMGR_DoID;
var _NTTMGR_DoRepair;
var _NTTMGR_DoRevive;
var _NTTMGR_RemoveCurse;
var _MWTMGR_SellTrash;
var _MWTMGR_VisitMerchantForSelling;
function NTTMGR_TownManager(simple)
{
var _cubing, _trash;
if(arguments.length < 1)
simple = false;
NTC_ClearCursor();
NTT_CleanPotions();
_NTTMGR_BuyPots = NTT_CheckBelt();
_NTTMGR_BuyTP = (NTTMGR_CheckScrolls(1) < 5);
_NTTMGR_BuyKey = (MWConfig_CarryKeys && MWTMGR_GetKeyQuantity() <= 10);
_NTTMGR_DoHeal = NTT_CheckHeal();
_NTTMGR_DoID = NTT_CheckUnids();
_NTTMGR_DoRepair = (NTT_CheckRepair(40) && MWT_CheckRepairCost());
_NTTMGR_DoRevive = NTT_CheckMerc();
_trash = MWT_GetTrashItems();
_MWTMGR_SellTrash = (_trash && _trash.length > 0);
_MWTMGR_VisitMerchantForSelling = (MWConfig_AlwaysSellTrashItems && _MWTMGR_SellTrash && !(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_DoID || _NTTMGR_DoRepair || _NTTMGR_DoRevive && me.act == 3 || _NTTMGR_RemoveCurse || _NTTMGR_DoHeal));
_NTTMGR_RemoveCurse = NTTMGR_CheckCurse(MWConfig_CheckSelfSafeTown, MWConfig_CheckMercSafeTown);
_MWTMGR_VisitCain = (MWConfig_IdentAtCain && !MWT_CarryForcedUnids() && _NTTMGR_DoID);
if(me.classid == NTC_CHAR_CLASS_PALADIN)
NTC_PutSkill(MWS_VIGOR, NTC_HAND_RIGHT);
else if(me.classid == NTC_CHAR_CLASS_ASSASSIN && !me.GetState(157))
NTC_CastSkill(MWS_BURST_OF_SPEED, NTC_HAND_RIGHT);
if(_MWTMGR_VisitCain && (_NTTMGR_DoID > 1 || me.act == 2))
MWTMGR_VisitCain();
switch(me.act)
{
case 1:
if(_NTTMGR_DoHeal || _NTTMGR_RemoveCurse || _NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_DoID || _MWTMGR_VisitMerchantForSelling)
NTTMGR_VisitAkara();
if(_NTTMGR_DoRevive)
NTTMGR_VisitKashya();
if(_NTTMGR_DoRepair)
NTTMGR_VisitCharsi();
break;
case 2:
if(_NTTMGR_DoHeal || _NTTMGR_RemoveCurse || _NTTMGR_DoRepair || _MWTMGR_VisitMerchantForSelling)
NTTMGR_VisitFara();
if(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_DoID)
NTTMGR_VisitDrognan();
if(_NTTMGR_DoRevive)
NTTMGR_VisitGreiz();
break;
case 3:
if(_NTTMGR_DoHeal || _NTTMGR_RemoveCurse || _NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_DoID || _MWTMGR_VisitMerchantForSelling)
NTTMGR_VisitOrmus();
if(_NTTMGR_DoRevive)
NTTMGR_VisitAsheara();
if(_NTTMGR_DoRepair)
NTTMGR_VisitHratli();
break;
case 4:
if(_NTTMGR_DoHeal || _NTTMGR_RemoveCurse || _NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_DoID || _MWTMGR_VisitMerchantForSelling)
NTTMGR_VisitJamella(false);
if(_NTTMGR_DoRevive)
NTTMGR_VisitTyrael();
if(_NTTMGR_DoRepair)
NTTMGR_VisitHalbu();
break;
case 5:
if(_NTTMGR_DoHeal || _NTTMGR_RemoveCurse || _NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_DoID)
NTTMGR_VisitMalah();
if(_NTTMGR_DoRevive)
NTTMGR_VisitQualKehk();
if(_NTTMGR_DoRepair || _MWTMGR_VisitMerchantForSelling)
NTTMGR_VisitLarzuk();
break;
}
_cubing = (!simple && NTCU_CheckCubing());
if(_cubing || NTT_CheckInventory() && NTT_CheckStash() || NTC_MyGoldCarry() > NTConfig_MinGoldToStash)
NTTMGR_VisitStash(_cubing);
if(!simple && NTConfig_Gamble && NTC_MyGold() > NTConfig_GambleStartGold)
{
switch(me.act)
{
case 1:
NTTMGR_VisitGheed();
break;
case 2:
NTTMGR_VisitElzix();
break;
case 3:
NTTMGR_VisitAlkor();
break;
case 4:
NTTMGR_VisitJamella(true);
break;
case 5:
NTTMGR_VisitAnya();
break;
}
_cubing = (!simple && NTCU_CheckCubing());
if(_cubing || NTT_CheckInventory() && NTT_CheckStash())
NTTMGR_VisitStash(_cubing);
}
_trash = MWT_GetTrashItems(false);
if(_trash && _trash.length > 0)
NTT_ClearInventory();
}
function NTTMGR_VisitTown()
{
var _prearea = me.areaid;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Town...");
if(!NTTM_CheckAct())
return false;
NTTMGR_TownManager(true);
if(!NTTM_TownMove("portalspot"))
return false;
if(!NTM_UsePortal("BluePortal", _prearea))
return false;
if(NTConfig_PublicMode)
NTM_MakeTP();
return true;
}
function NTTMGR_VisitStash(cubing)
{
var _stash;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Stash...");
if(!cubing && !NTT_CheckStash() && NTC_StashGoldFull())
return;
_stash = NTC_FindUnit(NTC_UNIT_OBJECT, NTC_UNIT_STASH);
if(!_stash || GetDistance(me, _stash) > 3)
NTTM_TownMove("stash");
if(!_stash)
_stash = NTC_FindUnit(NTC_UNIT_OBJECT, NTC_UNIT_STASH);
if(_stash)
{
if(NTT_DoInteract(_stash))
{
if(!cubing)
NTT_ManageStash();
if(cubing)
{
NTCU_DoCubing();
if(NTT_DoInteract(_stash))
NTT_ManageStash();
me.Cancel(1);
NTT_ClearInventory();
}
else
me.Cancel(1);
}
}
}
function NTTMGR_VisitAkara()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Akara...");
NTTM_TownMove("akara");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_AKARA, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_BuyKey || _NTTMGR_DoID || _MWTMGR_SellTrash)
{
if(NTT_DoTrade(_npc))
{
if(_NTTMGR_DoID)
NTTMGR_IDItems(_npc);
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_BuyPots)
MWT_FillBelt(_npc);
if(_NTTMGR_BuyTP)
NTT_FillTome(_npc, 1);
if(_NTTMGR_BuyKey)
NTT_FillKey(_npc);
}
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitKashya()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Kashya...");
NTTM_TownMove("kashya");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_KASHYA, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoInteract(_npc))
{
NTT_ReviveMerc();
me.Cancel(1);
}
}
}
}
function NTTMGR_VisitCharsi()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Charsi...");
NTTM_TownMove("charsi");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_CHARSI, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
{
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_DoRepair)
NTT_RepairItems(_npc);
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitGheed()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Gheed...");
NTTM_TownMove("gheed");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_GHEED, 5);
if(_npc)
MWTMGR_DoGambling(_npc);
}
function NTTMGR_VisitFara()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Fara...");
NTTM_TownMove("fara");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_FARA, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(_NTTMGR_DoRepair || _MWTMGR_SellTrash)
{
if(NTT_DoTrade(_npc))
{
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_DoRepair)
NTT_RepairItems(_npc);
}
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitDrognan()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Drognan...");
NTTM_TownMove("drognan");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_DROGNAN, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
{
if(_NTTMGR_DoID)
NTTMGR_IDItems(_npc);
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_BuyPots)
MWT_FillBelt(_npc);
if(_NTTMGR_BuyTP)
NTT_FillTome(_npc, 1);
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitLysander()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Lysander...");
NTTM_TownMove("lysander");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_LYSANDER, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
{
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_BuyKey)
NTT_FillKey(_npc);
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitGreiz()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Greiz...");
NTTM_TownMove("greiz");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_GREIZ, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
NTT_ReviveMerc();
me.Cancel(1);
}
}
}
function NTTMGR_VisitElzix()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Elzix...");
NTTM_TownMove("elzix");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ELZIX, 5);
if(_npc)
MWTMGR_DoGambling(_npc);
}
function NTTMGR_VisitOrmus()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Ormus...");
NTTM_TownMove("ormus");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ORMUS, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_DoID || _MWTMGR_SellTrash)
{
if(NTT_DoTrade(_npc))
{
if(_NTTMGR_DoID)
NTTMGR_IDItems(_npc);
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_BuyPots)
MWT_FillBelt(_npc);
if(_NTTMGR_BuyTP)
NTT_FillTome(_npc, 1);
}
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitAsheara()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Asheara...");
NTTM_TownMove("asheara");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ASHEARA, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(_MWTMGR_SellTrash)
{
if(NTT_DoTrade(_npc))
{
MWTMGR_SellTrashItems(_npc);
me.Cancel(1);
}
}
NTT_ReviveMerc();
me.Cancel(1);
}
}
}
function NTTMGR_VisitHratli()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Hratli...");
NTTM_TownMove("hratli");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_HRATLI, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
{
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_DoRepair)
NTT_RepairItems(_npc);
if(_NTTMGR_BuyKey)
NTT_FillKey(_npc);
}
me.Cancel(1);
}
}
else
{
NTTM_TownMove("meshif");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_HRATLI, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
{
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_DoRepair)
NTT_RepairItems(_npc);
if(_NTTMGR_BuyKey)
NTT_FillKey(_npc);
}
me.Cancel(1);
}
}
}
}
function NTTMGR_VisitAlkor()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Alkor...");
NTTM_TownMove("alkor");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ALKOR, 5);
if(_npc)
MWTMGR_DoGambling(_npc);
}
function NTTMGR_VisitJamella(gamble)
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Jamella...");
NTTM_TownMove("jamella");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_JAMELLA, 5);
if(_npc)
{
if(gamble)
MWTMGR_DoGambling(_npc);
else
{
if(NTT_DoInteract(_npc))
{
if(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_BuyKey || _NTTMGR_DoID || _MWTMGR_SellTrash)
{
if(NTT_DoTrade(_npc))
{
if(_NTTMGR_DoID)
NTTMGR_IDItems(_npc);
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_BuyPots)
MWT_FillBelt(_npc);
if(_NTTMGR_BuyTP)
NTT_FillTome(_npc, 1);
if(_NTTMGR_BuyKey)
NTT_FillKey(_npc);
}
}
me.Cancel(1);
}
}
}
}
function NTTMGR_VisitHalbu()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Halbu...");
NTTM_TownMove("halbu");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_HALBU, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
{
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_DoRepair)
NTT_RepairItems(_npc);
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitTyrael()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Tyrael...");
NTTM_TownMove("tyrael");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_TYRAEL_ACT_4, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
NTT_ReviveMerc();
me.Cancel(1);
}
}
}
function NTTMGR_VisitMalah()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Malah...");
NTTM_TownMove("malah");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_MALAH, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_BuyKey || _NTTMGR_DoID || _MWTMGR_SellTrash)
{
if(NTT_DoTrade(_npc))
{
if(_NTTMGR_DoID)
NTTMGR_IDItems(_npc);
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_BuyPots)
MWT_FillBelt(_npc);
if(_NTTMGR_BuyTP)
NTT_FillTome(_npc, 1);
if(_NTTMGR_BuyKey)
NTT_FillKey(_npc);
}
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitLarzuk()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Larzuk...");
NTTM_TownMove("larzuk");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_LARZUK, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
{
if(_MWTMGR_SellTrash)
MWTMGR_SellTrashItems(_npc);
if(_NTTMGR_DoRepair)
NTT_RepairItems(_npc);
}
me.Cancel(1);
}
}
}
function NTTMGR_VisitQualKehk()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Qual-Khek...");
NTTM_TownMove("qual-kehk");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_QUALKEHK, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
NTT_ReviveMerc();
me.Cancel(1);
}
}
}
function NTTMGR_VisitAnya()
{
var _npc;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Anya...");
NTTM_TownMove("anya");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ANYA_TOWN, 5);
if(_npc)
MWTMGR_DoGambling(_npc);
}
function MWTMGR_VisitCain()
{
var _npc, _unids;
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Visiting Cain...");
NTTM_TownMove("cain");
switch(me.act)
{
case 1:
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_CAIN_ACT_1);
break;
case 2:
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_CAIN_ACT_2, 5);
break;
case 3:
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_CAIN_ACT_3, 5);
break;
case 4:
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_CAIN_ACT_4, 5);
break;
case 5:
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_CAIN_ACT_5, 5);
break;
}
if(_npc)
{
if(NTT_DoInteract(_npc))
{
_unids = NTT_GetUnidItems();
for(var i = 0; i <= 4; i++)
{
if(i % 2 == 0)
me.SelectNPCMenu(0x0FB4);
NTC_Delay(500);
if(!NTT_CheckUnids())
break;
}
for(var i = 0; i < _unids.length; i++)
{
if(NTSI_CheckItem(_unids[i], true) == 1)
MWI_WriteManagerLog(_unids[i], 0, true);
}
me.Cancel(1);
_NTTMGR_DoID = NTT_CheckUnids();
if(!(_NTTMGR_BuyPots || _NTTMGR_BuyTP || _NTTMGR_DoID || _NTTMGR_DoRepair || _NTTMGR_DoRevive && me.act == 3 || _NTTMGR_RemoveCurse || _NTTMGR_DoHeal))
{
if(!MWConfig_AlwaysSellTrashItems)
{
NTT_ClearInventory();
_MWTMGR_VisitMerchantForSelling = false;
}
else
_MWTMGR_VisitMerchantForSelling = true;
}
_MWTMGR_SellTrash = (MWT_GetTrashItems().length > 0);
}
}
}
function NTTMGR_CheckScrolls(scrolltype)
{
var _tome = NTT_GetTome(scrolltype);
if(_tome)
return _tome.GetStat(70);
return 0;
}
function MWTMGR_GetKeyQuantity()
{
var _keys, _count;
if(me.classid == NTC_CHAR_CLASS_ASSASSIN)
return 12;
_keys = MWC_GetItems(MWC_LOC_INVENTORY, 0, 543);
_count = 0;
if(_keys)
{
for(var i = 0; i < _keys.length; i++)
_count += _keys[i].GetStat(70);
}
return _count;
}
function MWTMGR_SellTrashItems(npc)
{
var _items, _retValue;
_items = MWT_GetTrashItems();
_retValue = true;
for(var i = 0; i < _items.length; i++)
{
if(MWConfig_UseXMLItemlog)
MWI_WriteLog(_items[i], 1);
if(MWConfig_LogSoldItems)
MWI_WriteManagerLog(_items[i], 3);
if(!NTT_ShopItem(_items[i], npc, 1))
_retValue = false;
}
return _retValue;
}
function NTTMGR_IDItems(npc)
{
var _tome, _scroll;
var _result, _check;
var _items = NTT_GetUnidItems();
if(!_items || _items.length < 1)
return;
_tome = NTT_GetTome();
if(_tome && _tome.GetStat(70) < _items.length)
NTT_FillTome(npc);
for(var i = 0 ; i < _items.length ; i++)
{
switch(NTSI_CheckItem(_items[i], true))
{
case 1:
MWI_WriteManagerLog(_items[i], 0, true);
case 2:
break;
case 0:
if(_items[i].GetItemCost(1) >= 35E3)
break;
case -1:
if(_tome)
_result = NTT_IdItem(_tome, _items[i]);
else
{
_scroll = NTT_GetScroll();
if(!_scroll)
{
NTT_BuyScrolls(npc);
_scroll = NTT_GetScroll();
}
_result = NTT_IdItem(_scroll, _items[i]);
}
if(!_result)
break;
_check = NTSI_CheckItem(_items[i], true);
if(_check == 1)
MWI_WriteManagerLog(_items[i], 0, true);
else if(_check == 0 || _check == 3)
{
if(MWConfig_UseXMLItemlog)
MWI_WriteLog(_items[i], 1);
if(MWConfig_LogSoldItems)
MWI_WriteManagerLog(_items[i], 3, true);
NTT_ShopItem(_items[i], npc, 1);
}
break;
}
}
}
function MWTMGR_DoGambling(npc)
{
var _logString, _date, _deltaTime, _timeString, _gamblingData, _time;
if(arguments.length < 1 || !npc)
return false;
_gamblingData = new Array();
_gamblingData["itemsgambled"] = 0;
_gamblingData["itemskept"] = 0;
_gamblingData["goldmax"] = NTC_MyGold() - NTConfig_GambleStopGold;
_gamblingData["goldspent"] = 0;
_gamblingData["abort"] = false;
while(NTC_MyGold() > NTConfig_GambleStopGold)
{
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Gambling (" + (_gamblingData["goldspent"] / _gamblingData["goldmax"] * 100.0).toFixed(1) + "%)");
if(NTT_DoInteract(npc))
{
if(NTT_DoTrade(npc, 1))
_gamblingData = NTT_GambleIt(npc, _gamblingData);
me.Cancel(1);
if(_gamblingData["abort"])
break;
}
else
break;
}
_logString = "ÿ008040Gambling completed!;";
_logString += "ÿc0Items Gambled:ÿc8 " + _gamblingData["itemsgambled"] + " [" + _gamblingData["itemskept"] + "]";
_logString += "\nÿc0Gold Spent:ÿc8 " + MWC_InsertDigitSeperator(_gamblingData["goldspent"]);
_logString += "\nÿc0Total Items Gambled:ÿc8 " + MWC_InsertDigitSeperator(MWI_GetGamblingData("total")) + " [" + MWC_InsertDigitSeperator(MWI_GetGamblingData("kept")) + "]";
_logString += "\nÿc0Total Gold Spent:ÿc8 " + MWC_InsertDigitSeperator(MWI_GetGamblingData("gold"));
_logString += "\nÿc0Gambling Sessions:ÿc8 " + (MWI_GetGamblingData("sessions") + 1);
_date = new Date();
if(_date)
{
_deltaTime = _date.getTime() - MWI_GetGamblingData("lastupdate");
_timeString = "";
_date = new Date(MWI_GetGamblingData("lastupdate"));
if(!isNaN(_deltaTime) && _date)
{
// Days passed
_time = parseInt(_deltaTime / 864E5);
if(_time > 0)
{
_timeString += _time + " Day";
if(_time > 1)
_timeString += "s ";
else
_timeString += " ";
}
_timeString += MWC_ConvertTicksToTimeString(_deltaTime);
_logString += "\nÿc0Last Session:ÿc8 " + _date.toLocaleFormat("%a %m/%d/%y %H:%M:%S") + " [-" + _timeString + "]";
}
}
_date = new Date(MWI_GetGamblingData("creation"));
if(_date)
_logString += "\nÿc0Logfile Created:ÿc8 " + _date.toLocaleFormat("%a %m/%d/%y %H:%M:%S");
NTC_SendLogToOOG(NTC_LOG_COMMON, _logString);
SetStatusText("ÿc8Gambling completed!");
NTC_SendMsgToScript("MWBotGame.ntj", "RESET_TICKS");
NTC_SendMsgToScript("MWBotGame.ntj", "SET_DEFAULT_STATUS");
MWI_WriteGamblingData(0, new Array(0, 0), true, true);
return true;
}
// mask - 0x02 : Poison, 0x04 : Amplify Damage, 0x08 : Weaken, 0x10 : Iron Maiden, 0x20 : Decrepify, 0x40 : Lower Resist
function NTTMGR_CheckCurse(selfmask, mercmask)
{
if(selfmask > 0x01)
{
if((selfmask&0x02) && me.GetState(2))
return true;
if((selfmask&0x04) && me.GetState(9))
return true;
if((selfmask&0x08) && me.GetState(19))
return true;
if((selfmask&0x10) && me.GetState(55))
return true;
if((selfmask&0x20) && me.GetState(60))
return true;
if((selfmask&0x40) && me.GetState(61))
return true;
}
if(mercmask > 0x01)
{
var _merc = NTC_GetMerc();
if(_merc)
{
if((mercmask&0x02) && _merc.GetState(2))
return true;
if((mercmask&0x04) && _merc.GetState(9))
return true;
if((mercmask&0x08) && _merc.GetState(19))
return true;
if((mercmask&0x10) && _merc.GetState(55))
return true;
if((mercmask&0x20) && _merc.GetState(60))
return true;
if((mercmask&0x40) && _merc.GetState(61))
return true;
}
}
return false;
}
// self - 0x01 : Potion
// merc - 0x01 : Death
// common - 0x02 : Poison, 0x04 : Amplify Damage, 0x08 : Weaken, 0x10 : Iron Maiden, 0x20 : Decrepify, 0x40 : Lower Resist
function NTTMGR_CheckSafe(selfmask, mercmask)
{
if(((selfmask&0x01) && NTT_CheckBelt()) || ((mercmask&0x01) && NTT_CheckMerc()) || NTTMGR_CheckCurse(selfmask, mercmask))
return NTTMGR_VisitTown();
return true;
}