Anti-Cheat-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
  • Moin,
    ich möchte mal ein Anti-Cheat-System bauen ;)
    Nun ich wollte mit den Waffen anfangen..Wie mache ich das wenn man z.B sich die Waffe mit ID 38 ercheatet das man gebannt wird?
    Also wenn man sich bestimmte Waffen cheatet die dort eingetragen sind wird man gebannt ;)
    danke im vorraus :love:

  • @AntiCheat();
    new i = 0;
    @AntiCheat()
    {
    for(; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerWeapon(i) == 38)
    {
    Ban(i);
    }
    }
    return 1;
    }

  • Marshall wenn du willst kan ich dir ein für deinen Server guten Anti-Weapon-cheat einbauen. Habe da einen muss diesen nur wegen dem MinigunArena umschreiben.

  • das hab ich eben gemeint...wenn man dann zur minigun-arena geht, denkt das anti-cheat-system, dass man sich eine minigun gecheatet hat^^ xD

    Die deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.


    _____________________________________________________________________________


    Einige Filterscripts von mir...

  • Und jetzt mal ein "richtiges" Anti-Cheat + Ping Kick: ^^




    #include a_samp


    #define maxPingWarns 5
    #define maxPing 500


    new
    i = 0,
    ip[16],
    str[64],
    s = 0,
    wep,
    ammo,
    n[MAX_PLAYER_NAME],
    pingWarns[MAX_PLAYERS],
    pingVar[MAX_PLAYERS];


    public OnGameModeInit()
    {
    SetTimer("Checking", 1000, false);
    return 1;
    }


    @Checking();


    @Checking()
    {
    for(; i < MAX_PLAYERS; i++)
    {
    if(BadPlayerWeapons(i))
    {
    GetPlayerName(i, n, sizeof(n));
    GetPlayerIp(i, ip, sizeof(ip));
    for(; s < 13; s++) GetPlayerWeaponData(i, s, wep, ammo);
    format(str, sizeof(str), "%s wurde wegen Waffenhack (WaffenID: %d, Ammo: %d) gebannt. IP: %d", n, wep, ammo, ip);
    SendClientMessageToAll(0xFF0000FF, str);
    BanEx(i, "Weaponhack");
    }
    pingVar[i]++;
    if(pingVar[i] > 10 && pingWarns[i] < maxPingWarns)
    {
    pingVar[i] = 0;
    pingWarns[i]++;
    if(pingWarns[i] > maxPingWarns)
    {
    GetPlayerName(i, n, sizeof(n));
    format(str, sizeof(str), "%s wurde wegen High-Ping (Ping: %d), gekickt.", n, GetPlayerPing(i));
    SendClientMessageToAll(0xFF0000FF, str);
    Kick(i);
    }
    format(str, sizeof(str), "Du hast bisher %d von %d Ping Warns! Bitte fix deinen Ping!", pingWarns[i], maxPingWarns);
    SendClientMessage(i, 0xFF0000FF, str);
    }
    }
    return 1;
    }


    stock BadPlayerWeapons(thePlayer)
    {
    new gun = GetPlayerWeapon(thePlayer);
    if(gun == 16 || gun == 18 || gun == 35 || gun == 36 || gun == 37 || gun == 38 || gun == 39) return 1;
    return 0;
    }