Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OSFM v1.2.0.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.49 Mб
Скачать

4.2 Типы скриптов

4.2.1 Общие сведения о типах скриптов.

Открывая меню свойств объекта, вы, вероятно, заметили, что в нём есть поле для подключения скриптовой программы (скрипта). Скрипт - это, как правило, небольшая программа, которая может быть присвоена объекту игрового мира, что позволяет ему выполнять некие особенные действия. Скрипты можно условно разделить на две главные категории:

  • Локальные (Reference scripts) - скрипты на объектах игрового мира.

  • Нелокальные скрипты (Non-reference scripts).

Локальные скрипты.

Локальные скрипты (Reference scripts) - это скрипты, которые запускаются на объектах. Они разделяются на два типа:

  • Скрипты, прикрепленные к объектам - объектные скрипты (References object scripts)

  • Скрипты в поле "result" диалогов (dialogue results)

В таких скриптах некоторые локальные функции (Reference functions) могут использоваться без явного указания ID объекта (ID_NameObject) – в этом случае они будут нацелены на объект, с которым этот скрипт связан (с объектом, на который он “повешен”). Другими словами, локальные скрипты – это скрипты, в которых функции могут использовать неявные обращения к объекту, к которому они прикреплены. Например, если к NPC прикреплен локальный скрипт, то функция additem в этом скрипте добавит ему 100 золотых:

additem gold_001 100

Нелокальные скрипты.

В нелокальных скриптах (квестовые скрипты, результаты выполнения стадии квеста и пр.) имена объектов (ID_NameObject) в функциях должны быть указаны явно. Другими словами, нелокальные скрипты – это скрипты, в которых функции должны явно указывать объект, в отношении которого они вызываются, потому что они не привязаны к какой-либо копии объекта:

  • Квестовые скрипты – скрипт можно сделать квестовым, если указать его тип "Quest" в окне редактирования скриптов.

  • Скрипты в поле результата стадии квеста.

С другой стороны, все скрипты можно разделить на:

  • Именованные скрипты (Named Scripts)

  • Результирующие (Result scripts).

Именованные скрипты.

Именованные скрипты – это полные скрипты, которые могут быть связаны с объектами, квестами или магическими эффектами и которые могут использовать переменные и begin/end блоки. Именованные скрипты создаются с использованием окна редактирования скриптов. Эти скрипты могут в полной мере использовать все возможности скриптового языка. Командой scriptname им обязательно нужно дать имя. Именованные скрипты могут быть трех типов:

  • скрипты на объектах (объектные скрипты);

  • квестовые скрипты;

  • скрипты для магических эффектов;

и могут быть присоединены к объектам, квестам или магическим эффектам соответственно. Когда заскриптованный объект помещается в игровой мир (то есть, создается новая копия объекта), этот объект будет иметь собственные копии переменных, объявленных в скрипте. Таким образом, один и тот же скрипт может быть использован для контроля за состоянием нескольких копий объекта или даже к различным объектам.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]