Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 14.11.2014, 15:05   #1 (permalink)
Newbie
 
Registriert seit: 16.09.2014
Beiträge: 32
Standard Wasteland (Stratis) mit Zeus für Admins

Hi.

Wir versuchen derzeit folgendes:
Wasteland hat ja ein eigenes Admin System mit Menü u.s.w.
Wir wollen nun, dass Admins der Stufe 3, also "Server Owner"
per Tastendruck zu Zeus werden.

Damit wollen wir bessere Events auf dem Server veranstalten.

Ich habe mich durch die Daten gewühlt und rausgefunden,
wie ich abfrage, ob ein Spieler Admin ist oder nicht.

Was mir noch fehlt ist:
- Der Tastendruck. Z.B. die Taste < oder so...
- Ein Script, das es erlaubt in den Zeusmodus zu wechseln,
ohne dass vorher ein entsprechender Slot verfügbar ist.

Alternativ wäre es auch möglich mehrer Zeus-Slots in die Lobby einzufügen,
die aber nur von denen benutzt werden können, dessen UID als Admin eingetragen ist.

Ich komme mit der ganzen Materie noch nicht ganz klar und wäre froh um jede mögliche Hilfe

Vielen Dank schonmal.

MfG
Hyper
HyperStorm ist offline  
Alt 14.11.2014, 15:37   #2 (permalink)
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  
Alt 14.11.2014, 16:00   #3 (permalink)
Newbie
 
Registriert seit: 16.09.2014
Beiträge: 32
Standard

Sehr gut, das werde ich gleich versuchen.

Fehlt nur noch die Funktion dass das ganze per Tastendruck funktioniert.

Können mit diesem Script mehrere Admins gleichzeitig Zeus nutzen, oder immer nur einer?

EDIT:
Achja, du sagtes du kennst die Admin Abfrage nicht auswendig.

Zitat:

_uid = getPlayerUID player;
if ([_uid, 3] call isAdmin) then { ...code... }

Das fragt ab, ob die PlayerUID die diese Funktion benutzt als Admin eingetragen ist,
und ob er Admin der Stufe 3 ist.

Geändert von HyperStorm (14.11.2014 um 16:03 Uhr).
HyperStorm ist offline  
Alt 14.11.2014, 16:17   #4 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Tajin
 
Registriert seit: 17.01.2008
Beiträge: 267
Standard

Ok, hab ich oben eingebaut.

Warum übrigens mit Tastendruck?
Du kannst Zeus ja auch einfach zuweisen sobald jemand mit Adminrechten connected.
__________________
Tajin ist offline  
Alt 14.11.2014, 16:41   #5 (permalink)
Newbie
 
Registriert seit: 16.09.2014
Beiträge: 32
Standard

Ok, es will noch nicht ganz klappen.
So sieht es bisher aus:

Hab es in das Admin-Menü eingefügt.
Hab ich darin einen Fehler?

Der Hint "Zeus-Modus" erscheint, aber mehr auch nicht.
Wo könnte da der Fehler liegen?

PHP-Code:
// ******************************************************************************************
// * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com *
// ******************************************************************************************
//    @file Version: 1.0
//    @file Name: optionSelect.sqf
//    @file Author: [404] Deadbeat
//    @file Created: 20/11/2012 05:19

#define debugMenu_option 50003
#define adminMenu_option 50001
disableSerialization;

