Skip to content
봇관련다크 모드

XP 봇, 겜블에러 해결

조회 수
1,401
추천 수
10
등록일
봉구입니다
게시글 주소
https://tradia.me/diablo2/diablo2_tips/195590 복사

증상:
XP봇, 겜블하게 설정시, 겜블한 아이템을 인식하지 못하는 버그로 인해,
설정에 맞지 않는 아이템을 보관하거나, 패일투 드랍등 에러가 발생하는 경우.

해법:
(이방법은, nt 봇, 겜블 함수를 원용해서, 바꿔 준 겁니다.)
% 만약을 대비해, 기존 d2jsp-town.d2l 원본은 백업 해둡니다.
d2jsp-town.d2l 파일에서 , function DT_GambleIt 함수를 아래 함수로 교체

function DT_GambleIt(npc) {
 var _gambleitem, _newitem;
 
 if(!npc)
 return false;
 
 if(!getUIFlag(0x08) || !getUIFlag(0x0C))
 return false;

 //_gambleitem = NTC_GetItems(npc);
 _gambleitem = npc.getItems();

 if(!_gambleitem)
 return false;
 
 for(var i = 0 ; i < _gambleitem.length ; i++)
 {
 if(_DT_IsItemInGambleArray(_gambleitem[i].code))
 {
 if(DT_CheckSpace(DT_GetXSize(_gambleitem[i]),DT_GetYSize(_gambleitem[i])))
 {
 _DT_GetOldItemsInt();

 if(DT_BuyItem(_gambleitem[i], npc, 2)) {
 delay(250);
 _newitem = _DT_GetGambledItemInt();
 }
 else
 return false;

 if(_newitem)
 {
 while(!_newitem.getFlag(0x10))
 delay(100);
 
 delay(250);
 
 _result = DT_NiceItem(_newitem,DT_ReportMode);
 _reportstring = (DT_ReportMode) ? " [line #" + _result.line + " in " + _result.file + "]" : "";
 if (_result.result > 0) {
 DL_LogItem(DL_GetItemName(_newitem),_newitem.quality,"[Gambled]" + _reportstring);
 DC_DPrint("DT_GambleIt() : Gambled a " + DL_GetItemName(_newitem) + _reportstring);
 }
 else {
 DC_DPrint("DT_GambleIt() : Attemping to sell the gambled item (" + _newitem.fname + ")");
 if(!DT_BuyItem(_newitem, npc, 1)){
 msg = npc.name+" >>> Unable to resell the gambled item "+_newitem.fname+" flag: "+_newitem.getFlag(0x10)+" mode: "+_newitem.mode;
 DC_Print(msg);
 DC_LogToLoader(msg);
 DC_DPrint("DT_GambleIt() : Unable to resell the gambled item!"); 
 }
 }
 }
 }
 }
 }

 return true;
}

// 아래 두함수를 위 겜블함수 바로 아래에 넣어 줍니다.

function _DT_GetGambledItemInt()
{
 var n;
 var _items;
 var _founditem;

 _items = getUnit(4,null,100);

 if(!_items)
 return false;

 
 do{
 if(_items.mode == 0 && _items.getParent() && DC_CheckOwner(_items,me.name))
 {
 _founditem = true;

 for(n = 0 ; n < _DT_OldItems.length ; n++)
 {
 if(_items.gid == _DT_OldItems[n])
 {
 _founditem = false;
 break;
 }
 }

 if(_founditem)
 return _items;
 }
 }while(_items && _items.getNext(null,100));

 return false;
}

function _DT_GetOldItemsInt()
{
 var _items;

 _DT_OldItems = new Array();

 _items = getUnit(4,null,100);

 if(!_items)
 return false;

 do {
 if(_items.mode == 0 && _items.getParent() && DC_CheckOwner(_items,me.name))
 _DT_OldItems.push(_items.gid);
 } while(_items && _items.getNext(null,100));
}
댓글 14
  • 댓글 #195591

    xp봇, 겜블 에러를 해결하기 위해 , 갖가지 방법을 동원해도 해결되지 않아, 겜블 함수 자체를 바꿔서 해결한 겁니다. ^^
  • 댓글 #195600

    감사합니다 ^^ 이걸로 서클류 겜블이 한결 나아지겠네요 추천한방 쾅~
  • 댓글 #195609

    아 감사합니다 그 에러때문에 겜블안하고있었는데 ㅎㅎ
  • 댓글 #195612

    이런 자료가 필요했습니다.. 역시 예전 멤버분들의 실력이 엄청 나시군요
  • 댓글 #195618

    NT봇도 겜블하다가 에러가생겨서 D2매니져가 종료되는데 이 자료 NT봇에 적용될까요?
  • 댓글 #195624

    항상 감사합니다..겜불 버거댐쉬 최상이니를 하는 저로써는 이문제가 항상 난간이였는데 이번에도 역쉬 봉구님이 해결해주시는 군요... 항상 감사합니다..
  • 댓글 #195627

    다들 잘 되나요? 저는 적용후 2틀을 지켜 보았는데 아직도 미설정된 매직 아이템을 보관 하였음. (매직링 1원소 레지링 3개 보관 이었음)
  • 댓글 #195630

    약간 보관하는게 있기는 하지만 현저하게 줄어서 만족하고 있어요.... 그리고.. 봉구님의 이 자료도 좋지만 일명 nude bug 시 방에서 나가는 자료는 너무 맘에 들어요
권한이 없습니다.
다크 모드