1) Здорово, спс 2) По крайней мере 0.009 и меньше - это то же самое, что и 0.01. Я пытался в 1000 раз уменьшить кантон в Вивеке, чтобы поместить его на мини-карту... а он максимум стал высотой с Игрока. Или даже двух 3) Компилер так и говорит: "Script ... Max nesting of 10 exceded on line ..." Пришлось применить отрицание ("И" переделывает в "ИЛИ"!) и вместо else ставить return'ы. 4) Если команду SetScale "size" ставить после вызова/применения заклинания, то обычно она не срабатывает. Я думаю, это потому, что применение/снятие эффекта занимает много времени - и скрипт сбрасывается (виснет и начинается сначала), поэтому я либо ставлю ее ДО, либо изменяю локальную переменную status и работаю с ней в следующем фрейме. 5) И последнее (это меня убило). Оказывается команда StopScript "CurrentScript" не прекращает выполнение текущего скрипта, как можно подумать, а ПО-МОЕМУ только активизирует флаг о его завершении. И когда исполнение дойдет до строчки "end", скрипт выгружается из памяти. Пример из "Необходимостей Морровинда" (глобальный скрипт): Begin BINN_start_message
short DaysLeft
if ( BINN_message == 1 )
StopScript "BINN_start_message"; я-то думал, здесь конец
set BINN_message to 0; ан нет
return; идем вканец
endif
...
end; и вот здесь завершаем выполнение НО! Если ПОСЛЕ StopScript "CurrentScript" написать StartScript "SomeScript", то скрипт SomeScript не запустится! StartScript надо писать ПЕРЕД завершением текущего скрипта! Шо за бред??? КАК ЭТО РАБОТАЕТ??? 6) ВНИМАНИЕ! ОПАСНОСТЬ! Компилер не проверяет (по крайней мере, у меня; версия Трибунал), объявлены ли локальные переменные, используемые в скрипте, поэтому при операции над необъявленной переменной скрипт перестает работать! Если переменных много, за этим надо строго следить.