Problem bei Anti-IP System mit Callback

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
  • Tag,


    ich bin grade dabei, ein Anti-IP System in meinen Script einzubauen.
    Dieser Funktioniert auch super, bis auf, das man bei /b /l /o etc. ip´s schreiben kann.
    Hierzu wird ein Callback zur verfügung gestellt:


    if(CheckPlayerText(playerid,tmp) == 0) { return 1; }


    Wie gehe ich vor um dieses Callback in z.B. den /close befehl einzubauen?


    if(strcmp(cmd, "/close", true) == 0 || strcmp(cmd, "/c", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist noch nicht eingeloggt !");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /(c)lose [close chat text]");
    return 1;
    }
    format(string, sizeof(string), "%s Sagt: %s", sendername, result);
    ProxDetector(3.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    printf("%s", string);
    }
    return 1;
    }


    für weiteren Code einfach fragen


    MfG. Cody09

  • if(strcmp(cmd, "/close", true) == 0 || strcmp(cmd, "/c", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist noch nicht eingeloggt !");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /(c)lose [close chat text]");
    return 1;
    }
    if(CheckPlayerText(playerid,result) == 0) { return 1; }
    format(string, sizeof(string), "%s Sagt: %s", sendername, result);
    ProxDetector(3.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    printf("%s", string);
    }
    return 1;
    }
    so sollte es gehen.