Не кастует, пока не пройдет предыдущий каст

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
xatifnaft
Posts: 21
Joined: 2007-04-17 16:00:12
Contact:

Не кастует, пока не пройдет предыдущий каст

Post by xatifnaft »

Вчера скинули интересный скрипт. В скриптах не силен, но насколько я понял, это скрипт, не дающий кастовать, пока не прошел предыдущий каст.

sub CheckFizzle()
var LastMana = UO.Mana
REPEAT
If UO.Mana < LastMana Then
If UO.InJournal("fizzle") Then
UO.CharPrint('0x0026',"*FIZZLE*")
DeleteJournal("fizzle")
LastMana = UO.Mana
Else
UO.CharPrint('0x0107',"*PASSED*")
LastMana = UO.Mana
End If
Else
If UO.Mana > LastMana Then
LastMana = UO.Mana
End If
End If
wait(150)
Until 1<>1
end sub

Как я понял, сначала он проверяет на физл, дальше
UO.CharPrint('0x0107',"*PASSED*") не понятно.

После проверяет: если мана отнялась, значит каст прошел.

UO.CharPrint('0x0107',"*PASSED*") выдает ошибку

Подскажете, что тут не так? )
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Re: Не кастует, пока не пройдет предыдущий каст

Post by Beyonder »

Этот скрипт всего навсего говорит игроку когда предыдущий каст прошёл. Тоесть ты его запускаешь на заднем фоне и любуешся надписями *fizzle* и *passed*.

Если ты хочешь то что описал в сабже, то скрипт намного проще:

Code: Select all

Sub waitForCast(timeout)
    var timeStep = 100
    var lastMana = UO.Mana
    var timeLeft = timeout

    while (lastMana >= UO.Mana) AND (timeLeft > 0)
        lastMana = UO.Mana
        timeLeft = timeLeft - timeStep
        Wait(timeStep)
    wend
endsub


Таймаут - сколько миллисекунд максимум можно ждать (чтобы скрипт не завис если вдруг что-то глюкнет).
Если при физле не уменьшается мана - то нужно еще скрипт слегка переделать.
xatifnaft
Posts: 21
Joined: 2007-04-17 16:00:12
Contact:

Re: Не кастует, пока не пройдет предыдущий каст

Post by xatifnaft »

Очень благодарен, сегодня проверю.

Не понятно, для чего нужен первый скрипт? ) Для тех, кто без звука играет видимо.
xatifnaft
Posts: 21
Joined: 2007-04-17 16:00:12
Contact:

Re: Не кастует, пока не пройдет предыдущий каст

Post by xatifnaft »

invalid number of arguments - waitforcast :lol:
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Re: Не кастует, пока не пройдет предыдущий каст

Post by Beyonder »

А ты его что, через меню инжекта запускаешь?

Запускать его надо из скрипта, примерно так:

Code: Select all

...
UO.WaitTargetObject('Enemy')
UO.Cast('Magic Arrow')
WaitForCast(10000)
xatifnaft
Posts: 21
Joined: 2007-04-17 16:00:12
Contact:

Re: Не кастует, пока не пройдет предыдущий каст

Post by xatifnaft »

Еще как =)) скинул вместе с остальными скриптами =)))
Post Reply