Jump to content
Sign in to follow this  
aspire

Tear-Gas and AI with gasmasks

Recommended Posts

Basically what I want to happen is that when a trigger is set off, a pretty big cloud of teargas gets 'spawned' in the entire citycenter of chernogorsk. Also I need the AI to actually wear the gasmasks.

Help appreciated!

Share this post


Link to post
Share on other sites

Is this using ACE ?

If not there isn't any gas masks in Vanilla Arma2

Share this post


Link to post
Share on other sites

The gasmask problem has been written about lengthily. There's no way to make the AI wear them.

Share this post


Link to post
Share on other sites
The gasmask problem has been written about lengthily. There's no way to make the AI wear them.

LoL? just setidentity can put them up. The only problem its that IA still suffer some effects( not really efects, just runs around xD, not as bad as without it).

["ace_sys_goggles_setident2", [_AIunit, "ACE_GlassesGasMask_US"]] call CBA_fnc_globalEvent;
_AIunit setVariable ['ACE_Identity',"ACE_GlassesGasMask_US",true];

_IAunit its the IA you want to put the mask on... make a loop if you want a lot of them to put their mask :P.

IF the area its too big, i would remocend not to use teargass nades to create the gass, just script the effect. There are more than one already written around, or you can just modify ACE one. Here one example( not tested)

if (isDedicated) exitwith{};
if (!(isnil 'Colum_gas_Liberado')) exitwith{};
Colum_gas_Liberado=true;
_colum_gas_Maxdistance=500;

While {(player distance (getMarkerPos "Colum_gas_Center")) <=_colum_gas_Maxdistance} do {

player setVariable ["ace_gassed",false,false];
_hasMask = player getVariable ["ACE_Identity", false];
if (_hasMask in ["ACE_GlassesGasMask_US","ACE_GlassesGasMask_RU"]) then { _hasMask = true; } else { _hasMask = false; };
if (player == player) then {if (ace_sys_spectator_SPECTATINGON) then {_hasMask = true}};

if (!_hasMask) then {
	[player,2] spawn ace_sys_gas_fnc_fx;
	_gas_time = _gas_time+1;
	if (_gas_time > 2) then { [player, 0.1] call ace_sys_wounds_fnc_addDamage}; // se lo ha tragado todo va muriendo
};
if (_gas_time > 5) then { [player, 0.05] call ace_sys_wounds_fnc_addDamage}; // ya no tiene salvacion
sleep 2 + (random 4);
};

(you need a marker called "Colum_gas_Center" and 500 its the radius ...)

Edited by columdrum

Share this post


Link to post
Share on other sites
LoL? just setidentity can put them up. The only problem its that IA still suffer some effects( not really efects, just runs around xD, not as bad as without it).

["ace_sys_goggles_setident2", [_AIunit, "ACE_GlassesGasMask_US"]] call CBA_fnc_globalEvent;
_AIunit setVariable ['ACE_Identity',"ACE_GlassesGasMask_US",true];

_IAunit its the IA you want to put the mask on... make a loop if you want a lot of them to put their mask :P.

IF the area its too big, i would remocend not to use teargass nades to create the gass, just script the effect. There are more than one already written around, or you can just modify ACE one. Here one example( not tested)

if (isDedicated) exitwith{};
if (!(isnil 'Colum_gas_Liberado')) exitwith{};
Colum_gas_Liberado=true;
_colum_gas_Maxdistance=500;

While {(player distance (getMarkerPos "Colum_gas_Center")) <=_colum_gas_Maxdistance} do {

player setVariable ["ace_gassed",false,false];
_hasMask = player getVariable ["ACE_Identity", false];
if (_hasMask in ["ACE_GlassesGasMask_US","ACE_GlassesGasMask_RU"]) then { _hasMask = true; } else { _hasMask = false; };
if (player == player) then {if (ace_sys_spectator_SPECTATINGON) then {_hasMask = true}};

if (!_hasMask) then {
	[player,2] spawn ace_sys_gas_fnc_fx;
	_gas_time = _gas_time+1;
	if (_gas_time > 2) then { [player, 0.1] call ace_sys_wounds_fnc_addDamage}; // se lo ha tragado todo va muriendo
};
if (_gas_time > 5) then { [player, 0.05] call ace_sys_wounds_fnc_addDamage}; // ya no tiene salvacion
sleep 2 + (random 4);
};

(you need a marker called "Colum_gas_Center" and 500 its the radius ...)

I solved it by using BTK gasmask instead, therefore it's radiation now. Thanks anyways!

Share this post


Link to post
Share on other sites
LoL? just setidentity can put them up. The only problem its that IA still suffer some effects( not really efects, just runs around xD, not as bad as without it).

["ace_sys_goggles_setident2", [_AIunit, "ACE_GlassesGasMask_US"]] call CBA_fnc_globalEvent;
_AIunit setVariable ['ACE_Identity',"ACE_GlassesGasMask_US",true];

_IAunit its the IA you want to put the mask on... make a loop if you want a lot of them to put their mask :P.

IF the area its too big, i would remocend not to use teargass nades to create the gass, just script the effect. There are more than one already written around, or you can just modify ACE one. Here one example( not tested)

if (isDedicated) exitwith{};
if (!(isnil 'Colum_gas_Liberado')) exitwith{};
Colum_gas_Liberado=true;
_colum_gas_Maxdistance=500;

While {(player distance (getMarkerPos "Colum_gas_Center")) <=_colum_gas_Maxdistance} do {

player setVariable ["ace_gassed",false,false];
_hasMask = player getVariable ["ACE_Identity", false];
if (_hasMask in ["ACE_GlassesGasMask_US","ACE_GlassesGasMask_RU"]) then { _hasMask = true; } else { _hasMask = false; };
if (player == player) then {if (ace_sys_spectator_SPECTATINGON) then {_hasMask = true}};

if (!_hasMask) then {
	[player,2] spawn ace_sys_gas_fnc_fx;
	_gas_time = _gas_time+1;
	if (_gas_time > 2) then { [player, 0.1] call ace_sys_wounds_fnc_addDamage}; // se lo ha tragado todo va muriendo
};
if (_gas_time > 5) then { [player, 0.05] call ace_sys_wounds_fnc_addDamage}; // ya no tiene salvacion
sleep 2 + (random 4);
};

(you need a marker called "Colum_gas_Center" and 500 its the radius ...)

Cheers Conundrum, the last pages I read on the matter were rather decisively negative. :)

Share this post


Link to post
Share on other sites

I know this thread is dead but does anyone know how through a script in the init for example i could give all the opfor ai in the mission gasmasks?

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×