арма 3 скрипты для ботов
Создание группы ботов в скрипте
Вопрос звучит так-как в скрипте создавать группу солдат состоящих с разных солдат( например пары десантников,снайпера и стрелка),как дать имя группе,среди них обозначить командира.
Буду очень благодарен за за «всепоясняющий» ответ_тоисть-что-куда-как и зачем.
p.s. учусь основам скриптов Армы)
p.p.s, как сделать это в самом редакторе-знаю))
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
спасибо за ответ_Вы мне помогли.
насчет координат [x,y,z] если кто не знает как узнать нужные
ставите тригер на активацию радио Альфа-потом в иницилизации тригера пишете
Загружаете мисcию.и в зоне действия тригера находите своим персом нужную позицию и можете вызвать радио Альфа(001)-тем ВЫ скопируете координаты в буфер обмена.
В продолжение темы-Как в том же скрипте назначить «название»(имя) юнитам(каждому свое) и сделать одного играбельным?и как в этой группе обозначить командира?
SanzySky , координаты очень легуо узнать:
спасибо за совет-но мне как то проще способом описаным мной чуть выше(спасибо бызименному автору)))
правда такой способ только подходит для «наземных» целей но мне пока достаточно))
Ваш метод я также приму во внимание.
Как в том же скрипте назначить «название»(имя) юнитам(каждому свое)
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
«superMAN»; (это в инициализации юнита/тезники)
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
«superMAN» (Этого юнита можно будет выбрать только при заходу в гру, когда игра уже давно идет или в сингле по нажатию какойто кнопки во второй половине 1 строчки букв на клавиатуре (непоню))
как в этой группе обозначить командира?
setPlayable «superMAN» (Этого юнита можно будет выбрать только при заходу в гру, когда игра уже давно идет или в сингле по нажатию какойто кнопки во второй половине 1 строчки букв на клавиатуре (непоню))
жаль однако что нельзя поставить управление по умолчанию
короче_если в init.sqf напишу например
_group01 = createGroup WEST;_group01 = createGroup WEST;
«B_Soldier_02_f» createUnit [[x,y,z], _group01, «this», 0.5, «corporal»];
и так далее про других солдатов-боты группы создаются но в иницилизации юнитов (про имена и ранги и играбельность) туплю с синтаксисом что то-не выходит ничего.
прошу помощи-как правильно писать в скрипте(там где иницилизация) то что написано уважаемым vlad333000 в шестом посте этой темы?
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
_group01 = createGroup WEST;_group01 = createGroup WEST;
«B_Soldier_02_f» createUnit [[x,y,z], _group01, «this setVehicleVarName
такой код в init.sqf результата нужного не дал и notepad ++ ругается на синтаксис в иницилизации
юниты появляются но без нужного командования и играбельности одним с них(
конечно_координаты забил-в другом случае я просто не увидел бы скриптового вояку)))
а насчет нотепада-я так сказал потому что он подсвечивает ошибку
хоть в даном случае ошибка не влияет на игру-без вылета на карте
а замутил эту тему потому как учу основы скриптов армы и хотел узнать как можна сделать скриптом простейшие манипуляции в редакторе
Список простых скриптов для ARMA 3 от Zloi
Данный небольшой шаблон с примерами скриптов для ваших миссий, взят из праздничного набора миссий от Zloi. Набор вы можете скачать тут – G.Disk
Список простых скриптов для ARMA 3
Отключает сообщения по рации от ботов
Текст на экране
titletext [«Стрелок: Стрелок вызывает блокпост-3.»,»plain down»];
Активирует триггер, если в нём игрок
player in thislist;
Запуск скрипта
nul = [] execVM «move.sqf»
бесконечные патроны
играть звук
повреждение техники и юнитов 1 – полностью уничтожена
добавляет действие игроку. В данном случае игрок выпрыгивает их вертолёта
player action [«Eject», vert];
удаляет обеъект на карте
bomb=»Bo_GBU12_LGB» createVehicle (getPos имя переменной);
поворот башни танка
vehicle animateSource [«MainTurret», rad 90];
отключает юниту возможность двигаться
this disableai «move»;
enableai – включает обратно
Открывает или закрывает рот у юнита. Нужно для роликов.
Zloi setRandomLip true\false;
отключает радиопереговоры в миссии
стрельба по мишеням
s doTarget t; s doSuppressiveFire t;
боец, никогда не отступай!
стрельба по объектам (стрелок – стрелок танка).
strelok1 doSuppressiveFire (getposASL target1);
стрельба на подавление
Vert doWatch band2;
Vert fireAtTarget [band2];
разрешает или запрещает повреждение юнита
UNIT allowdammage True/False;
высота полёта
MyHeli FlyInHeight 100;
дистанция
выстрел из рпг
_unit selectWeapon «класс РПГ»; _unit doSupressiveFire _target;
Включает или выключает осветительные приборы на технике UNIT
Синтаксис:
UNIT switchlight True/False;
добавляет активацию скрипта через меню
player addAction [«Hello», «hello.sqs»];
текстура для флага
RusFlag setFlagTexture «rus_vlajka.pac»;
присоединяет юнитов к группе
[s1,s2,s3] join (group Zloi );
отсоединяет юнита от группы.
[unit1,unit2. ] join grpNull;
землетрясение
[1] call BIS_fnc_earthquake;
задает скорость юниту
запрещает юниту отступать, если 1 – разрешает
THIS allowfleeing 0;
вставить видеоролик
[«clip.ogv»] call BIS_fnc_playVideo; end=true;
запись движения вертолёта со стрельбой
rec = [vehicle player,200,20,true] spawn BIS_fnc_UnitCapture;
синрониирует объект с модулем
kir synchronizeObjectsAdd [modul1];
бесконечные патроны
прикрепляет камеру к юниту, чтобы её открепить- detach camera
camera attachTo [unit, [0,0,0];
устанавливает флагу fl текстуру и прикрепляет его к технике с именем bmd
fl setFlagTexture «ukr.paa»;fl attachTo [bmd, [0.85,-0.7,2.0]];
Устанавливает режим поведения группы или юнита. Поведение может быть одним из: “CARELESS”, “SAFE”, “AWARE”, “COMBAT”, “STEALTH”.
groupOne setBehaviour «SAFE»;
построение линией
groupOne setFormation «LINE»;
команда на координаты камеры
this exec «camera.sqs»;
отключает возможность сохраняться, отключает хад, черный экран
«BIS_fnc_quotations_disabledSave» call BIS_fnc_disableSaving;
showHUD false;
[«BIS_fnc_quotations_blackScreen», false] call BIS_fnc_blackOut;
Перемещает юнита мгновенно на место водителя в вертолёт
Hardy moveInDriver vert;
командир
soldierOne moveInCommander jeepOne;
пулемётчик
soldierOne moveInGunner jeepOne;
В ините газонокосилки вписать команду убирает траву
текст посреди экрана
[«КАМПАНИЯ БОЛЬ ДОНБАССА»,-1,-1,4,1,0,789] spawn BIS_fnc_dynamicText;
открытие шлагбаума obj
obj animate [«door_1_rot», 1];
закрытие шлагбаума obj. Ну и в триггере в поле активации команду на открытие прописать, а в поле деактивации – команду на закрытие. Поставить галочку “повторяемый”, чтобы поле выхода из зоны триггера шлагбаум закрылся за тобой
obj animate [«door_1_rot», 0];
интересный текст на экране
движение s1 к Zloi
s1 move getpos Zloi;
Скрипт на случайные разговоры. Вот пример, каждые 3 секунды бот будет говорить любую из этих восьми фраз, пока его не убьют.
while
<
_sound = selectRandom [«akbar1″,»akbar2″,»akbar3″,»akbar4″,»akbar6″,»akbar7″,»akbar8»];
c1 say3d _sound;
sleep 3;
>;
смена персонажа.
добавление оружия
geroy addWeaponItem [«rhs_weap_pkp», «rhs_acc_pso1m21»];
команда удаляет перечень объектов
разрешает повреждать юниты из перечня
<_x allowDamage TRUE>ForEach [pulem, pulem2, pulem3, pulem4, strelok1, str2];
создаем вйпоинт для группы b
_wp1 = group b addWaypoint [[7997.26,9840.82,0],0];//добавляем вейпоинт
_wp1 setWaypointType «MOVE»;//двигаться
_wp1 setWaypointFormation «ECH RIGHT»;// правый клин
_wp1 setWaypointSpeed «FULL»;//скорость полная
_wp1 setWaypointStatements [«true», «»];
Иванов, к маркеру шагом-марш…
ivanov doMove (getMarkerPos «markIvan1»);
Как дойдешь и будешь готов,
waitUntil <;unitReady ivanov;>;
Повернись к игроку лицом
ivanov lookAt geroy;
Дадим время на разворот
sleep 1;
Замри
ivanov disableAI «move»;
Пистолет опусти
ivanov switchMove «Acts_AidlPercMstpSnonWnonDnon_warmup_2_loop»;
команда делает игрока не играбельным, а простым юнитом, что позволяет в кад-сцене им управлять командами на движение
а эта команда делает игроком юнита с именем geroy
Альтернатива выводу картинок в миссии.
[«Путь к картинке»,0,-0.10,13,0,0] spawn bis_fnc_dynamicText;
делаем игрока «пленным».
player setCaptive true;
выгрузка пехотинца
s1 leaveVehicle vert ;
как легко посадить бота на стул.
[имя, «SIT», «имя стула»] call BIS_fnc_ambientAnim;
условие на дистанцию в сгф
wpF setWaypointStatements [«true», «прописать команду на выход»];
прикрепляем флаг к БТР 80
fl4 setFlagTexture «ukr.paa»;fl4 attachTo [btru, [0.85,-2,0.9]];
отключает ввод с клавиатуры. Используется в роликах.
Land Заставляет вертолет приземлиться. Режим приземления может быть “LAND” (полная остановка), “GET IN” (низкое парение, чтобы другие юниты могли войти), “GET OUT” (низкое парение, чтоб GET IN ы другие юниты могли выйти). cobraOne land “LAND” пример:
закрывает технику для игрока.
удаляет маркер на карте
пропускает время.
заставляет юнит остановиться.
soldierOne stop true;
Позволяет делать затенение экрана, или выход из затенения, все это может сопровождаться текстом. Формат effect – [текст, затемнение, продолжительность]. Затемнение может быть: “BLACK OUT”, “BLACK IN”, “BLACK FADED”, “BLACK”, “WHITE OUT”, “WHITE IN”.
titleCut [«Guns of Steel»,»BLACK IN»,2.5];
отключение двигателя
vert engineOn false;
выдаёт боту с именем s5 парашют
s5 addBackpack «B_Parachute»;
рандомизация времени.
skipTime round random 24;
добавляют юниту в рюкзак прицел ПСО из РХС.
(unitBackpack this) addItemCargo [«rhs_acc_pso1m21»,1];
юнит включает фанарик.
unit enableGunLights «forceOn»;
vasya – имя нового бойца и делай с ним что хошь (определи в иную группу, заспавми на иной позиции, на любом расстоянии, дай ему любую команду и т.д.)
vasya = group player createUnit [«B_Soldier_GL_F», position player, [], 0, «FORM»]; vasya allowDamage false;
Скрипт респавна ботов, их снаряжение и маршрутные точки
Чтобы поменять ботам снаряжение, можно использовать команды вроде addWeapon, addMagazine, addBackpack, addUniform, addVest и их варианты с remove (т.е. removeWeapon и т.д.). То есть, в твой скрипт можно будет дописать:
Маршрутные точки создаются при помощи команды addWaypoint и затем настраиваются при помощи setWaypoint. http://community.bis. roup:_Waypoints например
Для зацикливания нужен тип «CYCLE», создаешь этот вейпоинт последним.
Для удаления трупа, можно написать следующее при создании ботов:
Тогда труп будет немедленно удаляться после смерти бота. Если нужна задержка, вызывай из ивент хендлера скрипт, в котором будет использоваться команда sleep (в коде самого ивента ее использовать нельзя).
Писал это все не проверяя параллельно в самой Арме, так что может где-то накосячил.
Прошу помощи профессионалов, помогите доработать скрипт до желаемого. Вот так он выглядит сейчас:
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Чтобы поменять ботам снаряжение, можно использовать команды вроде addWeapon, addMagazine, addBackpack, addUniform, addVest и их варианты с remove (т.е. removeWeapon и т.д.). То есть, в твой скрипт можно будет дописать:
Маршрутные точки создаются при помощи команды addWaypoint и затем настраиваются при помощи setWaypoint.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Для зацикливания нужен тип «CYCLE», создаешь этот вейпоинт последним.
Для удаления трупа, можно написать следующее при создании ботов:
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Тогда труп будет немедленно удаляться после смерти бота. Если нужна задержка, вызывай из ивент хендлера скрипт, в котором будет использоваться команда sleep (в коде самого ивента ее использовать нельзя).
Писал это все не проверяя параллельно в самой Арме, так что может где-то накосячил.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Чтобы поменять ботам снаряжение, можно использовать команды вроде addWeapon, addMagazine, addBackpack, addUniform, addVest и их варианты с remove (т.е. removeWeapon и т.д.). То есть, в твой скрипт можно будет дописать:
Маршрутные точки создаются при помощи команды addWaypoint и затем настраиваются при помощи setWaypoint.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Для зацикливания нужен тип «CYCLE», создаешь этот вейпоинт последним.
Для удаления трупа, можно написать следующее при создании ботов:
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Тогда труп будет немедленно удаляться после смерти бота. Если нужна задержка, вызывай из ивент хендлера скрипт, в котором будет использоваться команда sleep (в коде самого ивента ее использовать нельзя).
Писал это все не проверяя параллельно в самой Арме, так что может где-то накосячил.
В любом случае огромное спасибо, информация очень полезна для меня. Сегодня постараюсь все опробовать и обязательно отпишусь по решению этого вопроса. Со скриптами только пытаюсь подружиться, пока что по прежнему с ними на «ВЫ». Судя по примерам в sqf используется тот же самый синтаксис и все правила написания скрипта в целом что и sqs? И кстати та циферка «1» вроде как означает уровень бота, хотя я могу ошибаться, так как данный скрипт собирал по частям из готовых скриптов.
На счет респавна ты прав с помощью повторяющегося триггера
Судя по примерам в sqf используется тот же самый синтаксис и все правила написания скрипта в целом что и sqs?
Нет. Они похожи, но нет. Советую ознакомиться с матераилами, представленными вот здесь:
Если же вы умеете в английский, то не лишним будет пройтись по первоисточникам,- они содержат ссылки на похожий и относящийся к теме материал. Правда, в БИСовской документации неприлично много ошибок, и зачастую, если просто взять их пример, то работать не будет.
P.S. А для тех, кто только-только начинает нырять в скрипты, скоро выйдет самоучитель, от нуля до готового скрипта с объяснениями.
P.S. А для тех, кто только-только начинает нырять в скрипты, скоро выйдет самоучитель, от нуля до готового скрипта с объяснениями.
Это бы было отлично, я надеюсь он будет тут выложен?
Это бы было отлично, я надеюсь он будет тут выложен?
Да, разумеется. Он в трёх частях, и первую часть я намерен выложить уже в эти выходные.
Да, разумеется. Он в трёх частях, и первую часть я намерен выложить уже в эти выходные.
Надеюсь у меня хватит ума, чтобы понять все что там будет изложено и наконец то начать воплощать свои задумки в жизнь)
Используй вот этот вариант createUnit как описано тут:
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Подскажи что не так делаю? По указанной ссылке скопировал пример и теперь пытаюсь его подогнать под нужный мне эффект:
Странно но вот так
А вот сочетание этой команды и
[color=#ff0000;]_wp = _group1 addWaypoint [getMarkerPos «wp1»,0];[/color]
unit1 = «B_G_soldier_SL_F»[color=rgb(255,0,0);] ,[/color] createUnit [getMarkerPos «Spawn»,_group1];
Запятую нужно удалить обязательно, иначе ошибка.
Djon , я бы добавил команду sleep чтобы дать время, а то возможно идет пропуск команд, когда юнит еще в процессе создания. Другого объяснения пока не приходит в голову.
Обычный createUnit вроде как не возвращает значения, поэтому unit1 не определен и соответственно манипуляции с инвентарем не проходят. Нужно использовать createUnit array вот таким образом:
unit1 = _group1 createUnit [«B_G_Soldier_SL_F»,getMarkerPos «Spawn»,[],0,»FORM»];
unit1 = createUnit [«»,getMarkerPos «Spawn»,[],0,»FORM»];
Это увы не помогает(
А присваивается ли убитым ботам какое то общее имя или значение к которому можно обратиться? к примеру возможно ли сделать глобальную команду на удаление трупов? с командой задержки Sleep попробую разобраться сам, а то у вас и так времени отнял много)
Да, извини, из универа пишу, поэтому поторопился и не дописал команду правильно. Отредактировал пост.
По поводу аргументов createUnitArray:
юнит = группа createUnit [«тип_юнита»,координаты,[массив маркеров],радиус,»special»];
Юнит появится на точке с указанными координатами. Если массив маркеров не пустой, то юнит появится случайным образом на одном из маркеров. Если указан радиус больше нуля, то юнит появится случайным образом в круге указанного радиуса, с центром в выбранной точке.
Да, извини, из универа пишу, поэтому поторопился и не дописал команду правильно. Отредактировал пост.
Да все ОК) Без тебя вообще бы ни чего не получилось у меня) Если не чем заняться будет подскажешь на счет задержки исчезновения ботов, пытаюсь сам сейчас разобраться но чувствую не получится(( Я так понял в скрипте мы присвоили имя боту «Unit1» и это имя можно использовать в дальнейшем? То есть если я сделаю скрипт в котором буду ссылаться на это имя он будет работать? Ну или триггер допустим с [color=#ff0000;]not alive unit1[/color]? Я так понял ты написал что если нужна задержка то после смерти бота нужно вызвать отдельный скрипт в котором будет сначала [color=#ff0000;]sleep[/color] а потом [color=#ff0000;] unit1 [/color] addEventHandler[«Killed»,
но увы не работает, хотя триггер видит имя unit1.
Наверно это слишком просто?))
Косяк уже понял, но исправить как, пока не знаю. в скрипте не должно в этом случае быть условий о смерти бота а только удаление трупа.
Исправил) триггер с инитом not alive unit1 и активацией скрипта, в скрипте
Не нужно делать триггером, делай ивент хэндлером. Ивент хэндлеры (обработчики событий) выполняют код при каких то событиях, например, упомянутый ранее «Killed» выполняется при смерти юнита, и не нужно ставить триггер, который каждую секунду выполянет проверку на состояние здоровья бота.
Каждому боту назначаешь ивент хендлер, как я написал выше: unit1 addEventHandler[«Killed»,
В данном случае, при смерти бота unit1 выполняется код
Ну то есть, ты можешь своим ботам задавать при создании ивент хендлер
А потом при помощи блокнота создать файл bot_killed.sqf, закинуть его в папку с твоей миссией (миссии лежат в «Моих документах» в папке Армы), и написать там следующее:
Также в этот скрипт можешь добавить еще что угодно, например сообщение при смерти бота: hint «Bot Killed!»;
В общем, посмотри пример,прикрепил к посту.
Арма 3 скрипты для ботов
Запрещает юниту отступать, если 1 – разрешает
this allowfleeing 0;
Не двигаться до первого контакта
doStop this;
Текст посреди экрана
[«ОПЕРАЦИЯ ПЕРДЕЖ»,-1,-1,4,1,0,789] spawn BIS_fnc_dynamicText;
Текст на экране
titletext [«Штаб: Старший Прапорщик Головнюк убит в бою.»,»plain down»];
Изменение лиц у игроков (у ботов можно в идентификации редактора поменять)
У игроков по умолчанию ставится его лицо в настройках
В инициализации пишется следующая команда:
this setFace «лицо»;
В инициализации газонокосилки вписать команду убирает траву
setTerrainGrid 50;
Увеличить или уменьшить объект
В инициализации объекта пишем следующее
this setObjectScale ЧИСЛО;
Землетрясение
[1] call BIS_fnc_earthquake;
Плавное появление текста(по дефолту цвет красный)
[«Пульс потерян», 2, 3, [1,0,0,1], true] spawn BIS_fnc_WLSmoothText;
Всплывающий текст
Примерно такие еще есть в 3den(мод), но там их мало
[
[
[«После попадания в голову 50 калибром, «, «align = ‘center’ shadow = ‘1’ size = ‘0.7’ font=’PuristaBold'»],
[«Морг», «align = ‘center’ shadow = ‘1’ size = ‘0.7’», «#aaaaaa»],
[«»,»
«], [«10 минут спустя. «,»align = ‘center’ shadow = ‘1’ size = ‘1.0’»]
]
] spawn BIS_fnc_typeText2;
Статья AAN(новости)
[
[
[«title»,»My Title»],
[«meta»,[«Katherine Bishop»,[2035,2,24,11,38],»CET»]],
[«textbold»,»This is a bold text»],
[«image»,[«\a3\Missions_F_Orange\Data\Img\orange_overview_ca.paa»,»Some image description»]],
[«box»,[«\a3\Missions_F_Orange\Data\Img\Faction_IDAP_overview_CA.paa»,»You won’t believe how playing Showcase Laws of War can change your life!»]],
[«text»,»Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi tincidunt pretium ultricies. Etiam ac ornare est, quis posuere nisl. Mauris facilisis lectus eu turpis maximus consequat. Donec ut metus nec risus tristique mattis. Ut posuere rutrum tellus, ut molestie orci mattis id. Cras ultrices euismod diam, in venenatis nunc commodo eget. Interdum et malesuada fames ac ante ipsum primis in faucibus. Morbi congue dolor rutrum lectus euismod, ac faucibus magna molestie. Aliquam in libero sit amet eros sagittis tristique. Nam pellentesque dignissim aliquam.»],
[«textlocked»,[«Sed non est risus. Nulla condimentum at leo sed bibendum. Phasellus laoreet sit amet leo tincidunt consequat. Curabitur nec hendrerit purus. Nam massa nisi, mattis in aliquet consectetur, ornare eget nibh. Nunc dignissim, nibh sit amet ultrices tincidunt, mi nulla fermentum quam, non condimentum dolor eros vulputate massa.»,»SUBSCRIBE PLZ»]],
[«author»,[«\a3\Missions_F_Orange\Data\Img\avatar_journalist_ca.paa»,»Katherine Bishop is a journalist»]]
]
] call BIS_fnc_showAANArticle;
Это мой вариант, цепь сценариев которые я готовлю для своих людей
Эффект будто вас ранило
call BIS_fnc_indicateBleeding;
Опустить пистолет
this switchMove «Acts_AidlPercMstpSnonWnonDnon_warmup_2_loop»;
Служит базой для:
Скриптов;
Воспроизведения звука, голоса, музыки, окружения, слоев интерфейса;
Окончания или поражения для сценария;
И прочего..
Активатором может быть как любой объект(проп) так и человек, игрок, ИИ, группа людей(задать владельца триггера)
— второй в основном используется если подключается триггер для активации.
Создание и состояние задания нужно синхронизовывать между собой, чтобы оно РАБОТАЛО.
Либо это(Не рекомендую использовать Ахилес и Зевс одновременно, функции они выполняют одинаковые, а некоторые панели будут только мешать(будут накладываться друг на друга))
https://steamcommunity.com/sharedfiles/filedetails/?id=1779063631&searchtext=Zeus
Закрыть карту
Модуль позволяет закрасить ненужные участки карты темным цветом. Размер можно настроить в трансформации, либо нажать клавишу «5» предварительно нажав на модуль.
Показать\скрыть объект
Полезная штука, при хорошей комбинацией с триггерами дает неплохие действия, которые происходят вокруг игрока.
Постобработка
Крутая вещь, можно накладывать другой тон атмосфере
Вызов поддержки
Обязательно синхронизируем между собой!
—Вроде перестает работать если человек умерает(для сетевых режимов с воскрешением)
Крутая вещь, можно проводить в ней работы от простой замены лица, до каких-нибудь кастомных вещей, например музыки.
Выше изложен 1 вариант, но тут будет конкретно тот случай, когда это будет работать в мультиплеере всегда.
Лицо, голос, позывной группы, тон голоса, маска(ну то что на лице перса)
Выглядит это вот так:
class CfgIdentities
<
class Pawel
<
name = «Pawel»;
nameSound = «None»;
face = «CamoHead_White_09_F»;
glasses = «None»;
speaker = «Male01ENGB»;
pitch = 0.9;
>;
class Wel
<
name = «Wel»;
nameSound = «None»;
face = «CamoHead_Greek_07_F»;
glasses = «None»;
speaker = «Male04ENGB»;
pitch = 1.1;
>;
Там где «None» это не значит что его нету, просто это означает, что оно не используется
Можете даже покликать на них и понять какая скобка с какой связывается, если «конечной» нету, то в миссии вам скорее всего выдаст ошибку, мол на такой то линии у вас некорректно и тд.
С этим мы закончили. Теперь в арме создаем триггер и пишем в нем playsound «название вашей музыки в дискрипшин»;
Вообщем вот так: playsound «boevoirubej»;
И все. Заходим проверяем, слушаем.
Создаем в папочке миссии папку и называем ее sounds
Кидаем туда нашу музыку
Теперь дискрипшн, аналогично.
Пишем в нем следующее
class CfgSounds
<
sounds[] = <>;
class вашамузыка
<
name = «вашамузыка»;
sound[] = <"\sounds\вашамузыка.ogg", 300, 1>;
titles[] = <0,"">;
>;
>;
ТЕПЕРЬ! В игре мы просто добавляем следующее нашему объекту
Задаем имя переменной (в моем случае c1)
И в инициализации вбиваем это
c1 addAction []; RemoveAllActions (_this select 0) select 0;>, [], 6, true, true, «», «», 6];
Пишем следующее в Init
«one» setMarkerAlpha 0;
«two» setMarkerAlpha 0;
В триггере пишем следующее
«one» setMarkerAlpha 1; «two» setMarkerAlpha 1;
(актуально использовать, как какие-нибудь разведданные)
Ну тут все просто
Кидаем в папку с миссией свою картинку в формате .jpg
Далее указываем путь к ней