накидал тут скриптик для удара по камню, который мы указываем таргетом.
Капаем в этом камне, пока не будет мессаги, что нету больше там нечего. Повторяем капание пока в камне что-то есть.
sub catorg() var tshovel='0x0F39' uo.print('show the stone >>>') uo.exec('addobject stone') while uo.targeting() wait(100) wend uo.deletejournal() while not uo.injournal("No mine") or not uo.injournal("Try mining") repeat uo.findtype('stone','-1','ground') wait(100) uo.usetype(tshovel) until uo.injournal("You loosen") or uo.injournal("You put") wend end sub
Скрипт предлагает мне тыкнуть на камень таргетом, но не находит его сам и моментально пишет тоже самое...
все верно. на сфере, если мы не закончили действие с объектом, и повторно его используем, то первое действие отменяется и все идет сначала, потому и таргет отменяется и кидается новый, пока мы только начали использовать предмет повторно.
и вообще, весьма странно все написано... алгоритм скрипта неверен в принципе.
должно быть так:
1)ищем, что копать
2)устанавливаем таргет на найденое
3)используем предмет
4)ждем, пока закончится действие
Возможно что не верен алгоритм.
Я только учусь писать скрипты, на основе 5 уроков по написанию скриптов, очень сложно написать правильный скрипт.
Если вам не сложно можете ли вы написать такой скрипт в правильном алгоритме?
1-таргетом указываю на цель копания(камень на земле)
2-капает в етом камне пока не выкапает все.
sub catorg() var tshovel='0x0F39' uo.print('show the stone >>>') uo.exec('addobject stone') while uo.targeting() wait(100) wend uo.deletejournal() repeat repeat uo.waittargetobject('stone') uo.usetype(tshovel) repeat wait(100) until uo.injournal("You loosen") or uo.injournal("You put") until uo.injournal("No mine") or uo.injournal("Try mining") end sub
просто нужно помнить, что если мы чего-то ждем в журнале, то оно там сразу не появится, и потому лучше сперва подождать, то есть использовать repeat-until, а while-wend подходит лишь в особых случаях, когда использование постусловия приводит к непомерному росту скрипта или увеличению его сложности.
sub catorg() var tshovel='0x0F39' uo.print('show the stone >>>') uo.exec('addobject stone') while uo.targeting() wait(100) wend repeat repeat uo.deletejournal() uo.waittargetobject('stone') uo.usetype(tshovel) repeat wait(100) until uo.injournal("You loosen") or uo.injournal("You put") until uo.injournal("No mine") or uo.injournal("Try mining") end sub
sub catorg() var tshovel='0x0F39' repeat repeat uo.deletejournal() uo.exec('waittargettile lasttile') uo.usetype(tshovel) repeat wait(100) until uo.injournal("You loosen") or uo.injournal("You put") until uo.injournal("No mine") or uo.injournal("Try mining") end sub
смысл вот в чем. биндишь в инжекте запуск этого скрипта на кнопочку какую-нибудь. далее, сперва копаешь руками. один раз. как только первый круг отработает с твоей помощью, дальше запускаешь скрипт и он докапывает все сам.
да ты прав етож все статика... нету айди, тайпов... вобщем твоим скриптом достаточно указать цель, т.е. тайл становится последней целью и все работает. спс.