Page 1 of 1
TradeMenu
Posted: 17.11.2014 0:32
by Stels
Приветствую. Подскажите, что значат переменные тут
http://stealth.od.ua/Doc:Manual/Referen ... eTradeMenu
а именно
TradeNum - с этим уже разобрался - номер чара с которым торгуешься. Как вообще работать с этим списком чаров? или как он вообще работает? т.е. ко мне подошел чар обменялся, потом второй и у него уже будет другой номер? А можно как-то сбрасывать этот счетчик номеров, что бы всегда учитывался только текущий чар?
Num - что это за переменная? За что отвечает?
как можно узнать какой предмет положен в трейд окно и его кол-во?
Re: TradeMenu
Posted: 17.11.2014 0:36
by nah nah
TradeNum это скорее номер окна обмена. от 0 и выше
Num это номер контейнера в окне, их всего 2, вроде 0 и 1. 0 - левый, 1 - правый
Re: TradeMenu
Posted: 17.11.2014 0:47
by Stels
nah nah wrote:TradeNum это скорее номер окна обмена. от 0 и выше
Num это номер контейнера в окне, их всего 2, вроде 0 и 1. 0 - левый, 1 - правый
Ага, да, скорее всего так... только 1 и 2
теперь немного не понятна функция
GetTradeContainer(TradeNum,Num : Byte) : Cardinal возвращает id предмета в обменнике или тип?
не... походу я тут вообще не так все понял
))))) он вовзвращает какое-то непонятное число и каждый раз новое на один и тот же предмет... словно у каждого окошка обменника свой id который выдается при создании этого меню
Re: TradeMenu
Posted: 17.11.2014 0:58
by Mirage
Stels wrote:словно у каждого окошка обменника свой id который выдается при создании этого меню
так и есть
function GetTradeContainer(TradeNum,Num: Byte): Cardinal; // Получить айди для одного из двух контейнеров в окне секьюр-трейда, для поиска, перемещения туда айтема и прочего.
Num = 1 Себя
Num = 2 Оппонента
TradeNum исчесляется с 0
вроде все понятно
Это ID как контейнер - в него можно перемещать товар. 1 - твоё окно, 2 опонента. Золото ты будешь в 2 подсчитывать а товар перемещать в 1.
OppContainer:=GetTradeContainer(0,2);
MyContainer:=GetTradeContainer(0,1);
Re: TradeMenu
Posted: 17.11.2014 1:01
by Stels
Mirage wrote:Stels wrote:словно у каждого окошка обменника свой id который выдается при создании этого меню
так и есть
function GetTradeContainer(TradeNum,Num: Byte): Cardinal; // Получить айди для одного из двух контейнеров в окне секьюр-трейда, для поиска, перемещения туда айтема и прочего.
Num = 1 Себя
Num = 2 Оппонента
TradeNum исчесляется с 0
вроде все понятно
Это ID как контейнер - в него можно перемещать товар. 1 - твоё окно, 2 опонента. Золото ты будешь в 2 подсчитывать а товар перемещать в 1.
OppContainer:=GetTradeContainer(0,2);
MyContainer:=GetTradeContainer(0,1);
Это я уже понял собственными усилиями
))))))))
Re: TradeMenu
Posted: 17.11.2014 1:15
by Stels
Всё, полностью со всеми вопросами разобрался! благодарю всех за помощь!
Re: TradeMenu
Posted: 17.11.2018 21:13
by untoha
у меня чёта суммируются т.е. положил в трейд 1 предмет, отменил трейд, положил другой, отменил. в итоге uosay выводит все оба предмета в FindType($FFFF, GetTradeContainer(0,2)) возвращает все то, что уже не в трейде, но было в него добавлено ранее
Code: Select all
if FindType($FFFF, GetTradeContainer(0,2)) > 0 then begin
List := TStringList.Create;
GetFindedList(List);
if List.count > 0 then begin
for i := 0 to (List.count-1) do begin
uosay('founded: '+List.Strings[i]);
uosay('founded: '+inttostr(GetType(StrToInt('$'+List.Strings[i]))) );
wait(1);
end;
end;
List.Free;
end;
List.Free;
пробовал GetTradeContainer(TradeCount()-1,2) , List.Free делается
логаут обнуляет, но далее все повторяется, добавленные ранее предметы остаются
Re: TradeMenu
Posted: 17.11.2018 21:40
by untoha
странно, но видимо это оказалась особенность сервера. попробовал на другом сервере - все работает как должно.
Re: TradeMenu
Posted: 19.11.2018 4:53
by Vizit0r
это скорее всего тотже баг с контейнерами, который месяц назад был сдан и исправлен.