Was ist an diesem Code falsch?

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
  • habs schon x-mal durchgesucht aber finde keinen fehler...


    trotzdem 6 errors beim compilieren...




    public OnRconLoginAttempt(ip[], password[], success)
    {
    if(!success)
    {
    printf("Gescheiterter RCON-Login, IP %s mit Passwort %s",ip, password);
    new pip[16];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    GetPlayerIp(i, pip, sizeof(pip));
    if(!strcmp(ip, pip, true))
    {
    SendClientMessageToAll(COLOR_YELLOW, "Es wurde versucht das RCON-Passwort zu hacken!");
    SendClientMessageToAll(COLOR_YELLOW, "... IP-Adressen werden durchsucht ...");
    Ban(i);
    }
    }
    }
    return 1;
    }



    mfg :D

  • du willst eine ip bannen ? banen doch die playerid
    //edit der fehler ist schonmal du willst jede ip von allen spielern in pip[16] speichern
    der array ist viel zu klein du musst pip[MAX_PLAYERS][16]


    //edit
    so fehler gefunden das ist richtig
    public OnRconLoginAttempt(ip[], password[], success)
    {
    if(!success)
    {
    //printf("Gescheiterter RCON-Login, IP %s mit Passwort %s",ip, password); sinnlos da das automatisch mitgeloggt wird
    SendClientMessageToAll(COLOR_YELLOW, "Es wurde versucht das RCON-Passwort zu hacken!");
    SendClientMessageToAll(COLOR_YELLOW, "... IP-Adressen werden durchsucht ...");
    new pip[16];
    for(new i=0; i<MAX_PLAYERS; i++)//kurze erklährung forschleifen steigern immer etwas wenn die bedingung in dem fall i<MAX_PLAYERS nicht erfüllt ist wird i um 1 gesteigert
    {
    GetPlayerIp(i, pip, sizeof(pip));//ip von spielerid 0 wird ermittelt dannach 1 usw...
    if(strcmp(ip, pip, true)==0)// hier war dein fehler strcmp überprüft ob ein string mit einem anderen über einstimmt wen ja wird 0 ausgegeben wenn nicht 1 wenn ip und pip gelich sind mache das... (sonst geht die geht die forschleife von vorn los in dem falle mit i++
    {
    new str[256],hacker[MAX_PLAYER_NAME];
    GetPlayerName(i, hacker, sizeof hacker);// name das "hackers" bekommen
    format(str, sizeof str,"%s wurde wegen versuchten Hacken des Rcon-PWs gebannt!",hacker);
    Ban(i);
    break;// da dein "hacker" gefunden wurde kanns du hiermit die forschleife unterbrechen das spart resourcen
    }
    }
    }
    return 1;
    }

    2 Mal editiert, zuletzt von Alex_Rider ()

  • public OnRconLoginAttempt(ip[], password[], success)
    {
    if(!success)
    {
    //printf("Gescheiterter RCON-Login, IP %s mit Passwort %s",ip, password); sinnlos da das automatisch mitgeloggt wird
    SendClientMessageToAll(COLOR_YELLOW, "Es wurde versucht das RCON-Passwort zu hacken!");
    SendClientMessageToAll(COLOR_YELLOW, "... IP-Adressen werden durchsucht ...");
    new pip[16];
    for(new i=0; i<MAX_PLAYERS; i++)//kurze erklährung forschleifen steigern immer etwas wenn die bedingung in dem fall i<MAX_PLAYERS nicht erfüllt ist wird i um 1 gesteigert
    {
    GetPlayerIp(i, pip, sizeof(pip));//ip von spielerid 0 wird ermittelt dannach 1 usw...
    if(strcmp(ip, pip, true)==0)// hier war dein fehler strcmp überprüft ob ein string mit einem anderen über einstimmt wen ja wird 0 ausgegeben wenn nicht 1 wenn ip und pip gelich sind mache das... (sonst geht die geht die forschleife von vorn los in dem falle mit i++
    {
    new str[128],hacker[20];
    GetPlayerName(i, hacker, sizeof hacker);// name das "hackers" bekommen
    format(str, sizeof str,"%s wurde wegen versuchten Hacken des Rcon-PWs gebannt!",hacker);
    Ban(i);
    SendClientMessageToAll(COLOR_YELLOW, str);
    break;// da dein "hacker" gefunden wurde kanns du hiermit die forschleife unterbrechen das spart resourcen
    }
    }
    }
    return 1;
    }
    Ein String mit 128 reicht hier vollkommen aus und der Name ist auch nur auf 20 Zeichen beschränkt ;)