Suche Admin Level Tutorial auf Mysql Basis

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
  • Naja, wenn du schon ein Registrierungssystem bzw Loginsystem hast, dann besitzt du ja bereits den Grundstein.


    Dann einfach in das bereits existierende Enum eine Variable packen, wie z.B. pAdmin


    Und dann kannst du überall so prüfen:



    C
    if(SpielerInfo[playerid][pAdmin] >= 5)
    {
        //Hier hätte der Spieler jetzt ein Adminlevel größer gleich 5
    }

    Und da du bereits ein MySQL System hast, packst du das einfach nur ins Query...im Sinne von: `Admin`='%d'


    Ich weiß nicht genau, wo deine Problematik bei diesem Thema ist.


    Im Endeffekt ist es nur eine Variable..die du dann einfach durch ein query in der Datenbank speicherst.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • also so?


    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    if(!oInfo[playerid][pLoggedIn])
    {
    new query[128];
    mysql_format(handle, query, sizeof(query), "SELECT id FROM accounts WHERE name = '%e'", oInfo[playerid][pName]);
    mysql_format(handle, query, sizeof(query), "SELCET id FROM accounts WHERE admin = '%d'", oInfo[playerid][pAdmin]);
    mysql_pquery(handle, query, "OnUserCheck", "d", playerid);
    }
    return 1;
    }

  • nicht ganz, du bist derzeit beim Spieler Laden, du muss dies beim Speichern einfügen.Dies müsstest du finden wenn du mal nach UPDATE `accounts` SET bzw. UPDATE accounts`SET suchst, dann dort allerdings keine neue Zeile, sondern per Komma am Ende einfügen


    stock SaveUserStats(playerid)
    {
    if(oInfo[playerid][pLoggedIn]) return 1;
    new query[256];
    mysql_format(handle, query, sizeof(query), "UPDATE accounts SET level = '%d', admin = '%d', money = '%d', kills = '%d', deaths = '%d' WHERE id = '%d'",oInfo[playerid][pLevel],oInfo[playerid][pAdmin],oInfo[playerid][pAdmin], oInfo[playerid][pMoney], oInfo[playerid][pKills], oInfo[playerid][pDeaths], oInfo[playerid][p_id]);
    mysql_pquery(handle, query);
    return 1;
    }

    • Offizieller Beitrag

    Genau, hier fügst du nun die von @Kaliber erwähnte Variable ein, also so:


    Code
    mysql_format(handle, query, sizeof(query), "UPDATE accounts SET level = '%d', admin = '%d', money = '%d', kills = '%d', deaths = '%d', admin = '%d' WHERE id = '%d'",oInfo[playerid][pLevel],oInfo[playerid][pAdmin],oInfo[playerid][pAdmin], oInfo[playerid][pMoney], oInfo[playerid][pKills], oInfo[playerid][pDeaths], oInfo[playerid][pAdmin], oInfo[playerid][p_id]);

    So fügst du dann auch später weitere Variablen hinzu.


    Wichtig ist nun noch, dass du in deiner Datenbank in der Tabelle accounts den Integer-Wert admin hinzufügst, dann sollte das ganze auch gespeichert werden.
    Allgemein würde ich dir allerdings nochmal empfehlen dir das Tutorial von @Jeffry [jTuT] MySQL R41-3 (Installation, XAMPP, Verwendung, Bedienung & Registrations-System) anzuschauen, hier findest du auch noch wie das ganze nun geladen werden kann

  • Genau, hier fügst du nun die von @Kaliber erwähnte Variable ein, also so:


    Code
    mysql_format(handle, query, sizeof(query), "UPDATE accounts SET level = '%d', admin = '%d', money = '%d', kills = '%d', deaths = '%d', admin = '%d' WHERE id = '%d'",oInfo[playerid][pLevel],oInfo[playerid][pAdmin],oInfo[playerid][pAdmin], oInfo[playerid][pMoney], oInfo[playerid][pKills], oInfo[playerid][pDeaths], oInfo[playerid][pAdmin], oInfo[playerid][p_id]);

    So fügst du dann auch später weitere Variablen hinzu.


    Wichtig ist nun noch, dass du in deiner Datenbank in der Tabelle accounts den Integer-Wert admin hinzufügst, dann sollte das ganze auch gespeichert werden.
    Allgemein würde ich dir allerdings nochmal empfehlen dir das Tutorial von @Jeffry [jTuT] MySQL R41-3 (Installation, XAMPP, Verwendung, Bedienung & Registrations-System) anzuschauen, hier findest du auch noch wie das ganze nun geladen werden kann

    jetzt hast du admin doppelt gemacht^^ er hatte schon im Code admin eingefügt.


    @TE ja so ist richtig^^ nur in der Datenbank eine Spalte in accounts einfügen^^


    Mehr transparents zu der Community!
    Aber bitte künftig: Transparenz und nicht Transparents