Добро пожаловать Гость, Вы в разделе: Вход

Энциклопедия по редактору Arma, Arma 2, Arma 3 и Operation Flashpoint

VKRSSRSS
На главную

Навигация


Искать в энциклопедии:
»


Важная информация




Сайт управляется

Учебник по написанию скриптов
Изображение



Учебник по созданию роликов


Изображение



Наши партнеры



ArmA 3, ArmA 2 news Russian community, SARMAT community
Скрипт - это часть кода,образующее единое целое в отдельном текстовом документе. Этот код выполняет определенную задачу обработанную игровым движком. Стандартные расширения для скриптов: .sqs и .sqf, зависят от используемого синтаксиса (смотрите ниже). Вы можете использовать любой текстовый редактор типа Блокнот для редактирования скриптов.


Особый вид скрипта называется функцией.



Применение

Скрипты используются для любого игрового процесса, где важным фактором является время. Они отличаются от функцией, где важен результат и расчет. Подобные скрипты используются катсценах, диалогах, радио-скриптах и так далее.

Синтаксис

В Operation Flashpoint, скрипты ограничивались SQS синтаксисом.

Начиная с Armed Assault, уже был введен SQF синтаксис для скриптов. SQS синтаксис так же используется , но он не рекомендуем в Armed Assault.


Выполнение


Скрипты могут выполняться следующим образом:
  • Другими скриптами
  • Функциями
  • Скриптовым полем в Редакторе ( поле инициализации у юнитов или поле активации в триггерах)
  • Обработчиком событий в конфигурационном файле аддона.

Команды выполняющие скрипты:

exec
exec запускает скрит типа SQS.


execVM (только Armed Assault)


execVM компилирует скрипт в синтаксисе SQF и начинает его выполнение.


spawn (только Armed Assault)
spawn начинает выполнение для компилированного Кода и возвращает Script (Handle).


Примечание: Следующая информация не применима к функциям.


Скрипты работают параллельно,например,в выполнении своих потоков. Это означает что выполнение потока (т.е скрипта или функции) не ждет пока скрипт закончится. Проще говоря,скрипты не должны писаться ради кода, который должен вернуть значение, используемое в вызванном скрипте. Это делается путем функций.


Начиная с Armed Assault, скрипты возвращают Script (Handle), который вы можете использовать чтобы проверить работает ли до сих пор скрипт.


Специальные переменные

_time в обоих синтаксисах ?

Специальные команды


В связи с тем, что вызываемый запрос не ждет окончание скрипта, скрипты могут быть остановлены в любой период времени. Существуют различные методы, чтобы осуществить это в SQF синтаксисе (только в Armed Assault ) и SQS синтаксисе (устарел начиная с Armed Assault).

SQF синтаксис

Задержка

Вы можете ввести скрипт в спящий режим на какое-то определенное количество секунд при помощи команды sleep.


УТВЕРЖДЕНИЕ 1;
// подождать 10 секунд
sleep 10;

УТВЕРЖДЕНИЕ 2;

Ожидание условия

Вы можете настроить свой скрипт таким образом, чтобы спящий режим сохранялся до выполнения определенного специфического условия. Это делается при помощи команды waitUntil.

BOOL = false;
// ожидает до того момента пока BOOL примет значение true
waitUntil BOOL;
УТВЕРЖДЕНИЕ;

SQS синтаксис

Задержка

Вы можете ввести скрипт в спящий режим на какое-то определенное количество секунд при помощи символа ~ который предшествует цифре.


УТВЕРЖДЕНИЕ 1

;ждет 10 секунд
~10
УТВЕРЖДЕНИЕ 2

Ожидание условия

Вы можете настроить свой скрипт таким образом, чтобы спящий режим сохранялся до выполнения определенного специфического условия. Это делается при помощи символа @ перед условием.


BOOL = false

; ожидает до того момента пока BOOL примет значение true
@BOOL

УТВЕРЖДЕНИЕ

Ожидание

Вы можете настроить скрипт чтобы он находился в спящем режиме до определенного момента (время в секундах с момента начатия скрипта) при помощи &, которая следует перед time.


 &100
 ; эквивалентно 
 @_time >= 100
Две колонки
О нас
SunHorizon Wiki версия 1.0.2.17.
© 2013-2014 SUNHORIZON.INFO.Все права сохранены.
В проекте использованы изображения FamFamFam
Связь с нами
Изображение
Правила сайта
Изображение

Авторские права
Изображение