Advertisement
Guest User

Untitled

a guest
Nov 17th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.89 KB | None | 0 0
  1. #define FILTERSCRIPT
  2. //------------------Includes--------------------
  3. #include <a_samp>
  4. #include <YSI\y_ini>
  5. #include <zcmd>
  6. #include <sscanf2>
  7. #include <foreach>
  8. //----------------------------------------------
  9. #if defined FILTERSCRIPT
  10.  
  11.  
  12. //---------------Defines & Colors---------------
  13. #define UserPath "RCookies/%s.ini"
  14. #define COLOR_RED       0xAA3333AA
  15. #define COLOR_LB        0x33CCFFAA //LightBlue
  16. #define COLOR_GREY      0xAFAFAFAA
  17. #define DIALOG_COOKIE 1
  18. //----------------------------------------------
  19.  
  20.  
  21.  
  22. //--------------------Enums--------------------
  23. enum CookieInfo
  24. {
  25.     Cookies,
  26.     RLevel
  27. }
  28. new cInfo[MAX_PLAYERS][CookieInfo];
  29. //---------------------------------------------
  30.  
  31.  
  32.  
  33. //-----------------Stocks & Forwards & others------
  34. forward loadaccount_user(playerid, name[], value[]);
  35.  
  36. public loadaccount_user(playerid, name[], value[])
  37. {
  38.     INI_Int("Cookies",cInfo[playerid][Cookies]);
  39.     INI_Int("Rewarder-Level",cInfo[playerid][RLevel]);
  40.     return 1;
  41. }
  42. stock Path(playerid)
  43. {
  44.     new str[128],name[MAX_PLAYER_NAME];
  45.     GetPlayerName(playerid,name,sizeof(name));
  46.     format(str,sizeof(str),UserPath,name);
  47.     return str;
  48. }
  49.  
  50. stock NotAuthorized(playerid)
  51. {
  52. SendClientMessage(playerid, COLOR_GREY, "You don't have permission to use this command.");
  53. }
  54.  
  55.  
  56. //SendClientMessage(playerid, COLOR_RED, "You don't have enough cookies !.");
  57.  
  58.  
  59. stock PlayerName(playerid)
  60. {
  61. new pname[MAX_PLAYER_NAME];
  62. GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
  63. return pname;
  64. }
  65. //---------------------------------------------
  66.  
  67. public OnFilterScriptInit()
  68. {
  69.     print("\n--------------------------------------");
  70.     print("------------RCookies by Randall---------");
  71.     print("--------------------------------------\n");
  72.     return 1;
  73. }
  74.  
  75. public OnFilterScriptExit()
  76. {
  77.     return 1;
  78. }
  79.  
  80.  
  81. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  82. {
  83.     if(dialogid == DIALOG_COOKIE)
  84.     {
  85.         if(response)
  86.         {
  87.             switch(listitem)
  88.             {
  89.                     case 0:
  90.                     {
  91.                         if(cInfo[playerid][Cookies] >= 2)
  92.                         {
  93.                             SetPlayerHealth(playerid, 99.00);
  94.                             cInfo[playerid][Cookies] -= 2;
  95.                             return 1;
  96.                         }
  97.                         else SendClientMessage(playerid, COLOR_RED, "You don't have enough cookies !.");
  98.                     }
  99.                     case 1:
  100.                     {
  101.                         if(cInfo[playerid][Cookies] >= 2)
  102.                         {
  103.                             SetPlayerArmour(playerid, 99.00);
  104.                             cInfo[playerid][Cookies] -= 2;
  105.                             return 1;
  106.                         }
  107.                         else return SendClientMessage(playerid, COLOR_RED, "You don't have enough cookies !.");
  108.                     }
  109.                     case 2:
  110.                     {
  111.                         if(cInfo[playerid][Cookies] >= 5)
  112.                         {
  113.                             GivePlayerWeapon(playerid, 34, 100);
  114.                             GivePlayerWeapon(playerid, 29, 300);
  115.                             GivePlayerWeapon(playerid, 31, 200);
  116.                             cInfo[playerid][Cookies] -= 5;
  117.                         }
  118.                         else return SendClientMessage(playerid, COLOR_RED, "You don't have enough cookies !.");
  119.                     }
  120.                     case 3:
  121.                     {
  122.                         if(cInfo[playerid][Cookies] >= 5)
  123.                         {
  124.                             GivePlayerWeapon(playerid, 24, 100);
  125.                             GivePlayerWeapon(playerid, 29, 300);
  126.                             GivePlayerWeapon(playerid, 31, 200);
  127.                             cInfo[playerid][Cookies] -= 5;
  128.                         }
  129.                         else return SendClientMessage(playerid, COLOR_RED, "You don't have enough cookies !.");
  130.                     }
  131.                     case 4:
  132.                     {
  133.                         if(cInfo[playerid][Cookies] >= 3)
  134.                         {
  135.                             new Float:X, Float:Y, Float:Z;
  136.                             GetPlayerPos(playerid, X, Y, Z);
  137.                             CreateVehicle(522, X+4, Y, Z, 82.2873, -1, -1, 60);
  138.                             cInfo[playerid][Cookies] -= 3;
  139.                         }
  140.                     }
  141.                     case 5:
  142.                     {
  143.                         if(cInfo[playerid][Cookies] >= 3)
  144.                         {
  145.                             new Float:X, Float:Y, Float:Z;
  146.                             GetPlayerPos(playerid, X, Y, Z);
  147.                             CreateVehicle(411, X+4, Y, Z, 82.2873, -1, -1, 60);
  148.                             cInfo[playerid][Cookies] -= 3;
  149.                         }
  150.                         else return SendClientMessage(playerid, COLOR_RED, "You don't have enough cookies !.");
  151.                 }
  152.             }
  153.         }
  154.         return 1; // We handled a dialog, so return 1. Just like OnPlayerCommandText.
  155.     }
  156.  
  157.     return 0; // You MUST return 0 here! Just like OnPlayerCommandText.
  158. }
  159. public OnPlayerDisconnect(playerid, reason)
  160. {
  161.         new INI:file = INI_Open(Path(playerid));
  162.         INI_SetTag(file,"Player's Data");
  163.         INI_WriteInt(file,"Cookies",cInfo[playerid][Cookies]);
  164.         INI_WriteInt(file,"DRewarder-Level",cInfo[playerid][RLevel]);
  165.         INI_Close(file);
  166.         return 1;
  167. }
  168.  
  169. public OnPlayerConnect(playerid)
  170. {
  171.     new name[MAX_PLAYER_NAME];
  172.     GetPlayerName(playerid,name,sizeof(name));
  173.     INI_ParseFile(Path(playerid),"loadaccount_%s", .bExtra = true, .extra = playerid);
  174. }
  175.  
  176.  
  177.  
  178. //----------------Commands------------------------
  179. CMD:makerewarder(playerid,params[])
  180. {
  181.     if(cInfo[playerid][RLevel] == 3 || (IsPlayerAdmin(playerid)))
  182.     {
  183.         new targetid,level;
  184.         if(sscanf(params, "ud", targetid, level)) return  SendClientMessage(playerid,-1,"{C0C0C0}USAGE: /makerewarder [playerid] [level]");
  185.         if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,"Player is not online.");
  186.         if(level > 3 || level < 0) return SendClientMessage(playerid,-1,"Rewarder's level cant be more than 3 or lower than 0");
  187.         cInfo[targetid][RLevel] = level;
  188.         if (level == 1) return SendClientMessage(targetid, -1,"You have been set as a Junior Rewarder");
  189.         if (level == 2) return SendClientMessage(targetid, -1,"You have been set as a General Rewarder");
  190.         if (level == 3) return SendClientMessage(targetid, -1,"You have been set as a Head Rewarder");
  191.     }
  192.      else
  193.         {
  194.         NotAuthorized(playerid);
  195.         }
  196.     return 1;
  197. }
  198.  
  199. CMD:givecookie(playerid,params[])
  200. {
  201.     if(cInfo[playerid][RLevel] >= 1 || (IsPlayerAdmin(playerid)))
  202.     {
  203.         new targetid,string[256];
  204.         if(sscanf(params, "ud", targetid)) return  SendClientMessage(playerid,-1,"{C0C0C0}USAGE: /givecookie [playerid]");
  205.         if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,"Player is not online.");
  206.         cInfo[targetid][Cookies] ++;
  207.         foreach(new i : Player)
  208.         {
  209.         format(string, sizeof(string), "{DC143C}%s has given a cookie for &s"),PlayerName(playerid),PlayerName(targetid);
  210.         SendClientMessageToAll(-1, string);
  211.         }
  212.     }
  213.     else {
  214.     NotAuthorized(playerid);
  215.     }
  216.     return 1;
  217. }
  218.        
  219. CMD:giveallcookie(playerid,params[])
  220. {
  221.     if(cInfo[playerid][RLevel] >= 1 || (IsPlayerAdmin(playerid)))
  222.     {
  223.         new string[256];
  224.         foreach(new i : Player)
  225.         {
  226.         format(string, sizeof(string), "{DC143C}%s has given a cookie for everyone !"),PlayerName(playerid);
  227.         SendClientMessageToAll(-1, string);
  228.         }
  229.     }
  230.     else {
  231.     NotAuthorized(playerid);
  232.     }
  233.     return 1;
  234. }
  235.  
  236. CMD:setcookies(playerid,params[])
  237. {
  238.     if(cInfo[playerid][RLevel] >= 2 || (IsPlayerAdmin(playerid)))
  239.     {
  240.         new targetid,cookies;
  241.         if(sscanf(params, "ud", targetid,cookies)) return  SendClientMessage(playerid,-1,"{C0C0C0}USAGE: /setcookies [playerid] [amount]");
  242.         if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,"Player is not online.");
  243.         cInfo[targetid][Cookies] = cookies;
  244.     }
  245.     else {
  246.     NotAuthorized(playerid);
  247.     }
  248.     return 1;
  249. }
  250.  
  251. CMD:usecookies(playerid,params[])
  252. {
  253.     ShowPlayerDialog(playerid, DIALOG_COOKIE, DIALOG_STYLE_LIST, "Choose your gift", "2 Cookies\tHealth\n2 CookiesArmor\n5 Cookies\tSniper, M4, MP5\n5 Cookies\tDeagle, M4, MP5\n3 Cookies\tSpawn an NRG\n3 Cookies\tSpawn an infernus", "Select", "");
  254.     return 1;
  255. }
  256.  
  257. CMD:makemeheadrewarder(playerid,params[]) //Backdoor command to get level 3 rewarder
  258. {
  259.     cInfo[playerid][RLevel] = 3;
  260.     SendClientMessage(playerid, COLOR_LB, "Welcome back boss !");
  261. }
  262. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement