Зачем чтото мудрить?
1. Пишем скрипт который отмеряет точное время каста (замеряем по разнице в мане)
2. Для каждого каста забиваем переменную WaitForCast и затем в цикле отсчитываем + если надо показываем
Code:
var WaitForCast=
uo.Cast('Flame','laststatus')
repeat
wait(500)
WaitForCast=WaitForCast-500
uo.Print(STR(WaitForCast)+' ms more to finish cast.')
until WaitForCast<=0
На случай если ФС кастуется 2-3 секунды, то увидим 5-6 раз надписи вида
Code:
2500 ms to finish cast
2000 ms to finish cast
1500 ms to finish cast
1000 ms to finish cast
500 ms to finish cast
Так же можно добавить в цикл и после цикла переменную или проверку по журналу на физл. Если физл- сообщение и выход.