diff --git a/exile_vemf_reloaded/sqf/handleKillMessage.sqf b/exile_vemf_reloaded/sqf/handleKillMessage.sqf new file mode 100644 index 0000000..dc1206f --- /dev/null +++ b/exile_vemf_reloaded/sqf/handleKillMessage.sqf @@ -0,0 +1,98 @@ +_target = param [0, objNull, [objNull]]; +_killer = param [1, objNull, [objNull]]; +if not(isNull _target AND isNull _killer) then +{ + _respectReward = "respectReward" call VEMFr_fnc_getSetting; + if (_respectReward > 1) then + { + _message = [[]]; + _killMsg = selectRandom ["AI WACKED","AI CLIPPED","AI DISABLED","AI DISQUALIFIED","AI WIPED","AI ERASED","AI LYNCHED","AI WRECKED","AI NEUTRALIZED","AI SNUFFED","AI WASTED","AI ZAPPED"]; + (_message select 0) pushBack [_killMsg,_respectReward]; + _dist = _target distance _killer; + switch true do + { + case (_dist <= 5): + { + (_message select 0) pushBack ["CQB Master", 25] + }; + case (_dist <= 10): + { + (_message select 0) pushBack ["Close one", 15] + }; + case (_dist <= 50): + { + (_message select 0) pushBack ["Danger close", 15] + }; + case (_dist <= 100): + { + (_message select 0) pushBack ["Lethal aim", 20] + }; + case (_dist <= 200): + { + (_message select 0) pushBack ["Deadly.", 25] + }; + case (_dist <= 500): + { + (_message select 0) pushBack ["Niiiiice.", 30] + }; + case (_dist <= 1000): + { + (_message select 0) pushBack ["Dat distance...", 45] + }; + case (_dist <= 2000): + { + (_message select 0) pushBack ["Danger far.", 50] + }; + case (_dist > 2000): + { + (_message select 0) pushBack [format["hax? %1m!!!", round _dist], 65] + }; + }; + _curRespect = _killer getVariable ["ExileScore", -1]; + if (_curRespect >= 0) then + { + //diag_log text format["_curRespect of _killer (%1) is %2", _killer, _curRespect]; + _respectToGive = (((_message select 0) select 1) select 1); + _newRespect = _curRespect + _respectToGive + _respectReward; + _killer setVariable ["ExileScore", _newRespect]; + ExileClientPlayerScore = _newRespect; + (owner _killer) publicVariableClient "ExileClientPlayerScore"; + ExileClientPlayerScore = nil; + [_killer, "showFragRequest", _message] call ExileServer_system_network_send_to; + format["setAccountMoneyAndRespect:%1:%2:%3", _killer getVariable ["ExileMoney", 0], _newRespect, (getPlayerUID _killer)] call ExileServer_system_database_query_fireAndForget; + } else + { + ["fn_aiKilled", 0, format["Failed to get respect from %1", _killer]] spawn VEMFr_fnc_log; + }; + }; + + _sayKilled = "sayKilled" call VEMFr_fnc_getSetting; + if (_sayKilled > 0) then // Send kill message if enabled + { + _killer = param [1, objNull, [objNull]]; + _dist = _target distance _killer; + if (_dist > 1) then + { + private ["_curWeapon"]; + if (vehicle _killer isEqualTo _killer) then // If on foot + { + _curWeapon = currentWeapon _killer; + }; + if not(vehicle _killer isEqualTo _killer) then // If in vehicle + { + _curWeapon = currentWeapon (vehicle _killer); + }; + if (_sayKilled isEqualTo 1) then + { + _kMsg = format["(VEMFr) %1 [%2, %3m] AI", name _killer, getText(configFile >> "CfgWeapons" >> _curWeapon >> "displayName"), round _dist]; + [_kMsg, "sys"] spawn VEMFr_fnc_broadCast; + }; + if (_sayKilled isEqualTo 2) then + { + VEMFrClientMsg = [format["(VEMFr) You [%1, %2m] AI", getText(configFile >> "CfgWeapons" >> _curWeapon >> "displayName"), round _dist], "sys"]; + (owner _killer) publicVariableClient "VEMFrClientMsg"; + VEMFrClientMsg = nil; + }; + }; + }; +};