붓 에러 질문합니다.
분류
질문
조회 수
1,416
추천 수
0
사냥중에 그렇습니다. 뭐가 잘못 되었는지요??
var _MySI_SnagRange;
var _MySI_NtipTypeList;
var _MySI_NtipNameList;
var _MySI_NtipDefaultList = new Array();
var _MySI_NtipCubingList = new Array();
var _MySI_CheckPickItemList = new Array();
function MySI_PickItems(delay)
{
var i;
var _mode;
if (arguments.length < 1)
delay = NTConfig_SnagDelay[0];
if (MyConfig_BarbarianFindItem[0] > 0)
MyAt_BarbarianFindItem(MyConfig_BarbarianFindItem[0], MyConfig_BarbarianFindItem[1], MyConfig_BarbarianFindItem[2]);
for (i = 0; i < 25; i++)
{
_mode = me.mode;
if (_mode == 1 || _mode == 2 || _mode == 3 || _mode == 5 || _mode == 6)
break;
Delay(NTC_DELAY_FRAME);
}
if (i < Math.round(delay / NTC_DELAY_FRAME))
NTC_PingDelay(delay - (i * NTC_DELAY_FRAME));
MySI_SnagIt();
}
function MySI_SnagIt()
{
var i, j;
var _isSnagIt;
var _snagPotion, _snagIndex, _preX, _preY;
var _item, _ySize, _areaName, _checkedItem;
var _checkedItems = new Array();
var _snagPick = MyConfig_SnagPick;
_item = NTC_FindUnit(NTC_UNIT_ITEM);
if (!_item)
return;
do
{
if ((NTConfig_SnagRange < 1 || GetDistance(me, _item) <= NTConfig_SnagRange) &&
!MySI_IsIgnoredItem(_item.classid) &&
(_item.mode == 3 || _item.mode == 5) &&
MySI_CheckPickItemList(_item.gid, _item.x, _item.y))
{
if (_item.itemtype == 22 || (_item.itemtype == 78 && MyConfig_SnagPotion[_item.classid - 513] > 0) || MySI_NTIPCheckItem(_item, 0, 2) != 0)
_checkedItems.push(new MySI_Item(_item));
else
_MySI_CheckPickItemList.push([_item.gid, _item.x, _item.y]);
}
} while (_item.GetNext());
MyConfig_SnagPick = 0;
while (_checkedItems.length > 0)
{
_checkedItems.sort(function (a, b) { return (GetDistance(me.x, me.y, a.x, a.y) - GetDistance(me.x, me.y, b.x, b.y)); });
_snagIndex = -1;
_ySize = null;
for (i = 0; i < _checkedItems.length; i++)
{
_snagPotion = 0;
switch (_checkedItems[i].itemtype)
{
case 4:
_snagIndex = NTC_CharGoldFull() ? -2 : i;
break;
case 22:
MyPo_SetBeltPotion();
for (j = 0; j < 4; j++)
{
if (NTConfig_BeltColType[j] == MyPo_GetBeltItemType(_checkedItems[i]) && _NTT_BeltColNeeded[j] < _NTSI_BeltSize)
{
_snagIndex = i;
if (_NTT_BeltColNeeded[j] == 0)
_snagPotion = j + 2;
break;
}
}
if (_snagIndex == -1)
_snagIndex = -2;
break;
case 76:
case 77:
MyPo_SetBeltPotion();
for (j = 0; j < 4; j++)
{
if (NTConfig_BeltColType[j] == MyPo_GetBeltItemType(_checkedItems[i]) && _NTT_BeltColNeeded[j] < _NTSI_BeltSize)
{
_snagIndex = i;
break;
}
}
if (_snagIndex == -1)
{
if (MyConfig_SnagPotion[_checkedItems[i].itemtype - 76] < 1 || !MyPo_CheckSnagPotion(_checkedItems[i]))
_snagIndex = -2;
else
{
_snagIndex = i;
if (_NTT_BeltColNeeded.indexOf(0) != -1)
_snagPotion = 1;
}
}
break;
case 78:
MyPo_SetBeltPotion();
if (MyConfig_SnagPotion[_checkedItems[i].classid - 513] < 1 || _checkedItems[i].checkitem)
{
for (j = 0; j < 4; j++)
{
if (NTConfig_BeltColType[j] == "rv" && _NTT_BeltColNeeded[j] < _NTSI_BeltSize)
{
_snagIndex = i;
break;
}
}
if (_snagIndex == -1)
{
if (MyConfig_SnagPotion[_checkedItems[i].classid - 513] < 1 || !MyPo_CheckSnagPotion(_checkedItems[i]))
_snagIndex = -2;
else if (_NTT_BeltColNeeded.indexOf(0) != -1)
_snagPotion = 1;
}
}
else if (MyPo_CheckSnagPotion(_checkedItems[i]))
{
_snagIndex = i;
if (_NTT_BeltColNeeded.indexOf(0) != -1)
_snagPotion = 1;
else
{
for (j = 0; j < 4; j++)
{
if (NTConfig_BeltColType[j] == "rv" && _NTT_BeltColNeeded[j] < _NTSI_BeltSize)
{
_snagPotion = 1;
break;
}
}
}
}
else
_snagIndex = -2;
break;
default:
if (MySI_CheckUniqueCharm(_checkedItems[i]))
_snagIndex = -2;
}
if (_snagIndex != -1)
break;
if (!_ySize)
_ySize = MyMI_GetInventoryYSize();
if (_ySize[_checkedItems[i].xsize - 1] >= _checkedItems[i].ysize)
{
_snagIndex = i;
break;
}
}
if (_snagIndex == -2)
_checkedItems.splice(i, 1);
else if (_snagIndex > -1)
{
_isSnagIt = false;
_checkedItem = _checkedItems.splice(_snagIndex, 1)[0];
_item = NTC_FindUnit(NTC_UNIT_ITEM, _checkedItem.gid);
if (_item)
_isSnagIt = true;
else
{
_item = NTC_FindUnit(NTC_UNIT_ITEM, _checkedItem.classid);
if (_item)
{
do
{
if (_item.x == _checkedItem.x && _item.y == _checkedItem.y)
{
_isSnagIt = true;
break;
}
} while (_item.GetNext());
}
}
if (_isSnagIt)
{
if (MySI_PickUpItem(_item, _snagPotion))
{
if (!_areaName)
_areaName = MyCo_GetAreaName();
if (_checkedItem.classid == 523)
Print(_MyIL_ENGLISH ? "Picked up Gold" : "ÿc4아이템 줍기ÿc0: 골드");
else
{
if (_MyIL_ENGLISH)
Print("Picked up " + NTC_ItemQualityToD2Color[_item.quality] + (_item.name ? (_item.name.split("\n")[0] + ((_item.itemlevel > 1) ? (" (" + _item.itemlevel + ")") : "")) : "^^"));
else
Print("ÿc4아이템 줍기ÿc0: " + NTC_ItemQualityToD2Color[_item.quality] + (_item.name ? (_item.name.split("\n")[0] + ((_item.itemlevel > 1) ? (" (" + _item.itemlevel + ")") : "")) : "^^"));
if (_MyILC_ItemLogIgnoredList.indexOf(_item.classid) == -1)
{
switch (MySI_NTIPCheckItem(_item, 1, 2))
{
case 1:
NTC_SendLogToOOG(NTC_LOG_ITEM, "보관 [" + _areaName + "] " +
NTC_ItemQualityToMGRColor[_item.quality] +
(_item.name ? _item.name.split("\n")[0] : "^^") + " (" +
_item.itemlevel + ");" +
MyIL_GetItemDesc(_item, 2));
MyIL_WriteLog(_item, "보관(" + _areaName + ")");
break;
default:
MyIL_WriteLogAreaName(_item, _areaName);
}
}
}
MyIL_WriteLogPickIt(_item, "줍기(" + _areaName + ")");
}
else if (!_checkedItem.retry)
{
_checkedItem.retry = true;
_checkedItems.push(_checkedItem);
}
}
}
else if (!_checkedItems[0].retry)
{
if (_MyLB_PortalXy)
{
_preX = me.x;
_preY = me.y;
MyMo_MoveTo(me.areaid, _MyLB_PortalXy[0], _MyLB_PortalXy[1]);
}
if (MyMo_MoveToTown())
{
MyVi_TownManager(true, true, false);
MySI_StopBot(_checkedItems[0].xsize, _checkedItems[0].ysize);
if (!NTTM_TownMove("portalspot", NTC_GetSkillLevel(43) > 0))
break;
if (!MyTP_UsePortal(me.charname, 0, 2, null, 0, true))
break;
if (NTConfig_PublicMode)
NTM_MakeTP();
if (_MyLB_PortalXy)
MyMo_MoveTo(me.areaid, _preX, _preY);
}
_checkedItems[0].retry = true;
}
else
_checkedItems.splice(0, 1);
}
MyConfig_SnagPick = _snagPick;
}
function MySI_PickUpItem(item, snagPotion)
{
var i, j;
var _result;
var _parent;
var _preLeftSkill;
var _isTelekinesis;
var _itemType = item.itemtype;
if (arguments.length < 2)
snagPotion = 0;
_isTelekinesis = (snagPotion == 0) && NTC_GetSkillLevel(43) > 0 && NTC_InTown() && (_itemType == 4 || (_itemType > 75 && _itemType < 82));
for (i = 0; i < 40; i++)
{
if ((i % 10) == 0 && (item.mode == 3 || item.mode == 5))
{
_result = false;
if (i < 30 && _isTelekinesis && GetDistance(me, item) > 5 && GetDistance(me, item) <= 20 && CheckCollision(me, item, 5))
{
if (MyConfig_SnagClear > 0)
{
if (MyAt_ClearPosition(MyConfig_SnagClear))
_result = GetDistance(me, item) > 5 && GetDistance(me, item) <= 20 && CheckCollision(me, item, 5);
}
else
_result = true;
}
if (NTC_ClearCursor())
{
if (_result)
NTC_CastSkill(43, NTC_HAND_RIGHT, item);
else if (MyMo_GetCloser(item, (i < 30) ? 3 : 0))
{
_result = true;
if (MyConfig_SnagClear > 0)
{
if (MyAt_ClearPosition(MyConfig_SnagClear))
_result = MyMo_GetCloser(item, (i < 30) ? 3 : 0);
}
if (_result)
{
if (snagPotion != 0)
{
SetUIState(_MyMI_UI_INVENTORY, true);
_preLeftSkill = me.GetSkill(NTC_HAND_LEFT);
NTC_PutSkill(3, NTC_HAND_LEFT);
ClickMap(NTC_CLICK_LDOWN, NTC_SHIFT_HOLD, me.x, me.y);
ClickMap(NTC_CLICK_LUP, NTC_SHIFT_NONE, null);
NTC_PingDelay(10);
NTC_PutSkill(_preLeftSkill, NTC_HAND_LEFT);
}
NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, item);
if (snagPotion != 0)
{
if (snagPotion == 1)
MyMI_MoveItemTo(item, _MyMI_LOCATION_ITEM_INVENTORY);
else
{
MyMI_MoveItemTo(item, _MyMI_LOCATION_ITEM_BELT, false, snagPotion - 2, 0);
SetUIState(_MyMI_UI_BELT, false);
}
SetUIState(_MyMI_UI_INVENTORY, false);
}
}
}
}
}
Delay(NTC_DELAY_FRAME);
if (_itemType == 4)
return true;
else if (item.mode != 3 && item.mode != 5)
{
NTC_PingDelay(NTConfig_SnagDelay[1]);
_parent = item.GetParent();
if (_parent && _parent.gid == me.gid)
{
MyPo_ChangeBeltPotion(item);
return true;
}
else
return false;
}
}
return false;
}
// mode: 0 = 모든 아이템, 1 = 보관용 아이템, 2 = 보관용/큐빙용 아이템, 3 = 보관용/큐빙용/상점에 팔 아이템, 22 = 큐빙용 아이템
// countMode: 0 = 보관 중인 아이템 개수 검사 안 함, 1 = item은 보관 중인 아이템 개수 검사에서 제외, 2 = 보관 중인 아이템 개수 검사
function MySI_NTIPCheckItem(item, mode, countMode)
{
var i;
var _items;
var _count;
var _index;
var _identified;
var _ntip = new Array(3);
var _result = 0;
if (arguments.length < 2) mode = 0;
if (arguments.length < 3) countMode = 0;
_identified = item.itemflag & _NTIPAliasFlag["identified"];
if (mode != 22)
{
_index = "Type" + item.itemtype;
if (_MySI_NtipTypeList[_index] != undefined)
{
for (i = 0; i < _MySI_NtipTypeList[_index].length; i++)
{
if (eval(_MySI_NtipTypeList[_index][i][0]))
{
if (_MySI_NtipTypeList[_index][i][1])
{
if (eval(_MySI_NtipTypeList[_index][i][1]))
return 1;
else if (!_identified && _result == 0)
_result = -1;
}
else
return 1;
}
}
}
_index = "Name" + item.classid;
if (_MySI_NtipNameList[_index] != undefined)
{
for (i = 0; i < _MySI_NtipNameList[_index].length; i++)
{
if (eval(_MySI_NtipNameList[_index][i][0]))
{
if (_MySI_NtipNameList[_index][i][1])
{
if (eval(_MySI_NtipNameList[_index][i][1]))
return 1;
else if (!_identified && _result == 0)
_result = -1;
}
else
return 1;
}
}
}
for (i = 0; i < _MySI_NtipDefaultList.length; i++)
{
if (_MySI_NtipDefaultList[i][0])
{
if (eval(_MySI_NtipDefaultList[i][0]))
{
if (_MySI_NtipDefaultList[i][1])
{
if (eval(_MySI_NtipDefaultList[i][1]))
{
_result = 1;
_index = _MySI_NtipDefaultList[i];
break;
}
else if (!_identified && _result == 0)
_result = -1;
}
else
{
_result = 1;
_index = _MySI_NtipDefaultList[i];
break;
}
}
}
else if (eval(_MySI_NtipDefaultList[i][1]))
{
_result = 1;
_index = _MySI_NtipDefaultList[i];
break;
}
else if (!_identified && _result == 0)
_result = -1;
}
}
if (_result == 0 && mode != 1)
{
for (i = 0; i < _MySI_NtipCubingList.length; i++)
{
if (_MySI_NtipCubingList[i][0])
{
if (eval(_MySI_NtipCubingList[i][0]))
{
if (_MySI_NtipCubingList[i][1])
{
if (eval(_MySI_NtipCubingList[i][1]))
{
_result = 2;
_index = _MySI_NtipCubingList[i];
break;
}
else if (!_identified && _result == 0)
_result = -1;
}
else
{
_result = 2;
_index = _MySI_NtipCubingList[i];
break;
}
}
}
else if (eval(_MySI_NtipCubingList[i][1]))
{
_result = 2;
_index = _MySI_NtipCubingList[i];
break;
}
else if (!_identified && _result == 0)
_result = -1;
}
}
if ((_result == 1 || _result == 2) && countMode != 0 && _index[2])
{
_items = me.GetItems();
if (_items)
{
_ntip[0] = _index[0].replace(/item\./g, "_items[i].");
_ntip[1] = _index[1].replace(/item\./g, "_items[i].");
_ntip[2] = Number(_index[2]);
_count = 0;
for (i = 0; i < _items.length; i++)
{
if (_items[i].mode == _MyMI_MODE_ITEM_STORE &&
(_items[i].itemloc != _MyMI_LOCATION_ITEM_INVENTORY || NTConfig_Columns[_items[i].y][_items[i].x] == 1) &&
(!_ntip[0] || eval(_ntip[0])) &&
(!_ntip[1] || eval(_ntip[1])))
{
if (MySI_NTIPCheckItem(_items[i], 1, 0) == 1)
{
if (_result == 1)
_count++;
}
else if (_result == 2 && MySI_NTIPCheckItem(_items[i], 22, 0) == 2)
_count++;
}
}
if (countMode == 2 && item.mode == _MyMI_MODE_ITEM_STORE && (item.itemloc == _MyMI_LOCATION_ITEM_INVENTORY || item.itemloc == _MyMI_LOCATION_ITEM_STASH || (!GetUIState(_MyMI_UI_SHOP) && item.itemloc == _MyMI_LOCATION_ITEM_CUBE)))
_count--;
if (_count >= _ntip[2])
_result = 0;
}
}
if ((_result == 1 || _result == 2) && _index[4])
{
_items = me.GetItems();
if (_items)
{
for (i = 0; i < _items.length; i++)
{
if (_items[i].mode == _MyMI_MODE_ITEM_STORE &&
(_items[i].itemloc != _MyMI_LOCATION_ITEM_INVENTORY || NTConfig_Columns[_items[i].y][_items[i].x] == 1) &&
MySI_MiniNTIPCheckItem(_items[i], _index[4], false) == 1)
{
_index[4] = "";
break;
}
}
if (_index[4])
_result = 0;
}
}
else if (_result == 0 && (mode == 0 || mode == 3))
_result = MyMM_CheckItemCost(item);
return _result;
}
function MySI_MiniNTIPCheckItem(item, ntip, isCheckCost)
{
var _items;
var _count;
var _result = 0;
var _ntip = MySI_NTIPParseLine(ntip);
if (arguments.length < 3)
isCheckCost = true;
if (_ntip)
{
if (_ntip[0])
{
if (eval(_ntip[0]))
{
if (_ntip[1])
{
if (eval(_ntip[1]))
_result = _ntip[3] ? 2 : 1;
else if (!(item.itemflag & _NTIPAliasFlag["identified"]))
_result = -1;
}
else
_result = _ntip[3] ? 2 : 1;
}
}
else if (eval(_ntip[1]))
_result = _ntip[3] ? 2 : 1;
else if (!(item.itemflag & _NTIPAliasFlag["identified"]))
_result = -1;
}
if ((_result == 1 || _result == 2) && _ntip[2])
{
_items = me.GetItems();
if (_items)
{
_ntip[0] = _ntip[0].replace(/item\./g, "_items[i].");
_ntip[1] = _ntip[1].replace(/item\./g, "_items[i].");
_ntip[2] = Number(_ntip[2]);
_count = 0;
for (var i = 0; i < _items.length; i++)
{
if (_items[i].mode == _MyMI_MODE_ITEM_STORE &&
(_items[i].itemloc != _MyMI_LOCATION_ITEM_INVENTORY || NTConfig_Columns[_items[i].y][_items[i].x] == 1) &&
(!_ntip[0] || eval(_ntip[0])) &&
(!_ntip[1] || eval(_ntip[1])))
{
_count++;
}
}
if (item.mode == _MyMI_MODE_ITEM_STORE && (item.itemloc == _MyMI_LOCATION_ITEM_INVENTORY || item.itemloc == _MyMI_LOCATION_ITEM_STASH || (!GetUIState(_MyMI_UI_SHOP) && item.itemloc == _MyMI_LOCATION_ITEM_CUBE)))
_count--;
if (_count >= _ntip[2])
_result = 0;
}
}
if ((_result == 1 || _result == 2) && _ntip[4])
{
_items = me.GetItems();
if (_items)
{
for (var i = 0; i < _items.length; i++)
{
if (_items[i].mode == _MyMI_MODE_ITEM_STORE &&
(_items[i].itemloc != _MyMI_LOCATION_ITEM_INVENTORY || NTConfig_Columns[_items[i].y][_items[i].x] == 1) &&
MySI_MiniNTIPCheckItem(_items[i], _ntip[4], false) == 1)
{
_ntip[4] = "";
break;
}
}
if (_ntip[4])
_result = 0;
}
}
else if (_result == 0 && isCheckCost)
_result = MyMM_CheckItemCost(item);
return _result;
}
function MySI_DietNtip()
{
var i, j;
var _index;
var _isFirst;
for (i = 0; i < _NTIP_CheckList.length; i++)
{
if (!_NTIP_CheckList[i][2] && !_NTIP_CheckList[i][3] && !_NTIP_CheckList[i][4])
{
_isFirst = true;
for (j = i + 1; j < _NTIP_CheckList.length; j++)
{
if (!_NTIP_CheckList[j][2] && !_NTIP_CheckList[j][3] && !_NTIP_CheckList[j][4] && _NTIP_CheckList[j][0] == _NTIP_CheckList[i][0])
{
if (_isFirst)
{
if (_NTIP_CheckList[i][1])
{
_NTIP_CheckList[i][1] = "(" + _NTIP_CheckList[i][1] + ")";
_isFirst = false;
}
else
_NTIP_CheckList[i][1] = _NTIP_CheckList[j][1];
}
if (!_isFirst && _NTIP_CheckList[j][1])
_NTIP_CheckList[i][1] += "||(" + _NTIP_CheckList[j][1] + ")";
_NTIP_CheckList.splice(j--, 1);
}
}
}
}
_MySI_NtipTypeList = new Array();
_MySI_NtipNameList = new Array();
_MySI_NtipDefaultList.length = 0;
_MySI_NtipCubingList.length = 0;
for (i = 0; i < _NTIP_CheckList.length; i++)
{
if (_NTIP_CheckList[i][3])
_MySI_NtipCubingList.push(_NTIP_CheckList[i]);
else if (_NTIP_CheckList[i][2] || _NTIP_CheckList[i][4])
_MySI_NtipDefaultList.push(_NTIP_CheckList[i]);
else
{
j = _NTIP_CheckList[i][0].indexOf("e=");
if (j != -1 && j == _NTIP_CheckList[i][0].lastIndexOf("e="))
{
_index = "Type" + parseInt(_NTIP_CheckList[i][0].substring(j + 3));
if (_MySI_NtipTypeList[_index] == undefined)
_MySI_NtipTypeList[_index] = new Array();
_MySI_NtipTypeList[_index].push(_NTIP_CheckList[i]);
}
else
{
j = _NTIP_CheckList[i][0].indexOf("d=");
if (j != -1 && j == _NTIP_CheckList[i][0].lastIndexOf("d="))
{
_index = "Name" + parseInt(_NTIP_CheckList[i][0].substring(j + 3));
if (_MySI_NtipNameList[_index] == undefined)
_MySI_NtipNameList[_index] = new Array();
_MySI_NtipNameList[_index].push(_NTIP_CheckList[i]);
}
else
_MySI_NtipDefaultList.push(_NTIP_CheckList[i]);
}
}
}
}
function MySI_NTIPParseLine(input)
{
var i;
var _start, _end;
var _section, _keyword;
var _result = ["", "", "", "", ""];
if (!input)
return null;
input = input.split("//")[0].replace(/ |;|\t/g, "").toLowerCase();
if (!input)
return null;
if (input.indexOf("^") != -1)
{
_section = input.split("^");
if (_section[1])
_result[4] = _section[1];
input = _section[0];
}
if (input.indexOf("@") != -1)
{
_section = input.split("@");
_result[3] = "@";
input = _section[0];
}
if (input.indexOf("%") != -1)
{
_section = input.split("%");
if (_section[1])
_result[2] = _section[1];
input = _section[0]
}
if (input.indexOf("#") != -1)
{
_section = input.split("#");
if (_section[0]) _result[0] = _section[0];
if (_section[1]) _result[1] = _section[1];
}
else
_result[0] = input;
if (_result[0])
{
_section = _result[0].split("[");
_result[0] = _section[0];
for (i = 1; i < _section.length; i++)
{
_end = _section[i].indexOf("]") + 1;
switch (_section[i].substring(0, _end - 1))
{
case "type": _result[0] += "item.itemtype"; break;
case "name": _result[0] += "item.classid"; break;
case "class": _result[0] += "item.itemclass"; break;
case "quality": _result[0] += "item.quality"; break;
case "level": _result[0] += "item.itemlevel"; break;
case "prefix": _result[0] += "item.itemprefix"; break;
case "suffix": _result[0] += "item.itemsuffix"; break;
case "flag":
_result[0] += (_section[i][_end] == '!') ? "!(item.itemflag&" : "(item.itemflag&";
_end += 2;
break;
case "characteritemlevel":
_result[0] += "(Math.floor(me.GetStat(12)/2)+Math.floor(item.itemlevel/2))";
break;
default:
Print("알 수 없는 키워드: " + input);
break;
}
for (_start = _end; _end < _section[i].length; _end++)
{
if (!NTIPIsSyntaxInt(_section[i][_end]))
break;
}
_result[0] += _section[i].substring(_start, _end);
for (_start = _end; _end < _section[i].length; _end++)
{
if (NTIPIsSyntaxInt(_section[i][_end]))
break;
}
_keyword = _section[i].substring(_start, _end);
if (isNaN(_keyword))
{
switch (_section[i].substring(0, _section[i].indexOf("]")))
{
case "type": _result[0] += _NTIPAliasType[_keyword]; break;
case "name": _result[0] += _NTIPAliasClassID[_keyword]; break;
case "class": _result[0] += _NTIPAliasClass[_keyword]; break;
case "quality": _result[0] += _NTIPAliasQuality[_keyword]; break;
case "flag": _result[0] += _NTIPAliasFlag[_keyword] + ")"; break;
}
}
else
_result[0] += (_section[i].substring(0, _section[i].indexOf("]")) == "flag") ? (_keyword + ")") : _keyword;
_result[0] += _section[i].substring(_end);
}
}
if (_result[1])
{
_section = _result[1].split("[");
_result[1] = _section[0];
for (i = 1; i < _section.length; i++)
{
_end = _section[i].indexOf("]");
_keyword = _section[i].substring(0, _end);
_result[1] += isNaN(_keyword) ? ("item.GetStat(" + _NTIPAliasStat[_keyword] + ")") : ("item.GetStat(" + _keyword + ")");
_result[1] += _section[i].substring(_end + 1);
}
}
if (!_result[0] && !_result[1])
return null;
return _result;
}
function MySI_IsIgnoredItem(classId)
{
return ((!MyConfig_RefillScroll || classId != 529) && _NTSI_IgnoredList.indexOf(classId) != -1);
}
function MySI_CheckPickItemList(gid, x, y)
{
for (var i = 0; i < _MySI_CheckPickItemList.length; i++)
{
if (_MySI_CheckPickItemList[i][0] == gid || (_MySI_CheckPickItemList[i][1] == x && _MySI_CheckPickItemList[i][2] == y))
return false;
}
return true;
}
function MySI_Item(item)
{
this.classid = item.classid;
this.gid = item.gid;
this.x = item.x;
this.y = item.y;
this.retry = false;
this.itemtype = item.itemtype;
this.xsize = item.xsize;
this.ysize = item.ysize;
this.quality = item.quality;
this.checkitem = this.itemtype == 78 && MyConfig_SnagPotion[this.classid - 513] > 0 && MySI_NTIPCheckItem(item, 1) == 1;
}
function MySI_CheckUniqueCharm(item)
{
if (item.quality == _MyMI_QUALITY_UNIQUE && item.classid > 602 && item.classid < 606)
{
var _items = me.GetItems(item.classid);
if (_items)
{
for (var i = 0; i < _items.length; i++)
{
if (_items[i].quality == _MyMI_QUALITY_UNIQUE)
return true;
}
}
}
return false;
}
function MySI_CheckStore()
{
var i, j;
var _nGems = 0;
var _items = me.GetItems();
if (_items)
{
for (i = 0; i < _items.length; i++)
{
if (_items[i].mode == _MyMI_MODE_ITEM_STORE &&
_items[i].itemloc == _MyMI_LOCATION_ITEM_INVENTORY &&
NTConfig_Columns[_items[i].y][_items[i].x] == 1 &&
_NTT_IgnoredItems.indexOf(_items[i].code) == -1 &&
MyMI_CheckStashSpace(_items[i].xsize, _items[i].ysize) &&
((_items[i].itemtype == 78 && MyConfig_SnagPotion[_items[i].classid - 513] > 0) || MySI_NTIPCheckItem(_items[i], 2, 2) > 0))
{
if (MyConfig_CatchShrineList.indexOf(_MyCS_TYPE_GEM) != -1 && _items[i].itemtype > 95)
{
for (j = 0; j < MyConfig_CatchShrineGemList.length; j++)
{
if (MyConfig_CatchShrineGemList[j] == _items[i].classid)
{
_nGems++;
break;
}
}
if (j >= MyConfig_CatchShrineGemList.length || _nGems > MyConfig_CatchShrineGemHave)
return true;
}
else
return true;
}
}
}
return false;
}
function MySI_StashManager()
{
var i, j;
var _items;
var _isMove;
var _countGems, _myGold;
if (!GetUIState(_MyMI_UI_STASH))
return false;
if (!NTC_StashGoldFull() && NTC_MyGoldCarry() > NTConfig_MinGoldToStash)
{
_myGold = NTC_MyGoldCarry();
Gold(3, _myGold);
for (i = 0; i < 2; i++)
{
Delay(500);
if (_myGold > NTC_MyGoldCarry())
break;
}
}
_items = me.GetItems();
if (!_items)
return false;
_countGems = 0;
for (i = 0; i < _items.length; i++)
{
if (_items[i].mode == _MyMI_MODE_ITEM_STORE && _items[i].itemloc == _MyMI_LOCATION_ITEM_INVENTORY)
{
_isMove = true;
if (MyConfig_CatchShrineList.indexOf(_MyCS_TYPE_GEM) != -1 && _countGems < MyConfig_CatchShrineGemHave && _items[i].itemtype > 95)
{
for (j = 0; j < MyConfig_CatchShrineGemList.length; j++)
{
if (MyConfig_CatchShrineGemList[j] == _items[i].classid)
{
_countGems++;
_isMove = false;
}
}
}
if (_isMove &&
NTConfig_Columns[_items[i].y][_items[i].x] == 1 &&
_NTT_IgnoredItems.indexOf(_items[i].code) == -1 &&
((_items[i].itemtype == 78 && MyConfig_SnagPotion[_items[i].classid - 513] > 0) || MySI_NTIPCheckItem(_items[i], 2, 2) > 0))
{
if (MyMI_MoveItemTo(_items[i], _MyMI_LOCATION_ITEM_STASH, true) == 0)
return false;
}
}
}
return true;
}
function MySI_StopBot(itemXSize, itemYSize)
{
if (MyConfig_StopBot && !NTT_CheckSpace(itemXSize, itemYSize) && !MyMI_CheckStashSpace(2, 4) && NTT_CheckUnids() < 1 && MyMM_MakeMoney(false) < 1)
{
MyIL_File("NTBot/MyData/StopBot/StopBot[" + me.account + "].txt", 1, new Date().getTime());
MyCo_ExitGame();
}
}

