Ich habe eine kleine Funktion geschrieben, mit welcher ich alle durch Spieler platzierte Marker löschen lasse, sobald keiner mehr auf dem Server ist.
Abfragen wollte ich über den MissionEventHandler "PlayerDisconnected", was aber irgendwie nicht funktioniert.
Ich habe es jetzt wie folgt gelöst:
Code
- addMissionEventHandler ["PlayerDisconnected", {
- private _players = allPlayers - entities "HeadlessClient_F";
- if (count _players == 0) then {iV_CleanUpServer = true};
- }];
- addMissionEventHandler ["PlayerConnected", {
- if (iV_CleanUpServer) then {
- ["Server"] remoteExec ["iV_fnc_cleanUp", 0, false];
- iV_CleanUpServer = false;
- };
- }];
Die Funktion schaut wie folgt aus:
Code: fn_cleanUp.sqf
- {
- if (count _x > 15) then {
- // VARIABLES
- private _name = _x select [0, 15];
- private _blacklist = ["o_Ordnance", "o_support", "o_installation", "o_med", "b_Ordnance", "b_support", "b_installation", "b_med"];
- // DELETE MARKER
- if (_name == "_USER_DEFINED #" && !(markerType _x in _blacklist)) then {deleteMarker _x};
- };
- } forEach allMapMarkers;
Jetzt zu meiner Frage:
Der Server kann ohne Spieler irgendwie nicht auf allMapMarkers zugreifen.
Kann mir das einer erklären?