Yoko

All sides of Injection
It is currently 2025-11-04 20:17:03

All times are UTC+02:00




Post new topic  Reply to topic  [ 8 posts ] 
Author Message
PostPosted: 2008-10-03 18:39:14 
Offline

Joined: 2008-10-02 15:54:27
Posts: 6
Скрипт следующий:

Code:
sub Blacksmithy() 
VAR Exit = 0, k, bag
VAR color = '' ;Цвет крафта
VAR item = '0x1b73'  ;Крафт
VAR chesttoput = '0x40022f3a'               ;Яшики
VAR chestwithbags = '0x40022f3a'            ;Яшики   
VAR chestwithings = '0x40022f3a'            ;Яшики

uo.Deletejournal()
uo.useobject(chesttoput)
checklag()
uo.useobject(chestwithbags)
checklag()
uo.useobject(chestwithings)
checklag()
while Exit<>1
If uo.injournal('World Save') then
wait(5000)
end if

While not UO.Hidden()
uo.warmode(0)
UO.UseSkill('Hiding')
Wait(4000)
Wend

check:
uo.DeleteJournal()
uo.findtype('0x0e76', -1 , chesttoput )         ;Мешки
if uo.findcount() then
del('255|bag')
uo.click('finditem')
repeat
wait(100)
until uo.injournal('bag')
if uo.injournal('255') then
uo.ignore('finditem')
goto check
else
bag = uo.getserial('finditem')
end if
else
uo.findtype('0x0e76', -1 , chestwithbags )
bag = uo.getserial('finditem')
checklag()
end if

find:
uo.findtype( item , color ,'backpack')           ;Кдиаем крафт в мешок
If UO.FindCount() Then
UO.moveitem('finditem', 0 , bag )
checklag()
goto find
end if

If UO.Count('0x1bef') < 50 then          ;Минимальное кол-во материала
UO.FindType('0x1bef', color , chestwithings )                                 <<<<< ВОТ ТУТА ВРОДЕ ПРОБЛЕМКА!!!
If uo.FindCount() == 0 then
return
end if
UO.moveitem('finditem','100','backpack')
checklag()
end if
Del('You put|fail|World Save')
uo.FindType('0x1bef', color ,'backpack')   
checklag()
uo.recall(uo.GetSerial('finditem'), 3 )
k = 0
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
k = k + 1
wait(500)
  wend
 wend 
end sub

Sub checklag()
del('backpack')
uo.click('backpack')
repeat
wait(50)
until uo.injournal('backpack')
del('backpack')
end sub

Sub del(msg)
while uo.injournal(msg)
uo.setJournalLine(uo.injournal(msg)-1,"Is Empty!")
wend
end sub


Вначале пролетает сообщение Invalid object, но делать щиты он все-таки стартует. Затем после 1 удачно сделанного баклера он начинает спамить БСингом, что сжирает все инготы из-за Fail'ов. Подскажите пожалуйста, в чем проблема данного скрипта?


Top
   
 Post subject:
PostPosted: 2008-10-03 20:04:39 
Offline

Joined: 2006-08-10 08:25:32
Posts: 106
Если честно, скрипт какой-то муторный. Напиши нормальный вейт типа

Code:
repeat
    wait(200)
until UO.InJournal('*')


ПС: обьясни тупому, зачем саб Del?

Написал, вдруг кинулось в глаза

Code:
while NOT UO.InJournal('You put') [b]AND[/b] NOT UO.InJournal('fail') AND ( k < 30 ) 


вроде OR надо


Top
   
 Post subject:
PostPosted: 2008-10-03 20:20:58 
Offline
User avatar

Joined: 2008-09-12 05:07:34
Posts: 247
Чёт я ваще не вьехал, а где там, собсно, сам процесс изготовления чего-нибудь? Мож я чего-то непонимаю, поидее это кусок перед
Code:
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
, но там тока какие-то поиски, движки предметов и реколл по руне... Мож я чего незнаю, а где там изготовление щита? Я не стебусь, мне правда непонятно.


Top
   
 Post subject:
PostPosted: 2008-10-03 20:27:36 
Offline

Joined: 2006-08-10 08:25:32
Posts: 106
Автор, как я понимаю, вырезал 1 while с крафтом :idea:


Top
   
 Post subject:
PostPosted: 2008-10-04 22:30:50 
Offline

Joined: 2008-10-02 15:54:27
Posts: 6
Рекол здесь применен т.к. крафт происходит путем дабл клика на инготы и выбором итема для крафтинга в меню. То есть в данном случае сам краф происходит через гампы.
Wait правильно должен выглядеть вот так?

Code:
Del('You put|fail|World Save')
uo.FindType('0x1BEF', color ,'backpack')
checklag()
uo.recall(uo.GetSerial('finditem'), 3 )
k = 0
while NOT UO.InJournal('fail') AND ( k < 30 )
k = k + 1
repeat
wait(200)
until UO.InJournal('You put')
  wend
 wend   
end sub


И какой While я упустил?


Top
   
 Post subject:
PostPosted: 2008-10-05 06:24:43 
Offline
User avatar

Joined: 2008-09-12 05:07:34
Posts: 247
Интересно сделан скрипт, первый раз вижу крафт с помощью функции реколл, помоему у тебя конструкция Del('You put|fail|World Save') как-то не так работает, не удаляет она все эти строки из журнала, поэтому когда ты крафтишь следующий щит, в журнале уже висит или ю пут или фэйл, поэтому цикл ожидания не выдерживается. Попробуй воткни, прям перед крафтом, где у тебя Del('You put|fail|World Save'), вместо этой команды, просто uo.deletejournal(). И после команды UO.moveitem незнаю, как у вас на шарде, а у нас на дрв надо делать паузу, а не просто чеклаг.


Top
   
 Post subject:
PostPosted: 2008-10-05 08:26:19 
Offline

Joined: 2006-08-10 08:25:32
Posts: 106
Хз какой смысл править этот скрипт. Лучше напиши стабильный

Code:
repeat
   UO.DeleteJournal(*)
    *craft*
   repeat
      wait(200)
   until UO.InJournal(*)
UO.FintType(ingots)
until UO.FindCount() < *needed for shield*


ИМХО такие конструкции работают лучше.


Top
   
 Post subject:
PostPosted: 2008-10-05 09:53:21 
Offline

Joined: 2008-10-02 15:54:27
Posts: 6
Millerbeer wrote:
Интересно сделан скрипт, первый раз вижу крафт с помощью функции реколл, помоему у тебя конструкция Del('You put|fail|World Save') как-то не так работает, не удаляет она все эти строки из журнала, поэтому когда ты крафтишь следующий щит, в журнале уже висит или ю пут или фэйл, поэтому цикл ожидания не выдерживается. Попробуй воткни, прям перед крафтом, где у тебя Del('You put|fail|World Save'), вместо этой команды, просто uo.deletejournal(). И после команды UO.moveitem незнаю, как у вас на шарде, а у нас на дрв надо делать паузу, а не просто чеклаг.

Оу, спасибо, ты был прав на счет делит журнала :)


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 8 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited