Advertisement
Guest User

smasci

a guest
Dec 22nd, 2009
1,852
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 10.92 KB | None | 0 0
  1. //==============================================================================
  2. //==============================================================================
  3. /*
  4.                                Weapon Menu
  5.  
  6.                                     by
  7.                                                     __  __
  8.                   ___ ___      __      ____    ___ /\_\/\_\
  9.                 /  __  __ \  / __ \   /  __\  / ___\/\ \/\ \
  10.                 /\ \/\ \/\ \/\ \L\ \_/\__   \/\ \__/\ \ \ \ \
  11.                 \ \_\ \_\ \_\ \__/ \_\/\____/\ \____\\ \_\ \_\
  12.                  \/_/\/_/\/_/\/__/\/_/\/___/  \/____/ \/_/\/_/
  13.  
  14. */
  15. //==============================================================================
  16. //==============================================================================
  17.  
  18. #include <a_samp>
  19. forward GiveWeapons(playerid);
  20. forward SetRandomWeapons(playerid);
  21. #define COLOR_INFO 0x80FF0099
  22.  
  23. new Menu:WeapMain;
  24. new Menu:WeapNew1;
  25. new Menu:WeapNew2;
  26. new Menu:WeapNew3;
  27. new wSlot1[MAX_PLAYERS];
  28. new wSlot2[MAX_PLAYERS];
  29. new wSlot3[MAX_PLAYERS];
  30. new wSameEveryT[MAX_PLAYERS];
  31. new wChosenBefore[MAX_PLAYERS];
  32.  
  33. public OnFilterScriptInit()
  34. {
  35.     WeapMain = CreateMenu("Weapon Menu", 1, 200, 100, 240,0.0);
  36.     SetMenuColumnHeader(WeapMain, 0, "Main Menu");
  37.     AddMenuItem(WeapMain, 0, "New Weapons");
  38.     AddMenuItem(WeapMain, 0, "Same Weapons");
  39.     AddMenuItem(WeapMain, 0, "Same Weapons Everytime");
  40.     AddMenuItem(WeapMain, 0, "Random Weapons");
  41.  
  42.     WeapNew1 = CreateMenu("Weapon Menu", 1, 200, 100, 240,0.0);
  43.     SetMenuColumnHeader(WeapNew1, 0, "Slot 1:");
  44.     AddMenuItem(WeapNew1, 0, "Brass Knuckles");
  45.     AddMenuItem(WeapNew1, 0, "Knife");
  46.     AddMenuItem(WeapNew1, 0, "Nite Stick");
  47.     AddMenuItem(WeapNew1, 0, "Baseball Bat");
  48.     AddMenuItem(WeapNew1, 0, "Shovel");
  49.     AddMenuItem(WeapNew1, 0, "Pool Cue");
  50.     AddMenuItem(WeapNew1, 0, "Katana");
  51.     AddMenuItem(WeapNew1, 0, "Chainsaw");
  52.     AddMenuItem(WeapNew1, 0, "Cane");
  53.     AddMenuItem(WeapNew1, 0, "Silver Vibrator");
  54.     AddMenuItem(WeapNew1, 0, "Flowers");
  55.     AddMenuItem(WeapNew1, 0, "Main Menu");
  56.  
  57.     WeapNew2 = CreateMenu("Weapon Menu", 1, 200, 100, 240,0.0);
  58.     SetMenuColumnHeader(WeapNew2, 0, "Slot 2:");
  59.     AddMenuItem(WeapNew2, 0, "Shotgun");
  60.     AddMenuItem(WeapNew2, 0, "Sawn-off Shotgun");
  61.     AddMenuItem(WeapNew2, 0, "Combat Shotgun");
  62.     AddMenuItem(WeapNew2, 0, "Micro SMG");
  63.     AddMenuItem(WeapNew2, 0, "SMG");
  64.     AddMenuItem(WeapNew2, 0, "Tec9");
  65.     AddMenuItem(WeapNew2, 0, "Main Menu");
  66.  
  67.     WeapNew3 = CreateMenu("Weapon Menu", 1, 200, 100, 240,0.0);
  68.     SetMenuColumnHeader(WeapNew3, 0, "Slot 3:");
  69.     AddMenuItem(WeapNew3, 0, "AK47");
  70.     AddMenuItem(WeapNew3, 0, "M4");
  71.     AddMenuItem(WeapNew3, 0, "Country Rifle");
  72.     AddMenuItem(WeapNew3, 0, "Sniper Rifle");
  73.     AddMenuItem(WeapNew3, 0, "Main Menu");
  74.     return 1;
  75. }
  76.  
  77. public OnFilterScriptExit()
  78. {
  79.     DestroyMenu(WeapMain);
  80.     DestroyMenu(WeapNew1);
  81.     DestroyMenu(WeapNew2);
  82.     DestroyMenu(WeapNew3);
  83.     return 1;
  84. }
  85.  
  86. public OnPlayerConnect(playerid)
  87. {
  88.     wSlot1[playerid] = 0;
  89.     wSlot2[playerid] = 0;
  90.     wSlot3[playerid] = 0;
  91.     wSameEveryT[playerid] = 0;
  92.     wChosenBefore[playerid] = 0;
  93.     return 1;
  94. }
  95.  
  96. public OnPlayerSpawn(playerid)
  97. {
  98.     if (wSameEveryT[playerid] == 0)
  99.     {
  100.         ShowMenuForPlayer(WeapMain,playerid);
  101.         TogglePlayerControllable(playerid,0);
  102.     }
  103.     else if (wSameEveryT[playerid] == 1)
  104.     {
  105.         GiveWeapons(playerid);
  106.     }
  107.     return 1;
  108. }
  109.  
  110. public OnPlayerCommandText(playerid, cmdtext[])
  111. {
  112.     if(strcmp(cmdtext, "/weapons", true) == 0)
  113.     {
  114.         ShowMenuForPlayer(WeapMain,playerid);
  115.         TogglePlayerControllable(playerid,0);
  116.         return 1;
  117.     }
  118.     return 0;
  119. }
  120.  
  121. public OnPlayerExitedMenu(playerid)
  122. {
  123.     TogglePlayerControllable(playerid,1);
  124.     if (wChosenBefore[playerid] == 0)
  125.     {
  126.         SetRandomWeapons(playerid);
  127.     }
  128.     return 1;
  129. }
  130.  
  131. public OnPlayerSelectedMenuRow(playerid, row)
  132. {
  133.     new Menu:Current;
  134.     Current = GetPlayerMenu(playerid);
  135.     if(Current == WeapMain)
  136.     {
  137.         switch(row)
  138.         {
  139.             case 0:
  140.             {
  141.                 ShowMenuForPlayer(WeapNew1,playerid);
  142.                 ResetPlayerWeapons(playerid);
  143.                 TogglePlayerControllable(playerid,0);
  144.             }
  145.             case 1:
  146.             {
  147.                 if (wChosenBefore[playerid] == 1)
  148.                 {
  149.                     GiveWeapons(playerid);
  150.                     TogglePlayerControllable(playerid,1);
  151.                 }
  152.                 if (wChosenBefore[playerid] == 0)
  153.                 {
  154.                     ShowMenuForPlayer(WeapMain,playerid);
  155.                     TogglePlayerControllable(playerid,0);
  156.                     SendClientMessage(playerid,COLOR_INFO,"> You havent chosen any weapons yet.");
  157.                 }
  158.             }
  159.             case 2:
  160.             {
  161.                 if (wChosenBefore[playerid] == 1)
  162.                 {
  163.                     wSameEveryT[playerid] = 1;
  164.                     GiveWeapons(playerid);
  165.                     TogglePlayerControllable(playerid,1);
  166.                     SendClientMessage(playerid,COLOR_INFO,"> Type /weapons to change your weapons.");
  167.                 }
  168.                 if (wChosenBefore[playerid] == 0)
  169.                 {
  170.                     ShowMenuForPlayer(WeapMain,playerid);
  171.                     TogglePlayerControllable(playerid,0);
  172.                     SendClientMessage(playerid,COLOR_INFO,"> You havent chosen any weapons yet.");
  173.                 }
  174.             }
  175.             case 3:
  176.             {
  177.                 SetRandomWeapons(playerid);
  178.                 TogglePlayerControllable(playerid,1);
  179.             }
  180.         }
  181.     }
  182.     if(Current == WeapNew1)
  183.     {
  184.         switch(row)
  185.         {
  186.             case 0:
  187.             {
  188.                 wSlot1[playerid] = 1;
  189.                 ShowMenuForPlayer(WeapNew2,playerid);
  190.                 TogglePlayerControllable(playerid,0);
  191.             }
  192.             case 1:
  193.             {
  194.                 wSlot1[playerid] = 2;
  195.                 ShowMenuForPlayer(WeapNew2,playerid);
  196.                 TogglePlayerControllable(playerid,0);
  197.             }
  198.             case 2:
  199.             {
  200.                 wSlot1[playerid] = 3;
  201.                 ShowMenuForPlayer(WeapNew2,playerid);
  202.                 TogglePlayerControllable(playerid,0);
  203.             }
  204.             case 3:
  205.             {
  206.                 wSlot1[playerid] = 4;
  207.                 ShowMenuForPlayer(WeapNew2,playerid);
  208.                 TogglePlayerControllable(playerid,0);
  209.             }
  210.             case 4:
  211.             {
  212.                 wSlot1[playerid] = 5;
  213.                 ShowMenuForPlayer(WeapNew2,playerid);
  214.                 TogglePlayerControllable(playerid,0);
  215.             }
  216.             case 5:
  217.             {
  218.                 wSlot1[playerid] = 6;
  219.                 ShowMenuForPlayer(WeapNew2,playerid);
  220.                 TogglePlayerControllable(playerid,0);
  221.             }
  222.             case 6:
  223.             {
  224.                 wSlot1[playerid] = 7;
  225.                 ShowMenuForPlayer(WeapNew2,playerid);
  226.                 TogglePlayerControllable(playerid,0);
  227.             }
  228.             case 7:
  229.             {
  230.                 wSlot1[playerid] = 8;
  231.                 ShowMenuForPlayer(WeapNew2,playerid);
  232.                 TogglePlayerControllable(playerid,0);
  233.             }
  234.             case 8:
  235.             {
  236.                 wSlot1[playerid] = 9;
  237.                 ShowMenuForPlayer(WeapNew2,playerid);
  238.                 TogglePlayerControllable(playerid,0);
  239.             }
  240.             case 9:
  241.             {
  242.                 wSlot1[playerid] = 10;
  243.                 ShowMenuForPlayer(WeapNew2,playerid);
  244.                 TogglePlayerControllable(playerid,0);
  245.             }
  246.             case 10:
  247.             {
  248.                 wSlot1[playerid] = 11;
  249.                 ShowMenuForPlayer(WeapNew2,playerid);
  250.                 TogglePlayerControllable(playerid,0);
  251.             }
  252.             case 11:
  253.             {
  254.                 ShowMenuForPlayer(WeapMain,playerid);
  255.                 TogglePlayerControllable(playerid,0);
  256.             }
  257.         }
  258.     }
  259.     if(Current == WeapNew2)
  260.     {
  261.         switch(row)
  262.         {
  263.             case 0:
  264.             {
  265.                 wSlot2[playerid] = 1;
  266.                 ShowMenuForPlayer(WeapNew3,playerid);
  267.                 TogglePlayerControllable(playerid,0);
  268.             }
  269.             case 1:
  270.             {
  271.                 wSlot2[playerid] = 2;
  272.                 ShowMenuForPlayer(WeapNew3,playerid);
  273.                 TogglePlayerControllable(playerid,0);
  274.             }
  275.             case 2:
  276.             {
  277.                 wSlot2[playerid] = 3;
  278.                 ShowMenuForPlayer(WeapNew3,playerid);
  279.                 TogglePlayerControllable(playerid,0);
  280.             }
  281.             case 3:
  282.             {
  283.                 wSlot2[playerid] = 4;
  284.                 ShowMenuForPlayer(WeapNew3,playerid);
  285.                 TogglePlayerControllable(playerid,0);
  286.             }
  287.             case 4:
  288.             {
  289.                 wSlot2[playerid] = 5;
  290.                 ShowMenuForPlayer(WeapNew3,playerid);
  291.                 TogglePlayerControllable(playerid,0);
  292.             }
  293.             case 5:
  294.             {
  295.                 wSlot2[playerid] = 6;
  296.                 ShowMenuForPlayer(WeapNew3,playerid);
  297.                 TogglePlayerControllable(playerid,0);
  298.             }
  299.             case 6:
  300.             {
  301.                 ShowMenuForPlayer(WeapMain,playerid);
  302.                 TogglePlayerControllable(playerid,0);
  303.             }
  304.         }
  305.     }
  306.     if(Current == WeapNew3)
  307.     {
  308.         switch(row)
  309.         {
  310.             case 0:
  311.             {
  312.                 wSlot3[playerid] = 1;
  313.                 GiveWeapons(playerid);
  314.                 TogglePlayerControllable(playerid,1);
  315.             }
  316.             case 1:
  317.             {
  318.                 wSlot3[playerid] = 2;
  319.                 GiveWeapons(playerid);
  320.                 TogglePlayerControllable(playerid,1);
  321.             }
  322.             case 2:
  323.             {
  324.                 wSlot3[playerid] = 3;
  325.                 GiveWeapons(playerid);
  326.                 TogglePlayerControllable(playerid,1);
  327.             }
  328.             case 3:
  329.             {
  330.                 wSlot3[playerid] = 4;
  331.                 GiveWeapons(playerid);
  332.                 TogglePlayerControllable(playerid,1);
  333.             }
  334.             case 4:
  335.             {
  336.                 ShowMenuForPlayer(WeapMain,playerid);
  337.                 TogglePlayerControllable(playerid,0);
  338.             }
  339.         }
  340.     }
  341.     return 1;
  342. }
  343.  
  344. public GiveWeapons(playerid)
  345. {
  346.     if (wSlot1[playerid] == 1) // Brass Knuckles
  347.     {
  348.         GivePlayerWeapon(playerid, 1, 99999999);
  349.     }
  350.     if (wSlot1[playerid] == 2) // Knife
  351.     {
  352.         GivePlayerWeapon(playerid, 4, 99999999);
  353.     }
  354.     if (wSlot1[playerid] == 3) // Nite Stick
  355.     {
  356.         GivePlayerWeapon(playerid, 3, 99999999);
  357.     }
  358.     if (wSlot1[playerid] == 4) // Baseball Bat
  359.     {
  360.         GivePlayerWeapon(playerid, 5, 99999999);
  361.     }
  362.     if (wSlot1[playerid] == 5) // Shovel
  363.     {
  364.         GivePlayerWeapon(playerid, 6, 99999999);
  365.     }
  366.     if (wSlot1[playerid] == 6) // Pool Cue
  367.     {
  368.         GivePlayerWeapon(playerid, 7, 99999999);
  369.     }
  370.     if (wSlot1[playerid] == 7) // Katana
  371.     {
  372.         GivePlayerWeapon(playerid, 8, 99999999);
  373.     }
  374.     if (wSlot1[playerid] == 8) // Chainsaw
  375.     {
  376.         GivePlayerWeapon(playerid, 9, 99999999);
  377.     }
  378.     if (wSlot1[playerid] == 9) // Cane
  379.     {
  380.         GivePlayerWeapon(playerid, 15, 99999999);
  381.     }
  382.     if (wSlot1[playerid] == 10) // Silver Vibrator
  383.     {
  384.         GivePlayerWeapon(playerid, 13, 99999999);
  385.     }
  386.     if (wSlot1[playerid] == 11) // Flowers
  387.     {
  388.         GivePlayerWeapon(playerid, 14, 99999999);
  389.     }
  390.     if (wSlot2[playerid] == 1) // Shotgun
  391.     {
  392.         GivePlayerWeapon(playerid, 25, 200);
  393.     }
  394.     if (wSlot2[playerid] == 2) // Sawn-off Shotgun
  395.     {
  396.         GivePlayerWeapon(playerid, 26, 200);
  397.     }
  398.     if (wSlot2[playerid] == 3) // Combat Shotgun
  399.     {
  400.         GivePlayerWeapon(playerid, 27, 200);
  401.     }
  402.     if (wSlot2[playerid] == 4) // Micro SMG
  403.     {
  404.         GivePlayerWeapon(playerid, 28, 500);
  405.     }
  406.     if (wSlot2[playerid] == 5) // SMG
  407.     {
  408.         GivePlayerWeapon(playerid, 29, 500);
  409.     }
  410.     if (wSlot2[playerid] == 6) // Tec9
  411.     {
  412.         GivePlayerWeapon(playerid, 32, 500);
  413.     }
  414.     if (wSlot3[playerid] == 1) // AK47
  415.     {
  416.         GivePlayerWeapon(playerid, 30, 1000);
  417.     }
  418.     if (wSlot3[playerid] == 2) // M4
  419.     {
  420.         GivePlayerWeapon(playerid, 31, 1000);
  421.     }
  422.     if (wSlot3[playerid] == 3) // Country Rifle
  423.     {
  424.         GivePlayerWeapon(playerid, 33, 250);
  425.     }
  426.     if (wSlot3[playerid] == 4) // Sniper Rifle
  427.     {
  428.         GivePlayerWeapon(playerid, 34, 100);
  429.     }
  430.     wChosenBefore[playerid] = 1;
  431. }
  432.  
  433. public SetRandomWeapons(playerid)
  434. {
  435.     new rand = random(11);
  436.     switch(rand)
  437.     {
  438.         case 0: wSlot1[playerid] = 1;
  439.         case 1: wSlot1[playerid] = 2;
  440.         case 2: wSlot1[playerid] = 3;
  441.         case 3: wSlot1[playerid] = 4;
  442.         case 4: wSlot1[playerid] = 5;
  443.         case 5: wSlot1[playerid] = 6;
  444.         case 6: wSlot1[playerid] = 7;
  445.         case 7: wSlot1[playerid] = 8;
  446.         case 8: wSlot1[playerid] = 9;
  447.         case 9: wSlot1[playerid] = 10;
  448.         case 10: wSlot1[playerid] = 11;
  449.     }
  450.     new rand2 = random(6);
  451.     switch(rand2)
  452.     {
  453.         case 0: wSlot2[playerid] = 1;
  454.         case 1: wSlot2[playerid] = 2;
  455.         case 2: wSlot2[playerid] = 3;
  456.         case 3: wSlot2[playerid] = 4;
  457.         case 4: wSlot2[playerid] = 5;
  458.         case 5: wSlot2[playerid] = 6;
  459.     }
  460.     new rand3 = random(4);
  461.     switch(rand3)
  462.     {
  463.         case 0: wSlot3[playerid] = 1;
  464.         case 1: wSlot3[playerid] = 2;
  465.         case 2: wSlot3[playerid] = 3;
  466.         case 3: wSlot3[playerid] = 4;
  467.     }
  468.     GiveWeapons(playerid);
  469. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement