Сделать объект поднимаемым (НЕ кладётся в рюкзак, удаляется)

Захотели сделать задание, например: «Забрать объект»

Всё сделали, а это спутниковый телефон (ведь по сюжету, на нём важные коды связи противника). И вам не надо его куда-то везти, его нужно просто забрать со стола.

Как это сделать:

1.) Ставим сам объект, например тот же спутниковый телефон.
1.2) Даём ему имя (поле — имя переменной) «satel1» (без кавычек!).
1.3) В инициализацию ему пишем вот этот код (это добавит кнопку «Поднять»):
Код в чистом виде:
this addAction ["Поднять", {call pickup_code},[false],1,false,true,"","(_target distance _this) < 3"];

Код с расшифровкой по основным моментам:

// "Поднять" → Имя кнопки
// {call pickup_code} → Вызов кода удаления объекта который "берём"
// "(_target distance _this) < 3" → Указываем дистанцию действия кнопки "Поднять". Здесь она в метре от объекта работает. Если не прописать, то она равна 15 метрам, и даже сквозь стены О_о
// а если поставить < 2 - то работает только в упор.
this addAction ["Поднять", {call pickup_code},[false],1,false,true,"","(_target distance _this) < 3"];

Полное описание команды AddAction

2.) Делаем код «поднятия»:
2.1) Ставим объект «Логика игры»
2.2) В инициализацию пишем ему вот этот код:

pickedUpCount = 0; pickup_code = { deleteVehicle (_this select 0); pickedUpCount = pickedUpCount + 1; hint format ["Задание выполнено", pickedUpCount]; };

А ещё, недавно немного поковырялся, и сделал кнопочку как в системе оживления от BIS (с кружочком) BIS_fnc_holdActionAdd

Ставим объект, даём ему ИМЯ_ПЕРЕМЕННОЙ

Код этой кнопки:

[ИМЯ_ПЕРЕМЕННОЙ, "Забрать папку 1", "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa",
"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa", "_this distance _target < 3",
"_caller distance _target < 3",
{},
{},
{call pickup_code
}, {}, [], 4, 0, true, false] remoteExec ["BIS_fnc_holdActionAdd", 0, outfile1];

Теперь, когда мы подойдём к объекту (в нашем случае это спутниковый телефон), и выберем пункт «Поднять» — он удалится.

Для общей картины, допишу что не помешает поставить условие у которого будет прописано:

!alive satel1

Или сделать как в этой статье в Примере 2: «Самое себе задание, само себе триггер!»

То есть, когда мы его заберём, то сработает триггер, и это повлечёт за собой новые события и задания. Ну или просто завершит сценарий. Как вам больше нравится.

Обсудить этот метод можно в нашем Discord канале