Advertisement
Guest User

WEAPONSHOP

a guest
Sep 20th, 2011
821
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 11.48 KB | None | 0 0
  1. /*
  2. ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  3. ||                    Weapon Shop By Danyal                                   ||
  4. ||                 Please keep the credits to me                              ||
  5. ||                  Enjoy WEAPON-SHOP System!                                 ||
  6. ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  7. */
  8.  
  9.  
  10. //============================I Know You Will Change============================
  11. //=========================Please Do Not Remove Credits=========================
  12. #include <a_samp>
  13. #include <Zcmd>
  14. #include <dini>
  15. #define WEAPONSHOP 7
  16. #define PATH "Weapons"
  17. #define COLOR_RED 0xAA3333AA
  18. #define COLOR_GREEN 0x33AA33FF
  19. new bool:AlreadyGiveWeapons[MAX_PLAYERS];
  20. public OnFilterScriptInit()
  21. {
  22.     print("\n--------------------------------------");
  23.     print(" WEAPONS-SHOP v0.1 Loaded by Danyal");
  24.     print("--------------------------------------\n");
  25.     return 1;
  26. }
  27.  
  28. public OnPlayerDisconnect(playerid, reason)
  29. {
  30.     SaveWeaponsToFile(playerid);
  31.     return 1;
  32. }
  33.  
  34. CMD:shopweaps(playerid, params[])
  35. {
  36.     ShowPlayerDialog(playerid, WEAPONSHOP, DIALOG_STYLE_LIST, "AmmuNation", "{9FE4AA}Pistols\n{F9B857}Sub-Machine Gun\n{FAFA52}Shotguns\n{C77D87}Armours\n{B8FF02}SMG\n{F300FF}Assault", "Select", "Cancel");
  37.     return 1;
  38. }
  39.  
  40.  
  41. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  42. {
  43.     if(dialogid == WEAPONSHOP)
  44.     {
  45.         if(response)
  46.         {
  47.             if(listitem == 0)
  48.             {
  49.                 ShowPlayerDialog(playerid, WEAPONSHOP+1, DIALOG_STYLE_LIST, "Pistols", "9mm\t\t\t$200\nSilenced 9mm\t\t$600\nDesert Eagle\t\t$1200", "Select", "Cancel");
  50.             }
  51.             if(listitem == 1)
  52.             {
  53.                 ShowPlayerDialog(playerid, WEAPONSHOP+2, DIALOG_STYLE_LIST, "Sub-Machine Gun", "Tec9\t\t\t$300\nMicro SMG\t\t$500", "Select", "Cancel");
  54.             }
  55.             if(listitem == 2)
  56.             {
  57.                 ShowPlayerDialog(playerid, WEAPONSHOP+3, DIALOG_STYLE_LIST, "Shotguns", "Shotgun\t\t\t$600\nSawnoff Shotgun\t\t$800\nCombat Shotgun\t\t$1000", "Select", "Cancel");
  58.             }
  59.             if(listitem == 3)
  60.             {
  61.                 ShowPlayerDialog(playerid, WEAPONSHOP+4, DIALOG_STYLE_LIST, "Armours", "Armour\t\t\t$200", "Select", "Cancel");
  62.             }
  63.             if(listitem == 4)
  64.             {
  65.                 ShowPlayerDialog(playerid, WEAPONSHOP+5, DIALOG_STYLE_LIST, "SMG", "MP5\t\t\t$2000", "Select", "Cancel");
  66.             }
  67.             if(listitem == 5)
  68.             {
  69.                 ShowPlayerDialog(playerid, WEAPONSHOP+6, DIALOG_STYLE_LIST, "Assault", "AK47\t\t$3500\nM4\t\t$4500", "Select", "Cancel");
  70.             }
  71.         }
  72.         return 1;
  73.     }
  74.     if(dialogid == WEAPONSHOP+1)
  75.     {
  76.         if(response)
  77.         {
  78.             if(listitem == 0)
  79.             {
  80.                 if(GetPlayerMoney(playerid) <200)
  81.                 return SendClientMessage(playerid, COLOR_RED, "You don't have enough money to purchase this item!");
  82.                 GivePlayerMoney(playerid, -200);
  83.                 GivePlayerWeapon(playerid,22,30);
  84.                 SendClientMessage(playerid, COLOR_GREEN, "Thank you for purchasing a 9mm! ($200)");
  85.                 ShowPlayerDialog(playerid, WEAPONSHOP, DIALOG_STYLE_LIST, "AmmuNation", "{F9B857}Pistols\n{F9B857}Sub-Machine Gun\n{FAFA52}Shotguns\n{C77D87}Armours\n{B8FF02}SMG\n{F300FF}Assault", "Select", "Cancel");
  86.             }
  87.             if(listitem == 1)
  88.             {
  89.                 if(GetPlayerMoney(playerid) <600)
  90.                 return SendClientMessage(playerid, COLOR_RED, "You don't have enough money to purchase this item!");
  91.                 GivePlayerMoney(playerid, -600);
  92.                 GivePlayerWeapon(playerid,23,30);
  93.                 SendClientMessage(playerid, COLOR_GREEN, "Thank you for purchasing a Silenced 9mm! ($600)");
  94.                 ShowPlayerDialog(playerid, WEAPONSHOP, DIALOG_STYLE_LIST, "AmmuNation", "{F9B857}Pistols\n{F9B857}Sub-Machine Gun\n{FAFA52}Shotguns\n{C77D87}Armours\n{B8FF02}SMG\n{F300FF}Assault", "Select", "Cancel");
  95.             }
  96.             if(listitem == 2)
  97.             {
  98.                 if(GetPlayerMoney(playerid) <1200)
  99.                 return SendClientMessage(playerid, COLOR_RED, "You don't have enough money to purchase this item!");
  100.                 GivePlayerMoney(playerid, -1200);
  101.                 GivePlayerWeapon(playerid,24,30);
  102.                 SendClientMessage(playerid, COLOR_GREEN, "Thank you for purchasing a Desert Eagle! ($1200)");
  103.                 ShowPlayerDialog(playerid, WEAPONSHOP, DIALOG_STYLE_LIST, "AmmuNation", "{F9B857}Pistols\n{F9B857}Sub-Machine Gun\n{FAFA52}Shotguns\n{C77D87}Armours\n{B8FF02}SMG\n{F300FF}Assault", "Select", "Cancel");
  104.             }
  105.         }
  106.         return 1;
  107.     }
  108.     if(dialogid == WEAPONSHOP+2)
  109.     {
  110.         if(response)
  111.         {
  112.             if(listitem == 0)
  113.             {
  114.                 if(GetPlayerMoney(playerid) <300)
  115.                 return SendClientMessage(playerid, COLOR_RED, "You don't have enough money to purchase this item!");
  116.                 GivePlayerMoney(playerid, -300);
  117.                 GivePlayerWeapon(playerid,32,30);
  118.                 SendClientMessage(playerid, COLOR_GREEN, "Thank you for purchasing a Tec9! ($300)");
  119.                 ShowPlayerDialog(playerid, WEAPONSHOP, DIALOG_STYLE_LIST, "AmmuNation", "{F9B857}Pistols\n{F9B857}Sub-Machine Gun\n{FAFA52}Shotguns\n{C77D87}Armours\n{B8FF02}SMG\n{F300FF}Assault", "Select", "Cancel");
  120.             }
  121.             if(listitem == 1)
  122.             {
  123.                 if(GetPlayerMoney(playerid) <500)
  124.                 return SendClientMessage(playerid, COLOR_RED, "You don't have enough money to purchase this item!");
  125.                 GivePlayerMoney(playerid, -500);
  126.                 GivePlayerWeapon(playerid,28,30);
  127.                 SendClientMessage(playerid, COLOR_GREEN, "Thank you for purchasing a Micro SMG! ($500)");
  128.                 ShowPlayerDialog(playerid, WEAPONSHOP, DIALOG_STYLE_LIST, "AmmuNation", "{F9B857}Pistols\n{F9B857}Sub-Machine Gun\n{FAFA52}Shotguns\n{C77D87}Armours\n{B8FF02}SMG\n{F300FF}Assault", "Select", "Cancel");
  129.             }
  130.         }
  131.         return 1;
  132.     }
  133.     if(dialogid == WEAPONSHOP+3)
  134.     {
  135.         if(response)
  136.         {
  137.             if(listitem == 0)
  138.             {
  139.                 if(GetPlayerMoney(playerid) <600)
  140.                 return SendClientMessage(playerid, COLOR_RED, "You don't have enough money to purchase this item!");
  141.                 GivePlayerMoney(playerid, -600);
  142.                 GivePlayerWeapon(playerid,25,15);
  143.                 SendClientMessage(playerid, COLOR_GREEN, "Thank you for purchasing a Shotgun! ($600)");
  144.                 ShowPlayerDialog(playerid, WEAPONSHOP, DIALOG_STYLE_LIST, "AmmuNation", "{F9B857}Pistols\n{F9B857}Sub-Machine Gun\n{FAFA52}Shotguns\n{C77D87}Armours\n{B8FF02}SMG\n{F300FF}Assault", "Select", "Cancel");
  145.             }
  146.             if(listitem == 1)
  147.             {
  148.                 if(GetPlayerMoney(playerid) <800)
  149.                 return SendClientMessage(playerid, COLOR_RED, "You don't have enough money to purchase this item!");
  150.                 GivePlayerMoney(playerid, -800);
  151.                 GivePlayerWeapon(playerid,26,15);
  152.                 SendClientMessage(playerid, COLOR_GREEN, "Thank you for purchasing a Sawnoff Shotgun (800$)");
  153.                 ShowPlayerDialog(playerid, WEAPONSHOP, DIALOG_STYLE_LIST, "AmmuNation", "{F9B857}Pistols\n{F9B857}Sub-Machine Gun\n{FAFA52}Shotguns\n{C77D87}Armours\n{B8FF02}SMG\n{F300FF}Assault", "Select", "Cancel");
  154.             }
  155.             if(listitem == 2)
  156.             {
  157.                 if(GetPlayerMoney(playerid) <1000)
  158.                 return SendClientMessage(playerid, COLOR_RED, "You don't have enough money to purchase this item!");
  159.                 GivePlayerMoney(playerid, -1000);
  160.                 GivePlayerWeapon(playerid,27,15);
  161.                 SendClientMessage(playerid, COLOR_GREEN, "Thank you for purchasing a Combat Shotgun (1000$)");
  162.                 ShowPlayerDialog(playerid, WEAPONSHOP, DIALOG_STYLE_LIST, "AmmuNation", "{F9B857}Pistols\n{F9B857}Sub-Machine Gun\n{FAFA52}Shotguns\n{C77D87}Armours\n{B8FF02}SMG\n{F300FF}Assault", "Select", "Cancel");
  163.             }
  164.         }
  165.         return 1;
  166.     }
  167.     if(dialogid == WEAPONSHOP+4)
  168.     {
  169.         if(response)
  170.         {
  171.             if(listitem == 0)
  172.             {
  173.                 if(GetPlayerMoney(playerid) <200)
  174.                 return SendClientMessage(playerid, COLOR_RED, "You don't have enough money to purchase this item!");
  175.                 GivePlayerMoney(playerid, -200);
  176.                 SetPlayerArmour(playerid, 100);
  177.                 SendClientMessage(playerid, COLOR_GREEN, "Thank you for purchasing a Armour! ($200)");
  178.                 ShowPlayerDialog(playerid, WEAPONSHOP, DIALOG_STYLE_LIST, "AmmuNation", "{F9B857}Pistols\n{F9B857}Sub-Machine Gun\n{FAFA52}Shotguns\n{C77D87}Armours\n{B8FF02}SMG\n{F300FF}Assault", "Select", "Cancel");
  179.             }
  180.  
  181.         }
  182.         return 1;
  183.     }
  184.     if(dialogid == WEAPONSHOP+5)
  185.     {
  186.         if(response)
  187.         {
  188.             if(listitem == 0)
  189.             {
  190.                 if(GetPlayerMoney(playerid) <2000)
  191.                 return SendClientMessage(playerid, COLOR_RED, "You don't have enough money to purchase this item!");
  192.                 GivePlayerMoney(playerid, -2000);
  193.                 GivePlayerWeapon(playerid,29,30);
  194.                 SendClientMessage(playerid, COLOR_GREEN, "Thank you for purchasing a MP5 (2000$)");
  195.                 ShowPlayerDialog(playerid, WEAPONSHOP, DIALOG_STYLE_LIST, "AmmuNation", "{F9B857}Pistols\n{F9B857}Sub-Machine Gun\n{FAFA52}Shotguns\n{C77D87}Armours\n{B8FF02}SMG\n{F300FF}Assault", "Select", "Cancel");
  196.             }
  197.  
  198.         }
  199.         return 1;
  200.     }
  201.     if(dialogid == WEAPONSHOP+6)
  202.     {
  203.         if(response)
  204.         {
  205.             if(listitem == 0)
  206.             {
  207.                 if(GetPlayerMoney(playerid) <3500)
  208.                 return SendClientMessage(playerid, COLOR_RED, "You don't have enough money to purchase this item!");
  209.                 GivePlayerMoney(playerid, -3500);
  210.                 GivePlayerWeapon(playerid,30,120);
  211.                 SendClientMessage(playerid, COLOR_GREEN, "Thank you for purchasing a AK47 (3500$)");
  212.                 ShowPlayerDialog(playerid, WEAPONSHOP, DIALOG_STYLE_LIST, "AmmuNation", "{F9B857}Pistols\n{F9B857}Sub-Machine Gun\n{FAFA52}Shotguns\n{C77D87}Armours\n{B8FF02}SMG\n{F300FF}Assault", "Select", "Cancel");
  213.             }
  214.             if(listitem == 1)
  215.             {
  216.                 if(GetPlayerMoney(playerid) <4500)
  217.                 return SendClientMessage(playerid, COLOR_RED, "You don't have enough money to purchase this item!");
  218.                 GivePlayerMoney(playerid, -4500);
  219.                 GivePlayerWeapon(playerid,31,120);
  220.                 SendClientMessage(playerid, COLOR_GREEN, "Thank you for purchasing a M4 (4500$)");
  221.                 ShowPlayerDialog(playerid, WEAPONSHOP, DIALOG_STYLE_LIST, "AmmuNation", "{F9B857}Pistols\n{F9B857}Sub-Machine Gun\n{FAFA52}Shotguns\n{C77D87}Armours\n{B8FF02}SMG\n{F300FF}Assault", "Select", "Cancel");
  222.             }
  223.  
  224.         }
  225.         return 1;
  226.     }
  227.     return 1;
  228. }
  229.  
  230. SaveWeaponsToFile(playerid)
  231. {
  232.     new i, path[50], string[128], weaponid, ammo;
  233.     path = GetPlayerFormattedName(playerid);
  234.     if (!dini_Exists(path)) dini_Create(path);
  235.     for (i=0; i<13; i++)
  236.     {
  237.         GetPlayerWeaponData(playerid,i,weaponid,ammo);
  238.         format(string,sizeof(string),"Weapon - %d",i);
  239.         dini_IntSet(path,string,weaponid);
  240.         format(string,sizeof(string),"AmmoID - %d",i);
  241.         dini_IntSet(path,string,ammo == 65535 ? 0 : ammo);
  242.     }
  243. }
  244.  
  245. forward LoadWeaponsToFile(playerid);
  246. public LoadWeaponsToFile(playerid)
  247. {
  248.     new i, path[50], string[128], weaponid, ammo;
  249.     path = GetPlayerFormattedName(playerid);
  250.     ResetPlayerWeapons(playerid);
  251.     for (i=0; i<13; i++)
  252.     {
  253.         format(string,sizeof(string),"Weapon - %d",i);
  254.         weaponid = dini_Int(path,string);
  255.         format(string,sizeof(string),"AmmoID - %d",i);
  256.         ammo = dini_Int(path,string);
  257.         GivePlayerWeapon(playerid,weaponid,ammo);
  258.     }
  259.     AlreadyGiveWeapons[playerid] = true;
  260. }
  261.  
  262. GetPlayerFormattedName(playerid)
  263. {
  264.     new name[24], full[50];
  265.     GetPlayerName(playerid,name,sizeof(name));
  266.     format(full,sizeof(full),"%s/%s.txt",PATH,name);
  267.     return full;
  268. }
  269.  
  270. public OnPlayerSpawn(playerid)
  271. {
  272.     if (!AlreadyGiveWeapons[playerid]) SetTimerEx("LoadWeaponsToFile",250,false,"i",playerid);
  273.     return 1;
  274. }
  275. //============================I Know You Will Change============================
  276. //=========================Please Do Not Remove Credits=========================
  277. public OnPlayerConnect(playerid)
  278. {
  279.     AlreadyGiveWeapons[playerid] = false;
  280.     SendClientMessage(playerid, COLOR_RED,"This server is using WeaponShop by Danyal. Use /shopweaps!");
  281.     return 1;
  282. }
  283. //=========================Please Do Not Remove Credits=========================
  284. //============================I Know You Will Change============================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement