Page 1 of 1

Меню вендора

Posted: 27.01.2012 13:56
by head
Привет,

Помогите разобраться плиз с автоскупкой у вендоров
Искал на форуме что-то по этой теме, но так и не разобралсо

Мне нужен код такого содержания


Begin
...//открыл байлист и купил макс количество айтемов
End.

Проверки и т.п. я сам сделаю, меня интересует сам факт покупки и как купить именно тот предмет, который нужен
Пробовал по типу вещи- не покупает
Читал про GetShopList так и не разобрался что и как...

Прошу Вашей помощи, господа :)

Re: Меню вендора

Posted: 27.01.2012 13:59
by Alex
поищи по форуму слово AutoBuy

Code: Select all

AutoBuy		 procedure AutoBuy(ItemType : Word; ItemColor : Word; Quantity : Word)
AutoBuyEx		 procedure AutoBuyEx(ItemType : Word; ItemColor : Word; Quantity : Word; Price : Cardinal; Name : String)
GetShopList		 function GetShopList : TStringList
ClearShopList		 procedure ClearShopList
GetAutoBuyDelay		 function GetAutoBuyDelay : Word
SetAutoBuyDelay		 procedure SetAutoBuyDelay(Value : Word)
AutoSell		 procedure AutoSell(ItemType : Word; ItemColor : Word; Quantity : Word)
GetAutoSellDelay		 function GetAutoSellDelay : Word
SetAutoSellDelay		 procedure SetAutoSellDelay(Value : Word)

Re: Меню вендора

Posted: 27.01.2012 14:51
by head
Вот что я нашел

Code: Select all

  AutoBuy(night,$0000,20);
  SetContextMenuHook(vendor,1);    
  RequestContextMenu(vendor);  
  Wait(4000);
  AutoBuy(night,$0000,0);
  end;
но это не работает, в ответ написали, что нужно использовать эту фишку

Code: Select all

Program test;
var a : TStringList;
begin
a := TStringList.Create;
  SetContextMenuHook($000034C0,1); 
  RequestContextMenu($000034C0);
GetShopList(a);
SetSilentMode(False);
a.free;
end.
мол, тип бланков в листе продажи отличается от типов в паке
и что смотреть типы покупаемых айтемов только через GetShopList! - Цитата Визитора

а как связать это я хз :shock:

Re: Меню вендора

Posted: 27.01.2012 15:01
by Alex
SetContextMenuHook+RequestContextMenu - открывает меню чара и выбирает пункт какой то

на моем шарде вместо этого можно просто сказать "buy" рядом с чаром и откроется меню покупки

дальше, GetShopList - эта функция заполняет массив строк записями из меню покупки
а при SetSilentMode(False); - стелс откроет окошко(как ,infogump) с результатом работы GetShopList

тебе это посоветовали для того что бы ты отыскал там нужный тип продукта в таком списке и подставил его в AutoBuy

Re: Меню вендора

Posted: 27.01.2012 15:13
by head
Alex wrote:SetContextMenuHook+RequestContextMenu - открывает меню чара и выбирает пункт какой то

на моем шарде вместо этого можно просто сказать "buy" рядом с чаром и откроется меню покупки

дальше, GetShopList - эта функция заполняет массив строк записями из меню покупки
а при SetSilentMode(False); - стелс откроет окошко(как ,infogump) с результатом работы GetShopList

тебе это посоветовали для того что бы ты отыскал там нужный тип продукта в таком списке и подставил его в AutoBuy
я понял, спасибо
и уже заработало через просто "бай" :D

Re: Меню вендора

Posted: 27.01.2012 18:52
by head
еще вопрос: есть рунбука, для реколла нужно задать руну, каким образом это можно реализовать в стелсе?

Re: Меню вендора

Posted: 27.01.2012 18:55
by Alex
посмотри в этом скрипте http://stealth.od.ua/forum/viewtopic.php?f=3&t=1570 функцию RecallRune

Re: Меню вендора

Posted: 27.01.2012 20:07
by head

Code: Select all

function RecallRune(RuneBook: Cardinal; Rune: Byte):Boolean; //New
var
  Counter: Byte;
  X, Y: Word;
begin
  Result := False;
  X := GetX(Self);
  Y := GetY(Self);
  CheckLag(LagWait);
  Wait(WaitTime);
  while Isgump do CloseSimpleGump(0); //это закрывается гамп если он открыт, я так понимаю
  if Dead or not Connected then Exit;
  UseObject(RuneBook);
  CheckLag(LagWait);
  Counter := WaitCycles; // вот это я не понимаю что означает
  while Counter > 0 do begin
    if IsGump then Break;
    Wait(WaitTime);
    CheckLag(LagWait);
    Inc(Counter);
  end;
  if IsGump then begin
    if NumGumpButton(0, RuneBookShift + Rune) then begin //вот тут тоже мне не понятно, откуда берутся значения
      CheckLag(LagWait);
      Wait(RecalTime);
      CheckLag(LagWait);
      Result := (X <> GetX(Self)) or (Y <> GetY(Self));
    end else Result := False;
  end else Result := False;
end;
можешь рассказать про эти штуки, которые я отметил комментами, пожалуйста?

Re: Меню вендора

Posted: 27.01.2012 20:15
by head
и еще, как можно вытянуть всю инфу о гампе, т.е. прописать открытие гампа и изъять всю инфу о нем?
типа как в инжекте ",info"

Re: Меню вендора

Posted: 27.01.2012 20:17
by Vizit0r
в инжекте инфу о гампе дает ",infogump". в стелсе, как ни странно - тоже дает, если в подключенном клиенте написать.
а из скрипта - GetGumpFullLines

Re: Меню вендора

Posted: 27.01.2012 20:17
by Alex
http://stealth.od.ua/wiki/doku.php?id=% ... 0%BF%D1%8B
http://stealth.od.ua/wiki/doku.php?id=% ... 0%B0%D1%85

по поводу комментов в скрипте, WaitCycles и RuneBookShift, эти переменные в скрипте там обьявляются

Re: Меню вендора

Posted: 27.01.2012 20:19
by head
спасибо, ребята, сейчас буду жевать :)

Re: Меню вендора

Posted: 27.01.2012 22:02
by head
пока что все понятно и работает рекол по РБ, еще раз, спасибо Вам :)

Re: Меню вендора

Posted: 27.01.2012 22:39
by Vizit0r
пожалуста :)