[Suche] Anti IP System

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
  • Hi ich suche ein Anti IP System .
    Wenn es geht sollte es so sein das wenn egal wer und egal in welchem Chat also egal ob Telefon on OOC oder anders eine IP schreibt bekommt er eine Nachrcht z.b.


    Wir dulden keine IP versendung .


    Und die Admins bekommen eine Nachricht wo dann die IP drine steht die versendet werden sollte .



    Hoffe ich bekomme eines .
    Danke schonmal .



    MFG
    Bonbon
    :!: -------------------- Ende -------------------- :!:

  • Sry habe ich schon geguckt auch hier in der SUFU und dort auch .
    Weisst du vllt wo ich eines ger bekommen kann ? Ich brauche echt eines !


    Hoffe mir hilft wer .

  • ich kann dir meins geben mussr es nur in jeden chat einbauen und dafür musst du etwas scripten können, mache aber 2 beispiele anhand von gf aber nur wenn du willst.

  • Sniper wenn du mir das gibst mache ich das mal

  • ganz oben:
    forward getIPfromString(string[]);


    ganz unten:
    public getIPfromString(string[]) {
    new round = 0, lastchars = 0;
    for(new i = 0; i < strlen(string); i++) {
    if(round == 0 && string[i] == '.') {
    round = 1;
    } else if(round <= 3 && string[i] == '.' && lastchars <= 3 && lastchars >= 2) {
    round += 1;
    lastchars = 0;
    } else if(round == 3 && string[i] == ':' && lastchars <= 3 && lastchars >= 2) {
    round += 1;
    lastchars = 0;
    } else if(round >= 1) {
    lastchars++;
    }
    }
    printf("%d %d", round, lastchars);
    if(round == 4) {
    return 1;
    } else {
    return 0;
    }


    }


    in dem befehl wie /o (/ooc)

    if(getIPfromString(result))
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "SCRIPT: %s wurde wegen Werbung gekickt!", sendername);
    SendClientMessageToAll(COLOR_RED,string);
    KickLog(string);
    SendClientMessage(playerid, TEAM_CYAN_COLOR, "Keine Werbung!");
    Kick(playerid);
    return 0; // GANZ WICHTIG!
    }

    das sehe dann bei ooc ca. so aus:

    Spoiler anzeigen

    if(strcmp(cmd, "/ooc", true) == 0 || strcmp(cmd, "/o", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " You havent logged in yet !");
    return 1;
    }
    if ((noooc) && PlayerInfo[playerid][pAdmin] < 1)
    {
    SendClientMessage(playerid, COLOR_GRAD2, " The OOC channel wurde von einem Admin deaktieviert !");
    return 1;
    }
    if(PlayerInfo[playerid][pMuted] == 1)
    {
    SendClientMessage(playerid, TEAM_CYAN_COLOR, " You can't speak, you have been silenced !");
    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, "USAGE: (/o)oc [ooc chat]");
    return 1;
    }
    if(getIPfromString(result))
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "SCRIPT: %s wurde wegen Werbung gekickt!", sendername);
    SendClientMessageToAll(COLOR_RED,string);
    KickLog(string);
    SendClientMessage(playerid, TEAM_CYAN_COLOR, "Keine Werbung!");
    Kick(playerid);
    return 0;
    }
    format(string, sizeof(string), "(( %s: %s ))", sendername, result);
    OOCOff(COLOR_OOC,string);
    printf("%s", string);
    }
    return 1;
    }


    Bei OnPlayertext ist das bei GF so:
    public OnPlayerText(playerid, text[])
    {
    new giver[MAX_PLAYER_NAME];
    new sendername[MAX_PLAYER_NAME];
    new giveplayer[MAX_PLAYER_NAME];
    new tmp[256];
    new string[256];
    new giveplayerid;
    if(getIPfromString(text)) {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "SCRIPT: %s wurde wegen Werbung gekickt!", sendername);
    SendClientMessageToAll(COLOR_RED,string);
    KickLog(string);
    SendClientMessage(playerid, TEAM_CYAN_COLOR, "Keine Werbung!");
    Kick(playerid);
    return 0;
    }

  • [GCW]Maercell hat mal ein Anti IP FS gemacht für gf sowohl auch self scriptet.. ich nutz des auch is gut !

  • Ja nur Heitzer du benutzt das nicht weil du doch nicht mehr Scriptest

  • [GCW]Maercell hat mal ein Anti IP FS gemacht für gf sowohl auch self scriptet.. ich nutz des auch is gut !


    Ja ey Heitzzer nur du weißt das ich richtig nicht Anti IP sondern ANTI [GCW] bin

  • Das hat damit gar nix zutun ob Maercell GCW ist oder nicht er macht gute arbeit und die muss man zu schätzen wissen .. viele wie du (und ich auch) fragen oft nach solchen sachen ob das mal jemand scripten kann .. aber manche bauen es selber ..

  • DT eine frage noch wenn ich das System unter mehr als 2 - 3 mache wieso kommt dann so was mit result ?

  • Also ich habe dieses Anti IP da also dieses :
    if(getIPfromString(result))
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Anti-IP: %s wurde wegen Werbung gekickt!", sendername);
    SendClientMessageToAll(COLOR_RED,string);
    KickLog(string);
    SendClientMessage(playerid, TEAM_CYAN_COLOR, "Keine Werbung!");
    Kick(playerid);
    return 0; // GANZ WICHTIG!
    }


    Das habe ich 2 - 3 mal gemacht und wenn ich das öfter machen will kommt da ein error oder warning weiß ich jeze ne mit irgendwas mit result .
    Wenn ich das was ich davor gemacht wieder weg machen ist nichts und es geht alles

  • Ok danke hat sich erledigt

    Einmal editiert, zuletzt von [3L1T3]Bonbon ()