Merge pull request 'track-unconscious-duration-in-respawn-msg' (#30) from track-unconscious-duration-in-respawn-msg into develop
All checks were successful
Generate testing snapshot / Create testing release (push) Successful in 30s
All checks were successful
Generate testing snapshot / Create testing release (push) Successful in 30s
Reviewed-on: hizumi/MissionTemplate#30 Reviewed-by: hizumi <hizumi@noreply.iceberg-gaming.com>
This commit was merged in pull request #30.
This commit is contained in:
@@ -27,6 +27,7 @@ class DOUBLES(PREFIX,client) {
|
|||||||
class addMicroDAGRWaypoints {};
|
class addMicroDAGRWaypoints {};
|
||||||
class addZenModules {};
|
class addZenModules {};
|
||||||
class bindEventHandlers {};
|
class bindEventHandlers {};
|
||||||
|
class bindUnconsciousListener {};
|
||||||
class bindVehicleActions {};
|
class bindVehicleActions {};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -7,11 +7,20 @@ player addEventHandler["Respawn",
|
|||||||
params ["_unit", "_corpse"];
|
params ["_unit", "_corpse"];
|
||||||
private _killer = _corpse getVariable ["ace_medical_causeOfDeath", "#scripted"];
|
private _killer = _corpse getVariable ["ace_medical_causeOfDeath", "#scripted"];
|
||||||
if (_killer == "respawn_button") then {
|
if (_killer == "respawn_button") then {
|
||||||
|
private _timeWentUnconscious = _unit getVariable [QGVARMAIN(lastTimeKnockedOut), -1];
|
||||||
|
private _durationSpentUnconscious = diag_tickTime - _timeWentUnconscious;
|
||||||
[
|
[
|
||||||
LEVEL_INFO,
|
LEVEL_INFO,
|
||||||
QUOTE(COMPONENT),
|
QUOTE(COMPONENT),
|
||||||
"RESPAWNED WHILE UNCONSCIOUS",
|
"RESPAWNED WHILE UNCONSCIOUS",
|
||||||
[_unit] call EFUNC(common,addPlayerInfoToArray)
|
[_unit, [[
|
||||||
|
"durationSpentUnconscious",
|
||||||
|
(if (_timeWentUnconscious > - 1) then {
|
||||||
|
_durationSpentUnconscious
|
||||||
|
} else {
|
||||||
|
-1
|
||||||
|
})
|
||||||
|
]]] call EFUNC(common,addPlayerInfoToArray)
|
||||||
] remoteExec [QEFUNC(common,log), 2];
|
] remoteExec [QEFUNC(common,log), 2];
|
||||||
// format["%1 was unconscious then clicked the respawn button", name _unit] remoteExec["systemChat", 0];
|
// format["%1 was unconscious then clicked the respawn button", name _unit] remoteExec["systemChat", 0];
|
||||||
};
|
};
|
||||||
|
|||||||
13
framework/client/functions/fn_bindUnconsciousListener.sqf
Normal file
13
framework/client/functions/fn_bindUnconsciousListener.sqf
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#include "..\script_component.hpp"
|
||||||
|
|
||||||
|
if (!hasInterface) exitWith {};
|
||||||
|
|
||||||
|
["ace_medical_knockOut", { // local event that's also used directly by the ACE medical statemachine
|
||||||
|
private _unit = _this;
|
||||||
|
_this setVariable [QGVARMAIN(lastTimeKnockedOut), diag_tickTime];
|
||||||
|
}] call CBA_fnc_addEventHandler;
|
||||||
|
|
||||||
|
["ace_medical_WakeUp", { // local event that's also used directly by the ACE medical statemachine
|
||||||
|
private _unit = _this;
|
||||||
|
_this setVariable [QGVARMAIN(lastTimeKnockedOut), nil];
|
||||||
|
}] call CBA_fnc_addEventHandler;
|
||||||
@@ -8,6 +8,9 @@ call FUNC(addZenModules);
|
|||||||
call FUNC(bindEventHandlers);
|
call FUNC(bindEventHandlers);
|
||||||
call FUNC(bindVehicleActions);
|
call FUNC(bindVehicleActions);
|
||||||
|
|
||||||
|
// add listener that tracks when the player goes unconscious and saves a variable with time
|
||||||
|
call FUNC(bindUnconsciousListener);
|
||||||
|
|
||||||
[
|
[
|
||||||
LEVEL_DEBUG,
|
LEVEL_DEBUG,
|
||||||
QUOTE(COMPONENT),
|
QUOTE(COMPONENT),
|
||||||
|
|||||||
@@ -8,12 +8,22 @@ if (!hasInterface) exitWith {};
|
|||||||
_clientID = _thisArgs select 0;
|
_clientID = _thisArgs select 0;
|
||||||
player setDamage 1;
|
player setDamage 1;
|
||||||
|
|
||||||
|
private _timeWentUnconscious = player getVariable [QGVARMAIN(lastTimeKnockedOut), -1];
|
||||||
|
private _durationSpentUnconscious = diag_tickTime - _timeWentUnconscious;
|
||||||
|
|
||||||
// log to server RPT
|
// log to server RPT
|
||||||
[
|
[
|
||||||
LEVEL_INFO,
|
LEVEL_INFO,
|
||||||
QUOTE(COMPONENT),
|
QUOTE(COMPONENT),
|
||||||
"CHAT COMMAND RESPAWN",
|
"CHAT COMMAND RESPAWN",
|
||||||
[player] call EFUNC(common,addPlayerInfoToArray)
|
[player, [[
|
||||||
|
"durationSpentUnconscious",
|
||||||
|
(if (_timeWentUnconscious > - 1) then {
|
||||||
|
_durationSpentUnconscious
|
||||||
|
} else {
|
||||||
|
-1
|
||||||
|
})
|
||||||
|
]]] call EFUNC(common,addPlayerInfoToArray)
|
||||||
] remoteExec [QEFUNC(common,log), 2];
|
] remoteExec [QEFUNC(common,log), 2];
|
||||||
|
|
||||||
// systemChat to all remote machines
|
// systemChat to all remote machines
|
||||||
|
|||||||
Reference in New Issue
Block a user