Trade-окна

Requests of new features and reports on bugs needs to be fixed

Moderators: Murderator+, Murderator

Post Reply
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Trade-окна

Post by Destruction »

Предлагаю сделать так, чтобы при появлении трейд-окна, ему выдавался нормальный идентификатор, просто работать числом (пытаясь назвать его идентификатор) которое может измениться в любую секунду - несколько не удобно и может разные случиться.
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Трейд-окно - это обычный контейнер, у него есть сериал - дальше все ясно.

Счас, где-то у меня было... Вот (это цитаты из древних постов):

Yoko, или вообще, ктонить кто знает, единственная команада, в которую я не вкуриваю это uo.TradeContainer . Походу дела oчень классная команда

Недолго поэксперементировав понял что это за команды

uo.TradeCount - подсчитывает количество вещей в трейде с чужой стороны (если это кучки по 60к то легко подсчитать скоко в сумме, а если нет)
пример использования: uo.print(str(uo.TradeCount()))
uo.TradeOpponent - даёт ссылку на объект с которым трэдишься
пример:
Код:

hum=uo.getserial(uo.TradeOpponent())
uo.deleteJournal()
uo.click(hum)
name=uo.GetName(hum)
uo.say("Hello, "+name+"...")


uo.TradeName - похожа на предыдущую, тока она сразу дает имя (посути дела переменная name в предыдущем примере)
uo.TradeCheck - смотрит отметили ли вы галочку в секюр трейде
Код:

if uo.TradeCheck() then
uo.print('yes')
else
uo.print('no')
endif



ЗЫ: Yoko, а похоже и действительно встречался с документацией по этим командам, токо где ... сам не помню, повторный поик результатов не дал


Yoko
Site Admin
Сообщения: 291
Добавлено: Сб Июн 05, 2004 6:56 pm Заголовок сообщения:

--------------------------------------------------------------------------------

int TradeCount() - количество открытых окон торговли
str TradeContainer(["right"][,n]) - ящик с содержимым n-го окна торговли. если указано right то правого, иначе левого
str TradeOpponent([n]) - сериал торгового оппонента окна торговли номер n
str TradeName([n]) - надпись окна торговли номер n
int TradeCheck([n][,"right"[,k]]) - возвращает состояние галочки трейда. если указано "right" то правой. если k указано 0 или 1 то своя галочка соответственно выключается или включается.

всё что выписал выше я не проверял а посмотрел по программному коду, который несколько запутан, так что в чём то могу ошибаться. более того сам я проверял не всё, а то что проверял это было давно...
в общем тестируйте.

для тех кому ещё не ясно как считать вещи - берите сериал торгового контейнера и делайте всё что угодно как для обычного ящика с вещами.


-=M@rTin=-
Сообщения: 26
Откуда: MSK, RU, TheМля
Добавлено: Вс Июн 06, 2004 5:40 pm Заголовок сообщения:

--------------------------------------------------------------------------------

Вообщем вот что получилось
Код:

sub main()
var obj, trc, i=0, count, counter=0
uo.ignorereset()
trc=uo.TradeContainer("right")
#### Если передают деньги в сумке, потребуйте ее открыть и
#### раскомментируйте следующую строчку ####
# trc=uo.getserial("lastcontainer")
uo.findtype('0x0EED',"-1",trc)
count=uo.FindCount()
i=0
while i<count
uo.findtype('0x0EED',"-1",trc)
obj=uo.getserial("finditem")
counter=counter+(uo.GetQuantity(obj))
uo.print(str(uo.GetQuantity(obj)))
uo.ignore(obj)
i=i+1
wait(500) # for debug (если сглючнет, то хотябы не завесит уо)
wend
uo.print(" ")
uo.print(" ")
uo.print("*********************")
uo.print("total count: "+str(counter))
uo.print("*********************")
uo.ignorereset()
endsub
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Как работают трейд-комманды - мне известно.

Трейд-окно - это не обычный контейнер, у него ещё есть галочки, которые надо ставить.
Post Reply