Nachricht bei falschem/korrektem Login (RCON)

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 Leute,


    ich möchte, dass wenn ein Spieler sich versucht als RCON-Admin einzuloggen folgendes passiert:


    public OnRconLoginAttempt(ip[], password[], success)
    {
    new string22[128];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!success)
    {
    SCM(i,ROT,"Du hast dich versucht als RCON-Admin einzuloggen!");
    SCM(i,ROT,"Alle Admins wurden von deinem Login-Versuch informiert!");
    format(string22,sizeof(string22),"[RCON] %s hat sich versucht als RCON-Admin anzumelden!",SpielerName(i));
    ABroadCast(ROT,string22,1);
    }
    else
    {
    SCM(i,COLOR_GREEN,"Du bist nun als RCON-Admin angemeldet!");
    format(string22,sizeof(string22),"[RCON] %s hat sich als RCON-Admin angemeldet!",SpielerName(i));
    ABroadCast(F_O,string22,1);
    }
    }
    return 1;
    }


    Wenn ich mich einlogge, egal mit oder den falschen Daten, spammen Nachrichten von allen Spielern und generell auch paar mal keinem Spieler in den Chat...



    Was habe ich falsch gemacht? ^^

  • public OnRconLoginAttempt(ip[], password[], success)
    {
    new pip[16];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    GetPlayerIp(i, pip, sizeof(pip));
    if(!strcmp(ip, pip, true))
    {
    if(!success)
    {
    SCM(i,ROT,"Du hast dich versucht als RCON-Admin einzuloggen!");
    SCM(i,ROT,"Alle Admins wurden von deinem Login-Versuch informiert!");
    format(string22,sizeof(string22),"[RCON] %s hat sich versucht als RCON-Admin anzumelden!",SpielerName(i));
    ABroadCast(ROT,string22,1);
    }
    else
    {
    SCM(i,COLOR_GREEN,"Du bist nun als RCON-Admin angemeldet!");
    format(string22,sizeof(string22),"[RCON] %s hat sich als RCON-Admin angemeldet!",SpielerName(i));
    ABroadCast(F_O,string22,1);
    }
    }
    }
    return 1;
    }


    Beachte, dass die IP geprüft wird, sprich wenn zwei Spieler dieselbe IP haben, kommen zwei Nachrichten.

  • Beachte, dass die IP geprüft wird, sprich wenn zwei Spieler dieselbe IP haben, kommen zwei Nachrichten.


    Es ist immer noch so, dass dort folgende Nachricht ca. 8 Mal gesendet wird:


    ,,[RCON] hat sich als RCON-Admin angemeldet!"


    Der Name steht dort nicht und diese Nachricht wird wie oben erwähnt gespammt :/

  • Das liegt daran, dass GetPlayerIp einen leeren String zurück gibt, das Beispiel im Wiki ist ziemlich schlecht, dort habe ich es kurz rauskopiert. :whistling:
    if(!strcmp(ip, pip, true))
    zu:
    if(IsPlayerConnected(i) && !strcmp(ip, pip, true))


    Du könntest auch abfragen, ob
    strlen(SpielerName(i)) > 0
    ist, kommt aus das Gleiche raus.