DucK196

Weapon System By DucK!

May 25th, 2012
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.13 KB | None | 0 0
  1. #define Method 3 // Switch To 1 || 2 ---> 1: Pickups Method || 2: Dialog Method
  2. #if defined Method
  3. #if Method == 1 || Method == 2
  4. #include <a_samp>
  5. #define BuyW 543
  6.  
  7. enum Wp
  8. {
  9.     WeaponName[30],
  10.     WeaponID,
  11.     WeaponPrice,
  12.     WeaponBullets,
  13.     #if Method == 1
  14.     PickupID,
  15.     Float:PickupX,
  16.     Float:PickupY,
  17.     Float:PickupZ
  18.     #endif 
  19. };
  20. new Wx[][Wp] =
  21. {
  22.     #if Method == 1
  23.     {"AK-47", 30, 500, 100, 355, 2276.0938,2453.5471,10.8203},
  24.     {"M4", 31, 600, 101, 356, 2272.0667,2453.5388,10.8203},
  25.     {"TEC9", 32, 700, 102, 372, 2267.7449,2453.5315,10.8203}
  26.    
  27.     #elseif Method == 2
  28.     {"AK-47", 30, 500, 100},
  29.     {"M4", 31, 600, 101},
  30.     {"TEC9", 32, 700, 102}
  31.     #endif
  32. };
  33. #if Method == 1
  34. new P[47];
  35. new CurrentW[MAX_PLAYERS];
  36. #endif
  37. new i;
  38. new String[1024];
  39.  
  40. #if Method == 1
  41. public OnFilterScriptInit()
  42. {
  43.     for(i = 0; i<sizeof(Wx); i++)
  44.     {
  45.         format(String, sizeof(String), "{FF0000}%s\n{FFFFFF}Bullets: %d\nPrice: %d$", Wx[i][WeaponName], Wx[i][WeaponBullets], Wx[i][WeaponPrice]);
  46.         P[i] = CreatePickup(Wx[i][PickupID], 1, Wx[i][PickupX], Wx[i][PickupY], Wx[i][PickupZ], -1)
  47.         Create3DTextLabel(String, -1, Wx[i][PickupX], Wx[i][PickupY], Wx[i][PickupZ], 40.0, 0, 0);
  48.     }
  49.     return 1;
  50. }
  51. public OnPlayerPickUpPickup(playerid, pickupid)
  52. {
  53.     for(i = 0; i<sizeof(Wx); i++)
  54.     {
  55.         if(pickupid == P[i])
  56.         {
  57.             CurrentW[playerid] = i;
  58.             format(String, sizeof(String), "{FFFFFF}Want To Buy {FF0000}%s {FFFFFF}With {0000FF}%d {FFFFFF}Bullets For {0000FF}%d$ {FFFFFF}?", Wx[i][WeaponName], Wx[i][WeaponBullets], Wx[i][WeaponPrice]);
  59.             ShowPlayerDialog(playerid, BuyW, DIALOG_STYLE_MSGBOX, "{FF0000}Buy Weapon Good", String, "Yes!", "No :(");
  60.         }
  61.     }
  62.     return 1;
  63. }
  64. #endif
  65. #if Method == 2
  66. public OnPlayerCommandText(playerid, cmdtext[])
  67. {
  68.     if(!strcmp(cmdtext, "/buyweapon", true))
  69.     {
  70.         format(String, sizeof(String), "");
  71.         for(i = 0; i<sizeof(Wx); i++)
  72.         {
  73.             format(String, sizeof(String), "%s\n{FF0000}%s {FFFFFF}(%d Bullets) (%d$)", String, Wx[i][WeaponName], Wx[i][WeaponBullets], Wx[i][WeaponPrice]);
  74.         }
  75.         ShowPlayerDialog(playerid, BuyW, DIALOG_STYLE_LIST, "{FF0000}Buy Weapon Good", String, "Buy", "Exit");
  76.         return 1;
  77.     }
  78.     return 0;
  79. }
  80. #endif
  81. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  82. {
  83.     if(dialogid == BuyW && response)
  84.     {
  85.         #if Method == 1
  86.         if(GetPlayerMoney(playerid) < Wx[CurrentW[playerid]][WeaponPrice]) return SendClientMessage(playerid, -1, "NO MONEY BITCH");
  87.         GivePlayerWeapon(playerid, Wx[CurrentW[playerid]][WeaponID], Wx[CurrentW[playerid]][WeaponBullets]);
  88.         GivePlayerMoney(playerid, -Wx[CurrentW[playerid]][WeaponPrice]);
  89.         format(String, sizeof(String), "You Bought %s", Wx[CurrentW[playerid]][WeaponName]);
  90.         SendClientMessage(playerid, -1, String);
  91.        
  92.         #elseif Method == 2
  93.         if(GetPlayerMoney(playerid) < Wx[listitem][WeaponPrice]) return SendClientMessage(playerid, -1, "NO MONEY BITCH");
  94.         GivePlayerWeapon(playerid, Wx[listitem][WeaponID], Wx[listitem][WeaponBullets])
  95.         GivePlayerMoney(playerid, -Wx[listitem][WeaponPrice]);
  96.         format(String, sizeof(String), "You Bought %s", Wx[listitem][WeaponName]);
  97.         SendClientMessage(playerid, -1, String);
  98.         #endif
  99.     }
  100.     return 1;
  101. }  
  102. #endif
  103. #endif
Advertisement
Add Comment
Please, Sign In to add comment