![]() |
| ![]() |
Разнообразные функции и переменныеЗатемнение экранаFadeIn время_float_числ Первые две функции затемняют экран (а не объект!) на определённое время (от 0 до 10 секунд). Последняя функция помимо прочего позволяет задать процент затемнения: 0 – абсолютно прозрачное изображение, 100 – абсолютно чёрное. Добавление локации на картуShowMap "ID локации" Функция подсвечивает на карте мира положение определённой локации. Учтите, что она показывает сразу все «квадратики», относящиеся к выбранному месту. То есть, если написать в качестве аргумента “Vivec”, то на карте появятся сразу все кантоны. Пример скрипта: помните книгу, описывающую все места для паломничества пилигримов? Она как раз добавляет все эти локации на глобальную карту игрока: Begin bookPilgrimsPath Прерывание скриптаReturn Функция сообщает движку, что необходимо прекратить выполнение скрипта в данный конкретный фрейм (фрейм – доля секунды, за которую происходит выполнение всех скриптов). В следующий раз компиляция кода пойдёт вновь с самого верха. If ( MenuMode == 1 ) Внимание: весь код после этой функции будет проигнорирован, то есть не будет выполняться. Пользуйтесь ею с особой осторожностью! Случайные значенияRandom, значение Внесение непредсказуемости в скрипты является заманчивой идеей. Для её реализации и существует функция “Random”, которая возвращает случайное число между нулём и заданным значением –1. То есть строка кода из примера может присвоить переменной значение от 0 до 49. Заметьте также, что глобальной переменной “Random100” каждый фрейм присваивается новое случайное значение от 0 до 100. Так что Вы вполне можете использовать её в своих целях. Учтите: случайные значения, если вы задали аргумент больше 100, вовсе не такие уж случайные. Так при аргументе 255 они могут быть только 0 или 1. При аргументе, кратном 256 игра вообще «вылетает». Так дела обстоят в Морровинде и Трибунале. В Бладмуне была поправлена вероятность даже при больших диапазонах, однако аргументы, кратные 256, всё равно заставляют игру «вылететь». Проигрывание видеоPlayBink “имя_файла” флаг_числ Функция останавливает игру и проигрывает видео. Присвойте флагу значение ИСТИНА, чтобы игрок смог пропустить ролик. Все проигрываемые файлы должны быть формата Bink и располагаться в папке Datafiles/Videos. Стандартные настройки движка Морровинда заставляют игру проигрывать файл прямо с диска, поэтому я не уверен, что это может сработать. Возможно (я не пробовал), что написание строки “TryArchiveFirst=-1” в файле конфигурации “Morrowind.ini” как-то повлияет на этот прискорбный факт (-1 – использовать линейные данные, 0 – использовать новейшее, 1 – использовать только архив). Так же для проигрывания Ваших собственных файлов можно попробовать использовать программу, позволяющую запускать Морровинд без диска в приводе. Управление глобальными скриптамиScriptRunning, "Имя_скрипта" (возвращает Boolean/short) Эти функции позволяют управлять процессом выполнения глобальных скриптов, многие из которых должны быть специальным образом включены и отключены (вторая и третья функции соответственно). Использование функции StopScript обнуляет все местные переменные остановленного глобального скрипта. Однако, остановка происходит не сразу, а лишь когда скрипт пройдёт последний раз до своего конца. Насколько мне известно, это не допустимо для локальных скриптов, прикреплённых к тем или иным объектам. Однако, их тоже можно запускать с помощью конструкции типа “ID_Объекта->StartScript”. Функция “ScriptRunning” возвращает 1, если скрипт работает, и 0 – если нет. if ( ScriptRunning, CharGen == 0 ) Последняя функция так же может быть использована для создания одноразовых глобальных скриптов, обеспечивающих чёткую систему отключения самих себя: Begin do-once_script |
![]() |
| ![]() | ||
![]() |