Модератор форума: GUNNER161, Panikaha |
Форум РЕДАКТОР - ArmA 3 Вопрос - ответ Тема для небольших вопросов по Arma 3 (взаимопомощь в режиме вопрос-ответ) |
Тема для небольших вопросов по Arma 3 |
› Вторник
› 17.12.2019
› 20:22
› Сообщение #
Это я спрашивал у sane4ek999 как миссия сделана будет. Если юниты уже стоят на карте, то при старте миссии командой allunits определяем сколько юнитов west и east было. В конце миссии еще раз находим сколько юнитов осталось, и по разнице между стартовым количеством и финальным можно получить результат по потерям сторон.
Добавлено (17.12.2019, 20:26) |
› Четверг
› 19.12.2019
› 00:33
› Сообщение #
Спасибо за ответ. Да, юниты уже стоят и да, важно знать конкретно какие юниты погибли.
Добавлено (20.12.2019, 02:23) |
› Суббота
› 21.12.2019
› 01:54
› Сообщение #
Самый простой способ дать всем юнитам имена согласно их типу и группе. Только на английском и без пробелов или спец символов. К примеру W_GP_1 что будет значить юнит стороны West, GPанотометчик, из группы 1. И поставить многоразовый тригер с активацией по радиокоманде. В активации прописать следующее:
copyToClipboard str allunits; hint "скопировано в буфер"; После активации триггера в любой момент в текстовом документе свернув игру можно вставить из буфера массив юнитов. Имена всех живых солдатов будут скопированы. Ну и по абривиатурам имен поймете кто уцелел. |
› Воскресенье
› 22.12.2019
› 14:26
› Сообщение #
АleksSan, вот тут давай поподробнее. То есть можно из буфера обмена во время игры любую инфу в отдельный файл забросить? Скажем, можно ли статусы этих юнитов по окончании миссии засунуть в файл?
|
› Понедельник
› 23.12.2019
› 01:10
› Сообщение #
Да, так делаю когда нужно посмотреть что к чему вышло при отладке миссии, но только с массивами. Или писать скрипт, который нужные данные вставит в массив, а потом он скопируется в буфер. Только в многоразовом тригере по радиокоманде уже запускается фаил скрипта. В файле, свернув игру и изменив в строке имя массива можно вытащить для исследования данные.
Добавлено (23.12.2019, 01:13) |
› Вторник
› 24.12.2019
› 00:00
› Сообщение #
Сохранить ранения и количество боеприпасов, ага. МП кампаху пилю, почти полтора года искал решение сего вопроса, а тут, оказывается, ларчик просто открывался. лол
|
› Суббота
› 11.01.2020
› 23:20
› Сообщение #
А можно фичу из армы 2. когда вертушка падает там такой грязевой след остаеться. А то в 3 арме там просто декаль взрыва и все, не о чем. Есть мод или скрипт какой нить что б такую штуку сделать?
|
› Воскресенье
› 12.01.2020
› 00:02
› Сообщение #
чтото не видел такого.
|
› Воскресенье
› 12.01.2020
› 19:46
› Сообщение #
|
› Вторник
› 14.01.2020
› 23:34
› Сообщение #
AleksSan, на примере сохранения статуса одного юнита (Кол-во б/п, снаряга, ранения) можешь подсказать как эти данные в буфер вытянуть через массив? Никогда с массивами не связывался. И не знаешь ли случайно, как это в инит потом воткнуть? Просто вручную?
|
› Среда
› 15.01.2020
› 00:06
› Сообщение #
sane4ek999,
Посмотри тут https://arma.at.ua/forum/76-6015-1 |
› Воскресенье
› 26.01.2020
› 18:33
› Сообщение #
Уря!!! Разобрался с дверями и погрузочными лифтами на универсальных десантных кораблях (аддон CUP).
Этой инфы не нашел нигде. Всем тем кто искал и не нашел. Имя переменной- "LHD" Assign name to variable - "LHD" 1.1 Открытие докового шлюза Open welldeck [{ private _part = ((position LHD) nearObjects ["CUP_LHD_7", 200]) select 0; _part animate ["door_welldeck", 1]; _part animate ["door_welldeck_2", 1]; _part animate ["door_welldeck_3", 1]; }, [], 0.1] call CBA_fnc_waitAndExecute; 1.2 Закрытие докового шлюза Close welldeck [{ private _part = ((position LHD) nearObjects ["CUP_LHD_7", 200]) select 0; _part animate ["door_welldeck", 0]; _part animate ["door_welldeck_2", 0]; _part animate ["door_welldeck_3", 0]; }, [], 0.1] call CBA_fnc_waitAndExecute; 2.1 Открытие двери ангара 1 наполетной палубе OpenHangarDoor1 (fly deck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_house_1", 200]) select 0; _part animate ["hangar_door_upper_1_2", 1]; _part animate ["hangar_door_base_1", 1]; }, [], 0.1] call CBA_fnc_waitAndExecute; 2.2 Закрытие двери ангара 1 на полетной палубе CloseHangarDoor1 (fly deck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_house_1", 200]) select 0; _part animate ["hangar_door_upper_1_2", 0]; _part animate ["hangar_door_base_1", 0]; }, [], 0.1] call CBA_fnc_waitAndExecute; 3.1 Открытие двери ангара 2 наполетной палубе OpenHangarDoor2 (fly deck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_house_1", 200]) select 0; _part animate ["hangar_door_upper_2_2", 1]; _part animate ["hangar_door_base_2", 1]; }, [], 0.1] call CBA_fnc_waitAndExecute; 3.2 Закрытие двери ангара 2 на полетной палубе CloseHangarDoor2 (fly deck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_house_1", 200]) select 0; _part animate ["hangar_door_upper_2_2", 0]; _part animate ["hangar_door_base_2", 0]; }, [], 0.1] call CBA_fnc_waitAndExecute; 4.1 Открытие обоих дверей ангара 1 и2 на полетной палубе OpenbothHangarDoors (fly deck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_house_1", 200]) select 0; _part animate ["hangar_door_upper_1_2", 1]; _part animate ["hangar_door_base_1", 1]; _part animate ["hangar_door_upper_2_2", 1]; _part animate ["hangar_door_base_2", 1]; }, [], 0.1] call CBA_fnc_waitAndExecute; 4.2 Закрытие обоих дверей ангара 1 и 2 на полетнойпалубе ClosebothHangarDoors (fly deck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_house_1", 200]) select 0; _part animate ["hangar_door_upper_1_2", 0]; _part animate ["hangar_door_base_1", 0]; _part animate ["hangar_door_upper_2_2", 0]; _part animate ["hangar_door_base_2", 0]; }, [], 0.1] call CBA_fnc_waitAndExecute; 5.1 Открытие двери 1 (правый борт"Островка") на полетную палубу Open_door_1 (right side "Island") [{ private _part = ((position LHD) nearObjects ["CUP_LHD_house_2", 200]) select 0; _part animate ["door_1", 1]; }, [], 0.1] call CBA_fnc_waitAndExecute; 5.2 Закрытие двери 1 (правый борт"Островка") на полетную палубу Close_door_1 (right side "Island") [{ private _part = ((position LHD) nearObjects ["CUP_LHD_house_2", 200]) select 0; _part animate ["door_1", 0]; }, [], 0.1] call CBA_fnc_waitAndExecute; 6.1 Открытие двери 4 (левый борт"Островка") на полетную палубу Open_door_4 (left side "Island") [{ private _part = ((position LHD) nearObjects ["CUP_LHD_house_2", 200]) select 0; _part animate ["door_4", 1]; }, [], 0.1] call CBA_fnc_waitAndExecute; 6.2 Закрытие двери 4 (левый борт) на полетнуюпалубу Close_door_4 (left side "Island") [{ private _part = ((position LHD) nearObjects ["CUP_LHD_house_2", 200]) select 0; _part animate ["door_4", 0]; }, [], 0.1] call CBA_fnc_waitAndExecute; 7.1 Открытие двери 5 (внутренняядверь "Островка") Open_door_5 (inner door "Island") [{ private _part = ((position LHD) nearObjects ["CUP_LHD_house_2", 200]) select 0; _part animate ["door_5", 1]; }, [], 0.1] call CBA_fnc_waitAndExecute; 7.2 Закрытие двери 5 (внутренняя дверь "Островка") Close_door_5 (inner door "Island") [{ private _part = ((position LHD) nearObjects ["CUP_LHD_house_2", 200]) select 0; _part animate ["door_5", 0]; }, [], 0.1] call CBA_fnc_waitAndExecute; 8.1 Открытие двери 6 (правый борт"Островка") на полетную палубу Open_door_6 (right side"Island") [{ private _part = ((position LHD) nearObjects ["CUP_LHD_house_2", 200]) select 0; _part animate ["door_6", 1]; }, [], 0.1] call CBA_fnc_waitAndExecute; 8.2 Закрытие двери 5 (правый борт"Островка") на полетную палубу Close_door_6 (right side "Island") [{ private _part = ((position LHD) nearObjects ["CUP_LHD_house_2", 200]) select 0; _part animate ["door_6", 0]; }, [], 0.1] call CBA_fnc_waitAndExecute; 9.1 Открытие дверей 2_1, 2_2 (левый борт "Островка") наполетную палубу Open_doors 2_1 and 2_2 (twine doors on left side"Island") [{ private _part = ((position LHD) nearObjects ["CUP_LHD_house_2", 200]) select 0; _part animate ["door_2_1", 1]; _part animate ["door_2_2", 1]; }, [], 0.1] call CBA_fnc_waitAndExecute; 9.2 Закрытие дверей 2_1, 2_2 (левый борт "Островка") наполетную палубу Close_ doors 2_1 and 2_2 (twine doors on left side "Island") [{ private _part = ((position LHD) nearObjects ["CUP_LHD_house_2", 200]) select 0; _part animate ["door_2_1", 0]; _part animate ["door_2_2", 0]; }, [], 0.1] call CBA_fnc_waitAndExecute; 10.1 Открытие двери 3 (левый борт, средняя палуба,верхний ярус) Open_door_3 (upper door on left side middle welldeck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_4", 200]) select 0; _part animate ["door_3", 1]; }, [], 0.1] call CBA_fnc_waitAndExecute; 10.2 Закрытие двери 3 (левый борт, средняя палуба,верхний ярус) Close_door_3 (upper door on left side middle welldeck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_4", 200]) select 0; _part animate ["door_3", 0]; }, [], 0.1] call CBA_fnc_waitAndExecute; 11.1 Открытие двери 4 (левый борт, средняя палуба,нижний ярус) Open_door_4 (lower door on left side middle welldeck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_4", 200]) select 0; _part animate ["door_4", 1]; }, [], 0.1] call CBA_fnc_waitAndExecute; 11.2 Закрытие двери 4 (левый борт, средняя палуба,нижний ярус) Close_door_4 (lower door on left side middle welldeck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_4", 200]) select 0; _part animate ["door_4", 0]; }, [], 0.1] call CBA_fnc_waitAndExecute; 12.1 Открытие двери 5 (левый борт, средняя палуба,верхний ярус) Open_door_5 (upper door on left side middle welldeck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_5", 200]) select 0; _part animate ["door_5", 1]; }, [], 0.1] call CBA_fnc_waitAndExecute; 12.2 Закрытие двери 5 (левый борт, средняя палуба,верхний ярус) Close_door_5 (upper door on left side middle welldeck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_5", 200]) select 0; _part animate ["door_5", 0]; }, [], 0.1] call CBA_fnc_waitAndExecute; 13.1 Открытие двери 9 (правый борт, средняяпалуба, нижний ярус) Open_door_9 (lower door on right side middle welldeck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_5", 200]) select 0; _part animate ["door_9", 1]; }, [], 0.1] call CBA_fnc_waitAndExecute; 13.2 Закрытие двери 9 (правый борт, средняяпалуба, нижний ярус) Close_door_9 (lower door on right side middle welldeck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_5", 200]) select 0; _part animate ["door_9", 0]; }, [], 0.1] call CBA_fnc_waitAndExecute; 14.1 Открытие погрузочной двери левого борта, нижняяпалуба Open_left_load_doors (load_doors on left side welldeck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_4", 200]) select 0; _part animate ["left_doorright", 0]; _part animate ["left_doorleft", 0]; }, [], 0.1] call CBA_fnc_waitAndExecute; 14.2 Закрытие погрузочной двери левого борта,нижняя палуба Close_left_load_doors (load_doors on left side welldeck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_4", 200]) select 0; _part animate ["left_doorright", 1]; _part animate ["left_doorleft", 1]; }, [], 0.1] call CBA_fnc_waitAndExecute; 15.1 Открытие погрузочной двери правого борта,нижняя палуба Open_right_load_doors (load_doors on right side welldeck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_4", 200]) select 0; _part animate ["right_doorright", 0]; _part animate ["right_doorleft", 0]; }, [], 0.1] call CBA_fnc_waitAndExecute; 15.2 Закрытие погрузочной двери правого борта,нижняя палуба Close_right_load_doors (load_doors on right side welldeck) [{ private _part = ((position LHD) nearObjects ["CUP_LHD_4", 200]) select 0; _part animate ["right_doorright", 1]; _part animate ["right_doorleft", 1]; }, [], 0.1] call CBA_fnc_waitAndExecute; 16.1 Поднятие погрузочного лифта правого борта Top_right_elevator [{ private _part = ((position LHD) nearObjects ["CUP_LHD_elev_2", 200]) select 0; _part animate ["elev_ext_2", 1]; }, [], 0.1] call CBA_fnc_waitAndExecute; 16.2 Опускание погрузочного лифта правого борта Bottom_right_elevator [{ private _part = ((position LHD) nearObjects ["CUP_LHD_elev_2", 200]) select 0; _part animate ["elev_ext_2", 0]; }, [], 0.1] call CBA_fnc_waitAndExecute; 17.1 Поднятие погрузочного лифта левого борта Top_left_elevator [{ private _part = ((position LHD) nearObjects ["CUP_LHD_elev_1", 200]) select 0; _part animate ["elev_ext_1", 1]; }, [], 0.1] call CBA_fnc_waitAndExecute; 17.2 Опускание погрузочного лифта левого борта Bottom_left_elevator [{ private _part = ((position LHD) nearObjects ["CUP_LHD_elev_1", 200]) select 0; _part animate ["elev_ext_1", 0]; }, [], 0.1] call CBA_fnc_waitAndExecute; Добавлено (26.01.2020, 18:54) Добавлено (26.01.2020, 19:11) |
› Четверг
› 06.02.2020
› 16:34
› Сообщение #
Здравствуйте, кто-нибудь играл в ARMA 3 Первый шаг миссия Свершившийся факт? Я дошёл до госпиталя а дальше не знаю что делать, я уже и вылечил больных и всех врагов убили и ничего не происходит. Я пытался вызвать ambulanсe и санитаров, но опять ничего, вызвать нельзя. Может что-то ещё сделать нужно или это глюк, видео с прохождением этой миссии практически не нашёл ( нашёл одно, но оно тоже не до конца, он прошёл ближе чем я). В самом начале можно выбрать убрать миномётный расчёт или штурмовать город, я выбрал второе, скажите если я поменяю на уничтожить миномёт, сценарий измениться дальше или нет? Вообщем вот такие вопросы. Если я убиваю тех кто в госпитале, миссия сразу провалена
|
› Воскресенье
› 12.04.2020
› 12:05
› Сообщение #
1. В моей миссии сражаются по 12 групп с каждой стороны. Для информирования игрока о ходе битвы и потерях сторон созданы такие триггеры:
условие ({alive _x} count units otd1) == 0; при активации hint "Отделение 1 погибло"; "otd1" setMarkerText "Отделение 1 погибло"; Понятно что таких триггеров 24 и это, скажем так, много. Существует ли возможность объединить все условия в два триггрера, по одному для каждой из сторон, примерно так: условие ({alive _x} count units otd1) == 0; OR ({alive _x} count units otd2) == 0; OR ({alive _x} count units otd2) == 0;........ при активации hint format ["Группа, %1, погибла", имя погибшей группы]; createMarker [имя погибшей группы, позиция погибшей группы]; "имя погибшей группы" setMarkerText "Группа имя погибшей группы погибла"; 2. В чем существенная разница между такими условиями (работают они вроде одинаково): ({alive _x} count units otd1) == 0; (понятно, что тут считают только живых) и (count (units otd1)) == 0; (но это тоже работает, когда последний из группы погибает, то триггер срабатывает). Добавлено (12.04.2020, 12:34) Добавлено (12.04.2020, 12:41) |
› Воскресенье
› 12.04.2020
› 12:42
› Сообщение #
По п1 проще зацикленный на проверке групп скрипт написать чем тригерами далать. По п2 {alive _x} проверяется живые юниты, во втором коде результат станет истиной когда игра поймет что все в группе погибли, а на это может уйти много времени после гибели всех. К примеру одной ракетой уничтожили всю группу едущей в грузовике, {alive _x} сразу же отобразит живых в группе нет, тогда как (count (units otd1)) == 0 сработает через минуту после уничтожения.
|
| |||
Чат сайта |