frage zu banbefehl, mysql

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
  • hey, ich hab bei meinem banbefehl folgende frage, wie kann ich machen das der spieler name von der person die gebannt wird in eine extra mysql tabelle abgespeichert wird?



    ocmd:ban(playerid,params[])
    {
    if(IstSpielerAdmin(playerid, 5))
    {
    new pID, reason[128], string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid, 0xAFAFAFAA, "Benutze: /ban [ID] [Grund]");
    format(string,sizeof(string),"[ADMCMD]: %s wurde von Admin %s gebannt! Grund: %s", SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(0xFF4122FF,string);
    SpielerInfo[playerid][pBann] = 1;
    Kick(pID);
    }
    else
    {
    SendClientMessage(playerid,0xAFAFAFAA,"Du bist kein Admin!");
    }
    return 1;


    }


    MfG

  • Tabelle erstellen: `bans`


    Einfach folgendes Schema:


    Spieler Timestamp Admin Grund


    mit Timestamp kannste dann bspw. Timebans usw. einfügen und wenn du einfach -1 als Timestamp hast -> Permgebannt.


  • die frage war so gemeint das ich bsp jemanden banne und der name in eine neue tabelle eingefügt wird, nur der name und der grund, zur besseren verwaltung

  • new query[256];
    mysql_format(mysql, query, "INSERT INTO `bans` SET (`Spieler`, `Admin`, `Grund`) VALUES ('%s', '%s', '%s')", SpielerInfo[playerid][pName], SpielerInfo[playerid][pBanadmin], SpielerInfo[playerid][pBanGrund]);


    Und falls du abfragen möchtest ob der Spieler gebannt ist, kannst du einfach Abfragen ob ein Eintrag mit dem Spielernamen in der Tabelle `bans` existiert.


  • ocmd:ban(playerid,params[])
    {
    if(IstSpielerAdmin(playerid, 5))
    {
    new pID, reason[128], string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid, 0xAFAFAFAA, "Benutze: /ban [ID] [Grund]");
    format(string,sizeof(string),"[ADMCMD]: %s wurde von Admin %s gebannt! Grund: %s", SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(0xFF4122FF,string);
    SpielerInfo[playerid][pBann] = 1;
    new query[256];
    mysql_format(mysql, query, "INSERT INTO `bans` SET (`Spieler`, `Admin`, `Grund`) VALUES ('%s', '%s', '%s')", SpielerInfo[playerid][pName], SpielerInfo[playerid][pBanadmin], SpielerInfo[playerid][pBanGrund]);
    Kick(pID);
    }
    else
    {
    SendClientMessage(playerid,0xAFAFAFAA,"Du bist kein Admin!");
    }
    return 1;


    }
    also müsste der befehl so aussehen?