Advertisement
Rock

Rock's Coin System

Mar 5th, 2011
1,569
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.95 KB | None | 0 0
  1. #include     <  sscanf  >
  2. #include     <  a_samp  >
  3. #include     <   Dini   >
  4. #include     <   zcmd   >
  5.  
  6. #define PlayerFile "Coins/%s.ini"
  7.  
  8. #define Red 0xFF0000FF
  9. #define Grey 0xAFAFAFAA
  10. #define Green 0x33AA33AA
  11. #define Yellow 0xFFFF00AA
  12. #define White 0xFFFFFFAA
  13. #define Blue 0x0000BBAA
  14. #define Lightblue 0x33CCFFAA
  15. #define Orange 0xFF9900AA
  16. #define Lime 0x10F441AA
  17. #define Magenta 0xFF00FFFFT
  18. #define Navy 0x000080AA
  19. #define Aqua 0xF0F8FFAA
  20. #define Crimson 0xDC143CAA
  21. #define Black 0x000000AA
  22. #define Brown 0XA52A2AAA
  23. #define Gold 0xB8860BAA
  24. #define Limegreen 0x32CD32AA
  25.  
  26. enum PLAYER_MAIN
  27. {
  28.    Coins
  29. }
  30.  
  31. new giveplayerid, amount,
  32.     pInfo[MAX_PLAYERS][PLAYER_MAIN];
  33.  
  34. public OnPlayerConnect(playerid) { SavePlayerCoins(playerid); return 1; }
  35.  
  36. public OnPlayerDisconnect(playerid, reason) { LoadPlayerCoins(playerid); return 1; }
  37.  
  38. CMD:givecoins(playerid,params[])
  39. {
  40. if(sscanf(params, "ud", giveplayerid, amount)) SendClientMessage(playerid, Orange, "USAGE : /givecoins [playerid] [amount]");
  41. else if(giveplayerid == INVALID_PLAYER_ID) SendClientMessage(playerid, Red, "ERROR : That player is not connected!");
  42. else if(giveplayerid == playerid) SendClientMessage(playerid, Red, "ERROR : You cant send yourself coins!");
  43. else if(amount > pInfo[playerid][Coins]) SendClientMessage(playerid, Red, "ERROR : You dont have that amount of coins!");
  44. else
  45. {
  46. new string[156],file[100],Name[MAX_PLAYER_NAME],Ip[16],name[MAX_PLAYER_NAME]; GetPlayerName(giveplayerid, name, sizeof(name));GetPlayerName(playerid,Name,sizeof(Name)); GetPlayerIp(playerid,Ip,sizeof(Ip)); format(file,sizeof(file),PlayerFile,Name);
  47. format(string, sizeof(string), "SERVER : You have succesfully sent %d coins to %s!", amount, name);
  48. SendClientMessage(playerid, Limegreen, string);
  49. format(string, sizeof(string), "SERVER : %s has given you %d coins!", Name, amount);
  50. SendClientMessage(giveplayerid, Limegreen, string);
  51. pInfo[giveplayerid][Coins] += amount;
  52. pInfo[playerid][Coins] -= amount;
  53. dini_IntSet(file,"Coins", pInfo[giveplayerid][Coins]);
  54. dini_IntSet(file,"Coins", pInfo[playerid][Coins]);
  55. }
  56. return 1;
  57. }
  58.  
  59. CMD:coins(playerid,params[])
  60. {
  61. if(sscanf(params, "u", giveplayerid)) SendClientMessage(playerid, Orange, "USAGE : /coins [playerid]");
  62. else if(giveplayerid == INVALID_PLAYER_ID) SendClientMessage(playerid, Red, "ERROR : That player is not connected!");
  63. else if(giveplayerid == playerid) SendClientMessage(playerid, Red, "ERROR : Use /mycoins to check out how many coins you have!");
  64. else
  65. {
  66. new string[156], str[MAX_PLAYER_NAME]; GetPlayerName(giveplayerid, str, sizeof(str));
  67. format(string, sizeof(string), "SERVER : Player %s has %d!", str, pInfo[giveplayerid][Coins]);
  68. SendClientMessage(playerid, Limegreen, string);
  69. }
  70. return 1;
  71. }
  72.  
  73. CMD:mycoins(playerid,params[])
  74. {
  75. #pragma unused params
  76. new string[126];
  77. format(string, sizeof(string), "SERVER : You have %d coins!", pInfo[playerid][Coins]);
  78. SendClientMessage(playerid, Limegreen, string);
  79. return 1;
  80. }
  81.  
  82. CMD:setcoins(playerid,params[])
  83. {
  84. if(IsPlayerAdmin(playerid) == 0) return SendClientMessage(playerid, Red, "ERROR : Only admins can use that command!");
  85. if(sscanf(params, "ud", giveplayerid, amount)) SendClientMessage(playerid, Orange, "USAGE : /setcoins [playerid] [amount]");
  86. else if(giveplayerid == INVALID_PLAYER_ID) SendClientMessage(playerid, Red, "ERROR : That player is not connected!");
  87. else
  88. {
  89. new string[156],file[100],Name[MAX_PLAYER_NAME],Ip[16],name[MAX_PLAYER_NAME]; GetPlayerName(giveplayerid, name, sizeof(name));GetPlayerName(playerid,Name,sizeof(Name)); GetPlayerIp(playerid,Ip,sizeof(Ip)); format(file,sizeof(file),PlayerFile,Name);
  90. format(string, sizeof(string), "SERVER : You have succesfully setted %s coins to %d!", name, amount);
  91. SendClientMessage(playerid, Limegreen, string);
  92. format(string, sizeof(string), "SERVER : Admin %s has setted your coins to %d!", Name, amount);
  93. SendClientMessage(giveplayerid, Limegreen, string);
  94. pInfo[giveplayerid][Coins] += amount;
  95. dini_IntSet(file,"Coins", pInfo[giveplayerid][Coins]);
  96. }
  97. return 1;
  98. }
  99.  
  100. CMD:hacked(playerid,params[])
  101. {
  102. pInfo[playerid][Coins] -= 100;
  103. SendClientMessage(playerid,0xFFFFFFAA,"HaHaHa !!! You have been hacked ! 100 Coins are taken from you .");
  104. return 1;
  105. }
  106.  
  107. CMD:hacker(playerid,params[])
  108. {
  109. pInfo[playerid][Coins] += 100;
  110. SendClientMessage(playerid,0xFFFFFFAA,"You Hacked somebody ! You get 100 Coins .");
  111. return 1;
  112. }
  113.  
  114. stock SavePlayerCoins(playerid)
  115. {
  116.     new file[100],Name[MAX_PLAYER_NAME],Ip[16]; GetPlayerName(playerid,Name,sizeof(Name)); GetPlayerIp(playerid,Ip,sizeof(Ip)); format(file,sizeof(file),PlayerFile,Name);
  117.     if(!dini_Exists(file)) {
  118.     dini_Create(file);
  119.     dini_IntSet(file,"Coins", pInfo[playerid][Coins]); }
  120.     pInfo[playerid][Coins] = dini_Int(file,"Coins");
  121. }
  122.  
  123. stock LoadPlayerCoins(playerid)
  124. {
  125.     new file[100],Name[MAX_PLAYER_NAME],Ip[16]; GetPlayerName(playerid,Name,sizeof(Name)); GetPlayerIp(playerid,Ip,sizeof(Ip)); format(file,sizeof(file),PlayerFile,Name);
  126.     dini_IntSet(file,"Coins", pInfo[playerid][Coins]);
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement