Script erlaubt keine andere IP Adressen von andere Nationen

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
  • Hallo , ich hab ein problem .


    Ich hab ein Script , und mein kollege möchte auf dem SA-MP Server drauf connecten .
    Leider hab ich ein Problem ,mein freund kommt aus der Türkei , und er kann sich nicht connected . weil diese Fehlermeldung ihn zusteht


    Auf unserem Server sind nur IPs aus Deutschland, Österreich und der Schweiz erlaubt.


    public OnServerAddPlayerToWhiteList(senderid, setname[])
    {
    if(cache_affected_rows())
    {
    new string[128];
    format(string, sizeof(string), "* %s %s hat %s auf die Login-Whitelist gesetzt.",GetPlayerTitle(senderid), GetPlayerNameEx(senderid), setname);
    SendAdminMessage(COLOR_GREEN, string);
    return 1;
    }
    SendClientMessage(senderid, COLOR_LESSRED, "Dieser Spieler existiert nicht oder ist bereits auf der Whitelist.");
    return 1;
    }


    public OnServerCheckIpWhitelist(playerid)
    {
    if(cache_num_rows())
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Du stehst auf der Ip - Whitelist. Dein Account wurde nun verbunden.");
    playerInfo[playerid][pIgnoreIp] = true;


    new query[128];
    mysql_format(dbHandle, query, sizeof(query), "DELETE FROM `ipwhitelist` WHERE `id` = '%d'",cache_get_field_content_int(0, "id"));
    mysql_tquery(dbHandle, query, "", "");


    ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration (1 / 4)","Bitte gebe zur späteren Verifizierung deiner Person ein Passwort ein:","Registieren","Verlassen");
    }
    else
    {
    if(playerInfo[playerid][pBanIp]) SendClientMessage(playerid, COLOR_RED, "Dein Account ist nicht in der Lage, zu verbinden (banned).");
    else SendClientMessage(playerid, COLOR_RED, "Auf unserem Server sind nur IPs aus Deutschland, Österreich und der Schweiz erlaubt.");
    KickEx(playerid);
    }
    return 1;
    }

  • Probier es mal so

  • Sorry bin am Handy und da ist der Überblick der beiden Codes nicht gerade einfach.
    Aber sehe ich richtig, und du klammerst einfach nur die Nachricht aus?


    Ich schließe mich Reborns Aussage an

  • Sieht du nicht ganz richtig, im Code vom TE bekommt der User die o.g. Nachricht, wenn playerInfo[playerid][pbanID] NICHT zutrifft und wird außerdem gekickt (unabhängig von der IF-Abfrage).
    Ich habe den Code soweit berichtigt, dass der Spieler nunmehr nur gekickt wird, wenn er gebannt ist und außerdem hab ich die Nachricht ausgeklammert, da ohnehin nirgends eine IP überprüft wird.