Yoko
http://forum.yoko.com.ua/

Не кастует, пока не пройдет предыдущий каст
http://forum.yoko.com.ua/viewtopic.php?f=20&t=15683
Page 1 of 1

Author:  xatifnaft [ 2010-03-31 18:47:35 ]
Post subject:  Не кастует, пока не пройдет предыдущий каст

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

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*") выдает ошибку

Подскажете, что тут не так? )

Author:  Beyonder [ 2010-04-01 12:52:04 ]
Post subject:  Re: Не кастует, пока не пройдет предыдущий каст

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

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

Code:
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


Таймаут - сколько миллисекунд максимум можно ждать (чтобы скрипт не завис если вдруг что-то глюкнет).
Если при физле не уменьшается мана - то нужно еще скрипт слегка переделать.

Author:  xatifnaft [ 2010-04-01 15:59:38 ]
Post subject:  Re: Не кастует, пока не пройдет предыдущий каст

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

Не понятно, для чего нужен первый скрипт? ) Для тех, кто без звука играет видимо.

Author:  xatifnaft [ 2010-04-01 21:56:36 ]
Post subject:  Re: Не кастует, пока не пройдет предыдущий каст

invalid number of arguments - waitforcast :lol:

Author:  Beyonder [ 2010-04-02 08:09:13 ]
Post subject:  Re: Не кастует, пока не пройдет предыдущий каст

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

Запускать его надо из скрипта, примерно так:
Code:
...
UO.WaitTargetObject('Enemy')
UO.Cast('Magic Arrow')
WaitForCast(10000)

Author:  xatifnaft [ 2010-04-02 18:08:18 ]
Post subject:  Re: Не кастует, пока не пройдет предыдущий каст

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

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/