Page 1 of 1

WaitTargetTile

Posted: 2004-10-13 12:56:30
by Andrey
Пишу скрипт на майнинг. Следующая процедура копает в указанной точке вокруг игрока

sub Mine_At(X, Y)
Var f = False
Var Max_Weight = 500
Var TKirka = '0x0E85'
UO.Print("Начинаем копать в точке X="+Str(x)+" Y="+Str(Y))
While True
UO.DeleteJournal()
UO.WaitTargetTile("0", Str(x), Str(y))
If UO.GetGraphic(UO.ObjAtLayer('Rhand'))<>TKirka Then
UO.FindType(TKirka)
If UO.FindCount()<1 Then
UO.Print('Нету кирки !!!')
Return
Else
UO.UseObject('finditem')
EndIf
Else
UO.UseObject(UO.ObjAtLayer('Rhand'))
EndIf
Wait(100)
If UO.InJournal('"В этом месте нельзя копать..."') Or UO.InJournal('"Здесь больше нечего выкопать..."') Then
Return
EndIf
While Not F
f = (UO.InJournal('You put')) Or (UO.InJournal('some havy'))
Wait(100)
WEnd
# Wait(7000)
If UO.Weight>Max_Weight Then
# SAFECALL GoHome
EndIf
WEnd
end sub

Шард RUO - поэтому надписи руссие частично...

Короче. Как мне задать параметры WaitTargetTile для точки с координатами X, Y передаваемыми в процедуру?

Posted: 2004-10-14 00:21:01
by GrayLord
uo.waittargettile(tilenum,uo.getx()+x,uo.gety()+y,uo.getz())

tilenum - номер тайла.
x,y - координаты относительно твоего чара.

Posted: 2004-10-14 14:27:11
by Andrey
Так вся фишка то в том что UO.GetZ выдает координаты чара. А мне надо координаты тайла где копать... Да и как узнать номер тайла (из скрипта) я не понял...

Posted: 2004-10-15 01:19:20
by GrayLord
Andrey wrote:Так вся фишка то в том что UO.GetZ выдает координаты чара. А мне надо координаты тайла где копать... Да и как узнать номер тайла (из скрипта) я не понял...

так координата uo.getz() твоего чара и есть координата "где копать", по высоте, иначе твой чар будет летать, на касаясь земли, либо работать кротом...

Posted: 2004-10-15 16:44:08
by Andrey
Мда... Поясню для ... кхм. Стоит чар - и копает НЕ ПОД СОБОЙ а рядом с собой! Как узнать Z места где он копает? И соответственно номер тайла...

Posted: 2004-10-15 17:08:51
by Edred
Andrey wrote:Мда... Поясню для ... кхм. Стоит чар - и копает НЕ ПОД СОБОЙ а рядом с собой! Как узнать Z места где он копает? И соответственно номер тайла...


Если уже копает - UO.GetZ( lasttile )

Posted: 2004-10-15 18:32:40
by GrayLord
Andrey wrote:Мда... Поясню для ... кхм. Стоит чар - и копает НЕ ПОД СОБОЙ а рядом с собой! Как узнать Z места где он копает? И соответственно номер тайла...

никак, надо полагать. если у тебя на шарде бугристая местность в шахте - то копай с тою же координатой z "на свой страх и риск".
еще, когда-то очень давно вроде работала waittargettile без z, но в "консольном варианте":

Code: Select all

uo.exec('waittargettile '+str(tilenum)+' '+str(uo.getx()+x)+' '+str(uo.gety()+y))

Posted: 2004-10-15 18:34:17
by GrayLord
Edred wrote:
Andrey wrote:Мда... Поясню для ... кхм. Стоит чар - и копает НЕ ПОД СОБОЙ а рядом с собой! Как узнать Z места где он копает? И соответственно номер тайла...


Если уже копает - UO.GetZ( lasttile )

на сколько я понял нашего новоявленого доктора наук (раз уж он задает вопросы тем, кого считает "...":)), ему надо узнавать перед "рытьём канав" их глубину. =)

Posted: 2004-10-16 14:54:07
by Yoko
просто для теста есть ,infotile

Posted: 2004-10-16 19:54:16
by Andrey
"никак, надо полагать. если у тебя на шарде бугристая местность в шахте - то копай с тою же координатой z "на свой страх и риск". "

Ас чего ты взял что я копаю в шахте? Я копаю на кочках потому что шахт с ГЗ нету :-( А вот у кочек разная высота...

еще, когда-то очень давно вроде работала waittargettile без z, но в "консольном варианте":

Это я уже пробовал... Спасибо. Если это единственный выход то...

Posted: 2004-10-16 19:55:56
by Andrey
на сколько я понял нашего новоявленого доктора наук (раз уж он задает вопросы тем, кого считает "..."), ему надо узнавать перед "рытьём канав" их глубину. =)

Никого не хотел обидеть.