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

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

VKRSSRSS
На главную

Навигация


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


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




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

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



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


Изображение



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



ArmA 3, ArmA 2 news Russian community, SARMAT community

Введение

Скрипты являются неотъемлемой частью каждой миссии. Они позволяют создавать удивительные ролики, эффекты и настроить практически каждый аспект вашей миссии.

Вот несколько примеров того, что вы можете сделать при помощи скриптов: вызвать поддержку артиллерии, сделать ядовитое облако газов, или систему закупки снаряжения.


Алгоритм

Ваша первая задача в написании скриптов - это понять, какая последовательность шагов необходима для решения конкретной задачи. Этой последовательностью является то, что можно было бы назвать алгоритмом.

К примеру, если бы перед вами стояла задача перевезти оружие из Петровки в Лопатино, вы (как командир ) отдали бы следующие приказы:


 Командир: Рядовой Петя,рядовой Вася, идите сюда! 
 Командир: Рядовой Петя, забирайтесь в Урал на место водителя! 
 Командир: Рядовой Вася, забирайтесь в урал! 
 Командир: Рядовой Петя, двигайтесь к Петровке и загрузите оружие в урал! 
 Рядовой Петя: Я не знаю где Петровка сэр. 

Итак , возникает проблема. Петя знает только как добраться до Лопатино,а Вася знает дорогу до Петровки. В данном случае наши солдаты - рекруты, и по сути не много глуповаты. Они могут только получать приказы, один приказ за раз . Они могут забраться и вылезти из машины, рулить , загружать и разгружать оружие и боеприпасы. Командир должен спланировать последовательность приказов таким образом, чтобы предусмотреть экстренные ситуации, которые могут возникнуть.


  1. Точка назначения - Петровка
  2. Залезть в машину
  3. Если водитель не знает пути, он меняется местами с пассажиром
  4. Двигаться к точке назначения
  5. Вылезти из мышины
  6. Загрузить машину
  7. Точка назначения - Лопатино
  8. Залезть в машину
  9. Если водитель не знает пути, он меняется местами с пассажиром
  10. Двигаться к точке назначения
  11. Вылезти из мышины
  12. Разгрузить машину

Переводчик

У вас есть алгоритм и вам нужно что-то что поможет вам его выполнить. У вас имеется компьютерная игра, Armed Assault, которая способна осуществить это.

Язык программирования

Существует один из способов как писать алгоритмы для Armed Assault. Скрипты в ArmA представляют из себя последовательность приказов, которые описывают что нужно сделать.

Исходный код

Исходный код - это алгоритм, который пишется на языке программирования.

Синтаксис

Синтаксис состоит из команд и параметров, иногда просто команд, таких как exit, в остальных случаях синтаксис состоит из одного или нескольких параметров. Каждая команда имеет свою ссылку в разделе Скриптовые команды на вики. В каждом случае приводится команда + его параметры, которые необходимы для работы.


if(PrivateHonka == TheMostCleverSoldierInTheWorld) then { 
 IAmChineseGodOfHumour = true; 
}; 

Однако вам следует учесть, что существует два вида грамматики скриптов в Armed Assault, а именно SQF и SQS синтаксисы. В то время как функции почти такие же, существуют незначительные различия в обозначениях , выполнении программ и управляющих конструкциях.


Работа переводчика

В Armed Assault игровой движок прочитывает код из вашего скриптового файла и переводит предписания, для достижения желаемого результата / эффекта в игре.

Давайте начнем

Каждый скрипт состоит из команд и программ выполняющих утверждения (они реализованы в виде команд в Arma Assault , но это не имеет большого значения). Наиболее полезная команда в вашем скрипте - TitleText. Она способна вывести любой написаный вами текст на экран игрока.


titleText["Good morning, captain", "PLAIN DOWN", 5]

Это обычный способ запуска команды. До названия команды следует имя параметра (но это зависит от типа команды ). Каждая команда может иметь только один параметр, перед именем и/или аргумент после (большинство аргументов могут быть представлены в виде массивов, которые идут как один параметр). Параметры могут быть различными типами данных. В данном случае это Array т.е Массив. Он может содержать от 0 до 4096? значений. Первое значение Строка, представляет собой текст, который будет отображаться, а во-вторых указывается на то, в какой части экрана будет отображаться наш текст. Возможно и третье значение: Number(ЧИСЛО) , которое говорит, о том, как долго текст будет выводиться на экран. Если это значение не введено, то по умолчанию используется (1):


 titleText["Доброе утро, кэп ", "PLAIN DOWN", 5] 

Скрипты которые называют функциями, хранятся в .SQF файлах в папке миссии, или же в .SQS файлах, и вызываются скриптами.

Если вы хотите попробовать наш 'скрипт', создайте миссию в редакторе, сохраните ее как testingmission, откройте предпочитаемый вами текстовый редактор (к примеру Блокнот), напишите "titleText ["Good morning, captain", "PLAIN DOWN"];" (без внешних "") и сохраните это как hello.sqf в ПапкаМиссий /пользователь/вашеНазвание/missions/testingmission. Затем добавьте в редакторе солдата и впечатайте "call {execVM "hello.sqf};" в поле инициализации (без внешних кавычек). Когда вы запустите миссию, вы увидите ваш первый скрипт.

Отличная работа солдат!!


Вы так же можете написать: titleText ["Доброе утро, кэп ", "PLAIN DOWN", 5]

Но в данном случае вы должны сохранить файл в UTF-8 кодировке.


Переменные

См. Переменные

Утверждения и операторы

См. Операторы

См. Утверждение

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

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