mattsmith94 10 Posted March 2, 2016 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
mattsmith94 10 Posted March 2, 2016 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
barbolani 198 Posted March 2, 2016 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
mattsmith94 10 Posted March 2, 2016 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