LeonardoBradoks

Sistema de Menu Kit de Armas para Gangs

Sep 20th, 2018
309
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 10.35 KB | None | 0 0
  1. // This is a comment
  2. // uncomment the line below if you want to write a filterscript
  3. //#define FILTERSCRIPT
  4.  
  5. #include <a_samp>
  6. #include <sscanf2>
  7. #include <zcmd>
  8.  
  9. /*-- definições de gangs --*/
  10. #define GANG_YAKUZA                                                 1
  11. #define GANG_GROOVE_STREET                                          2
  12. #define GANG_BALLAS                                                 3
  13.  
  14. /*-- definições de menus --*/
  15. #define DIALOG_MENU_KIT                                             1001
  16.  
  17. enum pBradoks {
  18.     pGang
  19. }
  20. new PlayerBradoks[MAX_PLAYERS][pBradoks];
  21.  
  22. main()
  23. {
  24.     print("\n----------------------------------");
  25.     print(" Blank Gamemode by your name here");
  26.     print("----------------------------------\n");
  27. }
  28.  
  29. public OnGameModeInit()
  30. {
  31.     // Don't use these lines if it's a filterscript
  32.     SetGameModeText("Blank Script");
  33.     AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  34.     return 1;
  35. }
  36.  
  37. public OnGameModeExit()
  38. {
  39.     return 1;
  40. }
  41.  
  42. public OnPlayerRequestClass(playerid, classid)
  43. {
  44.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  45.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  46.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  47.     return 1;
  48. }
  49.  
  50. public OnPlayerConnect(playerid)
  51. {
  52.     return 1;
  53. }
  54.  
  55. public OnPlayerDisconnect(playerid, reason)
  56. {
  57.     return 1;
  58. }
  59.  
  60. public OnPlayerSpawn(playerid)
  61. {
  62.     return 1;
  63. }
  64.  
  65. public OnPlayerDeath(playerid, killerid, reason)
  66. {
  67.     return 1;
  68. }
  69.  
  70. public OnVehicleSpawn(vehicleid)
  71. {
  72.     return 1;
  73. }
  74.  
  75. public OnVehicleDeath(vehicleid, killerid)
  76. {
  77.     return 1;
  78. }
  79.  
  80. public OnPlayerText(playerid, text[])
  81. {
  82.     return 1;
  83. }
  84.  
  85. public OnPlayerCommandText(playerid, cmdtext[])
  86. {
  87.     if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  88.     {
  89.         // Do something here
  90.         return 1;
  91.     }
  92.     return 0;
  93. }
  94.  
  95. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  96. {
  97.     return 1;
  98. }
  99.  
  100. public OnPlayerExitVehicle(playerid, vehicleid)
  101. {
  102.     return 1;
  103. }
  104.  
  105. public OnPlayerStateChange(playerid, newstate, oldstate)
  106. {
  107.     return 1;
  108. }
  109.  
  110. public OnPlayerEnterCheckpoint(playerid)
  111. {
  112.     return 1;
  113. }
  114.  
  115. public OnPlayerLeaveCheckpoint(playerid)
  116. {
  117.     return 1;
  118. }
  119.  
  120. public OnPlayerEnterRaceCheckpoint(playerid)
  121. {
  122.     return 1;
  123. }
  124.  
  125. public OnPlayerLeaveRaceCheckpoint(playerid)
  126. {
  127.     return 1;
  128. }
  129.  
  130. public OnRconCommand(cmd[])
  131. {
  132.     return 1;
  133. }
  134.  
  135. public OnPlayerRequestSpawn(playerid)
  136. {
  137.     return 1;
  138. }
  139.  
  140. public OnObjectMoved(objectid)
  141. {
  142.     return 1;
  143. }
  144.  
  145. public OnPlayerObjectMoved(playerid, objectid)
  146. {
  147.     return 1;
  148. }
  149.  
  150. public OnPlayerPickUpPickup(playerid, pickupid)
  151. {
  152.     return 1;
  153. }
  154.  
  155. public OnVehicleMod(playerid, vehicleid, componentid)
  156. {
  157.     return 1;
  158. }
  159.  
  160. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  161. {
  162.     return 1;
  163. }
  164.  
  165. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  166. {
  167.     return 1;
  168. }
  169.  
  170. public OnPlayerSelectedMenuRow(playerid, row)
  171. {
  172.     return 1;
  173. }
  174.  
  175. public OnPlayerExitedMenu(playerid)
  176. {
  177.     return 1;
  178. }
  179.  
  180. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  181. {
  182.     return 1;
  183. }
  184.  
  185. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  186. {
  187.     return 1;
  188. }
  189.  
  190. public OnRconLoginAttempt(ip[], password[], success)
  191. {
  192.     return 1;
  193. }
  194.  
  195. public OnPlayerUpdate(playerid)
  196. {
  197.     return 1;
  198. }
  199.  
  200. public OnPlayerStreamIn(playerid, forplayerid)
  201. {
  202.     return 1;
  203. }
  204.  
  205. public OnPlayerStreamOut(playerid, forplayerid)
  206. {
  207.     return 1;
  208. }
  209.  
  210. public OnVehicleStreamIn(vehicleid, forplayerid)
  211. {
  212.     return 1;
  213. }
  214.  
  215. public OnVehicleStreamOut(vehicleid, forplayerid)
  216. {
  217.     return 1;
  218. }
  219.  
  220. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  221. {
  222.     switch(dialogid) {
  223.         case DIALOG_MENU_KIT: {
  224.             if(response) {
  225.                 switch(PlayerBradoks[playerid][pGang]) {
  226.                     case GANG_YAKUZA: {
  227.                         switch(listitem) {
  228.                             case 0: {
  229.                                 if(GetPlayerMoney(playerid) < 1000) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Você não possui dinheiro suficiente !");
  230.                                 GivePlayerWeapon(playerid, 22, 10);
  231.                                 GivePlayerMoney(playerid, -1000);
  232.                                 SendClientMessage(playerid, -1, "[•»] {00FF7F}Arma adquirida com sucesso !");
  233.                                 return 1;
  234.                             }
  235.                             case 1: {
  236.                                 if(GetPlayerMoney(playerid) < 1500) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Você não possui dinheiro suficiente !");
  237.                                 GivePlayerWeapon(playerid, 25, 15);
  238.                                 GivePlayerMoney(playerid, -1500);
  239.                                 SendClientMessage(playerid, -1, "[•»] {00FF7F}Arma adquirida com sucesso !");
  240.                                 return 1;
  241.                             }
  242.                             case 2: {
  243.                                 if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Você não possui dinheiro suficiente !");
  244.                                 GivePlayerWeapon(playerid, 28, 20);
  245.                                 GivePlayerMoney(playerid, -2000);
  246.                                 SendClientMessage(playerid, -1, "[•»] {00FF7F}Arma adquirida com sucesso !");
  247.                                 return 1;
  248.                             }
  249.                         }
  250.                     }
  251.                     case GANG_GROOVE_STREET: {
  252.                         switch(listitem) {
  253.                             case 0: {
  254.                                 if(GetPlayerMoney(playerid) < 1500) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Você não possui dinheiro suficiente !");
  255.                                 GivePlayerWeapon(playerid, 23, 15);
  256.                                 GivePlayerMoney(playerid, -1500);
  257.                                 SendClientMessage(playerid, -1, "[•»] {00FF7F}Arma adquirida com sucesso !");
  258.                                 return 1;
  259.                             }
  260.                             case 1: {
  261.                                 if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Você não possui dinheiro suficiente !");
  262.                                 GivePlayerWeapon(playerid, 26, 20);
  263.                                 GivePlayerMoney(playerid, -2000);
  264.                                 SendClientMessage(playerid, -1, "[•»] {00FF7F}Arma adquirida com sucesso !");
  265.                                 return 1;
  266.                             }
  267.                             case 2: {
  268.                                 if(GetPlayerMoney(playerid) < 2500) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Você não possui dinheiro suficiente !");
  269.                                 GivePlayerWeapon(playerid, 29, 25);
  270.                                 GivePlayerMoney(playerid, -2500);
  271.                                 SendClientMessage(playerid, -1, "[•»] {00FF7F}Arma adquirida com sucesso !");
  272.                                 return 1;
  273.                             }
  274.                         }
  275.                     }
  276.                     case GANG_BALLAS: {
  277.                         switch(listitem) {
  278.                             case 0: {
  279.                                 if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Você não possui dinheiro suficiente !");
  280.                                 GivePlayerWeapon(playerid, 24, 20);
  281.                                 GivePlayerMoney(playerid, -2000);
  282.                                 SendClientMessage(playerid, -1, "[•»] {00FF7F}Arma adquirida com sucesso !");
  283.                                 return 1;
  284.                             }
  285.                             case 1: {
  286.                                 if(GetPlayerMoney(playerid) < 2500) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Você não possui dinheiro suficiente !");
  287.                                 GivePlayerWeapon(playerid, 27, 25);
  288.                                 GivePlayerMoney(playerid, -2500);
  289.                                 SendClientMessage(playerid, -1, "[•»] {00FF7F}Arma adquirida com sucesso !");
  290.                                 return 1;
  291.                             }
  292.                             case 2: {
  293.                                 if(GetPlayerMoney(playerid) < 3000) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Você não possui dinheiro suficiente !");
  294.                                 GivePlayerWeapon(playerid, 32, 30);
  295.                                 GivePlayerMoney(playerid, -3000);
  296.                                 SendClientMessage(playerid, -1, "[•»] {00FF7F}Arma adquirida com sucesso !");
  297.                                 return 1;
  298.                             }
  299.                         }                  
  300.                     }
  301.                 }
  302.             }
  303.  
  304.         }
  305.     }
  306.     return 1;
  307. }
  308.  
  309. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  310. {
  311.     return 1;
  312. }
  313.  
  314.  
  315.  
  316. /*-- Comandos --*/
  317.  
  318. CMD:setgang(playerid, params[]) {
  319.     new id, gang, aname[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], string[128];
  320.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Você não tem acesso a este comando !");
  321.     if(sscanf(params, "dd", id, gang)) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Use: /setgang [playerid] [(1: Yakuza) - (2: Groove Street) - (3: Ballas)]");
  322.     if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Este player não está conectado !");
  323.     if(PlayerBradoks[id][pGang] == gang) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Este player já faz parte desta gang !");
  324.     GetPlayerName(playerid, aname, sizeof(aname));
  325.     GetPlayerName(playerid, pname, sizeof(pname));
  326.  
  327.     format(string, sizeof(string), "[•»] O(A) Administrador(a) %s setou o(a) player %s como membro(a) da gang %s", aname, pname, gang == 1 ? ("Yakuza") : gang == 2 ? ("Groove Street") : gang == 3 ? ("Ballas") : ("Nenhuma"));
  328.     SendClientMessageToAll(-1, string);
  329.  
  330.     format(string, sizeof(string), "[•»] O(A) Administrador(a) %s te setou como membro(a) da gang %s", aname, gang == 1 ? ("Yakuza") : gang == 2 ? ("Groove Street") : gang == 3 ? ("Ballas") : ("Nenhuma"));
  331.     SendClientMessage(playerid, -1, string);
  332.     PlayerBradoks[id][pGang] = gang;
  333.     return 1;
  334. }
  335.  
  336. CMD:kit(playerid) {
  337.     switch(PlayerBradoks[playerid][pGang]) {
  338.         case GANG_YAKUZA: {
  339.             ShowPlayerDialog(playerid, DIALOG_MENU_KIT, DIALOG_STYLE_TABLIST_HEADERS, "{ffffff}Menu KIT de Armas {FFD700}Yakuza", "{FF0000}Arma\t{ffffff}Munição\t{00FF7F}Valor\n\
  340.             {ffffff}Pistola 9MM\t{ffffff}10\t{00FF7F}R$ {ffffff}1000\n\
  341.             {ffffff}Espingarda\t{ffffff}15\t{00FF7F}R$ {ffffff}1500\n\
  342.             {ffffff}Micro SMG\t{ffffff}20\t{00FF7F}R$ {ffffff}2000",
  343.             "Comprar", "Cancelar");
  344.         }
  345.         case GANG_GROOVE_STREET: {
  346.             ShowPlayerDialog(playerid, DIALOG_MENU_KIT, DIALOG_STYLE_TABLIST_HEADERS, "{ffffff}Menu KIT de Armas {00FF7F}Groove Street", "{FF0000}Arma\t{ffffff}Munição\t{00FF7F}Valor\n\
  347.              {ffffff}Pistola 9MM C/ Silenciador\t{ffffff}15\t{00FF7F}R$ {ffffff}1500\n\
  348.              {ffffff}Shotgun Sawnoff\t{ffffff}20\t{00FF7F}R$ {ffffff}2000\n\
  349.              {ffffff}MP5\t{ffffff}25\t{00FF7F}R$ {ffffff}2500",
  350.              "Comprar", "Cancelar");
  351.         }
  352.         case GANG_BALLAS: {
  353.             ShowPlayerDialog(playerid, DIALOG_MENU_KIT, DIALOG_STYLE_TABLIST_HEADERS, "{ffffff}Menu KIT de Armas {8A2BE2}Ballas", "{FF0000}Arma\t{ffffff}Munição\t{00FF7F}Valor\n\
  354.              {ffffff}Desert Eagle\t{ffffff}20\t{00FF7F}R$ {ffffff}2000\n\
  355.              {ffffff}Combat Shotgun\t{ffffff}25\t{00FF7F}R$ {ffffff}2500\n\
  356.              {ffffff}Tec-9\t{ffffff}30\t{00FF7F}R$ {ffffff}3000",
  357.              "Comprar", "Cancelar");           
  358.         }
  359.         default: SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Você não tem acesso a este comando !");
  360.     }
  361.     return 1;
  362. }
  363.  
  364. CMD:dargrana(playerid, params[]) {
  365.     new id, grana;
  366.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Você não tem acesso a este comando !");
  367.     if(sscanf(params, "dd", id, grana)) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Use: /dargrana [playerid] [valor]");
  368.     GivePlayerMoney(id, grana);
  369.     SendClientMessage(playerid, -1, "[•»] {00FF7F}Dinheiro enviado com sucesso !");
  370.     return 1;
  371. }
Advertisement
Add Comment
Please, Sign In to add comment