Skip to content

Commit bf28fc7

Browse files
Added more stable eventhander for player connections and logging (7Cav#1219)
1 parent c70f784 commit bf28fc7

2 files changed

Lines changed: 13 additions & 10 deletions

File tree

cScripts/cScripts_postInit.sqf

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,4 @@ if (EGVAR(Settings,showDiaryRecords)) then {
2828

2929
call EFUNC(civ,init);
3030

31-
onPlayerConnected {
32-
[QEGVAR(log,player), [getPlayerUID player, player]] call CBA_fnc_serverEvent;
33-
};
34-
3531
INFO("postInit", "Initialization completed.");

cScripts/functions/init/fn_init_eventHandlers.sqf

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,10 @@ INFO("InitEventHandlers","Creating Server EventHandlers");
4040
}] call CBA_fnc_addEventHandler;
4141

4242
[QEGVAR(log,player), {
43-
params ["_guid","_player"];
43+
params ["_guid","_name"];
44+
private _unit = [_guid] call BIS_fnc_getUnitByUID;
4445
private _playerLog = GETMVAR(EGVAR(log,players),createHashMap);
45-
INFO_3("PlayerLog","Connected %1 [%2] (GUID: %3)",name _player,typeOf _player,_guid);
46+
INFO_3("PlayerLog","Connected %1 [%2] (GUID: %3)",_name,typeOf _unit,_guid);
4647

4748
if (!isNil{_playerLog get _guid}) then {
4849
INFO_1("PlayerLog","Updating Log Entry [%1]", isNil{_playerLog get _guid});
@@ -52,18 +53,24 @@ INFO("InitEventHandlers","Creating Server EventHandlers");
5253
_connections pushBack systemTimeUTC;
5354
_data set ["connections", _connections];
5455

55-
_data set ["loadout", typeOf _player];
56+
private _loadout = GETVAR(EGVAR(Gear,LoadoutClass), typeOf _unit);
57+
_data set ["loadout", GETVAR(EGVAR(Gear,LoadoutClass), typeOf _unit)];
5658

5759
_playerLog set [_guid,_data];
5860
} else {
5961
INFO_1("PlayerLog", "Creating Log Entry [%1]", isNil{_playerLog get _guid});
6062
private _entry = createHashMapFromArray [
61-
['name', name _player],
62-
['loadout', typeOf _player],
63+
['name', _name],
64+
['loadout', _loadout],
6365
['connectTime', systemTimeUTC],
6466
['connections', [systemTimeUTC]]
6567
];
6668
_playerLog set [_guid,_entry];
6769
};
6870
SETMVAR(EGVAR(log,players),_playerLog);
69-
}] call CBA_fnc_addEventHandler;
71+
}] call CBA_fnc_addEventHandler;
72+
73+
addMissionEventHandler ["PlayerConnected", {
74+
params ["_id", "_uid", "_name", "_jip", "_owner", "_idstr"];
75+
[QEGVAR(log,player), [_uid, _name]] call CBA_fnc_serverEvent;
76+
}];

0 commit comments

Comments
 (0)