FoxHound

FoxMoney v2

Mar 7th, 2011
513
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.39 KB | None | 0 0
  1.         ////-/////-/////-/////-/////-/////-/////-/////-/////-/////-/////-/////-/////-//
  2.        //                              Anti-Money-Hack                              //
  3.       //                                 FoxMoney v2                               //
  4.      //                        COPYRIGHT BY FOXHOUND / PSPGAMER                   //
  5.     ////-/////-/////-/////-/////-/////-/////-/////-/////-/////-/////-/////-/////-//
  6.  
  7. //------< INCLUDEs >------//
  8.     #include <a_samp>
  9. //------------------------//
  10.  
  11. //----------< OPTIONS >---------//
  12. //  #define I_USE_SETPLMONEY    // UNcomment this, if you have already defined SetPlayerMoney (STANDART: Commented)
  13.     #define SERVER_SIDE_MONEY   // Comment this (//), if you don't want to use the ServerSide-Money Function (NOT RECOMENDED TO COMMENT IT, IT'S USEFUL) (STANDART: Uncommented)
  14. //  #define WRITE_IN_SERVERLOG  // UNcomment this, if you want to log cheaters (it's not really needed) (STANDART: Commented)
  15.     #define MONEYCHECK_TIME 2   // All 5 Seconds, the Money of a Player will be checked (time-in-seconds) (STANDART: 2 Sec)
  16. //------------------------------//
  17.  
  18. //----------------< DEFINEs >---------------//
  19.     #define FXM_LOG_DIR "FoxMoney_Log.txt"
  20. //------------------------------------------//
  21.  
  22. //------------------------< FORWARDs >------------------------//
  23.     #if defined I_USE_SETPLMONEY
  24.         forward FXM_SetPlayerMoney(playerid, newmoney);
  25.     #else
  26.         forward SetPlayerMoney(playerid, newmoney);
  27.     #endif
  28.     forward FXM_GivePlayerMoney(playerid, money);
  29.     forward FXM_GetPlayerMoney(playerid);
  30.     forward FXM_ResetPlayerMoney(playerid);
  31.     forward FXM_OnPlayerConnect(playerid);
  32.     forward FXM_OnPlayerDisconnect(playerid,reason);
  33.     forward fxm_player_money_checker(playerid);
  34. //------------------------------------------------------------//
  35.  
  36. //----------------------< NEW CALLBACK >----------------------//
  37.     forward OnPlayerCheatMoney(playerid,newmoney,oldmoney);
  38. //------------------------------------------------------------//
  39.  
  40. //--------------< NEWs >--------------//
  41.     new FXM_playerMoney[MAX_PLAYERS];
  42.     new FXM_MoneyCheckTimer[MAX_PLAYERS];
  43. //------------------------------------//
  44.  
  45. //-------------------------------------------< OnPlayer(Dis)Connect >-------------------------------------------//
  46. public OnPlayerConnect(playerid) {
  47.     FXM_MoneyCheckTimer[playerid] = SetTimerEx("fxm_player_money_checker",MONEYCHECK_TIME*1000,1,"i",playerid);
  48.     return CallLocalFunction("FXM_OnPlayerConnect","i",playerid); }
  49. public OnPlayerDisconnect(playerid,reason) {
  50.     KillTimer(FXM_MoneyCheckTimer[playerid]);
  51.     return CallLocalFunction("FXM_OnPlayerDisconnect","id",playerid,reason); }
  52. //--------------------------------------------------------------------------------------------------------------//
  53.  
  54. //-------------------< PLAYER MONEY CHECKER >-------------------//
  55. public fxm_player_money_checker(playerid)
  56. {
  57.     new pName[MAX_PLAYER_NAME];
  58.     GetPlayerName(playerid,pName,sizeof(pName));
  59.     if(GetPlayerMoney(playerid) > FXM_playerMoney[playerid])
  60.     {
  61.         #if defined WRITE_IN_SERVERLOG
  62.             printf("[FOXMONEY] MoneyCheat Detected: Player '%s' - Cheated Money: %d$ - OldMoney: %d$ - New Money: %d$\r\n",pName,GetPlayerMoney(playerid)-FXM_playerMoney[playerid],FXM_playerMoney[playerid],GetPlayerMoney(playerid));
  63.             #if defined SERVER_SIDE_MONEY
  64.                 ResetPlayerMoney(playerid);GivePlayerMoney(playerid,FXM_playerMoney[playerid]);
  65.                 printf("[FOXMONEY] Setting '%s's money to original amount(%d$). Player Current Money: %d$\r\n",pName,FXM_playerMoney[playerid],GetPlayerMoney(playerid));
  66.             #endif
  67.         #endif
  68.         new newmoney[MAX_PLAYERS], oldmoney[MAX_PLAYERS];
  69.         newmoney[playerid] = GetPlayerMoney(playerid);
  70.         oldmoney[playerid] = FXM_playerMoney[playerid];
  71.         CallLocalFunction("OnPlayerCheatMoney","idd",playerid,newmoney[playerid],oldmoney[playerid]);
  72.     }
  73.     else if(GetPlayerMoney(playerid) < FXM_playerMoney[playerid]) { FXM_playerMoney[playerid] = GetPlayerMoney(playerid); }
  74. }
  75. //--------------------------------------------------------------//
  76.  
  77. //-------------< NEW FUNCTIONS >-------------//
  78. #if defined I_USE_SETPLMONEY
  79.     public FXM_SetPlayerMoney(playerid, newmoney) {
  80.         if(IsPlayerConnected(playerid)) {
  81.             FXM_playerMoney[playerid] = newmoney;
  82.             ResetPlayerMoney(playerid);
  83.             GivePlayerMoney(playerid,newmoney);
  84.             return true; }
  85.         return false; }
  86. #else
  87.     public SetPlayerMoney(playerid, newmoney) {
  88.         if(IsPlayerConnected(playerid)) {
  89.             ResetPlayerMoney(playerid);
  90.             FXM_playerMoney[playerid]=newmoney;
  91.             GivePlayerMoney(playerid,FXM_playerMoney[playerid]);
  92.             return true; }
  93.         return false; }
  94. #endif
  95.  
  96. public FXM_GivePlayerMoney(playerid, money) {
  97.     if(IsPlayerConnected(playerid)) {
  98.         FXM_playerMoney[playerid]=(FXM_playerMoney[playerid]+money);
  99.         ResetPlayerMoney(playerid);
  100.         GivePlayerMoney(playerid,FXM_playerMoney[playerid]);
  101.         return true; }
  102.     return false; }
  103. public FXM_GetPlayerMoney(playerid) {
  104.     if(IsPlayerConnected(playerid)) {
  105.         return FXM_playerMoney[playerid]; }
  106.     return false; }
  107. public FXM_ResetPlayerMoney(playerid) {
  108.     if(IsPlayerConnected(playerid)) {
  109.         FXM_playerMoney[playerid]=0;
  110.         ResetPlayerMoney(playerid);
  111.         GivePlayerMoney(playerid,FXM_playerMoney[playerid]);
  112.         return true; }
  113.     return false; }
  114. //-------------------------------------------//
  115.  
  116. #if defined I_USE_SETPLMONEY
  117.     #define SetPlayerMoney FXM_SetPlayerMoney
  118. #endif
  119. #define GivePlayerMoney FXM_GivePlayerMoney
  120. #define GetPlayerMoney FXM_GetPlayerMoney
  121. #define ResetPlayerMoney FXM_ResetPlayerMoney
  122. #define OnPlayerConnect FXM_OnPlayerConnect
  123. #define OnPlayerDisconnect FXM_OnPlayerDisconnect
Add Comment
Please, Sign In to add comment