[ZCMD] Admin Frage

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo zusammen,


    wo oder wie setze ich allgemein ein Admin System auf ?!


    Bisher habe ich nun folgendes in meinem Datenbank System eingebaut:


    enum SpielerDaten


    {


    pSQLID,


    pName[MAX_PLAYER_NAME],


    pLevel,


    pAdmin,


    pGeld,


    pBank,


    pFraktion,


    pRank,


    pLeader,


    Float:pHealth,


    pOnline


    }


    new SpielerInfo[MAX_PLAYERS][SpielerDaten];


    Zum Befehl:


    //Admin String//


    if (strcmp("/aduty", cmdtext, true, 10) == 0)


    {


    new Adminlevel[128];


    if(IsPlayerAdmin(playerid))return SendClientMessage(playerid,COLOR_ROT,"Du hast dafür keine Berrechtigung.");


    {


    switch(GetPVarInt(playerid,"Adminevel"))


    {


    case 0: {Adminlevel = "Nein";}


    case 1: {Adminlevel = "Supporter";}


    case 2: {Adminlevel = "Moderator";}


    case 3: {Adminlevel = "Super Moderator";}


    case 4: {Adminlevel = "Admin";}


    case 5: {Adminlevel = "FullAdmin";}


    }


    format(string,sizeof(string),">>%s hat sich als %s abgemeldet.<<",(playerid));


    SendClientMessageToAll(COLOR_WEISS,string);


    SendClientMessage(playerid,0xB230FFFF,"Du bist nun ein Vorbild Benimm dich!");


    SetPVarInt(playerid,"AdminDuty",1);


    }


    return 1;


    }


    Beachte bitte bei deiner Erklärung 2 Dinge:


    1) Ich bin Anfänger
    2) Bitte mit Muster erklären, da ich nicht so schnell kapiere wie manch anderer. eich lerne leider nur beim Probieren o0


    Ich möchte den Adminrang irgend wo definieren.

  • Verstehe ich deine Frage richtig?
    Also deine Frage lautet, wie du in deinen Admin-System eine Adminlevel abfrage erstellen tust?
    Also ab Adminlvl 3 kann man Bannen und ab Adminlvl 2 kicken.. usw?

  • Du kannst das mit den Ranknamen einfacher lösen.


    Erstell einen Array mit allen verfügbaren Ranknamen, wie folgt.


    new RankNamen[][32]=
    {
    {"Kein Admin"}, //Rank 0
    {"Rank 1"},
    {"Rank 2"}
    };


    Jetzt kannst du mit einer einfachen Funktion auf die Namen zugreifen. Diese werden durch deinen Rank bestimmt.


    stock GetRankName(playerid)
    {
    return RankNamen[GetPVarInt(playerid,"Adminevel")];
    }

  • Und wie genau verwende ich diese Ränge anhand von (ID's)?


    Beispielbefehl:


    CMD:veh(playerid,params[])
    {
    new carid,colid,colid2,rein,Float:x, Float:y, Float:z;
    //if(!IsPlayerAdmin(playerid,1))return SendClientMessage(playerid,0xFF00FFFF,"Du benötigst mindestens Admin Level 1");
    if(sscanf(params,"iii",carid,colid,colid2))return SendClientMessage(playerid,0xFF00FFFF,"Tippe: /veh [ID][Farbe 1][Farbe 2]");
    GetPlayerPos(playerid,x,y,z);
    rein = CreateVehicle(carid,x,y,z,0,colid,colid2,99999);
    PutPlayerInVehicle(playerid,rein,0);
    return 1;
    }

  • Ich habe immer noch nicht ganz Begriffen was genau du von uns möchtest?
    bitte erkläre mal deine Frage etwas genauer damit ich dir helfen kann, denn ich hab sie nicht ganz verstanden ^^



    Grüße

  • Ist doch anz simpel... zumindest von der Denkweise...


    Adminsystem mit verschiedenen Rängen...


    Der Admin hat folgende Ränge


    1
    2
    3
    4
    5
    1337


    So, und da möchte ich irgend wo den Adminrang definiert haben, admin mit Rechte sowieso hat Befejle sowieso


    Else


    Du bienötigst Rang sowieso

  • stock Adminrang(playerid)
    {
    new rang[54];
    switch(pInfo[playerid][Adminlevel])
    {
    case 0:{rang="KEIN ADMIN";}
    case 1:{rang="Probesupporter";}
    case 2:{rang="Supporter";}
    case 3:{rang="Moderator";}
    case 4:{rang="Administrator";}
    case 5:{rang="Super Administrator";}
    case 6:{rang="Server Manager";}
    case 7:{rang="Serverleitung";}
    default:{rang="FEHLER";}
    }
    return rang;
    }


    sowas ?