Advertisement
Guest User

Untitled

a guest
Nov 20th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.83 KB | None | 0 0
  1. /*
  2. _____ _____ ____ ____ _ __ _____ ______ _____
  3. | __ \ / ____| / __ \ / __ \ | |/ / |_ _| | ____| / ____|
  4. | |__) | | | | | | | | | | | | ' / | | | |__ | (___
  5. | _ / | | | | | | | | | | | < | | | __| \___ \
  6. | | \ \ | |____ | |__| | | |__| | | . \ _| |_ | |____ ____) |
  7. |_| \_\ \_____| \____/ \____/ |_|\_\ |_____| |______| |_____/
  8.  
  9. ____ _____ _ _ _ _ _____ _ _ _ _
  10. | _ \ | __ \ | || | | \ | | | __ \ | || | | | | |
  11. | |_) | _ _ | |__) | | || |_ | \| | | | | | | || |_ | | | |
  12. | _ < | | | | | _ / |__ _| | . ` | | | | | |__ _| | | | |
  13. | |_) | | |_| | | | \ \ | | | |\ | | |__| | | | | |____ | |____
  14. |____/ \__, | |_| \_\ |_| |_| \_| |_____/ |_| |______| |______|
  15. __/ |
  16. |___/
  17.  
  18. */
  19.  
  20.  
  21.  
  22.  
  23. #define FILTERSCRIPT
  24.  
  25.  
  26. //------------------Includes--------------------
  27.  
  28. #include <a_samp>
  29.  
  30. #include <YSI\y_ini>
  31.  
  32. #include <zcmd>
  33.  
  34. #include <sscanf2>
  35.  
  36. #include <foreach>
  37.  
  38. //----------------------------------------------
  39. #if defined FILTERSCRIPT
  40.  
  41.  
  42.  
  43.  
  44. //---------------Defines & Colors---------------
  45. #define UserPath "RCookies/%s.ini"
  46. #define COLOR_RED 0xAA3333AA
  47. #define COLOR_LB 0x33CCFFAA //LightBlue
  48. #define COLOR_GREY 0xAFAFAFAA
  49. #define DIALOG_COOKIE 1
  50. #define REWARDMONEY 20000 // Change the amount of money you get when you redeem cookies for money
  51. //----------------------------------------------
  52.  
  53.  
  54.  
  55.  
  56.  
  57. //--------------------Enums--------------------
  58. enum CookieInfo
  59. {
  60. Cookies,
  61. RLevel
  62. }
  63. new cInfo[MAX_PLAYERS][CookieInfo];
  64. //---------------------------------------------
  65.  
  66.  
  67.  
  68.  
  69.  
  70. //-----------------------------------------Stocks & Forwards & others--------------------------------
  71.  
  72.  
  73.  
  74.  
  75. forward loadaccount_user(playerid, name[], value[]);
  76.  
  77.  
  78.  
  79.  
  80.  
  81. public loadaccount_user(playerid, name[], value[])
  82. {
  83. INI_Int("Cookies",cInfo[playerid][Cookies]);
  84. INI_Int("Rewarder-Level",cInfo[playerid][RLevel]);
  85. return 1;
  86. }
  87.  
  88.  
  89.  
  90.  
  91. stock Path(playerid)
  92. {
  93. new str[128],name[MAX_PLAYER_NAME];
  94. GetPlayerName(playerid,name,sizeof(name));
  95. format(str,sizeof(str),UserPath,name);
  96. return str;
  97. }
  98.  
  99.  
  100.  
  101.  
  102. //USE GetName(playerid) to get players names.
  103. stock GetName(playerid)
  104. {
  105. new name[24];
  106. GetPlayerName(playerid,name,24);
  107. return name;
  108. }
  109.  
  110.  
  111.  
  112.  
  113.  
  114. stock NotAuthorized(playerid)
  115. {
  116. SendClientMessage(playerid, COLOR_GREY, "You don't have permission to use this command.");
  117. }
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124. stock PlayerName(playerid)
  125. {
  126. new pname[MAX_PLAYER_NAME];
  127. GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
  128. return pname;
  129. }
  130. //--------------------------------------------------------------------------------------------
  131.  
  132. public OnFilterScriptInit()
  133. {
  134. print("\n--------------------------------------");
  135. print("------------RCookies by Randall---------");
  136. print("--------------------------------------\n");
  137. return 1;
  138. }
  139.  
  140. public OnFilterScriptExit()
  141. {
  142. return 1;
  143. }
  144.  
  145.  
  146. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  147. {
  148. if(dialogid == DIALOG_COOKIE)
  149. {
  150. if(response)
  151. {
  152. switch(listitem)
  153. {
  154. case 0:
  155. {
  156. if(cInfo[playerid][Cookies] >= 2)
  157. {
  158. SetPlayerHealth(playerid, 99.00);
  159. cInfo[playerid][Cookies] -= 2;
  160. SendClientMessage(playerid, COLOR_LB, "Enjoy your full health :D");
  161. }
  162. else SendClientMessage(playerid, COLOR_RED, "You don't have enough cookies !.");
  163. }
  164. case 1:
  165. {
  166. if(cInfo[playerid][Cookies] >= 2)
  167. {
  168. SetPlayerArmour(playerid, 99.00);
  169. cInfo[playerid][Cookies] -= 2;
  170. SendClientMessage(playerid, COLOR_LB, "Enjoy your armor :D");
  171. }
  172. else return SendClientMessage(playerid, COLOR_RED, "You don't have enough cookies !.");
  173. }
  174. case 2:
  175. {
  176. if(cInfo[playerid][Cookies] >= 5)
  177. {
  178. GivePlayerWeapon(playerid, 34, 100);
  179. GivePlayerWeapon(playerid, 29, 300);
  180. GivePlayerWeapon(playerid, 31, 200);
  181. cInfo[playerid][Cookies] -= 5;
  182. SendClientMessage(playerid, COLOR_LB, "Enjoy your weapon set :D");
  183. }
  184. else return SendClientMessage(playerid, COLOR_RED, "You don't have enough cookies !.");
  185. }
  186. case 3:
  187. {
  188. if(cInfo[playerid][Cookies] >= 5)
  189. {
  190. GivePlayerWeapon(playerid, 24, 100);
  191. GivePlayerWeapon(playerid, 29, 300);
  192. GivePlayerWeapon(playerid, 31, 200);
  193. cInfo[playerid][Cookies] -= 5;
  194. SendClientMessage(playerid, COLOR_LB, "Enjoy your weapon set :D");
  195. }
  196. else return SendClientMessage(playerid, COLOR_RED, "You don't have enough cookies !.");
  197. }
  198. case 4:
  199. {
  200. if(cInfo[playerid][Cookies] >= 3)
  201. {
  202. new Float:X, Float:Y, Float:Z;
  203. GetPlayerPos(playerid, X, Y, Z);
  204. CreateVehicle(522, X+4, Y, Z, 82.2873, -1, -1, 60);
  205. cInfo[playerid][Cookies] -= 3;
  206. SendClientMessage(playerid, COLOR_LB, "Enjoy your vehicle :D");
  207. }
  208. else return SendClientMessage(playerid, COLOR_RED, "You don't have enough cookies !.");
  209. }
  210. case 5:
  211. {
  212. if(cInfo[playerid][Cookies] >= 3)
  213. {
  214. new Float:X, Float:Y, Float:Z;
  215. GetPlayerPos(playerid, X, Y, Z);
  216. CreateVehicle(411, X+4, Y, Z, 82.2873, -1, -1, 60);
  217. cInfo[playerid][Cookies] -= 3;
  218. SendClientMessage(playerid, COLOR_LB, "Enjoy your vehicle :D");
  219. }
  220. else return SendClientMessage(playerid, COLOR_RED, "You don't have enough cookies !.");
  221. }
  222. case 6:
  223. {
  224. if(cInfo[playerid][Cookies] >= 10)
  225. {
  226. GivePlayerMoney(playerid, REWARDMONEY);
  227. cInfo[playerid][Cookies] -=10;
  228. SendClientMessage(playerid, COLOR_LB, "Enjoy your "#REWARDMONEY"$ Dollars IG money :D");
  229. }
  230. else return SendClientMessage(playerid, COLOR_RED, "You don't have enough cookies !.");
  231. }
  232. }
  233. }
  234. return 1;
  235. }
  236.  
  237. return 0;
  238. }
  239. public OnPlayerDisconnect(playerid,reason)
  240. {
  241. if(fexist(Path(playerid)))
  242. {
  243. new INI:file = INI_Open(Path(playerid));
  244. INI_WriteInt(file, "Cookies", cInfo[playerid][Cookies]);
  245. INI_WriteInt(file, "Rewarder", cInfo[playerid][RLevel]);
  246. INI_Close(file);
  247. }
  248. return 1;
  249. }
  250.  
  251.  
  252.  
  253. public OnPlayerConnect(playerid)
  254. {
  255. if(fexist(Path(playerid)))
  256. {
  257. INI_ParseFile(Path(playerid), "Loadaccount_%s", .bExtra = true, .extra = playerid);
  258. }
  259. else
  260. {
  261. new INI:file = INI_Open(Path(playerid));
  262. INI_WriteInt(file, "Cookies", cInfo[playerid][Cookies]);
  263. INI_WriteInt(file, "Rewarder", cInfo[playerid][RLevel]);
  264. INI_ParseFile(Path(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  265. INI_Close(file);
  266. }
  267. return 1;
  268. }
  269.  
  270.  
  271. //----------------Commands------------------------
  272. CMD:rewarderhelp(playerid,params[])
  273. {
  274. if(cInfo[playerid][RLevel] == 1)
  275. {
  276. SendClientMessage(playerid, COLOR_LB,"Junior Rewarder : /givecookie - /givecookieall - /rewardrehelp");
  277. }
  278. if(cInfo[playerid][RLevel] == 2)
  279. {
  280. SendClientMessage(playerid, COLOR_LB,"Junior Rewarder : /givecookie - /giveallcookie - /rewardrehelp");
  281. SendClientMessage(playerid, COLOR_LB,"General Rewarder : /setcookies");
  282. }
  283. if(cInfo[playerid][RLevel] == 3 || (IsPlayerAdmin(playerid)))
  284. {
  285. SendClientMessage(playerid, COLOR_LB,"Junior Rewarder : /givecookie - /givecookieall - /rewardrehelp");
  286. SendClientMessage(playerid, COLOR_LB,"General Rewarder : /setcookies");
  287. SendClientMessage(playerid, COLOR_LB,"Head Rewarder : /makerewarder");
  288. }
  289. else
  290. {
  291. NotAuthorized(playerid);
  292. }
  293. return 1;
  294. }
  295.  
  296. CMD:cookieshelp(playerid, params[])
  297. {
  298. SendClientMessage(playerid, COLOR_LB, "Use /cookies to check how many cookies you've got");
  299. SendClientMessage(playerid, COLOR_LB, "Use /usecookies to redeem your cookies for rewards");
  300. return 1;
  301. }
  302. CMD:makerewarder(playerid,params[])
  303. {
  304. if(cInfo[playerid][RLevel] == 3 || (IsPlayerAdmin(playerid)))
  305. {
  306. new targetid,level;
  307. if(sscanf(params, "ud", targetid, level)) return SendClientMessage(playerid,COLOR_RED,"{C0C0C0}USAGE: /makerewarder [playerid] [level]");
  308. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,COLOR_RED,"Player is not online.");
  309. if(level > 3 || level < 0) return SendClientMessage(playerid,COLOR_RED,"Rewarder's level cant be more than 3 or lower than 0");
  310. cInfo[targetid][RLevel] = level;
  311. if (level == 0) return SendClientMessage(targetid, COLOR_LB,"You have beeen fired from your position as a rewarder");
  312. if (level == 1) return SendClientMessage(targetid, COLOR_LB,"You have been set as a Junior Rewarder");
  313. if (level == 2) return SendClientMessage(targetid, COLOR_LB,"You have been set as a General Rewarder");
  314. if (level == 3) return SendClientMessage(targetid, COLOR_LB,"You have been set as a Head Rewarder");
  315. }
  316. else
  317. {
  318. NotAuthorized(playerid);
  319. }
  320. return 1;
  321. }
  322.  
  323. CMD:cookies(playerid, o[])
  324. {
  325. new string[60];
  326. format(string, sizeof(string), "{33CCFF}You have %i Cookie(s)",cInfo[playerid][Cookies]);
  327. SendClientMessage(playerid, COLOR_LB, string);
  328. return 1;
  329. }
  330.  
  331. CMD:givecookie(playerid, params[])
  332. {
  333. new targetid,reason[50];
  334. new string[150];
  335.  
  336. if(sscanf(params, "us[50]", targetid, reason))
  337. {
  338. return SendClientMessage(playerid, COLOR_GREY, "[Usage]: /givecookie [playerid] [reason]");
  339. }
  340. if(!IsPlayerConnected(targetid))
  341. {
  342. return SendClientMessage(playerid, COLOR_GREY, "The player specified is disconnected.");
  343. }
  344. if(cInfo[playerid][RLevel] > 0 || IsPlayerAdmin(playerid))
  345. {
  346. cInfo[targetid][Cookies]++;
  347. format(string, sizeof(string), "{DC143C}Rewarder %s has given a cookie to %s . Reason : %s",PlayerName(playerid),PlayerName(targetid),reason);
  348. SendClientMessageToAll(COLOR_RED, string);
  349. }
  350. else
  351. {
  352. NotAuthorized(playerid);
  353. }
  354. return 1;
  355. }
  356.  
  357. CMD:giveallcookie(playerid,params[])
  358. {
  359. if(cInfo[playerid][RLevel] >= 1 || (IsPlayerAdmin(playerid)))
  360. {
  361. new string[256];
  362. format(string, sizeof(string), "{DC143C}Rewarder %s has given a cookie to everyone",PlayerName(playerid));
  363. SendClientMessageToAll(COLOR_RED, string);
  364. foreach(new i : Player)
  365. {
  366. cInfo[playerid][Cookies] ++;
  367. }
  368. }
  369. else {
  370. NotAuthorized(playerid);
  371. }
  372. return 1;
  373. }
  374.  
  375.  
  376. CMD:setcookies(playerid,params[])
  377. {
  378.  
  379. if(cInfo[playerid][RLevel] >= 2 || (IsPlayerAdmin(playerid)))
  380. {
  381. new targetid,cookies;
  382. new string[55];
  383. if(sscanf(params, "ud", targetid,cookies)) return SendClientMessage(playerid,COLOR_RED,"{C0C0C0}USAGE: /setcookies [playerid] [amount]");
  384. if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,COLOR_RED,"Player is not online.");
  385. cInfo[targetid][Cookies] = cookies;
  386. format(string, sizeof(string), "{FF0000}You've set %s's cookies to %i",PlayerName(targetid),cookies);
  387. SendClientMessage(playerid, COLOR_LB, string);
  388. }
  389. else {
  390. NotAuthorized(playerid);
  391. }
  392. return 1;
  393. }
  394.  
  395. CMD:usecookies(playerid,params[])
  396. {
  397. ShowPlayerDialog(playerid, DIALOG_COOKIE, DIALOG_STYLE_LIST, "Choose your gift", "2 Cookies\tHealth\n2 Cookies\tArmor\n5 Cookies\tSniper, M4, MP5\n5 Cookies\tDeagle, M4, MP5\n3 Cookies\tSpawn an NRG\n3 Cookies\tSpawn an infernus\n10 Cookies \t"#REWARDMONEY" $ IG money", "Select", "");
  398. return 1;
  399. }
  400. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement