Yoko

All sides of Injection
It is currently 2026-03-19 00:21:51

All times are UTC+02:00




Post new topic  Reply to topic  [ 13 posts ] 
Author Message
PostPosted: 2004-10-23 21:21:14 
Offline

Joined: 2004-10-23 20:40:48
Posts: 7
Все тутошние скрипты на хилинг сделаны по принципу:
1) Если хп < какого-то числа, то гото 2
2) Кидаем бинт
3)Ждем какое-то время
4) Гото 1

На шарде где я играю скорость хила очень сильно зависит от декстерити. Так что какую-то одну задержку ставить нельзя. Иногда бывате маг курсу скастанет - декса минус... припьешь бутылочки - декса плюс. Ставить зависимость паузы на хиляние от кол-ва дексы на данный момент тоже нельзя так как за то время пока хильнешься декса может измениться несколько раз... будет глючить - второй бинт кидаться раньше времени или наоборот позже чем надо.

Под ИзиУо есть такой вот скриптик.
1) Если макс.хп > хп {гото 2}
2) Кидаем бандажку
3) Сканируем журнал на наличие надписи - you_finish_applying_the_bandages или you_have_cured_yourself... если находим такую надпись идем к пункту 4, иначе повторяем пункт 3
4) Очищаем журнал
5) Гото 1

Бывает макрос залипает на пункте 3... например если очень много всяких надписей (бурное ПвП). Тогда нужно ставить таймер на всякий случай. Если залип на 3 пункте, то через некторое время переходим опять в пункт 1. Но это не главная проблемма.

