leute bannen die nicht online sind mit 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
  • Da ich mein Script von dini in mysql umgeschrieben habe, möchte ich auch das man Leute bannen kann, die nicht online sind.


    Hier wie momentarn mein ban Befehl aus sieht:



    ocmd:ban(playerid,params[])
    {
    new pID,grund[64],string[128];
    if(!IsPlayerAnAdmin(playerid,1))return 0;
    if(sscanf(params,"us",pID,grund))return SCM(playerid,ROT,"Benutze /ban [Playerid] [Grund]");
    if(IsPlayerAnAdmin(playerid,1))
    {
    if(IsPlayerConnected(pID))
    {
    GameTextForPlayer(pID,"~r~Sie wurden gebannt!",5000,5);
    TogglePlayerControllable(pID,0);
    format(string,128,"Sie wurden von %s gebannt. Grund: %s",SpielerName(playerid),grund);
    SCM(pID,ROT,string);
    SpielerSpeichern(pID);
    new logstring[128];
    format(logstring,128,"/ban");
    AdminLog(playerid,logstring);
    new IPaddresse[16];
    GetPlayerIp(playerid, IPaddresse, sizeof(IPaddresse));
    BanLog(pID,"Ban",grund,IPaddresse,SpielerName(playerid));
    format(string,128,"%s wurde von %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
    SCMTA(ROT,string);
    BanEx(pID,grund);
    return 1;
    }else{
    SCM(playerid,ROT,"Der Spieler ist nicht online!");
    return 1;
    }
    }
    return 1;
    }

  • Hi,


    lass den Ban in einer MySQL-Tabelle eintragen und beim Login dann abfragen, ob Ban bspw. auf 1 steht. Falls ja, ist der Spieler gebannt und wird wieder gekickt. Falls nein, kann er sich ganz normal einloggen-

  • Hi,lass den Ban in einer MySQL-Tabelle eintragen und beim Login dann abfragen, ob Ban bspw. auf 1 steht. Falls ja, ist der Spieler gebannt und wird wieder gekickt. Falls nein, kann er sich ganz normal einloggen-

    So ein Kommentar wie deiner brauch ich nicht! Ich habe hier einfach nur gefragt ob jemand mir helfen kann.

  • Du musst die Spalte auslesen..


    /unban <ID/NAME>


    new pID,name[MAX_PLAYER_NAME]+1;
    GetPlayerName(name,sizeof(name));
    z.B.(( SELECT * FROM `TABLE` WHERE NAME = '%s'),name));


    Natürlich musst du die Parameter mit Sscanf vergleichen und falls das Result vom Select > 0 ist, kannst du ihn entbannen.


    //E: Oder halt bannen, funktioniert fast genau so, bloß dass du den Namen denn inserten statt Selektieren solltest, beziehungsweise die Banned Variable auf 1 updaten solltest, Mfg.


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • So ein Kommentar wie deiner brauch ich nicht! Ich habe hier einfach nur gefragt ob jemand mir helfen kann.


    Verarschen? Ist das keine Hilfe, wenn man dir die Schritte aufzählt? Etwas Grundwissen in der Materie sollte man schon haben.


    /E: Und wenn du es alleine auf MySQL umgeschrieben hast, dürfte meine Antwort mehr als genug Hilfe bieten.

  • So ein Kommentar wie deiner brauch ich nicht! Ich habe hier einfach nur gefragt ob jemand mir helfen kann.

    Hast du noch alle am Zaun ? Denkst du wirklich irgendeiner wird dir so helfen ? Denkst du wirklich das man dir hier einfach irgendeinen Code vorscriptet ? NEIN!
    Und außerdem hat er mit diesem Kommentar TOTAL recht. Wenn du ihn über die Datenbank in die Ban spalte einträgt "1". Musst du einer bei OnPlayerConnect abfragen ob lalala[playerid][Ban] == 1 dann halt weiter wenn es so ist, wird er gekickt ! Und überleg dir bitte mal wie du mit anderen Leute umgehst, die dir nur helfen wolln.