Модератор форума: GUNNER161, Panikaha |
Форум РЕДАКТОР - ArmA 3 Скрипты Скриптовые команды (всякая всячина) |
Скриптовые команды |
› Суббота
› 26.10.2013
› 12:15
› Сообщение #
Eaftefun, мне Slon делал скрипт, правда, для второй Армы
Вот пример для пистолета Код { _tx = getNumber (configFile >> "CfgWeapons" >> _x >> "type"); if (_tx == 2) exitWith {Player removeWeapon _x}; } forEach (weapons Player); Про шлем не знаю, не видел CfgVehicles Config от третьей. |
› Суббота
› 26.10.2013
› 12:29
› Сообщение #
|
› Среда
› 30.10.2013
› 16:31
› Сообщение #
Как сделать условие, если лидер группы Group_Bravo увидит хоть одного юнита стороны противника?
Пробовал так: Код leader Group_Bravo knowsAbout _x > 0 and Side _x == sideEnemy > 0 |
› Среда
› 30.10.2013
› 18:39
› Сообщение #
Eaftefun, мне очень сильно кажется, что _x должно быть в паре с foreach, ибо описывает элементы какого-либо массива. Я бы еще скобок добавил:)
Как-то так.. Код {((leader Group_Bravo) knowsAbout _x > 0) and (Side _x == sideEnemy > 0)} foreach AllUnits У меня в чем-то похожая ситуация.. Внутри основного скрипта запускается новый.. идея такая.. стоят два чела, делают себе разные там анимашки. Как только в зоне триггера появляются красные, они должны всячески испугаться и сделать ноги. Код [] spawn { waituntil {(east countSide list battle1) > 1}; hint "Шухер!"; {_x switchmove ""; _x allowFleeing 1; _x forceSpeed 3; _x setBehaviour "STEALTH";} foreach [sheepman1, sheepman2]; }; Важно ли, кем активируется этот триггер? К моменту "испуга" сам триггер еще не активирован, он просто есть .. или тоже knowsabout сделать.. Сообщение отредактировал andrucio - Среда, 30.10.2013, 18:59
|
› Среда
› 30.10.2013
› 19:09
› Сообщение #
|
› Среда
› 30.10.2013
› 20:03
› Сообщение #
Уже не помню у кого содрал скрипт обороны в окопе. Там боец при недостатке патронов опускался на колено и автоматически пополнял боезапас. Решил перенести скрипт в Arma 3 с добавлением того, что при использовании всех патронов, солдат двигается к ближайшему ящику с боеприпасами и там пополняется. Скрипт перестал работать как новый, так и оригинальный. Где ошибка?
//первый параметр из запускающей строки [this]- это он _un = _this select 0; // позиция бойца _pos = getPos _un; // установить позицию "стоя" _un setUnitPos "Up"; // определение оружия _vp = primaryWeapon _un; // определение магазина _mg = (magazines _un) select 0; // запуск цикла, выполняется пока стрелок жив While {alive _un} do { hint format ["%1", _mg] ; // ожидание, закончится магазин или убъют стрелка {(_un ammo _vp < 1) or !(alive _un)}; // поиск ящика с боеприпасами в радиусе 100м _Ammo = nearestObjects [_pos, ["Box_East_Ammo_F"], 100]; // один из найденных ящиков _yachik = _Ammo select 0; // позиция ящика _posYa = getPos _yachik; // боец передвигается к ящику с боеприпасами _un Move _posYa; // установить позицию "на колено" _un setUnitPos "Middle"; // проверка наличия магазинов, если кончились добавит 4 штуки if !(_mg in (magazines _un)) then {{_un addMagazine _mg} forEach [0,0,0,0]}; // пауза 2 сек, стрелок перезаряжает оружие sleep 2; // установить позицию "стоя" _un setUnitPos "Up"; // боец возвращается на позицию _un Move _pos; // возврат в начало цикла }; |
› Среда
› 30.10.2013
› 20:05
› Сообщение #
Slon,
Триггер на независимых с условием {alive _x} count thislist < 1, он просто по ходу действия нужен, типа "убей их всех" и после активации получишь конфетку, т. е. продолжение сюжета.. а я решил на него еще и бегство этих челов повесить, благо размер зоны подходящий.. видимо, неправильно решил.. Челы -CIV, атакующие EAST Сообщение отредактировал andrucio - Среда, 30.10.2013, 20:10
|
› Среда
› 30.10.2013
› 21:54
› Сообщение #
Индеец,
// ожидание, закончится магазин или убъют стрелка WaitUntil {(_un ammo _vp < 1) or !(alive _un)}; |
› Среда
› 30.10.2013
› 22:12
› Сообщение #
|
› Четверг
› 31.10.2013
› 02:12
› Сообщение #
Eaftefun,
если это условие для триггера, то так. триггер для стороны противника {leader Group_Bravo knowsAbout _x > 0} count thisList > 0 |
› Четверг
› 31.10.2013
› 10:07
› Сообщение #
SideEnemy - это ренегаты, у кого рейтинг ниже нуля. Сначала надо определить кто противник, потом сделать список а потом из них выбрать кого видели.
Например, Твоя группа стороны East, противники West и Resistance делаем список всех на карте West и Resistance и проверяем видел ли его лидер, если видел, заносим в список. _ms = []; _Ld = leader Group_Bravo; { if (Side _x in [West, Resistance]) then { if (_Ld knowsAbout _x > 0) then {_ms set [count _ms, _x]} } } forEach AllUnits; массив _ms содежит список виденных противников. как условие это можно написать вот так _Ld = leader Group_Bravo; {if (Side _x in [West, Resistance]) then {_Ld knowsAbout _x > 0}} count AllUnits > 0 |
› Пятница
› 01.11.2013
› 10:56
› Сообщение #
Slon, не подскажешь как сделать.
Скрипт FSM запускается так [helicopter, position_base] exec FSM "script.fsm" или [helicopter, objNull] exec FSM "script.fsm" в скрипте, в первом блоке: Код _heli = _this select 0; _pos = _this select 1; If (isnil ("_pos")) then { _pos = position _heli; }; т.е. я хочу сделать так: если позицию вертолета не указать при запуске, то позиция вертолета будет его текущей позицией. в нужном блоке пишу: Код _heli doMove getpos _pos; но вертолет просто летит в конец карты |
› Пятница
› 01.11.2013
› 12:24
› Сообщение #
Как через триггер приказать солдату перейти во взвод?
STRANGER
|
| |||
Чат сайта |