AntiMoneyHack Wie am besten

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 Com,
    wollte fragen welches AntiMoneyHack System am besten ist, ich hab das mit der Variable, nur das Problem ist das die scheinbar nicht richtig mitkommt, weil ich werde gekickt, wenn ich mir Geld gebe, obwohl die Variable das Geld dazu zählt. Ich habs so:


    GivePlayerCash(...
    GeldCheck[playerid] += ...


    Kann das sein, weil das darunter ist?


    MFG

  • Wenn du Spieler lädst oder speicherst, muss du das Geld mitladen:


    PlayerInfo[playerid][pMoney] = ... ;


    Und dann immer über so einen Stock Geld geben:
    stock _GivePlayerMoney(playerid, value)
    {
    PlayerInfo[playerid][pMoney]+=value;
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid,PlayerInfo[playerid][pMoney];
    return 1;
    }


    Dann kann man sich kein Geld mehr Cheaten, da dann alles vom pMoney abhängt, und nicht
    vom "eigentlichen Geld"..


    Dann musst du einfach immer "_GivePlayerMoney" statt "GivePlayerMoney" (Kannst den Stock natürlich umbenennen)

  • @Sh13: Oder hooken...


    Ganz oben, unter die a_samp-Include:

    new PlayerMoney[MAX_PLAYERS];


    stock _GivePlayerMoney(p, m) { PlayerMoney[p] += m; GivePlayerMoney(p, m); }
    stock _GetPlayerMoney(p) { return PlayerMoney[p]; }
    stock _ResetPlayerMoney(p) { PlayerMoney[p] = 0; ResetPlayerMoney(p); }
    #define GivePlayerMoney _GivePlayerMoney
    #define ResetPlayerMoney _ResetPlayerMoney
    #define GetPlayerMoney _GetPlayerMoney


    Danach musst du nichts mehr im Script ändern ;)