How to Anti-Minigun Hack!

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,


    Hier ist ein Tut von mir, in diesem TuT wird gezeigt wie man unterbindet das ein Spieler sich eine Minigun hackt!


    forward Cheattimer(); //Muss oben hin unter die Include samp


    SetTimer("Cheattimer",1000,1); //setzt den Timer für den Anti Minigun! wird jede Sekunde abgerufen! Muss unter GameModeInt



    public Cheattimer()
    {
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerWeapon(i) == 38)//Wenn der Spieler eine Minigun hat, kann man auch noch erweitern!
    {
    SendClientMessageToAll(COLOR_RED,"System: Es wurde ein Cheater gebannt!//Sendet diese Nachricht zu allen Spieler!");
    Ban(i);//Bannt den Spieler wo die Minigun hat!
    }
    }
    } //am besten nach ganz unten!


    Bitte beachtet das dies mein erstes TuT ist!


    MfG: Apoolecu

  • Nice das kann man aber auch so machen


    public Cheattimer()
    {
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerWeapon(i) == 38//Wenn der Spieler eine Minigun hat, kann man auch noch erweitern!
    {
    new name[MAX_PLAYER_NAME], string[128];
    GetPlayerName(i, name, sizeof(name));
    format(string, sizeof(string), "%s wurde vom Anticheatsystem gebannt, Grund: Minigun.", name );
    SendClientMessageToAll(0xFFFF00AA, string);
    Ban(i);//Bannt den Spieler der die Minigun hat!
    }
    }
    }[ //am besten nach ganz unten!

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • du hast n kleinen tippfehler, mt der letzten eckigen klammer wird es nicht funktionieren



    public Cheattimer()
    {
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerWeapon(i) == 38//Wenn der Spieler eine Minigun hat, kann man auch noch erweitern!
    {
    new name[MAX_PLAYER_NAME], string[128];
    GetPlayerName(i, name, sizeof(name));
    format(string, sizeof(string), "%s wurde vom Anticheatsystem gebannt, Grund: Minigun.", name );
    SendClientMessageToAll(0xFFFF00AA, string);
    Ban(i);//Bannt den Spieler der die Minigun hat!
    }
    }
    }


    so sollte es gehen


    PS: für die leute die es gerne kürzer haben:

    public Cheattimer(){
    for (new i = 0; i < MAX_PLAYERS; i++){
    if(GetPlayerWeapon(i) == 38
    {
    new name[MAX_PLAYER_NAME], string[128];
    GetPlayerName(i, name, sizeof(name));
    format(string, sizeof(string), "%s wurde vom Anticheatsystem gebannt, Grund: Minigun.", name );
    SendClientMessageToAll(0xFFFF00AA, string);
    Ban(i);}}}

    PS: 2tes ungetestet

    Zitat

    (skype) Wastl: Oida, i greif ka schowaßding mea au, gestan bam schwoaßn hob i ma meine sockhoa vaseink :-/

    Zitat

    (skype) Wastl: Alter, ich greife kein schweißgerät mehr an, gestern beim schweißen hab ich mir meine intimhaare versenkt :-/

    :D :D :D

    Einmal editiert, zuletzt von Toby ()

  • so wird es nicht gehen ToBy^^



    public Cheattimer() {
    for (new i = 0; i < MAX_PLAYERS; i++) {
    if(GetPlayerWeapon(i) == 38 {
    new name[MAX_PLAYER_NAME], string[128];
    GetPlayerName(i, name, sizeof(name));
    format(string, sizeof(string), "%s wurde vom Anticheatsystem gebannt, Grund: Minigun.", name );
    SendClientMessageToAll(0xFFFF00AA, string);
    Ban(i); }}}


    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • hab beim 2ten das nach dem // vergessen gehabt habs aber schon editiert ;P


    so mal nebenbei, es gen+gt doch eigentlich ein timer von 5 bis 10 sekunden oder?

    Zitat

    (skype) Wastl: Oida, i greif ka schowaßding mea au, gestan bam schwoaßn hob i ma meine sockhoa vaseink :-/

    Zitat

    (skype) Wastl: Alter, ich greife kein schweißgerät mehr an, gestern beim schweißen hab ich mir meine intimhaare versenkt :-/

    :D :D :D

  • lol das funzt bei uns beiden nicht das muss so sein



    public Cheattimer() {
    for (new i = 0; i < MAX_PLAYERS; i++) {
    if(GetPlayerWeapon(i) == 38) /*da hat eine ) gefählt */ {
    new name[MAX_PLAYER_NAME], string[128];
    GetPlayerName(i, name, sizeof(name));
    format(string, sizeof(string), "%s wurde vom Anticheatsystem gebannt, Grund: Minigun.", name );
    SendClientMessageToAll(0xFFFF00AA, string);
    Ban(i); }}}

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • So könnte man es doch auch machen
    public Cheattimer()
    {
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerWeapon(i) == 38,32,28,65,75,34,23)//Andere waffen id !!!!
    {
    SendClientMessageToAll(COLOR_RED,"System: Es wurde ein Cheater gebannt!//Sendet diese Nachricht zu allen Spieler!");
    Ban(i);//Bannt den Spieler wo die Minigun hat!
    }
    }
    } //am besten nach ganz unten!

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • public Cheattimer()
    {
    new name[MAX_PLAYER_NAME];
    new string[180];
    new Float:health; ///Anti God
    for (new playerid=0; playerid<GetMaxPlayers(); playerid++)
    {
    if (IsPlayerConnected(playerid))
    if(GetPlayerWeapon(playerid) == 38)
    {
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "%s wurde vom Anticheatsystem gebannt! Grund: Minigun.", name);
    SendClientMessageToAll(COLOR_RED, string);
    Ban(playerid);
    }
    }
    }


    Mein Code. Wenn der Name ausgeben wird, ist es doch viel besser.

  • Dumm gecodet.
    Wenn dann lieber so:

    forward CheatTimer();


    new string[128], name[MAX_PLAYER_NAME];// SA:MP Chatbox hat maximalen Output von 128, von daher ist der String in deinem Beispiel viel zu groß.
    public CheatTimer()
    {
    for(new players; players < MAX_PLAYERS; players++)
    {
    if((GetPlayerWeapon(players) == 38) && GetPlayerName(players, name, sizeof(name)))
    {
    format(string, sizeof(string), "%s wurde vom Anti-Cheat-System gebannt! Grund: Besitz einer Minigun.", name);
    SendClientMessageToAll(COLOR_RED, string);
    Ban(players);
    }
    }
    return 1;
    }

  • Wenn du einen verhältnismäßig schwachen Server hast, aber trotzdem mehr als 10 User haben willst würd ichs mir schon 3 Mal überlegen ob du nicht einiges optimieren willst:


    Übrigens würd ich dir eher das hier empfehlen:
    Code Optimierungen