Приветствую. Подскажите, что значат переменные тут http://stealth.od.ua/Doc:Manual/Referen ... eTradeMenu
а именно
TradeNum - с этим уже разобрался - номер чара с которым торгуешься. Как вообще работать с этим списком чаров? или как он вообще работает? т.е. ко мне подошел чар обменялся, потом второй и у него уже будет другой номер? А можно как-то сбрасывать этот счетчик номеров, что бы всегда учитывался только текущий чар?
Num - что это за переменная? За что отвечает?
как можно узнать какой предмет положен в трейд окно и его кол-во?
Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7
TradeMenu
Re: TradeMenu
TradeNum это скорее номер окна обмена. от 0 и выше
Num это номер контейнера в окне, их всего 2, вроде 0 и 1. 0 - левый, 1 - правый
Num это номер контейнера в окне, их всего 2, вроде 0 и 1. 0 - левый, 1 - правый
Re: TradeMenu
Ага, да, скорее всего так... только 1 и 2nah nah wrote:TradeNum это скорее номер окна обмена. от 0 и выше
Num это номер контейнера в окне, их всего 2, вроде 0 и 1. 0 - левый, 1 - правый
теперь немного не понятна функция GetTradeContainer(TradeNum,Num : Byte) : Cardinal возвращает id предмета в обменнике или тип?
не... походу я тут вообще не так все понял ))))) он вовзвращает какое-то непонятное число и каждый раз новое на один и тот же предмет... словно у каждого окошка обменника свой id который выдается при создании этого меню
Re: TradeMenu
так и есть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
Это я уже понял собственными усилиями ))))))))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
Всё, полностью со всеми вопросами разобрался! благодарю всех за помощь!
Re: TradeMenu
у меня чёта суммируются т.е. положил в трейд 1 предмет, отменил трейд, положил другой, отменил. в итоге uosay выводит все оба предмета в FindType($FFFF, GetTradeContainer(0,2)) возвращает все то, что уже не в трейде, но было в него добавлено ранее
пробовал GetTradeContainer(TradeCount()-1,2) , List.Free делается
логаут обнуляет, но далее все повторяется, добавленные ранее предметы остаются
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;
логаут обнуляет, но далее все повторяется, добавленные ранее предметы остаются
спасибо создатель, я твой должник!
Re: TradeMenu
странно, но видимо это оказалась особенность сервера. попробовал на другом сервере - все работает как должно.
спасибо создатель, я твой должник!
Re: TradeMenu
это скорее всего тотже баг с контейнерами, который месяц назад был сдан и исправлен.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".