Yoko

All sides of Injection
It is currently 2025-10-16 17:57:16

All times are UTC+02:00




Post new topic  Reply to topic  [ 17 posts ] 
Author Message
PostPosted: 2009-08-23 11:38:07 
Offline

Joined: 2006-03-08 20:53:28
Posts: 115
Здрасте, появилось два вопроса:
Как то глупо, но все же, что делает
Code:
Until UO.InJournal


и можо ли таргет кидать на finditem
Code:
uo.FindType(iten,'-1','backpack') 
uo.waittargetobject('finditem')


или

Code:
var item = '0x000'

uo.waittargetobject('item')


Top
   
PostPosted: 2009-08-23 12:42:07 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Как то глупо ;)
Until UO.InJournal повторять до сообщения в журнале



uo.FindType(iten,'-1','backpack')
uo.waittargetobject('finditem')

так и кидают


Code:
var item = '0x000'
uo.waittargetobject('item')

Ожидание прицела на ОБЪЕКТ. Объект задается по ID а не по типу. Если у item будет ID то можно.

http://yoko.com.ua/help/ тебе в помощь

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
PostPosted: 2009-08-23 12:49:02 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
xarek wrote:
Здрасте, появилось два вопроса:
Как то глупо, но все же, что делает

Code:
Until UO.InJournal

Это условие выхода из цикла
Code:
repeat
until

Ждет указанною стоку строку в журнале:
Code:
repeat
   ...тут что-то делается...
   wait(100)
until UO.InJournal('Чорд!')

xarek wrote:
и можо ли таргет кидать на finditem

Можно, почему нет, только сначала нужно убедиться, нашел или нет, иначе краш:
Code:
uo.FindType(iten,'-1','backpack') 
If UO.FindCount() > 0 then
    uo.waittargetobject('finditem')
   ...
endif

xarek wrote:
или
Code:
var item = '0x000' 
uo.waittargetobject('item')

А вот так нельзя, команда
Code:
UO.WaitTargetObject()

в качестве аргументов принимает только серийники:
Code:
var item = '0x00000000'
uo.waittargetobject('item')

Надеюсь доступно обьяснил? Эта инфа есть в Уроках скриптинга.


Top
   
 Post subject:
PostPosted: 2009-08-23 15:55:45 
Offline

Joined: 2006-03-08 20:53:28
Posts: 115
Да, конечно понятно:) Спасибо вам.
И спасибо за ссылочку на уроки:)


Top
   
 Post subject:
PostPosted: 2009-08-24 21:19:22 
Offline

Joined: 2006-03-08 20:53:28
Posts: 115
Появился еще вопросик:( намучался:)

вот
Code:
.......

If UO.InJournal('привет') then     
 ... делается1
If UO.InJournal('пока') then
     вот как сделать тут что если замечено "пока" то уже не надо дальше идти по скрипту а просто начать сначало и ждать "привет"
            Endif
....делается2

 Endif
......


Top
   
 Post subject:
PostPosted: 2009-08-24 21:31:06 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
xarek wrote:
Появился еще вопросик:( намучался:)
вот как сделать тут что если замечено "пока" то уже не надо дальше идти по скрипту а просто начать сначало и ждать "привет"


Code:
sub blah()
var a = 0
while NOT UO.Dead()
   If UO.InJournal('привет') then
      UO.DeleteJournal()
      repeat
         ...
         If UO.InJournal('пока') then
            ...
            a = 5
         endif
      until UO.InJournal('покакаеш дома') OR a = 5
   endif
wend
end sub


Вот основная конструкция, с выходом по двум условиям, естественно условий может быть больше, дальше настраивай под себя сам.


Top
   
 Post subject:
PostPosted: 2009-08-24 21:40:44 
Offline

Joined: 2006-03-08 20:53:28
Posts: 115
Kynep wrote:
xarek wrote:
Появился еще вопросик:( намучался:)
вот как сделать тут что если замечено "пока" то уже не надо дальше идти по скрипту а просто начать сначало и ждать "привет"


Code:
sub blah()
var a = 0
while NOT UO.Dead()
   If UO.InJournal('привет') then
      UO.DeleteJournal()
      repeat
         ...
         If UO.InJournal('пока') then
            ...
            a = 5
         endif
      until UO.InJournal('покакаеш дома') OR a = 5
uo.say('1')
endif
wend
end sub





а при таком раскладе, он сначало скажет 1 а потом уже начнет опять ждать?


Top
   
 Post subject:
PostPosted: 2009-08-24 22:21:31 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
Да. Если тока если поставишь say после endif.


Top
   
 Post subject:
PostPosted: 2009-08-26 22:47:41 
Offline

Joined: 2006-03-08 20:53:28
Posts: 115
Простите, но я вас еще потревожу, калупаюсь 3 день и бестолку.

Code:
Uo.Warmode(0)
while uo.Targeting()
    wait(500)
  wend
uo.findtype(animal,"-1","ground")
 

         
           
    while not uo.InJournal('It seems')and not uo.InJournal('is already')
   
   

           
      uo.DeleteJournal()
   
      uo.waittargetobject('finditem')
      wait(200)
      uo.UseType('0x13F9')
               
   
   repeat
      walk(0,0,'finditem')


 
            Endif
        wait(500)
      until uo.InJournal('You fail') or uo.InJournal('It seems')  or uo.InJournal('is already')
    wend
   uo.UseObject('finditem')


вся проблема с
Code:
or uo.InJournal('is already')
и
Code:
and not uo.InJournal('is already')

