Skip to content

붓 에러 질문합니다.

분류 질문 조회 수 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();
 }
}
  • 홍구리 2011.11.04 23:55
    훔.. 붓이 아니라 봇인데요.. 근데 무슨 에러가 나는지를 적으셔야지.. 답변을 구하실수 있을듯 한데요... 위 소스는 왜 붙여넣기를 하셨는지..

번호 분류 제목 글쓴이 날짜 조회
공지   게시판 푸시 알림 / 통합 앱 서비스 35 file 트디개발자 2023.09.20 947.6k
공지 안내 D2NT 처음 이용하는 분은 튜토리얼을 참고바랍니다. 135 우녕자 2014.12.21 50.9k
7505 질문 23차. 디아런 쫄봇, 사냥끝날때까지 대기 하는 법 알려주세요. 3 이빨빠진강아지 2011.11.05 1.1k
7504 질문 완전 생 초보 코알라 입니다 1 코알라[FoodStylist] 2011.11.04 411
> 질문 붓 에러 질문합니다. 1 한성질 2011.11.04 1.4k
7502 질문 25차버전 사용중입니다 매니져 질문입니다 1 파이어 2011.11.04 450
7501 질문 스샷에 에러 해결법 좀 알려주세요. 6 file webst 2011.11.04 439
7500 질문 우버디아메세지 관련 질문입니다. 2 던진도너스 2011.11.04 573
7499 질문 NT봇20차 사용하고있습니다(532오류) 질문 드립니다 4 file 2011.11.04 626
7498 질문 24차 쓰고있습니다.. connection interruption 관련 오류 질문입니다 1 file 더운나라 2011.11.04 1.1k
7497 질문 바알런할때 쫄봇설정 어떻게하나요? 1 허브닥터 2011.11.04 621
7496 질문 [25차] 크리스탈 스피릿 만들기 큐빙 3 file 인큐러스 2011.11.04 2.0k
7495 질문 콜투 극블리소서인데 렙90인데도 종종 카운테스에서 치킨이납니다. 2 방위 2011.11.04 1.3k
7494 질문 투컴 쫄봇에 관한 질문입니다~~! 2 으음? 2011.11.04 1.0k
7493 질문 nt 25차는 어디서 다운 받나요? 2 알보리[A2L]™ 2011.11.03 613
7492 질문 1.13D 패치후 D2NT 4봇이상 실행시 베넷접속이 안됩니다.. 6 I_Winner[Bboy:)] 2011.11.03 1.7k
7491 질문 날아다녀님의 20차봇 겜블용아이템번호 질문드립니다 1 고댕 2011.11.03 942
7490 질문 d2nt25차 쫄봇 매니져 진입점을 무얼로하나요? 2 Dia매니아[A1L] 2011.11.03 581
7489 질문 NT봇 25차 오류때문에 헤메네요..(스샷첨부) 6 file 네버엔드 2011.11.03 561
7488 질문 함성봇이 함성주고 바로 나가버리네요^^; 1 허브닥터 2011.11.03 327
7487 질문 날아다녀님 25차수정본 사용자입니다. 아이템이니질문 3 find_nickname 2011.11.03 662
7486 질문 25차 엔티봇에서 활포를 대량말고 작은것이라도 줍게하고싶은데요 2 필부잡털 2011.11.03 331