Второй глюк куда серьезнее.
А именно... иногда после того как кидается бинт, буквально через секунду кидается бинт еще раз. Иногда даже по три раза.
Почему это происходит я никак не могу понять. Может оно находит надпись you_finish_applying_the_bandages с прошлого раза ? Но ведь журнал-то очищается после каждого круга. Чушь какая-то. =(

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


Top
   
 Post subject:
PostPosted: 2004-10-27 10:41:47 
Offline

Joined: 2004-10-23 20:40:48
Posts: 7
up


Top
   
 Post subject:
PostPosted: 2004-10-27 12:00:11 
Offline
Site Admin
User avatar

Joined: 2004-04-03 16:49:38
Posts: 1964
макрос элементарный и подобных на форуме по идее вагоны.

рисую но не проверяю, уо под рукой нет. И учти, в отличае от изиуо регистр букв имеет значение, так что проверь куски сообщений.

Code:
sub test()
var i
while not uo.dead()
  #вариант: if uo.hits+4<333 then    где 333 максхп
  if uo.gethp()+4<uo.getmaxhp() then
    uo.deletejournal()
    uo.bandageself()
    for i=1 to 100
        wait(100)
        if uo.injournal("finish app") or uo.injournal("cured yourself") then
             i=100
        end if
    next
  end if
  wait(100)
wend
end sub

проверь, если работает, я его закину в scripts! чтоб не пропадал


Top
   
 Post subject:
PostPosted: 2004-10-29 08:46:23 
Offline

Joined: 2004-10-23 20:40:48
Posts: 7
Спасибо большое.

Есть правда 1 проблемка.
Когда ХП становится меньше МаксХП, макрос кидает бинт. Но он не находит строчку в журнале "You finish applying the badages.". Т.е. после окончание хиляния второй бинт уже не кидается пока i не достигнет 100.

Эта строчка не работает :(

if uo.injournal("You finish applying the badages.") or uo.injournal("cured yourself") then
i=100


"You finish applying the badages." написано правильно.


Top
   
 Post subject:
PostPosted: 2004-10-29 08:58:45 
Offline
Expert!
User avatar

Joined: 2004-07-04 00:14:58
Posts: 1284
Kaa06081984 wrote:
if uo.injournal("You finish applying the badages.") or uo.injournal("cured yourself") then
ну не вижу я такой строки у Yoko


Top
   
 Post subject:
PostPosted: 2004-10-29 09:09:10 
Offline

Joined: 2004-10-23 20:40:48
Posts: 7
Sfagnum wrote:
Kaa06081984 wrote:
if uo.injournal("You finish applying the badages.") or uo.injournal("cured yourself") then
ну не вижу я такой строки у Yoko


ну такая...
if uo.injournal("finish app") or uo.injournal("cured yourself") then

какая разница ? Все равно не работает.


Top
   
 Post subject:
PostPosted: 2004-10-29 09:18:44 
Offline
User avatar

Joined: 2004-06-23 08:55:32
Posts: 128
А я вам советую такой взять скрипт на хилинг+спирит спик.Прокачаете хилинг и качнете спирит спик.
Code:
sub Train_Healing()
var i
while True
   UO.FindType(0x0E21,"-1","my")
   if UO.FindCount() then
      uo.usetype(0x1718); Cursed Hat
      CheckLag()
      if i==3 or not i then
         Spirit() #----
         i=1
      else
         i=i+1
      endif
#      uo.useskill ("Spirit Speak")
         wait(2000)
      uo.undress()
      wait(100)
      uo.exec('bandageself')
      Wait(2000)
   else
      UO.FindType(0x0E20,"-1","my")
      if UO.FindCount() then
         uo.waittargettype(0x1008)   # wash basin
         uo.UseType(0x0E20)   #bloody bandages
         CheckLag()
      else
         uo.print("You haven't bandages")
         uo.exec("terminate Train_Healing")
         Play_Sound(1)
      endif
   endif
wend
end sub


Top
   
 Post subject:
PostPosted: 2004-10-29 09:21:37 
Offline
Expert!
User avatar

Joined: 2004-07-04 00:14:58
Posts: 1284
Kaa06081984 wrote:
ну такая...
if uo.injournal("finish app") or uo.injournal("cured yourself") then

какая разница ? Все равно не работает.
ИМХО есть, т.к. по моим наблюдениям, если фраза выводится в 2х строках то инжа не находит её в журнале, хотя может эт просто глюки у меня...


Top
   
 Post subject:
PostPosted: 2004-10-29 09:27:49 
Offline

Joined: 2004-10-23 20:40:48
Posts: 7
Bloodmoon wrote:
А я вам советую такой взять скрипт на хилинг+спирит спик.Прокачаете хилинг и качнете спирит спик.
Code:
sub Train_Healing()
var i
while True
   UO.FindType(0x0E21,"-1","my")
   if UO.FindCount() then
      uo.usetype(0x1718); Cursed Hat
      CheckLag()
      if i==3 or not i then
         Spirit() #----
         i=1
      else
         i=i+1
      endif
#      uo.useskill ("Spirit Speak")
         wait(2000)
      uo.undress()
      wait(100)
      uo.exec('bandageself')
      Wait(2000)
   else
      UO.FindType(0x0E20,"-1","my")
      if UO.FindCount() then
         uo.waittargettype(0x1008)   # wash basin
         uo.UseType(0x0E20)   #bloody bandages
         CheckLag()
      else
         uo.print("You haven't bandages")
         uo.exec("terminate Train_Healing")
         Play_Sound(1)
      endif
   endif
wend
end sub


Зачем мне хилинг качать ?
Мне нужен стабильный скрипт для ПвП, который бы кидал бинт сразу после фразы You finish applying the bandages. или some damage has been healed.


Top
   
 Post subject:
PostPosted: 2004-10-29 09:40:24 
Offline
User avatar

Joined: 2004-06-23 08:55:32
Posts: 128
Прости,не туда вставил скрипт :D.
Нажимни еще раз,чтоб хильнулся.Ловкость рун нужна :).


Top
   
 Post subject:
PostPosted: 2004-11-01 15:09:52 
Offline

Joined: 2004-10-23 20:40:48
Posts: 7
В разделе форума FAQ нашел такую тему:

*************************************************************

RunUO использует клилоки (client local сообщения). Это означает что сервер посылает только номер, после чего клиент показывает текст из одного из языковых файлов.

Чтобы увидеть что именно инжект получает от сервера используйте команду ,showjournal. Там будет нечто типа "cliloc#0x05BD". Это вам и надо искать вместо фраз которые вы видите в журнале клиента.


*************************************************************

Может быть это и есть причина того, что этот скрипт не находит строки из журнала ?
Дело в том, что играю я именно на РанУо шарде.
Кто-нить знает как использовать эти клиоки для поиска строк в журнале ?


Top
   
 Post subject:
PostPosted: 2004-11-01 22:49:00 
Offline

Joined: 2004-04-05 11:59:21
Posts: 69
Location: RunUO
Code:
.......
Var Сli1="cliloc# 0xA4E9"
.......
while UO.GetHP()<UO.GetMaxHP() and UO.GetHP()>0
uo.deletejournal()
      uo.bandageself()
REPEAT             
                 wait(150)
UNTIL uo.InJournal(Сli1)
......


Top
   
 Post subject:
PostPosted: 2004-11-06 19:44:47 
Offline

Joined: 2004-10-23 20:40:48
Posts: 7
О !
Теперь работает.
Yoko и Ugrum, большое вам спасибо. 8)


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

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 6 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:  
cron
Powered by phpBB® Forum Software © phpBB Limited