ФЭНДОМ



Добавлена в Operation Flashpoint, версия: 1.1Arguments localEffects local

Чтобы увидеть описание, наведите курсор на иконку

Заявлено в

Game:
Operation Flashpoint
Version:
1.1

Описание

Описание:
Добавляет запись в меню действий объекта. Если действие "повесили" на объект, то оно может быть активировано только вблизи этого объекта. Добавление действия на объект игрока делает это действие доступным из меню игрока постоянно.

Синтаксис

Синтаксис:
Number = unitName addAction [title, filename, (arguments, priority, showWindow, hideOnUse, shortcut, condition)]

(опциональные параметры неприменимы к OFP, параметр 'condition' (условие) применим только для Arma 2)

Параметры:
unitName: Object

[title, filename, (arguments, priority, showWindow, hideOnUse, shortcut, condition)]: Array

title: String or Structured Text - Название действия, отображаемое в пользовательском меню.

filename: String - Путь к файлу-обработчику действия. Является относительным к папке с миссией.

arguments: Anything - (опционально) Аргументы, передаваемые в скрипт (получить к ним доступ в скрипте можно будет как (_this select 3))

priority: Number - (опционально) Приоритет действия. Действия будут отсортированы по убыванию учитывая его. Каждое действие имеет предустановленный приоритет. Значение может быть отридцательным. Записи с одинаковым приоритетом будут расположены в соответствии с порядком создания: новые снизу. Стандартный диапазон начинается с 0 (низкий приоритет. Напр.: 'Катапультироваться') и заканчивается 6 (высокий приоритет. Напр: 'Включить автозависание').

showWindow: Boolean - (опционально) Если значение истинно (true), то игроки увидят "Titletext" посередине экрана снизу как только приблизятся к объекту. Ложное значение (false) отключает такое поведение.

hideOnUse: Boolean - (опционально) Если значение истинно (true), то меню будет спрятано после использования действия. Иначе меню останется на экране после выбора данного действия, индекс текущего элемента не изменится. Это сделано для того, чтобы позволить игроку быстро использовать одно и тоже действие, либо выбрать другое действие из списка.

shortcut: String - (опционально, по умолчанию:"") Одно из сочетаний клавиш определенных в bin.pbo (напр. "moveForward")

condition: String - (опционально, только Arma 2, по умолчанию: true) Выражение, которое должно вернуть true, для того, чтобы показать действие в меню. Специальные переменные "_target" (юнит, к которому привязано действие) и "_this" (юнит, который активировал действие) могут быть использованы в выражении.

Возвращаемое значение:
Number или Nothing

Возвращается ID действия. При добавлении новых действий значение ID увеличивается для них. Для первого действия юнита ID будет равно нулю, для второго - единица и т.д. Значения ID передаются в скрипт-обработчик и используются для удаления действия с помощью removeAction.

Примеры

Пример 1:

player addAction ["Hello", "hello.sqf"];
Пример 2:
_genAct = generator addAction ["Включить генератор", "activateGenerator.sqf"];

activateGenerator.sqf:

private ["_gen, "_caller", "_id"];
_gen = _this select 0;
_caller = _this select 1;
_id = _this select 2;
// удаляет действие по его активации
_gen removeAction _id

Этот пример показывает пример создания действия, названного "Включить генератор", добавленного объекту с именем generator. Как только игрок приблизится к объекту, он сможет активировать данное действие с помощью меню действий. Затем выполнится скрипт "activateGenerator.sqf", который, в нашем примере, всего лишь удалит созданное нами действие из объекта generator.

Пример 3:

_actionId = _vehicle addAction ["Включить радар", "mission\radar\viewRadar.sqf", ["forwardRadar", 8], 1, 
 false, true, "teamSwitchPrev", "driver _target == player"];

Дополнительная информация

Мультиплеер:
Действие является локальным для машины, на которой исполняется. Для отображения на всех остальных машинах нужно реализовывать свой способ синхронизации.
Проблемы:
В связи с ошибкой в OFP, действия, добавленные через addAction, не обновлялись корректно после входа в технику. Если у вас есть несколько действий, доступных во время входа в технику, они будут показываться даже после того как вы покинете зону действия и будут оставаться там до тех пор, пока вы не выйдете и опять зайдете в технику.
См. также:
removeAction


Комментарии

Notes

+ Добавить комментарий

В комментариях следует использовать только проверенные факты.

Notes

Когда у объекта нет текущего списка действий (например, у здания), добавление записи создает такой список для данного объекта.

Заметка: В ArmA скриптовый файл-обработчик может быть как sqs (не рекомендуется), так и sqf, в OFP он может быть только файлом формата sqs.

Расширение файла может быть любым, но принято давать следующие: .sqs или .sqf соответственно.

Bottom Section

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

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