123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- params["_args", "_handle"];
- _args params["_player"];
- if(!alive _player) exitWith { systemChat format["Player dead for %1", _handle] };
- _jammers = missionNamespace getVariable ["rd501_jammers",[]];
- if(count _jammers == 0) exitWith {
- systemChat "Exiting Client PFH";
- [_handle] call CBA_fnc_removePerFrameHandler;
- _player setVariable ["rd501_jammers_pfh", -1];
- _player setVariable ["tf_receivingDistanceMultiplicator", 1];
- _player setVariable ["tf_transmittingDistanceMultiplicator", 1];
- };
- private _signalStrength = 1;
- {
- _x params["_jammer", "_radius"];
- private _distance = _player distance _jammer;
- if (_distance < _radius) then {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- private _t = _distance/_radius;
- private _specificInterference = _t * ((1.6*_t*_t) - (3.9 * _t) + 3.3);
- if(_signalStrength == 1) then {
- _signalStrength = _specificInterference;
- continue
- };
- _signalStrength = _signalStrength min _specificInterference;
- if(_signalStrength < 0.01) then {
- _signalStrength = 0.01;
- };
- if(_signalStrength > 1) then {
- _signalStrength = 1;
- }
- };
- } forEach _jammers;
- _player setVariable ["tf_receivingDistanceMultiplicator", _signalStrength];
- _player setVariable ["tf_transmittingDistanceMultiplicator", _signalStrength];
- systemChat format["Signal Strength: %1", _signalStrength];
|