Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Общие сведения о типах скриптов.Содержание книги
Поиск на нашем сайте Открывая меню свойств объекта, вы, вероятно, заметили, что в нём есть поле для подключения скриптовой программы (скрипта). Скрипт - это, как правило, небольшая программа, которая может быть присвоена объекту игрового мира, что позволяет ему выполнять некие особенные действия.
Локальные скрипты. Локальные скрипты (Reference scripts) - это скрипты, которые запускаются на объектах. Они разделяются на два типа:
В таких скриптах некоторые локальные функции (Reference functions) могут использоваться без явного указания ID объекта (ID_NameObject) – в этом случае они будут нацелены на объект, с которым этот скрипт связан (с объектом, на который он “повешен”).
Нелокальные скрипты. В нелокальных скриптах (квестовые скрипты, результаты выполнения стадии квеста и пр.) имена объектов (ID_NameObject) в функциях должны быть указаны явно. Другими словами, нелокальные скрипты – это скрипты, в которых функции должны явно указывать объект, в отношении которого они вызываются, потому что они не привязаны к какой-либо копии объекта:
С другой стороны, все скрипты можно разделить на:
Именованные скрипты. Именованные скрипты – это полные скрипты, которые могут быть связаны с объектами, квестами или магическими эффектами и которые могут использовать переменные и begin/end блоки. · скрипты на объектах (объектные скрипты); · квестовые скрипты; · скрипты для магических эффектов; и могут быть присоединены к объектам, квестам или магическим эффектам соответственно. Когда заскриптованный объект помещается в игровой мир (то есть, создается новая копия объекта), этот объект будет иметь собственные копии переменных, объявленных в скрипте. Таким образом, один и тот же скрипт может быть использован для контроля за состоянием нескольких копий объекта или даже к различным объектам.
Объектные скрипты.
Скрипты, “повешенные” на объектах - это именованные скрипты, которые могут быть прикреплены к любому объекту. Это всегда локальные скрипты и они могут использовать любые функции, кроме специализированных команд для магических эффектов. Квестовые скрипты.
Квестовые скрипты создаются с типом скрипта Quest, выбранном в окне редактирования скриптов. Никакой другой тип скрипта работать с квестами не будет. Квестовые скрипты - это нелокальные скрипты и потому должны использовать особый синтаксис в вызове функций.
Основные положения: § Квестовые скрипты выполняются только тогда, когда выполняется квест (вы можете определить это в игре, напечатав в консоли sqv QUEST_NAME). Квесты начинаются и заканчиваются с помощью команд StartQuest и StopQuest. Эти команды не зависят от того, завершен квест или нет. Завершение квеста означает, что он перемещается на панель завершенных квестов (Completed Quest tab) в журнале игрока – но скрипт все равно будет исполняться, пока квест не будет переведен в пассивное состояние командой StopQuest. § Квест автоматически начинается, когда в журнал игрока записывается запись от этого квеста. Поэтому команда SetStage QUESTNAME 10 (если запись 10 содержит текст) автоматически начнет квест. § В общем, вы должны останавливать квест, когда он завершен, чтобы скрипт, прикрепленный к квесту, перестал исполняться. Если по какой-то причине квест должен оставаться активным (у вас есть диалог или скрипт, необходимый после окончания квеста), создайте второй квест (например, MS38 и MS38FIN). § Значения квестовых переменных можно запрашивать и изменять, даже когда квест не активен. Когда квест останавливается, его скрипт перестает исполняться, но он все равно существует и его переменные также остаются в целости. Как изменить частоту выполнения квестового скрипта: § Объявите "магическую переменную" float fQuestDelayTime в вашем квестовом скрипте. § Присвойте переменной fQuestDelayTime число, определяющее требуемое время между циклами выполнения скрипта, в секундах. Чем меньше это значение, тем чаще будет выполняться ваш скрипт. Если число будет очень мало, например, 0.01 сек, то это будет соответствовать частоте исполнения скрипта 100 раз в секунду. Поскольку частота смены кадров (фреймов) на экране (fps) намного меньше, то ваш скрипт будет выполняться в каждом фрейме.
Скрипты для магических эффектов.
Скрипты для магических эффектов – это особые скрипты, которые можно использовать для создания заскриптованных магических эффектов. Они создаются в окне редактирования скриптов, но у них должен быть тип Magic Effect, иначе использовать магические эффекты не удастся. Такой скрипт будет выполняться, если игрок находится рядом, и будет останавливаться вместе с игрой при вызове какого-либо меню. · ScriptEffectStart · ScriptEffectFinish · ScriptEffectUpdate Другие типы блоков использовать нельзя (они будут скомпилированы, но код внутри них выполняться не будет). · ScriptEffectElapsedSeconds В остальном, скрипты для магических эффектов ведут себя как обычные локальные скрипты и внутри блоков для магических эффектов можно использовать обычные скриптовые функции. Примечание (Visman): Некоторые плагиностроители умудряются, кроме блоков для магических эффектов, использовать в магических скриптах и блок GameMode, и такие скрипты нормально работают. Результирующие скрипты.
Результирующие скрипты (Result scripts) – фрагменты скриптов, которые связаны с диалогами или стадиями квестов и возвращающие некий результат в поле result диалогового окна. Существует два типа таких скриптов: § Скрипты в поле result диалога выполняются, когда NPC говорит связанное со скриптом сообщение. Такие скрипты, как и скрипты, прикрепленные к объектам, являются локальными скриптами. § Скрипты в поле result стадии квеста выполняются, когда достигнута определенная стадия квеста, и НУЖНЫЙ ПАРАМЕТР предмета или сам предмет стадии квеста (stage item) соответствует заданным условиям. Эти скрипты относятся к нелокальным скриптам. Скрипты в поле result имеют следующие ограничения по сравнению с именованными скриптами: § В них нельзя объявлять переменные. § В них нельзя использовать блоки begin/end. § В диалоговых скриптах нельзя использовать неявное обращение к переменным локального скрипта NPC. В остальном, скрипты в поле result могут использовать все обычные функции и команды.
|
|||
|
Последнее изменение этой страницы: 2016-07-11; просмотров: 580; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.009 с.) |