|
Форум РЕДАКТОР - ArmA 2 Основное Arma: Введение в скриптописание |
Arma: Введение в скриптописание |
› Воскресенье
› 18.09.2011
› 16:55
› Сообщение #
Введение
Скрипты являются неотъемлемой частью каждой миссий. Они позволяют создавать удивительные ролики, эффекты и настроить практически каждый аспект вашей миссии. Здесь представлены, некоторые примеры, того, что вы можете сделать при помощи скриптов: вызвать поддержку артиллерии, сделать ядовитое облако газов, или систему закупки снаряжения. Алгоритм Ваша первая задача в написании скриптов - это понять, какая последовательность шагов необходима для решения конкретной задачи. Этой последовательностью является то, что можно было бы назвать алгоритмом. К примеру, если бы перед вами стояла задача перевезти оружие из Петровки в Лопатино, вы (как командир ) отдали бы следующие приказы: Командир: Рядовой Петя,рядовой Вася, идите сюда! Командир: Рядовой Петя, забирайтесь в Урал на место водителя! Командир: Рядовой Вася, забирайтесь в урал! Командир: Рядовой Петя, двигайтесь к Петрович и загрузите оружие в урал! Рядовой Петя: Я не знаю где Петрович сэр. Итак , возникает проблема. Петя знает только как добраться до Лопатино,а Вася знает дорогу до Петровича. В данном случае гаши солдаты - рекруты, и по сути не много глуповаты. Они могут только получать приказы, один приказ за раз . Они могут забраться и вылезти из машины, рулить , загружать и разгружать оружие и боеприпасы. Командир должен спланировать последовательность приказов таким образом, чтобы предусмотреть экстренные ситуации, которые могут возникнуть. 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["Доброе утро, кэп", "PLAIN DOWN"] Это обычный способ запуска команды. До названия команды следует имя параметра (но это зависит от типа команды ). Каждая команда может иметь только один параметр, перед именем и/или аргумент после (большинство аргументов могут быть представлены в виде массивов, которые идут как один параметр). Параметры могут быть различными типами данных. В данном случае это Array т.е Массив. Он может содержать от 0 до 4096? значений. Первое значение Строка, представляет собой текст, который будет отображаться, а во-вторых указывается на то, в какой части экрана будет отображаться наш текст. Возможно и третье значение: ЧИСЛО ( КОЛИЧЕСТВО) , которое говорит, о том, как долго текст будет выводиться на экран. Если это значение не введено, то по умолчанию используется (1) : titleText["Доброе утро, кэп ", "PLAIN DOWN", 5] Скрипты которые называют функциями, хранятся в .SQF файлах в папке миссии, или же в .SQS файлах, и вызываются скриптами. Если вы хотите попробовать наш 'скрипт', создайте миссию в редакторе, сохраните ее как testingmission, откройте предпочитаемый вами текстовый редактор (к примеру Блокнот), напишите "titleText["Good morning, captain", "PLAIN DOWN"];" (без внешних "") и сохраните это как hello.sqf в ПапкаМиссий /пользователь/вашеНазвание/missions/testingmission. Затем добавьте в редакторе солдата и впечатайте "nil = [] execVM "hello.sqf"" в поле инициализации (без внешних кавычек). Когда вы запустите миссию, вы увидите ваш первый скрипт. Отличная работа солдат!! Вы так же можете написать: titleText["Доброе утро, кэп ", "PLAIN DOWN", 5] Но в данном случае вы должны сохранить файл в UTF-8 кодировке. by MIKEZAR
Сообщение отредактировал Mikezar - Воскресенье, 18.09.2011, 18:25
|
› Воскресенье
› 18.09.2011
› 17:09
› Сообщение #
Забыл звание на русском написать PS: А ты не пробовал все свои статьи организовать? Поместить в один PDF документ, к примеру. Думаю, что в этом есть смысл! УДАЧИ Сообщение отредактировал leh2012 - Воскресенье, 18.09.2011, 17:11
|
› Воскресенье
› 18.09.2011
› 17:56
› Сообщение #
Quote (leh2012) Командир: Private Honka, забирайтесь в урал! Забыл звание на русском написать Исправил Quote (leh2012) Кстати, я бы дал имена бойцам и городам, мне кажется труднее воспринимать текст если присутствуют имена/города на латинице. Я думаю в таком случае стоит вообще придумать другие имена. потому что иначе их сложно вообще воспринимать на русском типа Хонка , вообще на финском Quote (leh2012) Ну и ещё кое что, мне кажется, что этому твоему перевод не хватает литературности и гладкости!Может быть стоит его более литературно оформить? Если честно где могу я делаю подобно, а так стараюсь избегать. Временами переводы очень сложные и чтобы не потерять смысл я стараюсь переводить буквально, но легкое для восприятия Quote (leh2012) PS: А ты не пробовал все свои статьи организовать? Поместить в один PDF документ, к примеру. Думаю, что в этом есть смысл! Ну я же пытаюсь энциклопедию делать а В принципе можно было бы потом выпустить справочник по скриптописанию. Сообщение отредактировал Mikezar - Воскресенье, 18.09.2011, 18:05
|
› Воскресенье
› 18.09.2011
› 18:04
› Сообщение #
Quote (Mikezar) Я думаю в таком случае стоит вообще придумать другие имена. потому что иначе их сложно вообще воспринимать на рсском типа Хонка , вообще на финском Я тоже об этом хотел написать, думаю для того, чтоб нашим понятней было, можно немного БИСов подкорректировать Quote (Mikezar) Если честно где могу я делаю подобное, а так стараюсь избегать временами перводы очень сложные и чтобы не потерять смысл я стараюсь переводит ьбуквально, но легкое для восприяьтя Ну, это понятно, но всё же, может чуточку покрасивше сделаешь |
› Воскресенье
› 18.09.2011
› 18:19
› Сообщение #
Все подкорректировал
|
› Воскресенье
› 18.09.2011
› 18:21
› Сообщение #
Командир: Рядовой Петя, двигайтесь к Petrovice и загрузите оружие в урал!
Упс |
› Вторник
› 21.04.2020
› 23:48
› Сообщение #
Не выводится текст написанный русскими буквами в hint "ляляля"; Что делать? Может нужно как-то указать нужный шрифт?
|
› Среда
› 22.04.2020
› 07:31
› Сообщение #
надо сохронять в кодировк UTF-8
|
› Среда
› 22.04.2020
› 09:02
› Сообщение #
У меня вроде так и сохранен файл init.sqf но русский текст все равно не выводится.
Добавлено (22.04.2020, 09:13) Прикрепления:
3702968.jpg
(31.2 Kb)
|
| |||
| |||
Чат сайта |