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
на сколько я понял нашего новоявленого доктора наук (раз уж он задает вопросы тем, кого считает "..."), ему надо узнавать перед "рытьём канав" их глубину. =)
Никого не хотел обидеть.