Advertisement
Guest User

Coin System By S&C AkA Cirs_Carandente

a guest
Jun 25th, 2011
394
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* FilterScript Creato Interamente da S&C AkA Cirs_Carandente 2011*
  2. * Vecchie Versioni: 1.0 & 1.1
  3. * Versione Corrente: 1.2
  4. * Non rimuovere i Crediti, Grazie! :)
  5. * Cose Aggiunte nella versione 1.2: Coins Oro, Argento E Bronzo Viusalizzati in TextDraw.
  6. * Cose aggiunte nella prossima versione (1.3): Alcuni comandi in Dialog.
  7. * ATTENZIONE: Prima di usare questo FilterScript Assicurarsi di avere la cartella "GoldCoin" nella cartella ScriptFile...
  8. */
  9.  
  10. #include <a_samp>
  11. #include <dini>
  12. #include <dcmd>
  13.  
  14. //====||Colori||====
  15. #define NERO 0x000000AA
  16. #define ROSSO 0xF60000AA
  17. #define VERDE 0x00F600AA
  18. #define BLU 0x0000F6AA
  19. #define GIALLO 0xF6F600AA
  20. #define BIANCO 0xF6F6F6AA
  21. #define BRONZO 0xF65300AA
  22.  
  23.  
  24. #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  25.  
  26. #define CAMBIACOIN Coin*500 //Cambiate il 500 con i soldi che dovrà ricevere al Cambio Es: Se il Player cambia 1 Coin ORO ricevera 500,
  27. //Se volete che riceve 1000 ogni 1Coin mettete 1000al posto del 500 ;) Spero che avete capito...
  28.  
  29. #define Player "GoldCoin/%s.ini"
  30.  
  31. enum CoinsSystem
  32. {
  33. Oro,
  34. Argento,
  35. Bronzo,
  36. }
  37. new Coins[MAX_PLAYERS][CoinsSystem];
  38. /*TextDraw Coins*/
  39. new Text:ORO;
  40. new Text:Argentoc;
  41. new Text:Bronzoc;
  42. /*Fine TextDraw Coins*/
  43.  
  44. new file[256], Nome[24], Nomer[24];
  45.  
  46. public OnFilterScriptInit()
  47. {
  48. print("\n--------------------------------------");
  49. print(" Blank Filterscript by your name here");
  50. print("--------------------------------------\n");
  51. ORO = TextDrawCreate(497.000000, 96.000000, "O:");
  52. TextDrawBackgroundColor(ORO, 255);
  53. TextDrawFont(ORO, 1);
  54. TextDrawLetterSize(ORO, 0.509999, 2.200000);
  55. TextDrawColor(ORO, -65281);
  56. TextDrawSetOutline(ORO, 0);
  57. TextDrawSetProportional(ORO, 1);
  58. TextDrawSetShadow(ORO, 1);
  59. SetTimer("CheckCoinO", 5000, true);
  60.  
  61. Argentoc = TextDrawCreate(497.000000, 113.000000, "A:");
  62. TextDrawBackgroundColor(Argentoc, 255);
  63. TextDrawFont(Argentoc, 1);
  64. TextDrawLetterSize(Argentoc, 0.599999, 2.200000);
  65. TextDrawColor(Argentoc, BIANCO);
  66. TextDrawSetOutline(Argentoc, 0);
  67. TextDrawSetProportional(Argentoc, 1);
  68. TextDrawSetShadow(Argentoc, 1);
  69. SetTimer("CheckCoinA", 5000, true);
  70.  
  71. Bronzoc = TextDrawCreate(497.000000, 134.000000, "B:");
  72. TextDrawBackgroundColor(Bronzoc, 255);
  73. TextDrawFont(Bronzoc, 1);
  74. TextDrawLetterSize(Bronzoc, 0.509999, 2.200000);
  75. TextDrawColor(Bronzoc, BRONZO);
  76. TextDrawSetOutline(Bronzoc, 0);
  77. TextDrawSetProportional(Bronzoc, 1);
  78. TextDrawSetShadow(Bronzoc, 1);
  79. SetTimer("CheckCoinB", 5000, true);
  80.  
  81. return 1;
  82. }
  83.  
  84. public OnFilterScriptExit()
  85. {
  86. return 1;
  87. }
  88.  
  89. public OnPlayerConnect(playerid)
  90. {
  91. GetPlayerName(playerid, Nome,sizeof(Nome));
  92. format(file,sizeof(file),Player, Nome);
  93. if(!dini_Exists(file))
  94. {
  95. dini_Create(file);
  96. dini_IntSet(file, "Oro", Coins[playerid][Oro]);
  97. dini_IntSet(file, "Argento", Coins[playerid][Argento]);
  98. dini_IntSet(file, "Bronzo", Coins[playerid][Bronzo]);
  99. }
  100. Coins[playerid][Oro] = dini_Int(file, "Oro");
  101. Coins[playerid][Argento] = dini_Int(file, "Argento");
  102. Coins[playerid][Bronzo] = dini_Int(file, "Bronzo");
  103. SendClientMessage(playerid, BLU, "Questo Server usa il ''Coins System'' By S&C AkA Cirs_Carandente");
  104. SendClientMessage(playerid, BLU, "Usa /ccmds per i comandi del Coins System...");
  105. return 1;
  106. }
  107.  
  108. public OnPlayerDisconnect(playerid, reason)
  109. {
  110. GetPlayerName(playerid,Nome,sizeof(Nome));
  111. format(file,sizeof(file),Player,Nome);
  112. dini_IntSet(file, "Oro", Coins[playerid][Oro]);
  113. dini_IntSet(file, "Argento", Coins[playerid][Argento]);
  114. dini_IntSet(file, "Bronzo", Coins[playerid][Bronzo]);
  115. return 1;
  116. }
  117.  
  118. public OnPlayerCommandText(playerid, cmdtext[])
  119. {
  120. dcmd(daicoinso, 9, cmdtext);
  121. dcmd(daicoinsa, 9, cmdtext);
  122. dcmd(daicoinsb, 9, cmdtext);
  123. dcmd(ccmds, 5, cmdtext);
  124. dcmd(givecoinso, 10, cmdtext);
  125. dcmd(givecoinsa, 10, cmdtext);
  126. dcmd(givecoinsb, 10, cmdtext);
  127. dcmd(checkcoin, 9, cmdtext);
  128. dcmd(coin, 4, cmdtext);
  129. dcmd(cambiacoin, 10, cmdtext);
  130. dcmd(resetcoin, 9, cmdtext);
  131. return 0;
  132. }
  133.  
  134. dcmd_ccmds(playerid, params[])
  135. {
  136. #pragma unused params
  137. SendClientMessage(playerid, GIALLO, "Sistema Coins Creato da S&C AkA Cirs_Carandente");
  138. SendClientMessage(playerid, GIALLO, "/daicoinso Per dare i coins Oro alle persone");
  139. SendClientMessage(playerid, GIALLO, "/daicoinsa Per dare i coins Argento alle persone");
  140. SendClientMessage(playerid, GIALLO, "/daicoinsb Per dare i coins Bronzo alle persone");
  141. SendClientMessage(playerid, GIALLO, "/cambiacoin Per Cambiare i Con ORO in Soldi!");
  142. SendClientMessage(playerid, GIALLO, "/coin Per vedere i tuoi coins");
  143. if(IsPlayerAdmin(playerid))
  144. {
  145. SendClientMessage(playerid, GIALLO, "Comandi Admin!:");
  146. SendClientMessage(playerid, GIALLO, "/givecoinso Per givare i coins Oro");
  147. SendClientMessage(playerid, GIALLO, "/givecoinsa Per givare i coins Argento");
  148. SendClientMessage(playerid, GIALLO, "/givecoinsb Per give i coins Bronzo");
  149. SendClientMessage(playerid, GIALLO, "/checkcoin Per vedere i coins di qualche altro player!");
  150. SendClientMessage(playerid, GIALLO, "/resetcoin Per resettare i coin di un player");
  151. }
  152. return 1;
  153. }
  154.  
  155. dcmd_daicoinso(playerid, params[])
  156. {
  157. new Ricevente, Coin, string[256];
  158. if(sscanf(params, "dd", Ricevente, Coin)) return SendClientMessage(playerid, ROSSO, "Usa: /daicoinso <Playerid> <Coins Oro>");
  159. else if(Ricevente == INVALID_PLAYER_ID)return SendClientMessage(playerid, ROSSO, "Questo Player non e connesso");
  160. else if(Ricevente == playerid)return SendClientMessage(playerid, ROSSO, "Non puoi Darti i Coins Da Solo");
  161. else if(Coin > Coins[playerid][Oro])return SendClientMessage(playerid, ROSSO, "Non hai tutti questi GOLD!");
  162. else
  163. {
  164. GetPlayerName(playerid, Nome,sizeof(Nome));
  165. GetPlayerName(Ricevente, Nomer,sizeof(Nomer));
  166. format(file,sizeof(file),Player, Nome);
  167. Coins[playerid][Oro] -= Coin;
  168. Coins[Ricevente][Oro] += Coin;
  169. dini_IntSet(file, "Oro", Coins[playerid][Oro]);
  170. format(string,sizeof(string), "%s ti ha dato $d Coins Oro!!", Nome, Coin);
  171. SendClientMessage(Ricevente, VERDE, string);
  172. format(string,sizeof(string), "Hai dato %d Coins Oro a %s ", Coin, Nomer);
  173. SendClientMessage(playerid, VERDE, string);
  174. }
  175. return 1;
  176. }
  177.  
  178. dcmd_daicoinsa(playerid, params[])
  179. {
  180. new Ricevente, Coin, string[256];
  181. if(sscanf(params, "dd", Ricevente, Coin)) return SendClientMessage(playerid, ROSSO, "Usa: /daicoinso <Playerid> <Coins Oro>");
  182. else if(Ricevente == INVALID_PLAYER_ID)return SendClientMessage(playerid, ROSSO, "Questo Player non e connesso");
  183. else if(Ricevente == playerid)return SendClientMessage(playerid, ROSSO, "Non puoi Darti i Coins Da Solo");
  184. else if(Coin > Coins[playerid][Argento])return SendClientMessage(playerid, ROSSO, "Non hai tutti questi GOLD!");
  185. else
  186. {
  187. GetPlayerName(playerid, Nome,sizeof(Nome));
  188. GetPlayerName(Ricevente, Nomer,sizeof(Nomer));
  189. format(file,sizeof(file),Player, Nome);
  190. Coins[playerid][Argento] -= Coin;
  191. Coins[Ricevente][Argento] += Coin;
  192. dini_IntSet(file, "Argento", Coins[playerid][Argento]);
  193. format(string,sizeof(string), "%s ti ha dato %d Coins Argento!!", Nome, Coin);
  194. SendClientMessage(Ricevente, VERDE, string);
  195. format(string,sizeof(string), "Hai dato %d Coins Argento a %s ", Coin, Nomer);
  196. SendClientMessage(playerid, VERDE, string);
  197. }
  198. return 1;
  199. }
  200. dcmd_daicoinsb(playerid, params[])
  201. {
  202. new Ricevente, Coin, string[256];
  203. if(sscanf(params, "dd", Ricevente, Coin)) return SendClientMessage(playerid, ROSSO, "Usa: /daicoinso <Playerid> <Coins Oro>");
  204. else if(Ricevente == INVALID_PLAYER_ID)return SendClientMessage(playerid, ROSSO, "Questo Player non e connesso");
  205. else if(Ricevente == playerid)return SendClientMessage(playerid, ROSSO, "Non puoi Darti i Coins Da Solo");
  206. else if(Coin > Coins[playerid][Bronzo])return SendClientMessage(playerid, ROSSO, "Non hai tutti questi GOLD!");
  207. else
  208. {
  209. GetPlayerName(playerid, Nome,sizeof(Nome));
  210. GetPlayerName(Ricevente, Nomer,sizeof(Nomer));
  211. format(file,sizeof(file),Player, Nome);
  212. Coins[Ricevente][Bronzo] += Coin;
  213. Coins[playerid][Bronzo] -= Coin;
  214. dini_IntSet(file, "Bronzo", Coins[playerid][Bronzo]);
  215. format(string,sizeof(string), "%s ti ha dato $d Coins Bronzo!!", Nome, Coin);
  216. SendClientMessage(Ricevente, VERDE, string);
  217. format(string,sizeof(string), "Hai dato %d Coins Bronzo a %s ", Coin, Nomer);
  218. SendClientMessage(playerid, VERDE, string);
  219. }
  220. return 1;
  221. }
  222.  
  223. dcmd_givecoinso(playerid, params[])
  224. {
  225. new Ricevente, Coin, string[256];
  226. GetPlayerName(playerid, Nome,sizeof(Nome));
  227. GetPlayerName(Ricevente, Nomer,sizeof(Nomer));
  228. format(file,sizeof(file),Player, Nome);
  229. if(sscanf(params, "dd", Ricevente, Coin)) return SendClientMessage(playerid, ROSSO, "Usa: /daicoinso <Playerid> <Coins Oro>");
  230. else if(Ricevente == INVALID_PLAYER_ID)return SendClientMessage(playerid, ROSSO, "Questo player non e connesso");
  231. else if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, ROSSO, "Non Sei un Admin!!");
  232. else
  233. {
  234. Coins[Ricevente][Oro] += Coin;
  235. dini_IntSet(file, "Oro", Coins[Ricevente][Oro]);
  236. format(string,sizeof(string), "L'Admin %s ti ha dato %d Coins Oro!!", Nome, Coin);
  237. SendClientMessage(Ricevente, VERDE, string);
  238. format(string,sizeof(string), "Hai dato %d Coins Oro a %s ", Coin, Nomer);
  239. SendClientMessage(playerid, VERDE, string);
  240. }
  241. return 1;
  242. }
  243. dcmd_coin(playerid, params[])
  244. {
  245. #pragma unused params
  246. new string[256];
  247. format(string,sizeof(string), "Coins Oro: %d - Coins Argento: %d Coins Bronzo: %d", Coins[playerid][Oro], Coins[playerid][Argento], Coins[playerid][Bronzo]);
  248. SendClientMessage(playerid, GIALLO, string);
  249. return 1;
  250. }
  251.  
  252. dcmd_checkcoin(playerid, params[])
  253. {
  254. new Ricevente, string[256];
  255. if(sscanf(params, "u", Ricevente)) return SendClientMessage(playerid, ROSSO, "Usa: /checkcoins <Playerid>");
  256. else if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, ROSSO, "Non Sei un Admin!!");
  257. else
  258. {
  259. format(string,sizeof(string), "Coins Oro: %d - Coins Argento: %d Coins Bronzo: %d", Coins[Ricevente][Oro], Coins[Ricevente][Argento], Coins[Ricevente][Bronzo]);
  260. SendClientMessage(playerid, VERDE, string);
  261. }
  262. return 1;
  263. }
  264.  
  265.  
  266. dcmd_givecoinsa(playerid, params[])
  267. {
  268. new Ricevente, Coin, string[256];
  269. GetPlayerName(playerid, Nome,sizeof(Nome));
  270. GetPlayerName(Ricevente, Nomer,sizeof(Nomer));
  271. format(file,sizeof(file),Player, Nome);
  272. if(sscanf(params, "dd", Ricevente, Coin)) return SendClientMessage(playerid, ROSSO, "Usa: /daicoinsa <Playerid> <Coins Argento>");
  273. else if(Ricevente == INVALID_PLAYER_ID)return SendClientMessage(playerid, ROSSO, "Questo player non e connesso");
  274. else if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, ROSSO, "Non Sei un Admin!!");
  275. else
  276. {
  277. Coins[Ricevente][Argento] += Coin;
  278. dini_IntSet(file, "Argento", Coins[Ricevente][Argento]);
  279. format(string,sizeof(string), "L'Admin %s ti ha dato %d Coins Argento!!", Nome, Coin);
  280. SendClientMessage(Ricevente, VERDE, string);
  281. format(string,sizeof(string), "Hai dato %d Coins Argento a %s ", Coin, Nomer);
  282. SendClientMessage(playerid, VERDE, string);
  283. }
  284. return 1;
  285. }
  286.  
  287. dcmd_givecoinsb(playerid, params[])
  288. {
  289. new Ricevente, Coin, string[256];
  290. GetPlayerName(playerid, Nome,sizeof(Nome));
  291. GetPlayerName(Ricevente, Nomer,sizeof(Nomer));
  292. format(file,sizeof(file),Player, Nome);
  293. if(sscanf(params, "dd", Ricevente, Coin)) return SendClientMessage(playerid, ROSSO, "Usa: /daicoinsb <Playerid> <Coins Bronzo>");
  294. else if(Ricevente == INVALID_PLAYER_ID)return SendClientMessage(playerid, ROSSO, "Questo player non e connesso");
  295. else if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, ROSSO, "Non Sei un Admin!!");
  296. else
  297. {
  298. Coins[Ricevente][Bronzo] += Coin;
  299. dini_IntSet(file, "Bronzo", Coins[Ricevente][Bronzo]);
  300. format(string,sizeof(string), "L'Admin %s ti ha dato %d Coin Bronzo!!", Nome, Coin);
  301. SendClientMessage(Ricevente, VERDE, string);
  302. format(string,sizeof(string), "Hai dato %d Coins Bronzo a %s ", Coin, Nomer);
  303. SendClientMessage(playerid, VERDE, string);
  304. }
  305. return 1;
  306. }
  307.  
  308. dcmd_cambiacoin(playerid, params[])
  309. {
  310. new Coin, string[256];
  311. if(sscanf(params, "d", Coin)) return SendClientMessage(playerid, ROSSO, "Usa: /cambiasoldi <Coins Da cambiare in Soldi> (1 Coins = 500$).");
  312. else if(Coins[playerid][Oro] < Coin)return SendClientMessage(playerid, ROSSO, "Non hai tutti questi Coins Da Cambiare in Soldi!!");
  313. else
  314. {
  315. Coins[playerid][Oro] -= Coin;
  316. GivePlayerMoney(playerid, CAMBIACOIN);
  317. format(string,sizeof(string), "Hai Cambiato %d Coins per $%d!", Coin, Coin*500);
  318. SendClientMessage(playerid, VERDE, string);
  319. }
  320. return 1;
  321. }
  322. dcmd_resetcoin(playerid, params[])
  323. {
  324. new Ricevente, string[256];
  325. if(sscanf(params, "d", Ricevente)) return SendClientMessage(playerid, ROSSO, "Usa: /resetcoin <PlayerID> Resetta Coin Player.");
  326. else
  327. {
  328. GetPlayerName(playerid, Nome,sizeof(Nome));
  329. GetPlayerName(Ricevente, Nomer,sizeof(Nomer));
  330. Coins[Ricevente][Oro] = 0;
  331. Coins[Ricevente][Argento] = 0;
  332. Coins[Ricevente][Bronzo] = 0;
  333. format(string,sizeof(string), "L'Admin %s ti ha resettato tutti i Coins!", Nome);
  334. SendClientMessage(playerid, VERDE, string);
  335. format(string,sizeof(string), "Hai resettato tutti i coins di %s!", Nomer);
  336. SendClientMessage(playerid, VERDE, string);
  337. }
  338. return 1;
  339. }
  340.  
  341. forward CheckCoinO(playerid);
  342. public CheckCoinO(playerid)
  343. {
  344. new string[20];
  345. format(string,sizeof(string),"O:%d",Coins[playerid][Oro]);
  346. TextDrawSetString(ORO,string);
  347. TextDrawShowForPlayer(playerid, ORO);
  348. return 1;
  349. }
  350. forward CheckCoinA(playerid);
  351. public CheckCoinA(playerid)
  352. {
  353. new string[20];
  354. format(string,sizeof(string),"A:%d",Coins[playerid][Argento]);
  355. TextDrawSetString(Argentoc,string);
  356. TextDrawShowForPlayer(playerid, Argentoc);
  357. return 1;
  358. }
  359. forward CheckCoinB(playerid);
  360. public CheckCoinB(playerid)
  361. {
  362. new string[20];
  363. format(string,sizeof(string),"B:%d",Coins[playerid][Bronzo]);
  364. TextDrawSetString(Bronzoc,string);
  365. TextDrawShowForPlayer(playerid, Bronzoc);
  366. return 1;
  367. }
Advertisement
RAW Paste Data Copied
Advertisement