TradeMenu

тут можно задать вопрос по скриптингу
Post Reply
Stels
Novice
Novice
Posts: 118
Joined: 15.02.2011 12:15

TradeMenu

Post by Stels »

Приветствую. Подскажите, что значат переменные тут http://stealth.od.ua/Doc:Manual/Referen ... eTradeMenu
а именно
TradeNum - с этим уже разобрался - номер чара с которым торгуешься. Как вообще работать с этим списком чаров? или как он вообще работает? т.е. ко мне подошел чар обменялся, потом второй и у него уже будет другой номер? А можно как-то сбрасывать этот счетчик номеров, что бы всегда учитывался только текущий чар?

Num - что это за переменная? За что отвечает?

как можно узнать какой предмет положен в трейд окно и его кол-во?
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: TradeMenu

Post by nah nah »

TradeNum это скорее номер окна обмена. от 0 и выше
Num это номер контейнера в окне, их всего 2, вроде 0 и 1. 0 - левый, 1 - правый
Stels
Novice
Novice
Posts: 118
Joined: 15.02.2011 12:15

Re: TradeMenu

Post by Stels »

nah nah wrote:TradeNum это скорее номер окна обмена. от 0 и выше
Num это номер контейнера в окне, их всего 2, вроде 0 и 1. 0 - левый, 1 - правый
Ага, да, скорее всего так... только 1 и 2

теперь немного не понятна функция GetTradeContainer(TradeNum,Num : Byte) : Cardinal возвращает id предмета в обменнике или тип?

не... походу я тут вообще не так все понял :)))))) он вовзвращает какое-то непонятное число и каждый раз новое на один и тот же предмет... словно у каждого окошка обменника свой id который выдается при создании этого меню
Mirage
Novice
Novice
Posts: 90
Joined: 18.07.2009 19:41

Re: TradeMenu

Post 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);
Stels
Novice
Novice
Posts: 118
Joined: 15.02.2011 12:15

Re: TradeMenu

Post 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);
Это я уже понял собственными усилиями :)))))))))
Stels
Novice
Novice
Posts: 118
Joined: 15.02.2011 12:15

Re: TradeMenu

Post by Stels »

Всё, полностью со всеми вопросами разобрался! благодарю всех за помощь!
untoha
Novice
Novice
Posts: 51
Joined: 16.03.2013 17:21

Re: TradeMenu

Post 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 делается
логаут обнуляет, но далее все повторяется, добавленные ранее предметы остаются
спасибо создатель, я твой должник!
untoha
Novice
Novice
Posts: 51
Joined: 16.03.2013 17:21

Re: TradeMenu

Post by untoha »

странно, но видимо это оказалась особенность сервера. попробовал на другом сервере - все работает как должно.
спасибо создатель, я твой должник!
User avatar
Vizit0r
Developer
Developer
Posts: 3956
Joined: 24.03.2005 17:05
Contact:

Re: TradeMenu

Post by Vizit0r »

это скорее всего тотже баг с контейнерами, который месяц назад был сдан и исправлен.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Post Reply