Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 433; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.215.149 (0.009 с.) |