
Захотели сделать задание, например: «Забрать объект»
Всё сделали, а это спутниковый телефон (ведь по сюжету, на нём важные коды связи противника). И вам не надо его куда-то везти, его нужно просто забрать со стола.
Как это сделать:
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 канале