xFernando_xD

servermoneyGM

Oct 13th, 2011
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. #define CallLoop(%1,%2) for(new %1; %1 < %2; %1++)
  2. #define CALLBACK_AMOUNT 500
  3.  
  4. new SERVERSIDETIMER;
  5. new ServerSideCash[MAX_PLAYERS];
  6.  
  7. public OnGameModeInit()
  8. {
  9. ServerMoneyInit();
  10. return GMInit();
  11. }
  12.  
  13. public OnGameModeExit()
  14. {
  15. ServerMoneyExit();
  16. return GMExit();
  17. }
  18.  
  19. forward GMInit();
  20. forward GMExit();
  21.  
  22. ServerMoneyInit()
  23. {
  24. SERVERSIDETIMER=SetTimer("ServerMoneyCB",1000,true);
  25. return 1;
  26. }
  27.  
  28. ServerMoneyExit()
  29. {
  30. KillTimer(SERVERSIDETIMER);
  31. return 1;
  32. }
  33.  
  34.  
  35. forward ServerMoneyCB();
  36.  
  37. public ServerMoneyCB()
  38. {
  39. CallLoop(ServerSidep,MAX_PLAYERS)
  40. {
  41. if(IsPlayerConnected(ServerSidep))
  42. {
  43. if(GetPlayerMoney(ServerSidep) != ServerSideCash[ServerSidep])
  44. {
  45. new H4xc4sh=GetPlayerMoney(ServerSidep);
  46. H4xc4sh=H4xc4sh-ServerSideCash[ServerSidep];
  47. if(H4xc4sh > CALLBACK_AMOUNT) OnPlayerHaveExtraCash(ServerSidep,H4xc4sh);
  48. }
  49. GivePlayerMoney(ServerSidep,-GetPlayerMoney(ServerSidep));
  50. GivePlayerMoney(ServerSidep,ServerSideCash[ServerSidep]);
  51. }
  52.  
  53. }
  54. return 1;
  55. }
  56.  
  57.  
  58. forward GivePlayerMoneyEx(playerid,cashgiven);
  59. public GivePlayerMoneyEx(playerid,cashgiven)
  60. {
  61. ServerSideCash[playerid]=ServerSideCash[playerid]+cashgiven;
  62. return 1;
  63. }
  64.  
  65. forward ResetPlayerMoneyEx(playerid);
  66. public ResetPlayerMoneyEx(playerid)
  67. {
  68. ServerSideCash[playerid]=0;
  69. return 1;
  70. }
  71.  
  72. forward GetPlayerMoneyEx(playerid);
  73. public GetPlayerMoneyEx(playerid)
  74. {
  75. return ServerSideCash[playerid];
  76. }
  77.  
  78. forward OnPlayerHaveExtraCash(playerid,extraamount);
  79.  
  80. #define GetPlayerMoney GetPlayerMoneyEx
  81. #define GivePlayerMoney GivePlayerMoneyEx
  82. #define ResetPlayerMoney ResetPlayerMoneyEx
  83.  
  84. #define OnGameModeInit GMInit
  85. #define OnGameModeExit GMExit
  86.  
  87.  
Add Comment
Please, Sign In to add comment