Page 1 of 1

Проверка при автоскупке

Posted: 24.11.2010 0:24
by neverflash
подскажите ка при автоскупке гарантировано проверить что всё наименование скупил.

пробовал GetShopList: TStringList;
но там написано:
// !!! Работает только при выключенном silentmode, смотреть procedure SetSilentMode(Value: Boolean);

т.е. как я понял это для тестов (открывается доп. инф. окно) как же бытьв реальных игровых условиях?

мой код

Code: Select all

var
i : integer;
a : TStringList;
str: TStringList; 
begin
  a   := TStringList.Create();
  str := TstringList.Create();
  SetContextMenuHook(vendor,1);
  RequestContextMenu(vendor);
  
  GetShopList(a); SetSilentMode(True); // GetFindedList(a); 
  for i := 0 to a.Count - 1 do
    begin
     StrBreakApart(a.Strings[i],'|', str);
     AddToSyStemJournal(intTostr(i)+' '+str[4]+' '+str[14]); 
    end;

Posted: 24.11.2010 20:11
by neverflash
ап

Posted: 25.11.2010 6:49
by Fenix
Тебя интересует наличие товара у продавца или скупил-ли ты товар вообще?
Если просто факт скупки товара - проверяй кол-то итемов до покупки и после покупки.

Posted: 25.11.2010 12:41
by neverflash
Fenix wrote:Тебя интересует наличие товара у продавца или скупил-ли ты товар вообще?
Если просто факт скупки товара - проверяй кол-то итемов до покупки и после покупки.
Да, наличие.
у продавца может быть разное кол-во итемов к тому моменту как я "прийду"

Posted: 25.11.2010 12:53
by CFA
GetShopList - возвращает список итемов из открытого шоп листа. Там есть вся информация - ид, тип, цвет, кол-во, цена, имя итемов. Правда на разных шардах порядок цены и имени может отличатся от порядка прочих параметров)

Posted: 25.11.2010 12:59
by neverflash
GetShopList работает только при SetSilentMode(True) , а эта ф-ция вызывает инфо-окно, что разумеется нужно в отладке но никак не в рабочем скрипте.
при SetSilentMode(False) - GetShopList не обновляется.

Posted: 25.11.2010 14:01
by CFA
GetShopList обновляется при появлении шоп листа, именно после покупки, вероятно да, не обновляется. Для очистки листа есть ClearShopList. Без повторного открытия шоп листа скорее всего не узнать, осталось ли что нибудь у вендора или нет. Можно просто выставлять количество покупаемых итемов, заведомо большее, чем может быть у вендора.

Posted: 25.11.2010 14:05
by neverflash
CFA wrote: Можно просто выставлять количество покупаемых итемов, заведомо большее, чем может быть у вендора.
В данном случае покупать приходится частями, т.к. итемы много весят. Остальное проверю, спасибо.

Posted: 13.12.2010 17:09
by neverflash
Визитор вернулся, так что подниму эту тему ради общего понимания.


GetShopList работает только при SetSilentMode(True) , а эта ф-ция вызывает инфо-окно, что разумеется нужно в отладке но никак не в рабочем скрипте.
при SetSilentMode(False) - GetShopList не обновляется.

Для очистки листа есть ClearShopList, только он очищает а не обновляется.

Posted: 14.12.2010 18:48
by Vizit0r
гляну на досуге.