Oblivion CS:Commands

Материал из Tiarum
Перейти к: навигация, поиск
TES 4: Oblivion. Команды (Commands)
45px-Scroll.png

автор: TES CS Wiki team
перевод: OSFM team
редактирование: Garin (OSFM team)
ccылка на оригинал: Category: Commands
ссылка на сайт: The Elder Scrolls Construction Set Wiki


Команды (Commands)



Общие сведения о командах (Commands)

Скриптовый язык Обливиона специально создан для игры, но тем не менее структурой он очень напоминает другие языки программирования. Самый простой скрипт имеет три элемента: команда ScriptName (название скрипта), команда begin с указанием типа блока и команда end.

Пример:

ScriptName MyScript   
begin OnAdd Player
     ; делать что-то   
End


  • Команда ScriptName понятна: она задает имя скрипта. Она обязательна и имя должно быть уникальным.
  • Команда begin определяет действие, которое запускает скрипт. Если условие, указанное в команде begin + тип блока, выполняется, то исполняются все команды, находящиеся в пределах блока между begin и end.
  • Каждая команда begin обязательно должна иметь соответствующую ей команду end!
  • Вы можете прервать выполнение своего скрипта командой return. Это может оказаться полезно внутри команды if в случаях, когда вам не нужно продолжать выполнение скрипта дальше.
  • Вы можете добавить комментарий к какой-нибудь строке скрипта, используя точку с запятой. Все, что стоит в строке после них, игнорируется компилятором, и это позволяет вам делать заметки по поводу того, что делает этот скрипт.


Перечень команд

Команды (Commands), которые используются в скриптовом языке Обливиона, разнообразны. Их не очень много, но все они важны для правильной работы скриптового кода.

Ниже приведена сводная таблица всех команд.

Таблица 1. Команды (Commands)
Команда Название Краткое описание
1 Scriptname Название скрипта Все скрипты (точнее, именованные скрипты) должны начинаться с этой команды, которая задает имя скрипта. Имя должно быть уникальным и состоять из одного слова.
2 Short Объявление короткой целочисленной переменной Относится к группе команд объявления переменных (Declaring variables).

Используется для объявления коротких целочисленных переменных (Short Integer).

3 Long Объявление длинной целочисленной переменной Относится к группе команд объявления переменных (Declaring variables).

Используется для объявления длинных целочисленных переменных (Long Integer).

4 Float Объявление вещественной переменной Относится к группе команд объявления переменных (Declaring variables).

Используется для объявления вещественных переменных (Floating Point).

5 Ref Объявление переменной типа Reference Относится к группе команд объявления переменных (Declaring variables).

Используется для переменных типа Reference (Reference Variables).

6 Begin Начало блока Конструкции Begin-End являются блоками, внутри которых и размещен, собственно, весь исполняемый код скрипта. Другими словами, все скриптовые команды, кроме объявления переменных, обязательно должны находиться именно внутри блоков begin-end!
7 BlockTypes Тип блока Каждый выполняемый блок Begin-End должен иметь указание на его тип. Тип блока указывается непосредственно после команды Begin в одной строке. Может иметь дополнительный параметр-условие.
8 End Конец блока Завершает выполняемый внутри конструкции Begin-End скриптовый код. Каждая команда Begin должна обязательно иметь свой End!
9 UseReference Команда "." (точка) Команда "." устанавливает предшествующий ей ObjectID (ID объекта) только для текущей функции. ObjectID может быть задан как непосредственно - с указанием ID копии объекта, так и с помощью переменной типа reference (как указатель на объект). Как бы странно это не показалось, но по сравнению с другими командами в скомпилированном скрипте это настоящая команда, которая использует код 0x001C.
10 Set Установить Команда Set присваивает локальной или глобальной переменной указанное значение. Это значение может быть числом или результатом вычисления выражения.
11 Return Возврат Команда Return используется для того, чтобы остановить выполнение скрипта в текущем фрейме. Она не просто завершает ТЕКУЩИЙ блок, он завершает ВЕСЬ скрипт до конца фрейма. Скрипт будет запущен снова в следующем фрейме. Это может быть полезно внутри команд if , когда требуется блокировать команды, следующие непосредственно после return.
12 If Если Команда If (если) входит в конструкцию из команд If, ElseIf, Else, EndIf и позволяет вам исполнять (или не исполнять) группу скриптовых функций в зависимости от того, истинно ли сравнение, которые вы указываете.
13 ElseIf Иначе если Команда ElseIf (иначе если) используется для увеличения количества проверок условий в одной конструкции If. Если условие не истинно, тогда проверяется условие следующей за ней команды ElseIf. Количество команд ElseIf может быть достаточно большим. Но эта команда не является обязательной.
14 Else Иначе Команда Else (иначе) используется в конструкции IF в тех случаях, когда ни одна из проверок условий, объявленных выше, не является истинной. В этом случае будет выполнена группа команд, следующая после нее до команды endif. Команда else, как и elseif, не является обязательной.
15 EndIf Конец блока условий Команда Endif обязательна и всегда завершает блок If, т.е. каждому If обязательно соответствует Endif.
16 ";" Комментарий Символ ";" в скриптовом коде - очень полезная вещь. Все, что идет после него в строке, не воспринимается компилятором, однако присутствует в исходном коде. Обычно после точки с запятой приводится комментарий к текущему участку кода, дабы не забыть, что и зачем делалось. Не брезгуйте этой возможностью. Особенно, если обмениваетесь скриптами с другими скриптологами.


Смотрите также