бональная долбежка по камням.

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

бональная долбежка по камням.

Post by Dron D. »

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

Code: Select all

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


Скрипт предлагает мне тыкнуть на камень таргетом, но не находит его сам и моментально пишет тоже самое...

Code: Select all

Where do you want to use the shovel?
Targeting Cancelled
agem
Posts: 65
Joined: 2005-06-26 12:29:37

Post by agem »

Не UO.FindType('stone'...), а UO.WaitTargetObject('stone')!
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Тот же эффект :(
GrayLord
Expert!
Posts: 333
Joined: 2004-06-04 03:24:25
Contact:

Post by GrayLord »

все верно. на сфере, если мы не закончили действие с объектом, и повторно его используем, то первое действие отменяется и все идет сначала, потому и таргет отменяется и кидается новый, пока мы только начали использовать предмет повторно.
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Все верно. Только как бы ето все на скрипты перевести :?:
GrayLord
Expert!
Posts: 333
Joined: 2004-06-04 03:24:25
Contact:

Post by GrayLord »

и вообще, весьма странно все написано... алгоритм скрипта неверен в принципе.
должно быть так:
1)ищем, что копать
2)устанавливаем таргет на найденое
3)используем предмет
4)ждем, пока закончится действие
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Возможно что не верен алгоритм.
Я только учусь писать скрипты, на основе 5 уроков по написанию скриптов, очень сложно написать правильный скрипт.
Если вам не сложно можете ли вы написать такой скрипт в правильном алгоритме?
1-таргетом указываю на цель копания(камень на земле)
2-капает в етом камне пока не выкапает все.
GrayLord
Expert!
Posts: 333
Joined: 2004-06-04 03:24:25
Contact:

Post by GrayLord »

не вдаваясь в подробности, скажу, что такое вот уже ближе к теме. изменения минимальны:

Code: Select all

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 подходит лишь в особых случаях, когда использование постусловия приводит к непомерному росту скрипта или увеличению его сложности.
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Code: Select all

Where do you want to use the shovel? 
Targeting Cancelled
:twisted:
GrayLord
Expert!
Posts: 333
Joined: 2004-06-04 03:24:25
Contact:

Post by GrayLord »

угу. так и есть. забыл очистку журнала перенести:

Code: Select all

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

Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

:lol:

Code: Select all

show the stone >>>
What is stone?
Object updated: stone=0x0000
Where do you want to use the prison shovel?
Targeting Cancelled.
:twisted: :twisted: :twisted:
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Вобщем давай по другому.

Code: Select all

sub catorg()
while not uo.dead()
uo.usetype('0x0F39')
wait(2500)
uo.press(113)
wait(7500)
wend
end sub

Вот впринципе тоже самое, только желательно, чтобы он press`ил 113 кнопку после сообщения You put.
GrayLord
Expert!
Posts: 333
Joined: 2004-06-04 03:24:25
Contact:

Post by GrayLord »

вобщем так, такими темпами мы далеко не уедем.
видимо, камень твой в статике и его надо при помоще waittargettile обрабатывать:

Code: Select all

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


смысл вот в чем. биндишь в инжекте запуск этого скрипта на кнопочку какую-нибудь. далее, сперва копаешь руками. один раз. как только первый круг отработает с твоей помощью, дальше запускаешь скрипт и он докапывает все сам.
agem
Posts: 65
Joined: 2005-06-26 12:29:37

Post by agem »

Object updated: stone=0x0000


Нет там, куда ты кликаешь, никакого объекта.
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

да ты прав етож все статика... нету айди, тайпов... вобщем твоим скриптом достаточно указать цель, т.е. тайл становится последней целью и все работает. спс.
Post Reply