почему то после добавленияэтих условий у меня стало зацикливаться
Code:
uo.UseObject('finditem') 


Top
   
 Post subject:
PostPosted: 2009-08-27 06:30:50 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
1) а что ты вообще ваяешь?
2)можно делать так while not uo.InJournal('It seems|is already')
3)у тебя цикл While выполняется пока не будет в журнале фразы которая еще и завершает цикл repeat. Потом естественно будет делаться только последняя строка
4) если ты хочешь сделать цикл бесконечно повторяющийся то можно сделать так:

Code:
while not uo.dead() # <---
 ...
  uo.DeleteJournal()
  ...
   repeat
    ...
   until (чтото в журнале)
wend

Тебе же про это выше писали :)

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject:
PostPosted: 2009-08-27 07:45:14 
Offline

Joined: 2006-03-08 20:53:28
Posts: 115
Mirage wrote:
1) а что ты вообще ваяешь?
2)можно делать так while not uo.InJournal('It seems|is already')
3)у тебя цикл While выполняется пока не будет в журнале фразы которая еще и завершает цикл repeat. Потом естественно будет делаться только последняя строка
4) если ты хочешь сделать цикл бесконечно повторяющийся то можно сделать так:

Code:
while not uo.dead() # <---
 ...
  uo.DeleteJournal()
  ...
   repeat
    ...
   until (чтото в журнале)
wend

Тебе же про это выше писали :)

Если бы я хотел сделать бесконнечно повторяющийся я бы не заморачивался с фразами:)
тамилку делаю т.к. подходящей для себя не нашел
мне просто нужно сделать, что бы при is already делались те же действия при It seems


Top
   
 Post subject:
PostPosted: 2009-08-27 09:15:41 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
опиши алгоритм чего ты хочешь делать по пунктам.
1) вижу животину
2)тамлю
3)подхожу
4)убиваю...

типо того. Наверняка то что тебе нужно либо есть либо тебе так скорее помогут.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject:
PostPosted: 2009-08-27 09:19:49 
Offline

Joined: 2006-03-08 20:53:28
Posts: 115
то что я скинул, это уже после того как была найдена животина,
Темит пока не затемит, если затемил не ты или конь уже затемлен то дальше т.е. после того что я выложил скрипт продолжается дальше.


Top
   
 Post subject:
PostPosted: 2009-08-27 09:25:50 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
xarek wrote:
то что я скинул, это уже после того как была найдена животина,
Темит пока не затемит, если затемил не ты или конь уже затемлен то дальше т.е. после того что я выложил скрипт продолжается дальше.


Нифига не понял :) Если не хочешь писать тут напиши ПМ

PS Добавь uo.DeleteJournal() перед while

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject:
PostPosted: 2009-08-27 09:37:51 
Offline

Joined: 2006-03-08 20:53:28
Posts: 115
Скрывать нечего, просто нужна тамилка животного. С проверкой, свободна живка или нет, если она уже занята, то в игнор ее:)


Top
   
 Post subject:
PostPosted: 2009-08-27 13:15:37 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Ну вот смотри. В определенном пространстве есть толпа животных. Животинки после таминга и релиза забывает хозяина минут за 15-20. По этой причине необходимо собрать штук 40-50 (например кур или ворон). После приручения тварюшка прячется и игнориться чтобы не смущать. Когда все притамлены ресинком они появляются и опять во кругу.
Code:

sub AnimalTaming()
   VAR n=1, corpse
   var animal1 = '0x00D0' #тип животного
   UO.Set('quiet','1')
   uo.ignorereset()
uo.warmode('0')
Repeat
   uo.Set('finddistance', 8)
   uo.FindType(animal1, -1, 'ground')
   if uo.FindCount()>0 then
      uo.warmode(0)
      UO.DeleteJournal()
      UO.WaitTargetObject('finditem') 
      UO.Useskill('Animal Taming')
         repeat
            wait(100)
         until UO.InJournal('fail|It seems|already|rememb|creature') or uo.GetX('finditem')==0
            If Uo.InJournal('It seems|already|creature') Then
                   UO.Hide('finditem')
                  UO.Ignore('finditem')
                uo.say('all release')
            endif
   else
      uo.ignorereset()
      UO.Msg(".resync")
      wait(500)
   endif
   wait(500)
Until uo.Dead()
end sub


Простой таминг с осёдлыванием:
Code:
sub AnimalTaming()
UO.Print('Где эта скотина?')
UO.Exec('addobject Animal')
  while uo.Targeting()
     wait(100)
  wend
UO.DeleteJournal()
while not UO.InJournal('It seems|see the creature|already|rememb')
  UO.DeleteJournal()
  UO.WaitTargetObject('Animal') 
  UO.Useskill('Animal Taming')
     repeat
        wait(100)
     until UO.InJournal('fail|It seems|already|rememb')
        wait(500)
If Uo.InJournal('It seems|already') Then
        wait(1500)
uo.useobject('Animal')
return
Endif
wend
end sub

Наверное тебе нужнее второй скрипт?

PS
у нас на сервере (как и обычно) животное подходит к хозяину после приручения, не обязательно к нему подходить. Лишь бы не заходило за препятствия. А из того же леса его можно ударив вывести потом спрятаться и пока он на поле топчется уже тамить.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject:
PostPosted: 2009-08-27 13:31:36 
Offline

Joined: 2006-03-08 20:53:28
Posts: 115
Спасибо, да мне нужен был второй, ну и первым я воспользуюсь:)
Я поставил подход для того, что бы живка не убежала пока я ее темить буду:)


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 17 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