Originally Posted by Muddy_Waters
Kann es sein, dass dein Char keinen Tome bei sich trägt? Wenn ja, liegt das sehr wahrscheinlich daran. ;)
Zum Craften:
Das reicht eventuell, wenn du den überflüssigen Initialisierungsaufruf aus der TownManager library entfernst.
Da ich gerade nicht mehr weiss, wo der genau stand, hier die ganze library:
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 && ([COLOR="Red"]_NTTMGR_DoID > 1[/COLOR] || 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;
}
Ich habe dir auch mal den Part hervorgehoben, der dafür sorgt, dass Cain erst ab 2 Items aufgesucht wird, kannst du ja ändern, wenn du magst.
Auch wenn Cain durchaus auch ausgelassen werden kann, wenn dein Char forced Unids bei sich trägt, somit bietet sich ein ID Tome dennoch an. ;)
LG
Muddy
|