private [
"_panelType","_displayAdmin","_displayDebug","_adminSelect","_debugSelect","_money"];
_uid getPlayerUID player;
if (
_uid call isAdminthen
{
    
_panelType _this select 0;

    
_displayAdmin uiNamespace getVariable ["AdminMenu"displayNull];
    
_displayDebug uiNamespace getVariable ["DebugMenu"displayNull];

    switch (
true) do
    {
        case (!
isNull _displayAdmin): //Admin panel
        
{
            
_adminSelect _displayAdmin displayCtrl adminMenu_option;

            switch (
lbCurSel _adminSelect) do
            {
                case 
0//Player Menu
                
{
                    
closeDialog 0;
                    
execVM "client\systems\adminPanel\playerMenu.sqf";
                };
                case 
1//Full Vehicle Management
                
{
                    
closeDialog 0;
                    
execVM "client\systems\adminPanel\vehicleManagement.sqf";
                };
                case 
2//Tags
                
{
                    
execVM "client\systems\adminPanel\playerTags.sqf";
                };
                case 
3//Teleport
                
{
                    
closeDialog 0;
                    [
"A3W_teleport""onMapSingleClick",
                    {
                        
vehicle player setPos _pos;
                        if (!
isNil "notifyAdminMenu"then { ["teleport"_posspawn notifyAdminMenu };
                        [
"A3W_teleport""onMapSingleClick"call BIS_fnc_removeStackedEventHandler;
                        
true
                    
}] call BIS_fnc_addStackedEventHandler;
                    
hint "Click on map to teleport";
                };
                case 
4//Money
                
{
                    
_money 5000;
                    
player setVariable ["cmoney", (player getVariable ["cmoney",0]) + _moneytrue];
                    if (!
isNil "notifyAdminMenu"then { ["money"_moneycall notifyAdminMenu };
                };
                case 
5//Debug Menu
                
{
                    
closeDialog 0;
                    
execVM "client\systems\adminPanel\loadDebugMenu.sqf";
                };
                case 
6//Object search menu
                
{
                    
closeDialog 0;
                    
execVM "client\systems\adminPanel\loadObjectSearch.sqf";
                };
                case 
7// toggle God mode
                
{
                    
execVM "client\systems\adminPanel\toggleGodMode.sqf";
                };
                case 
8// Zeus-Modus
                
{
                    
hint "Zeus-Modus";
                    [
player,"fnc_newZeus",false,falsecall BIS_fnc_MP;  
                };
            };
        };
        case (!
isNull _displayDebug): //Debug panel
        
{
            
_debugSelect _displayDebug displayCtrl debugMenu_option;

            switch (
lbCurSel _debugSelect) do
            {
                case 
0//Access Gun Store
                
{
                    
closeDialog 0;
                    
execVM "client\systems\gunStore\loadGunStore.sqf";
                };
                case 
1//Access General Store
                
{
                    
closeDialog 0;
                    
execVM "client\systems\generalStore\loadGenStore.sqf";
                };
                case 
2//Access Vehicle Store
                
{
                    
closeDialog 0;
                    
execVM "client\systems\vehicleStore\loadVehicleStore.sqf";
                };
                case 
3//Access Respawn Dialog
                
{
                    
closeDialog 0;
                    
true spawn client_respawnDialog;
                };
                case 
4//Access Proving Grounds
                
{
                    
closeDialog 0;
                    
createDialog "balca_debug_main";
                };
                case 
5//Show server FPS function
                
{
                    
hint format["Server FPS: %1",serverFPS];
                };
                case 
6//Test Function
                
{
                    
_group createGroup civilian;
                    
_leader _group createunit ["C_man_polo_1_F"getPos player, [], 0.5"Form"];

                    
_leader addMagazine "RPG32_HE_F";
                    
_leader addMagazine "RPG32_HE_F";
                    
_leader addWeapon "launch_RPG32_F";
                    
_leader addMagazine "30Rnd_556x45_Stanag";
                    
_leader addMagazine "30Rnd_556x45_Stanag";
                    
_leader addMagazine "30Rnd_556x45_Stanag";
                    
_leader addWeapon "arifle_TRG20_F";
                };
            };
        };
    };
};

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;
        };
    }];
}; 
Eines verstehe ich auch noch nicht ganz.
Soll man beim aktivieren direkt in den Zeus-Modus wechseln,
oder muss man nach dem ausführen des Scripts noch etwas tun?

Geändert von HyperStorm (14.11.2014 um 17:27 Uhr).
HyperStorm ist offline  
Alt 14.11.2014, 18:01   #6 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Tajin
 
Registriert seit: 17.01.2008
Beiträge: 267
Standard

Wird das scriptfile das du da gepostet hat auch auf dem Server ausgeführt oder nur bei den Clients?

Der Server muss die "fnc_newZeus" Funktion haben, sonst geht nix.
Abgesehen davon, aktiviert das Script Zeus nur.

Anschalten muss man es selbst, mit der üblichen Tastenkombi.
__________________
Tajin ist offline  
Alt 14.11.2014, 18:54   #7 (permalink)
Newbie
 
Registriert seit: 16.09.2014
Beiträge: 32
Standard

Übliche Tastenkombie? Du meinst Z?

Ansonsten wäre mir grad keine Kombie bekannt.

Edit:
Das script liegt in folgendem Ordner:
"A3Wasteland_v1.0b.Stratis\client\systems\adminPan el\optionSelect.sqf"

Man angenommen ich lege das script z.B. unter "A3Wasteland_v1.0b.Stratis\server" ab,
wie müsste ich dann von der oben genannten optionSelect.sqf auf das script mit
dem code den du geschrieben hast verweisen, und wo bringe ich das
"[player,"fnc_newZeus",false,false] call BIS_fnc_MP;" unter?

Tut mir leid für die blöden Fragen, aber ich bin grad echt am Rätzeln...
Hab jetz einige Varianten probiert, aber es scheint nicht zu klappen.

Geändert von HyperStorm (14.11.2014 um 18:59 Uhr).
HyperStorm ist offline  
Alt 17.11.2014, 11:48   #8 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Tajin
 
Registriert seit: 17.01.2008
Beiträge: 267
Standard

So wie du es oben hast, müsste es doch schon funktionieren.

Man muss nur eben wie gesagt das tastenkürzel zum aktivieren von Zeus drücken. (Z oder wie auch immer du es belegt hast)

Teste das script von mir am besten mal separat in einer leeren mission, kann immer sein das ich irgendwo nen Fehler gemacht habe. Ist nur aus dem Kopf heraus hingescripted und völlig ungetestet.
__________________
Tajin ist offline  
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Arma 3 - Patches / Updates / Expansions INNOCENT&CLUELESS Community 4685 16.06.2018 23:20
Zeus Multiplayer DennisBI Multiplayer 7 21.08.2014 18:28
Arma III Zeus Abend sucht Spieler Neonwolve Die Litfaßsäule 2 29.04.2014 13:49
Zeus Event 11.4. MrCharles Multiplayer 15 15.04.2014 11:49
DAYZ Epoch Chernarus Server | Nette Leute | Erfahrene Admins | Noch viel Platz MANU[GER] DayZ 0 28.10.2013 16:14


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119