Помогите с учетами в скрипте на хил

Ask for help

Moderators: Murderator+, Murderator

Post Reply
volting
Posts: 75
Joined: 2008-10-29 17:27:20

Помогите с учетами в скрипте на хил

Post by volting »

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

Var Shield='0x1BC4'
If UO.H > 0 Then
While UO.Life >0
If UO.Poisoned() Then
wait(1000)
If UO.InJournal("cliloc# 0x2CF7")Then
UO.Print ('MORTAL')
wait(7000)
UO.exec("unequip Lhand")
wait(550)
UO.Exec("usetype heal")
wait(150)
UO.Equipt('Lhand',Shield)
uo.deletejournal()
Else
If UO.Life < 100 Then
UO.exec("unequip Lhand")
wait(550)
UO.Exec("usetype heal")
wait(150)
UO.Equipt('Lhand',Shield)
wait(14000)
uo.deletejournal()
End if
Else
wait(100)
Endif
Endif
Else
UO.Print('NET HULOK!!!')
wait(5000)
Endif
Wend
end sub
volting
Posts: 75
Joined: 2008-10-29 17:27:20

Post by volting »

Народ, помогайте ктонить ;)
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

А что за мортал, это чего такое?
volting
Posts: 75
Joined: 2008-10-29 17:27:20

Post by volting »

Millerbeer wrote:А что за мортал, это чего такое?

Абилка такая инвул, типо лечится под ней нельзя...
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

отступы расставь, у тебя там напутано с IF ELSE ENDIF
volting
Posts: 75
Joined: 2008-10-29 17:27:20

Post by volting »

Millerbeer wrote:отступы расставь, у тебя там напутано с IF ELSE ENDIF

Давай тогда проще сделаем...
Вот скрипт:

Code: Select all

Sub Heal
Var Shield='0x1BC4'
    If UO.H > 0 Then
       While UO.Life >0
         If UO.Poisoned() Then
          Wait(1000)
         Else
          If UO.Life < 100 Then
           UO.exec("unequip Lhand")
           wait(550)
           UO.Exec("usetype heal")
           wait(150)
           UO.Equipt('Lhand',Shield)
           wait(14000)
         Else
           wait(400)
         Endif
       Endif
     Else
     UO.Print('NET HULOK!!!')
    Endif
    Wend
end sub

Туда надо вставить проверку на мортал:

Code: Select all

 If UO.InJournal("cliloc# 0x2CF7")Then 
                 UO.Print ('MORTAL')
                 wait(7000)


И чтобы после проверки он сразу пил бутылку хела..
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

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

Code: Select all

Sub Heal() 
Var Shield='0x1BC4'
   while not uo.dead() and uo.h
         If UO.Poisoned() Then
            Wait(1000)
         endif
         If UO.InJournal("cliloc# 0x2CF7")Then
                 UO.Print ('MORTAL')
                 wait(7000)
                 uo.deletejournal()
         endif
         If UO.Life < 100 Then
           UO.exec("unequip Lhand")
           wait(550)
           UO.Exec("usetype heal")
           wait(150)
           UO.Equipt('Lhand',Shield)
           wait(14000)
         Else
           wait(400)
         Endif
   wend
    if not uo.h then
     UO.Print('NET HULOK!!!')
    Endif
end sub


типа как-то так
volting
Posts: 75
Joined: 2008-10-29 17:27:20

Post by volting »

Как только даётся второй мортал он начинает тупить.. помоему, потомучто он выпивает и ждёт 14 сек, и когда в это ожидание 14-ти сек даётс мортал он запоминает, эти 14 сек проходят и он видит в журнале что был мортал и опять ждёт 7 сек, хоть мортал уже прошел давно...
Edikus
Posts: 98
Joined: 2004-07-12 13:03:57

Post by Edikus »

a где сейчас именно проблема?

смени Эти 14 секунд на то что тебе больше подойдёт...
volting
Posts: 75
Joined: 2008-10-29 17:27:20

Post by volting »

Edikus wrote:a где сейчас именно проблема?

смени Эти 14 секунд на то что тебе больше подойдёт...

Ты не понял, если мортл, он по скрипту ждёт 7 секнунд, потом идёт проверка на хп и если меньше нзначенного хп, то пьёт банку и чтобы вернутся в начало скрипта он ждёт 14, потомучто 14 сек это установленное ограничение на сервере на питьё банки хила, так вот, если во время 14-ти сек мне дают мортал, скрипт начинает тупить, в журнали то показывает что мне мортал дали и он после 14-ти сек начинает опять ждать 7 сек хотя мортала на мне уже нет, но он был...
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

Code: Select all

Sub Heal() 
Var Shield='0x1BC4'
   while not uo.dead() and uo.h
         If UO.Poisoned() Then
            Wait(1000)
         endif
         If UO.InJournal("cliloc# 0x2CF7")Then
                 UO.Print ('MORTAL')
                 wait(7000)
                 uo.deletejournal()
         endif
         If UO.Life < 100 Then
           UO.exec("unequip Lhand")
           wait(550)
           UO.Exec("usetype heal")
           wait(150)
           UO.Equipt('Lhand',Shield)
           wait(7000)
              If UO.InJournal("cliloc# 0x2CF7")Then
                 UO.Print ('MORTAL')
                 wait(7000)
                 uo.deletejournal()
              else
                 wait(7000)
              endif
         Else
           wait(400)
         Endif
   wend
    if not uo.h then
     UO.Print('NET HULOK!!!')
    Endif
end sub
Post Reply