прокачка Bowcraft - стрелы (по одной)

Обсуждение вспомогательных программ и скриптов к ним
Post Reply
bigvo
Posts: 6
Joined: 04 May 2018 08:34

прокачка Bowcraft - стрелы (по одной)

Post by bigvo » 04 May 2018 14:15

Добрый день, подскажите как настроить скрипт.
Выдает ошибку отсутствия checklag.
Как я посмотрел, это создается отдельный доп. файл, но со скриптом его не шло. Напишите пожалуйста как должно быть с чеклагом и если есть кто-то, кто сразу может проверить, буду благодарен)

Сам скрипт берет из заданного сундука 1 шифт и 1 перо и делает из них стрелу и так пока не кончится, как я понял.




#####################################################################
; Bowcraft2. v.1.01b (c) Edred

;
sub bowcraft2()
VAR Sunduk = '0x0E75'
VAR Shafts = '0x1BD4'
VAR Feather = '0x1BD1'
VAR Arrows = '0x1BFB'
VAR Kolvo = 1
VAR k = 0, j
UO.CancelMenu()
UO.AutoMenu ('Select arrow type', 'arrow' )
While TRUE
If UO.Count( Shafts ) == 0 Then
UO.FindType( Shafts, -1, Sunduk )
If UO.FindCount() == 0 Then
UO.Print("Shafts not found, script terminated")
return
Endif
UO.Grab( Str( Kolvo ), 'finditem' )
wait(500)
while UO.Count( Shafts ) < Kolvo
wait(100)
wend
CheckLag()
Endif
If UO.Count( Feather ) == 0 Then
UO.FindType( Feather, -1, Sunduk )
If UO.FindCount() == 0 Then
UO.Print("Feather not found, script terminated")
return
Endif
UO.Grab( Str( Kolvo ), 'finditem' )
wait(500)
while UO.Count( Feather ) < Kolvo
wait(100)
wend
CheckLag()
Endif
UO.DeleteJournal()
UO.UseType( Shafts )
k = 0
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 50 )
k = k + 1
wait(300)
wend
If UO.Count( Arrows ) > 0 then
UO.FindType( Arrows, -1, -1 )
UO.MoveItem( 'finditem', 0, Sunduk )
wait(500)
while UO.Count( Arrows ) > 0
wait(100)
wend
UO.Print( 'Arrows moved' )
Endif
Wend
end sub
Kaa
Posts: 45
Joined: 03 Apr 2018 21:33

Re: прокачка Bowcraft - стрелы (по одной)

Post by Kaa » 04 May 2018 20:31

На Олмере это делается проще. Берешь отделяешь от стопки один шафт, вводишь команду .ml (make last) и нажимаешь на этот 1 шафт и выбираешь делать стрелу. Персонаж будет делать стрелы по одной до тех пор пока не закончатся или шафты или перья. Выключается автоизготовление так же - .ml
bigvo
Posts: 6
Joined: 04 May 2018 08:34

Re: прокачка Bowcraft - стрелы (по одной)

Post by bigvo » 05 May 2018 04:44

Благодарю за ответ. Но вот допустим, если я начинаю делать carpentry - Lantern и ставлю на .ml он один раз делает, потом пишет, что вы поставили на автоизготовление, но при этом не происходит изготовления снова, просто стоп и все. А вот сейчас поставил вместе со скриптом это дело, чтобы и там делал и на .ml делал, тогда вроде пытается все равно делать, даже при неудаче.
Kaa
Posts: 45
Joined: 03 Apr 2018 21:33

Re: прокачка Bowcraft - стрелы (по одной)

Post by Kaa » 05 May 2018 12:09

Ты автоизготовление включаешь перед началом крафта?
bigvo
Posts: 6
Joined: 04 May 2018 08:34

Re: прокачка Bowcraft - стрелы (по одной)

Post by bigvo » 05 May 2018 13:51

вообщем с .ml разобрался, прост он не изготавливает, если у него с первого раза не получилось. Начинает с того раза, когда изделие изготовлено. После этого уже идет автоизготовление.
bigvo
Posts: 6
Joined: 04 May 2018 08:34

Re: прокачка Bowcraft - стрелы (по одной)

Post by bigvo » 05 May 2018 13:55

Такой скрипт под сервер модернизировать есть умельцы)?
bowcraft на кострах + camping
А то тут так как несколько видов костра и наименования меняются. Я попробовал поменять где-то что-то, ниче не запускается)


sub bow_kindling()
var Chest = '0x40FEA9EA'; ID сундука где лежат логи
var Log = '0x1BDD';тип логов
var Dag = '0x0F51';тип даггера
var Kindl = '0x0DE1';тип костров
var Kolvo = 100; сколько логов будем перерабатывать до остановки
var Camp = 1; качаем после нарубки и кемпинг?
var Hid = 0; хайдимся?
while uo.count(Kindl) < Kolvo
cheklag()
UO.FindType( Log, '-1', Chest )
if uo.findcount() < 1 then
uo.exec('terminate bow_kindling')
endif
if uo.count(Log)==0 then
uo.Grab(1,'finditem', 'backpack')
wait(200)
endif
while uo.count(Log)>0
uo.usetype(Dag)
uo.waittargettype(Log)
UO.WaitMenu('What','Kindlings','Kindlings','Kindling')
wait(4000)
wend
if Hid>0 then
uo.useskill('Hiding')
wait(1000)
endif
wend
if Camp>0 then
Camping()
endif
end sub

sub Camping()
var mx=uo.getx(),my=uo.gety(),x,y
uo.set('finddistance',5)
wait(200)
uo.DeleteJournal()
while 1==1
for x=mx-2 to mx+2
for y=my-2 to my+2
cheklag()
if (uo.count('0x0DE1','0x0000')==0) then
bow_kindling()
end if
uo.findtype('0x0DE1','0x0000','ground')
wait(200)
if UO.FindCount()<>0 then
uo.useobject('finditem')
wait(1500)
else
uo.findtype('0x0DE1','0x0000','backpack')
wait(200)
uo.drop('1',STR(x),STR(y),STR(uo.getz()),'finditem')
wait(700)
uo.findtype('0x0DE1','0x0000','ground')
wait(200)
uo.useobject('finditem')
wait(1500)
end if
next
next
wend
end sub

sub cheklag()
uo.deletejournal()
uo.click('backpack')
Repeat
wait(100)
Until UO.InJournal("Backpack")
end sub
Post Reply