По поводу дубликатов скриптов:
1)
Самое простое делать терминейт UO.Exec('terminate BestHeal')
2)
Если нам надо чтоб 1 скрипт закончился прежде чем запустился второй, то я делал это так:
существует функция sub autostart()
котрая запускается по умолчанию при загрузке клиента через инжект.
В ней я обнулял глобальные переменные, далее будет понятно для чего, например:
Code:
uo.setglobal('eat',0)Далее в самом скрипте проверяем на глобальную переменную если она "включена", то скрипт не запускается , а елси "выключена", то запускаем скрипт и "включаем" переменную.
Code:
sub BestHeal()
if uo.getglobal('eat') == 0 then
uo.setglobal('eat',1)
UO.Print("BestHeal: ON")
....
....
uo.setglobal('eat',0)
end if
Скрипт не будет заупскатся повторно пока не завершится первый.
Обнулять при старте клиента чтоб всегда можно было запустить первый раз, тк иногда бывает клиент крашит или закрываем принудительно, и если наша глобальная переменная была в позиции "1", то в следующий раз при запуске через инжект мы не сможем запустить наш скрипт.