Jump to content
mattsmith94

Acoustic Multi-Mission Sensor (AMMS) Simulation in ArmA

Recommended Posts

Hi, 

 

Relatively newbie scripter here, I am trying to create a simulation of an Acoustic Multi-Mission Sensor (AMMS) for Arma 3 however I was hoping on getting some advise on how to proceed with this. AMMS is pretty similar to Boomerang however it is the individual sensor which can be mounted to any vehicle and provide a location on GPS. I apologize  in advance for my description, Im not entirely sure if I have thought it all through but hopefully someone can make sense of it.

 

The aim would be to write a script that would act as a sensor and could be added or executed in the init field of any vehicle.

 

My first thoughts on how to do this were as follows 

 

Add a fired event handler and execute a script when fired "fired"

 

in the "fired" script I would like the unit to become visible on the map for a short amount of time, maybe 5 seconds, then if possible a decay of 5 seconds. thus producing a indication of where a shooter is when the shot is fired. (counter sniper tactics)

 

I would like the unit to only show up on the map for the vehicle occupants, predominantly the driver and gunner.

 

If anyone can make sense of my scrawling or even better, manage to point me in the right direction.

 

Thanks

 

Matt 

 

Share this post


Link to post
Share on other sites

I thought I'd go ahead and try and clear up the process a little more.

 

1. When a unit is in range of the vehicle (1km) and an opfor unit fires execute script "fired"

2. [script Fired] show units (who fired in range of the vehicle) on the vehicle occupants map for 5 seconds 

3. Hide units again.

Share this post


Link to post
Share on other sites

MP or SP?

 

Nah, it doesen't matter.

 

Lets say  you have named the vehicle with "vehSpotter" variable.

 

On the sniper script:

_sniper setVariable ["marked",false];

_sniper addEventHandler ["Fired", 
 {
 private ["_sniper"];
 if ((not(_sniper getVariable "marked")) and (_sniper distance vehSpotter < 1000)) then
  {
   _sniper setVariable ["marked",true];
  {if (isPlayer _x) then {[_sniper] remoteExec ["sniperMarker",_x]}} forEach crew vehSpotter;
  [_sniper] spawn
    {
    sleep 5;
    (_this select 0) setVariable ["marked",false];
    }
   };
 }];

and the sniperMarker function (you have to define it on init.sqf or whatever):

_sniper = _this select 0;

_mrk = createMarkerLocal [format ["%1",_sniper],position _sniper];
_mrk setMarkerTypeLocal "mil_triangle";
_mrk setMarkerDirLocal getDir _sniper;

sleep 5;
deleteMarker _mrk;

Not tested but should work.

Share this post


Link to post
Share on other sites

Ok thanks, il give it a go

 

Also I just literally played antistasi, great work.

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

×