Page 1 of 1
Помогите с учетами в скрипте на хил
Posted: 2009-02-24 15:23:15
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
Posted: 2009-02-25 14:42:47
by volting
Народ, помогайте ктонить

Posted: 2009-02-25 16:12:08
by Millerbeer
А что за мортал, это чего такое?
Posted: 2009-02-25 19:49:18
by volting
Millerbeer wrote:А что за мортал, это чего такое?
Абилка такая инвул, типо лечится под ней нельзя...
Posted: 2009-02-25 21:46:43
by Millerbeer
отступы расставь, у тебя там напутано с IF ELSE ENDIF
Posted: 2009-02-25 22:40:50
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)
И чтобы после проверки он сразу пил бутылку хела..
Posted: 2009-02-26 15:47:32
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
типа как-то так
Posted: 2009-02-26 18:14:36
by volting
Как только даётся второй мортал он начинает тупить.. помоему, потомучто он выпивает и ждёт 14 сек, и когда в это ожидание 14-ти сек даётс мортал он запоминает, эти 14 сек проходят и он видит в журнале что был мортал и опять ждёт 7 сек, хоть мортал уже прошел давно...
Posted: 2009-02-26 20:19:35
by Edikus
a где сейчас именно проблема?
смени Эти 14 секунд на то что тебе больше подойдёт...
Posted: 2009-02-26 20:57:46
by volting
Edikus wrote:a где сейчас именно проблема?
смени Эти 14 секунд на то что тебе больше подойдёт...
Ты не понял, если мортл, он по скрипту ждёт 7 секнунд, потом идёт проверка на хп и если меньше нзначенного хп, то пьёт банку и чтобы вернутся в начало скрипта он ждёт 14, потомучто 14 сек это установленное ограничение на сервере на питьё банки хила, так вот, если во время 14-ти сек мне дают мортал, скрипт начинает тупить, в журнали то показывает что мне мортал дали и он после 14-ти сек начинает опять ждать 7 сек хотя мортала на мне уже нет, но он был...
Posted: 2009-02-26 21:32:16
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