Bei durchlesen des Codes sind mir einige Punkte aufgefallen, die Verbesserungswürdig sind.
Dies sind nur Verbesserungsvorschläge und sind nicht zum schlecht reden, etc. gedacht!
Bei getVariable ist es besser einen Default-Wert zu nutzen, der keinen/weniger Schaden anrichten kann.
Wie wir dich in Discord bereits darauf hingewiesen haben, sollte im Code also player getVariable ["<VARNAME>", false] stehen. Da so bei einem Fehler die Spieler nicht als Admin, etc. markiert werden.
Du nutzt im Code den schlechten Syntax für private. Besser ist es den performanteren Syntax zu verwenden, da dieser deutlich schneller (~x2) ist.
Siehe -> https://community.bistudio.com/wiki/Code_Optimisation#private
Du nutzt im Code die Funktionen ZL_fnc_loadGear, ZL_fnc_playerSkins, ZL_fnc_stripDownPlayer und zl_fnc_msg. Allerdings ist nicht klar wo diese herkommen, bzw. woher man diese erhält.
Denn im Tonic-Life System sind diese Funktionen nicht enthalten, somit wird der Code bei der Ausführung Fehlermeldungen werfen.
Du hast viel Code der sich wiederholt. Was immer ein Zeichen für optimierungs Potenzial ist.
So kannst du eine Config erstellen, in der die Ränge eingetragen werden und somit der Code nicht umprogrammiert werden muss, wenn man die Ränge anpassen möchte.
Hat es einen bestimmten Grund, warum du fast alle Funktionen immer mit spawn aufrufst und nicht mit call?
Sehr verwirrend im Code ist, dass du in der "admin.sqf" die Variable _team auf false setzt, wenn der Spieler nun zum Team gehört:
. . .
if(player getVariable ["zl_leitungimdienst",true]) then {
player setVariable ["zl_leitungimdienst", false, true];
_team = true;
} else {
player setVariable ["zl_leitungimdienst", true, true];
_team = false;
};
. . .
Weiter unten wird die Variable dann abgefragt und negiert gesetzt:
Danach wird die Variable nicht mehr (?) genutzt.
Welcher Grund steckt hinter diesem verwirrenden Code?
Dies sind die gravierensten Punkte die mir aufgefallen sind.
Nochmal zur Wiederholung: Es handelt sich dabei um Verbesserungsvorschläge und müssen nicht (können aber) beachtet werden.