Einzelnen Beitrag anzeigen
Alt 14.11.2014, 15:37   #2 (permalink)
Tajin
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Tajin
 
Registriert seit: 17.01.2008
Beiträge: 267
Standard

PHP-Code:
fnc_newZeus = {
    {
        if (
isNull (getAssignedCuratorUnit _x)) then {
            
deleteVehicle _x;
        };
    } forEach 
allCurators;

    
_cur "curator" createVehicle [0,0,0];
    
_cur addCuratorAddons activatedAddons;
    
_this assignCurator _cur;

    
_cur addCuratorEditableObjects [allMissionObjects,false];
    
_cur addEventHandler ["CuratorObjectRegistered", {
        
_cur _this select 0;
        
_zeus getAssignedCuratorUnit _cur;
        if (! [
getPlayerUID _zeus3call isAdmin then {
            
unassignCurator _cur;
            
deleteVehicle _cur;
        };
    }];
}; 
Diese Funktion müsste eigendlich alles nötige abdecken. Du musst nur noch bei "abfrageObAdmin" die Adminabfrage einbauen die du erwähnt hast (die kenn ich nicht auswendig). Dann wird bei jedem Aufruf des ZeusInterfaces nochmal nachgeprüft ob derjenige Admin ist.

Was hier ebenfalls nicht abgedeckt ist, ist das nachträgliche Hinzufügen von editierbaren Objekten. Im Falle von Wasteland müsste z.B. das irgendwo in einem Eventhandler rein, wenn ein Spieler connected.


Die Funktion beseitigt alle ungenutzen/alten Zeusslots wieder. Denk daran, falls du einen Zeusslot regulär einbauen willst, für den muss dann eine Ausnahme eingefügt werden.


Aufrufen kannst du die Funktion von einem Client aus wie folgt:
PHP-Code:
[player,"fnc_newZeus",false,falsecall BIS_fnc_MP
__________________

Geändert von Tajin (14.11.2014 um 16:15 Uhr).
Tajin ist offline