MySQL Stat Abfrage

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
  • Morgen meine Mitscripter :D


    Ich versuche mich im Moment, an einer Spieler Abfrage, die mir die Stats der Spieler anzeigt, die den Befehl "Stats" ausgeführt haben.


    Ich benutzte das MySQL System von Maddin [ SCRIPTING ] MySQL (Installation, Zugriff, Einstellungen, Login & Register Beispiel)


    Da ich aber nicht so wirklich Plan von MySQL habe fällt mir das etwas schwer, ich habe mich natürlich auch schon ein wenig informiert,
    aber bin dennoch nicht sehr weit gekommen.
    Hier mal mein "Versuch"


    if (strcmp("/stats", cmdtext, true, 10) == 0)
    {
    if (SpielerInfo[playerid][pAdmin] == 1)
    SendClientMessage(playerid, 0xFFFFFFFF, "AdminLvl 1");
    } else {
    return 1;
    }
    return 0;
    }


    Hierbei brauche ich nun folgende Hilfe: Ich will das Adminlevel aus der Tabelle "accounts" - Spalte "admin" abfragen.
    Wie kann ich das am besten anstellen?. Der Code oben, war nur ein verzweifelter versuch irgendein Erfolg zu haben :D


    Ich bedanke mich schon mal für jeden hilfreichen Kommentar
    mfg. Basti!

    Dieser Beitrag wurde bereits 1337 mal editiert, zuletzt von »Syn0x« (Jetzt, 13:37)

  • if (strcmp("/stats", cmdtext, true, 10) == 0)
    {
    switch(SpielerInfo[playerid][pAdmin])
    {
    case 0:{ str="Admin Level 0"; }
    case 1:{ str="Admin Level 1"; }
    case 2:{ str="Admin Level 2"; }
    case 3:{ str="Admin Level 3"; }
    case 4:{ str="Admin Level 4"; }
    }
    SendClientMessage(playerid, 0xFFFFFFFF,str);
    }


    Also am besten du setzt dem Spieler sein Adminlevel direkt wenn er auf den Server
    connected. ( beim Login )

  • Erst mal Danke, für dein Antwort :D


    Also ich habe das jetzt mal rein gebaut und bekomme die Errors


    Code
    F:\sa-mp\gamemodes\LBRL.pwn(379) : error 017: undefined symbol "str"
    F:\sa-mp\gamemodes\LBRL.pwn(379) : warning 215: expression has no effect
    F:\sa-mp\gamemodes\LBRL.pwn(381) : error 017: undefined symbol "str"


    Was das bedeutet weiß ich, meine Frage is nur, wozu is das gut?


    Und wenn ich das so mache, reicht es nicht, wenn ich nur 1x Admin da stehen habe und der mit das Level so anzeigt, ohne das er eine Auswahl zwischen viele hat?.
    Weil wenn ich das so machen würde, dann würde ich hinterher 10Millionen Zeillen haben, nur um Sämtliche Stats aus zu lesen :D
    mfg

    Dieser Beitrag wurde bereits 1337 mal editiert, zuletzt von »Syn0x« (Jetzt, 13:37)

  • Dann musst du return 1; beim beenden des Befehls haben ( Die Letzte Zeile des Befehls,also nach SendClientMessage ) .Sonst ist bei dir wohl return 0, weshalb die Nachricht "Unkown Command" ausgibt.



    http://wiki.sa-mp.com/wiki/OnPlayerCommandText
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmdtext, "/help", true))
    {
    SendClientMessage(playerid, 0xFFFFFFFF, "SERVER: This is the /help command!");
    return 1;
    // Returning 1 informs the server that the command has been processed.
    // OnPlayerCommandText won't be called in other scripts.
    }
    return 0;
    // Returning 0 informs the server that the command hasn't been processed by this script.
    // OnPlayerCommandText will be called in other scripts until one returns 1.
    // If no scripts return 1, the 'SERVER: Unknown Command' message will be shown.
    }

  • Danke erstmal für deinen Tipp Goldkiller.


    Trozdem bleibt jetzt noch meine Frage, wie kann ich eine Mysql Tabelle auslesen?
    Damit es nicht so aussieht:


    if (strcmp("/stats", cmdtext, true, 10) == 0)
    {
    switch(SpielerInfo[playerid][pAdmin])
    {
    case 0:{ str="Admin Level 0"; }
    case 1:{ str="Admin Level ..."; }
    case 2:{ str="Admin Level 1337"; }
    }
    SendClientMessage(playerid, 0xFFFFFFFF,str);
    }


    Das ist nun nur ein Beispiel. Ich will darauf hinaus, das ich im Script nicht zuletzt 1 Million Zeilen habe, nur im die Stats auszulesen.
    Irgendwie muss das doch möglich sein, die Tabelle gleich auszulesen?


    z.B
    if (strcmp("/stats", cmdtext, true, 10) == 0)
    {
    switch(SpielerInfo[playerid][pAdmin])
    {
    case 0:{ str="Admin Level [Tabellenwert von der Spalte: Adminlvl - vom Spieler: Playerid]"; }
    }
    SendClientMessage(playerid, 0xFFFFFFFF,str);
    }


    Ist sowas irgendwie möglich?
    Danke für alle hilfreichen Antworten.
    mfg Basti!

    Dieser Beitrag wurde bereits 1337 mal editiert, zuletzt von »Syn0x« (Jetzt, 13:37)