Advertisement
Lagado

hwWeapons 1.1

Jul 2nd, 2017
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 15.98 KB | None | 0 0
  1. /*
  2.     hwWeapons 1.1 (02/07/2017) feito por HardWar
  3.    
  4.     ATENÇÃO: Este filterscript cria um banco de dados (caso não exista) na pasta scriptfiles com nome "hw_weapons.db"
  5.    
  6.     Comandos:
  7.     - /armas - Comprar uma arma ou munição
  8.     - /iarmas - Inventário de armas
  9.    
  10.     Créditos:
  11.     - Zeex (zcmd)
  12.     - Y_Less, Emmet_, maddinat0r (sscanf)
  13.     - SA-MP Team
  14. */
  15.  
  16. #include <a_samp>
  17. #include <zcmd>
  18. #include <sscanf2>
  19.  
  20. // DIALOGS
  21. #define D_ARMAS             (478)
  22. #define D_ARMAS_BRANCAS     (479)
  23. #define D_PISTOLAS          (480)
  24. #define D_ESCOPETAS         (481)
  25. #define D_SMGS              (482)
  26. #define D_RIFLES_ASSALTO    (483)
  27. #define D_RIFLES_PRECISAO   (484)
  28. #define D_ARMAS_PESADAS     (485)
  29. #define D_EXPLOSIVOS        (486)
  30. #define D_INVENTARIO        (487)
  31.  
  32. /*
  33.     PREÇO DAS ARMAS
  34.     ------------------------------------------------------
  35.     Você pode configurar o preço de cada arma aqui.
  36.     Mude os números de acordo com sua preferência, exemplo:
  37.    
  38.     #define P_SOCO_INGLES   (400) - Agora o soco inglês custa $400
  39. */
  40. #define P_SOCO_INGLES       (50)
  41. #define P_TACO_GOLFE        (100)
  42. #define P_CASSETETE         (100)
  43. #define P_FACA              (100)
  44. #define P_TACO_BASEBALL     (150)
  45. #define P_PA                (100)
  46. #define P_TACO_SINUCA       (100)
  47. #define P_KATANA            (100)
  48. #define P_MOTOSSERRA        (200)
  49. #define P_9MM               (700)
  50. #define P_9MM_SILENCIADA    (900)
  51. #define P_DESERT_EAGLE      (1200)
  52. #define P_ESCOPETA          (1200)
  53. #define P_ESCOPETA_SERRADO  (1200)
  54. #define P_ESCOPETA_COMBATE  (1700)
  55. #define P_UZI               (500)
  56. #define P_MP5               (1500)
  57. #define P_TEC9              (800)
  58. #define P_M4                (4000)
  59. #define P_AK47              (4000)
  60. #define P_ESPINGARDA        (2000)
  61. #define P_SNIPER            (2500)
  62. #define P_LANCA_CHAMAS      (6000)
  63. #define P_RPG               (10000)
  64. #define P_GRANADA           (1000)
  65. #define P_COQUETEL_MOLOTOV  (1000)
  66. #define P_C4                (1500)
  67.  
  68. /*
  69.     QUANTIDADE DE MUNIÇÃO POR COMPRA
  70.     ------------------------------------------------------
  71.     Você pode configurar a quantidade de munição por compra aqui.
  72.     Mude os números de acordo com sua preferência, exemplo:
  73.    
  74.     #define M_9MM   (100) - Agora a pistola 9mm recebe 100 de munição por compra.
  75. */
  76. #define M_9MM               (100)
  77. #define M_9MM_SILENCIADA    (100)
  78. #define M_DESERT_EAGLE      (70)
  79. #define M_ESCOPETA          (20)
  80. #define M_ESCOPETA_SERRADO  (40)
  81. #define M_ESCOPETA_COMBATE  (50)
  82. #define M_UZI               (200)
  83. #define M_MP5               (200)
  84. #define M_TEC9              (200)
  85. #define M_M4                (200)
  86. #define M_AK47              (200)
  87. #define M_ESPINGARDA        (20)
  88. #define M_SNIPER            (30)
  89. #define M_LANCA_CHAMAS      (100)
  90. #define M_RPG               (5)
  91. #define M_GRANADA           (10)
  92. #define M_COQUETEL_MOLOTOV  (10)
  93. #define M_C4                (5)
  94.  
  95. #undef MAX_PLAYERS
  96. #define MAX_PLAYERS         (50) // Troque 50 pelo número de slots do seu servidor
  97. #define MAX_WEAPONS         (27)
  98.  
  99. enum E_DADOS_ARMAS {
  100.     ARMA,
  101.     MUNICAO,
  102.     ORDEM_INVENTARIO
  103. }
  104.  
  105. new Jogador[MAX_PLAYERS][E_DADOS_ARMAS][MAX_WEAPONS];
  106. new DB:BD;
  107.  
  108. new nArmas[][] = {
  109.     "Soco inglês",
  110.     "Taco de golfe",
  111.     "Cassetete",
  112.     "Faca",
  113.     "Taco de Baseball",
  114.     "Pá",
  115.     "Taco de sinuca",
  116.     "Katana",
  117.     "Motosserra",
  118.     "Pistola 9mm",
  119.     "Pistola 9mm com silenciador",
  120.     "Desert Eagle",
  121.     "Escopeta",
  122.     "Escopeta de cano serrado",
  123.     "Escopeta de combate",
  124.     "Uzi",
  125.     "MP5",
  126.     "Tec-9",
  127.     "M4",
  128.     "AK-47",
  129.     "Espingarda",
  130.     "Sniper",
  131.     "Lança-chamas",
  132.     "RPG",
  133.     "Granada",
  134.     "Coquetel Molotov",
  135.     "C4"
  136. };
  137.  
  138. public OnFilterScriptInit()
  139. {
  140.     BD = db_open("hw_weapons.db");
  141.     new consulta[314];
  142.     format(consulta, 314, "CREATE TABLE IF NOT EXISTS jogadores (`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, `nome` TEXT NOT NULL, `armas` TEXT NOT NULL DEFAULT '-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;', `municao` TEXT NOT NULL DEFAULT '0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;')");
  143.     db_free_result(db_query(BD, consulta));
  144.    
  145.     print("\n----------------------------------");
  146.     print("      hwWeapons por HardWar       ");
  147.     print("----------------------------------\n");
  148.     return 1;
  149. }
  150.  
  151. public OnFilterScriptExit()
  152. {
  153.     db_close(BD);
  154.     return 1;
  155. }
  156.  
  157. public OnPlayerConnect(playerid)
  158. {
  159.     new consulta[83], DBResult:result, nome[MAX_PLAYER_NAME+1];
  160.    
  161.     GetPlayerName(playerid, nome, MAX_PLAYER_NAME+1);
  162.    
  163.     format(consulta, 82, "SELECT `armas`, `municao` FROM `jogadores` WHERE `nome`='%s'", nome);
  164.     result = db_query(BD, consulta);
  165.    
  166.     if(!db_num_rows(result)) {
  167.         format(consulta, 82, "INSERT INTO `jogadores` (`nome`) VALUES ('%q')", nome);
  168.         db_query(BD, consulta);
  169.     }
  170.    
  171.     format(consulta, 82, "SELECT `armas`, `municao` FROM `jogadores` WHERE `nome`='%s'", nome);
  172.     result = db_query(BD, consulta);
  173.    
  174.     new armas[82], hArmas[MAX_WEAPONS];
  175.     db_get_field_assoc(result, "armas", armas, 82);
  176.    
  177.     if(sscanf(armas, "p<;>a<i>[27]", hArmas)) return 1;
  178.    
  179.     for(new i, j = sizeof hArmas; i < j; ++i) Jogador[playerid][ARMA][i] = hArmas[i];  
  180.    
  181.     new municao[109], hMunicao[MAX_WEAPONS];
  182.     db_get_field_assoc(result, "municao", municao, 109);
  183.    
  184.     if(sscanf(municao, "p<;>a<i>[27]", hMunicao)) return 1;
  185.    
  186.     for(new i, j = sizeof hMunicao; i < j; ++i) Jogador[playerid][MUNICAO][i] = hMunicao[i];
  187.    
  188.     db_free_result(result);
  189.    
  190.     return 1;
  191. }
  192.  
  193. public OnPlayerDisconnect(playerid, reason)
  194. {
  195.     new arma[4], armas[82];
  196.    
  197.     for(new i; i < MAX_WEAPONS; ++i) {
  198.         format(arma, 4, "%i;", Jogador[playerid][ARMA][i]);
  199.         strcat(armas, arma);
  200.     }
  201.    
  202.     new mun[6], municao[109];
  203.    
  204.     for(new i; i < MAX_WEAPONS; ++i) {
  205.         format(mun, 6, "%i;", Jogador[playerid][MUNICAO][i]);
  206.         strcat(municao, mun);
  207.     }
  208.    
  209.     new consulta[256], nome[MAX_PLAYER_NAME+1];
  210.     GetPlayerName(playerid, nome, sizeof nome);
  211.    
  212.     format(consulta, 256, "UPDATE `jogadores` SET `armas`='%s',`municao`='%s' WHERE `nome`='%q'", armas, municao, nome);
  213.     db_free_result(db_query(BD, consulta));
  214.  
  215.     return 1;
  216. }
  217.  
  218. public OnPlayerUpdate(playerid)
  219. {
  220.     new arma, municao;
  221.     for(new i; i <= 12; ++i) {
  222.         GetPlayerWeaponData(playerid, i, arma, municao);
  223.         for(new j; j < MAX_WEAPONS; ++j) {
  224.             if(Jogador[playerid][ARMA][j] == arma) {
  225.                 Jogador[playerid][MUNICAO][j] = municao;
  226.             }
  227.         }
  228.     }
  229.     return 1;
  230. }
  231.  
  232. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  233. {
  234.     switch(dialogid) {
  235.         case D_ARMAS: {
  236.             if(response) {
  237.                 new texto[256];
  238.                 switch(listitem) {
  239.                     case 0: {
  240.                         format(texto, 256, "Arma\tPreço\tMunição\nSoco inglês\t$%i\t1\nTaco de golfe\t$%i\t1\nCassetete\t$%i\t1\nFaca\t$%i\t1\nTaco de Baseball\t$%i\t1\n\t$%i\t1\nTaco de sinuca\t$%i\t1\nKatana\t$%i\t1\nMotosserra\t$%i\t1", P_SOCO_INGLES, P_TACO_GOLFE, P_CASSETETE, P_FACA, P_TACO_BASEBALL, P_PA, P_TACO_SINUCA, P_KATANA, P_MOTOSSERRA);
  241.                         ShowPlayerDialog(playerid, D_ARMAS_BRANCAS, DIALOG_STYLE_TABLIST_HEADERS, "Armas brancas", texto, "Comprar", "Voltar");
  242.                     }
  243.                     case 1: {
  244.                         format(texto, 256, "Arma\tPreço\tMunição\n9mm\t$%i\t%i\n9mm com silenciador\t$%i\t%i\nDesert Eagle\t$%i\t%i", P_9MM, M_9MM, P_9MM_SILENCIADA, M_9MM_SILENCIADA, P_DESERT_EAGLE, M_DESERT_EAGLE);
  245.                         ShowPlayerDialog(playerid, D_PISTOLAS, DIALOG_STYLE_TABLIST_HEADERS, "Pistolas", texto, "Comprar", "Voltar");
  246.                     }
  247.                     case 2: {
  248.                         format(texto, 256, "Arma\tPreço\tMunição\nEscopeta\t$%i\t%i\nEscopeta de cano serrado\t$%i\t%i\nEscopeta de combate\t$%i\t%i", P_ESCOPETA, M_ESCOPETA, P_ESCOPETA_SERRADO, M_ESCOPETA_SERRADO, P_ESCOPETA_COMBATE, M_ESCOPETA_COMBATE);
  249.                         ShowPlayerDialog(playerid, D_ESCOPETAS, DIALOG_STYLE_TABLIST_HEADERS, "Escopetas", texto, "Comprar", "Voltar");
  250.                     }
  251.                     case 3: {
  252.                         format(texto, 256, "Arma\tPreço\tMunição\nUzi\t$%i\t%i\nMP5\t$%i\t%i\nTec-9\t$%i\t%i", P_UZI, M_UZI, P_MP5, M_MP5, P_TEC9, M_TEC9);
  253.                         ShowPlayerDialog(playerid, D_SMGS, DIALOG_STYLE_TABLIST_HEADERS, "Sub-metralhadoras", texto, "Comprar", "Voltar");
  254.                     }
  255.                     case 4: {
  256.                         format(texto, 256, "Arma\tPreço\tMunição\nM4\t$%i\t%i\nAK-47\t$%i\t%i", P_M4, M_M4, P_AK47, M_AK47);
  257.                         ShowPlayerDialog(playerid, D_RIFLES_ASSALTO, DIALOG_STYLE_TABLIST_HEADERS, "Rifles de assalto", texto, "Comprar", "Voltar");
  258.                     }
  259.                     case 5: {
  260.                         format(texto, 256, "Arma\tPreço\tMunição\nEspingarda\t$%i\t%i\nSniper\t$%i\t%i", P_ESPINGARDA, M_ESPINGARDA, P_SNIPER, M_SNIPER);
  261.                         ShowPlayerDialog(playerid, D_RIFLES_PRECISAO, DIALOG_STYLE_TABLIST_HEADERS, "Rifles de alta precisão", texto, "Comprar", "Voltar");
  262.                     }
  263.                     case 6: {
  264.                         format(texto, 256, "Arma\tPreço\tMunição\nLança-chamas\t$%i\t%i\nRPG\t$%i\t%i", P_LANCA_CHAMAS, M_LANCA_CHAMAS, P_RPG, M_RPG);
  265.                         ShowPlayerDialog(playerid, D_ARMAS_PESADAS, DIALOG_STYLE_TABLIST_HEADERS, "Armas pesadas", texto, "Comprar", "Voltar");
  266.                     }
  267.                     case 7: {
  268.                         format(texto, 256, "Arma\tPreço\tMunição\nGranada\t$%i\t%i\nCoquetel Molotov\t$%i\t%i\nC4\t$%i\t%i", P_GRANADA, M_GRANADA, P_COQUETEL_MOLOTOV, M_COQUETEL_MOLOTOV, P_C4, M_C4);
  269.                         ShowPlayerDialog(playerid, D_EXPLOSIVOS, DIALOG_STYLE_TABLIST_HEADERS, "Explosivos", texto, "Comprar", "Voltar");
  270.                     }
  271.                 }
  272.             }
  273.         }
  274.         case D_ARMAS_BRANCAS: {
  275.             if(response) {
  276.                 switch(listitem) {
  277.                     case 0: ComprarArma(playerid, 0, WEAPON_BRASSKNUCKLE, P_SOCO_INGLES, 1);
  278.                     case 1: ComprarArma(playerid, 1, WEAPON_GOLFCLUB, P_TACO_GOLFE, 1);
  279.                     case 2: ComprarArma(playerid, 2, WEAPON_NITESTICK, P_CASSETETE, 1);
  280.                     case 3: ComprarArma(playerid, 3, WEAPON_KNIFE, P_FACA, 1);
  281.                     case 4: ComprarArma(playerid, 4, WEAPON_BAT, P_TACO_BASEBALL, 1);
  282.                     case 5: ComprarArma(playerid, 5, WEAPON_SHOVEL, P_PA, 1);
  283.                     case 6: ComprarArma(playerid, 6, WEAPON_POOLSTICK, P_TACO_SINUCA, 1);
  284.                     case 7: ComprarArma(playerid, 7, WEAPON_KATANA, P_KATANA, 1);
  285.                     case 8: ComprarArma(playerid, 8, WEAPON_CHAINSAW, P_MOTOSSERRA, 1);
  286.                 }
  287.             }
  288.             else ShowPlayerDialog(playerid, D_ARMAS, DIALOG_STYLE_LIST, "Armas",    "Armas brancas\nPistolas\nEscopetas\nSub-metralhadoras\nRifles de assalto\nRifles de alta-precisão\nArmas pesadas\nExplosivos", "Selecionar", "Fechar");
  289.         }
  290.         case D_PISTOLAS: {
  291.             if(response) {
  292.                 switch(listitem) {
  293.                     case 0: ComprarArma(playerid, 9, WEAPON_COLT45, P_9MM, M_9MM);
  294.                     case 1: ComprarArma(playerid, 10, WEAPON_SILENCED, P_9MM_SILENCIADA, M_9MM_SILENCIADA);
  295.                     case 2: ComprarArma(playerid, 11, WEAPON_DEAGLE, P_DESERT_EAGLE, M_DESERT_EAGLE);
  296.                 }
  297.             }
  298.             else ShowPlayerDialog(playerid, D_ARMAS, DIALOG_STYLE_LIST, "Armas",    "Armas brancas\nPistolas\nEscopetas\nSub-metralhadoras\nRifles de assalto\nRifles de alta-precisão\nArmas pesadas\nExplosivos", "Selecionar", "Fechar");
  299.         }
  300.         case D_ESCOPETAS: {
  301.             if(response) {
  302.                 switch(listitem) {
  303.                     case 0: ComprarArma(playerid, 12, WEAPON_SHOTGUN, P_ESCOPETA, M_ESCOPETA);
  304.                     case 1: ComprarArma(playerid, 13, WEAPON_SAWEDOFF, P_ESCOPETA_SERRADO, M_ESCOPETA_SERRADO);
  305.                     case 2: ComprarArma(playerid, 14, WEAPON_SHOTGSPA, P_ESCOPETA_COMBATE, M_ESCOPETA_COMBATE);
  306.                 }
  307.             }
  308.             else ShowPlayerDialog(playerid, D_ARMAS, DIALOG_STYLE_LIST, "Armas",    "Armas brancas\nPistolas\nEscopetas\nSub-metralhadoras\nRifles de assalto\nRifles de alta-precisão\nArmas pesadas\nExplosivos", "Selecionar", "Fechar");
  309.         }
  310.         case D_SMGS: {
  311.             if(response) {
  312.                 switch(listitem) {
  313.                     case 0: ComprarArma(playerid, 15, WEAPON_UZI, P_UZI, M_UZI);
  314.                     case 1: ComprarArma(playerid, 16, WEAPON_MP5, P_MP5, M_MP5);
  315.                     case 2: ComprarArma(playerid, 17, WEAPON_TEC9, P_TEC9, M_TEC9);
  316.                 }
  317.             }
  318.             else ShowPlayerDialog(playerid, D_ARMAS, DIALOG_STYLE_LIST, "Armas",    "Armas brancas\nPistolas\nEscopetas\nSub-metralhadoras\nRifles de assalto\nRifles de alta-precisão\nArmas pesadas\nExplosivos", "Selecionar", "Fechar");
  319.         }
  320.         case D_RIFLES_ASSALTO: {
  321.             if(response) {
  322.                 switch(listitem) {
  323.                     case 0: ComprarArma(playerid, 18, WEAPON_M4, P_M4, M_M4);
  324.                     case 1: ComprarArma(playerid, 19, WEAPON_AK47, P_AK47, M_AK47);
  325.                 }
  326.             }
  327.             else ShowPlayerDialog(playerid, D_ARMAS, DIALOG_STYLE_LIST, "Armas",    "Armas brancas\nPistolas\nEscopetas\nSub-metralhadoras\nRifles de assalto\nRifles de alta-precisão\nArmas pesadas\nExplosivos", "Selecionar", "Fechar");
  328.         }
  329.         case D_RIFLES_PRECISAO: {
  330.             if(response) {
  331.                 switch(listitem) {
  332.                     case 0: ComprarArma(playerid, 20, WEAPON_RIFLE, P_ESPINGARDA, M_ESPINGARDA);
  333.                     case 1: ComprarArma(playerid, 21, WEAPON_SNIPER, P_SNIPER, M_SNIPER);
  334.                 }
  335.             }
  336.             else ShowPlayerDialog(playerid, D_ARMAS, DIALOG_STYLE_LIST, "Armas",    "Armas brancas\nPistolas\nEscopetas\nSub-metralhadoras\nRifles de assalto\nRifles de alta-precisão\nArmas pesadas\nExplosivos", "Selecionar", "Fechar");
  337.         }
  338.         case D_ARMAS_PESADAS: {
  339.             if(response) {
  340.                 switch(listitem) {
  341.                     case 0: ComprarArma(playerid, 22, WEAPON_FLAMETHROWER, P_LANCA_CHAMAS, M_LANCA_CHAMAS);
  342.                     case 1: ComprarArma(playerid, 23, WEAPON_ROCKETLAUNCHER, P_RPG, M_RPG);
  343.                 }
  344.             }
  345.             else ShowPlayerDialog(playerid, D_ARMAS, DIALOG_STYLE_LIST, "Armas",    "Armas brancas\nPistolas\nEscopetas\nSub-metralhadoras\nRifles de assalto\nRifles de alta-precisão\nArmas pesadas\nExplosivos", "Selecionar", "Fechar");
  346.         }
  347.         case D_EXPLOSIVOS: {
  348.             if(response) {
  349.                 switch(listitem) {
  350.                     case 0: ComprarArma(playerid, 24, WEAPON_GRENADE, P_GRANADA, M_GRANADA);
  351.                     case 1: ComprarArma(playerid, 25, WEAPON_MOLTOV, P_COQUETEL_MOLOTOV, M_COQUETEL_MOLOTOV);
  352.                     case 2: ComprarArma(playerid, 26, WEAPON_SATCHEL, P_C4, M_C4);
  353.                 }
  354.             }
  355.             else ShowPlayerDialog(playerid, D_ARMAS, DIALOG_STYLE_LIST, "Armas",    "Armas brancas\nPistolas\nEscopetas\nSub-metralhadoras\nRifles de assalto\nRifles de alta-precisão\nArmas pesadas\nExplosivos", "Selecionar", "Fechar");
  356.         }
  357.         case D_INVENTARIO: {
  358.             if(response) EquiparArma(playerid, Jogador[playerid][ORDEM_INVENTARIO][listitem]);
  359.         }
  360.     }
  361.     return 1;
  362. }
  363.  
  364. //FUNÇOES
  365. ComprarArma(playerid, index, armaid, preco, municao) {
  366.     if(GetPlayerMoney(playerid) < preco) return SendClientMessage(playerid, 0xFF0000AA, "Você não tem dinheiro suficiente!");
  367.    
  368.     if(Jogador[playerid][ARMA][index] != -1) {
  369.         GivePlayerWeapon(playerid, Jogador[playerid][ARMA][index], Jogador[playerid][MUNICAO][index]+municao);
  370.         SetPlayerAmmo(playerid, Jogador[playerid][ARMA][index], Jogador[playerid][MUNICAO][index]+municao);
  371.         GivePlayerMoney(playerid, -preco);
  372.         return 1;
  373.     }
  374.    
  375.     Jogador[playerid][ARMA][index] = armaid;
  376.     Jogador[playerid][MUNICAO][index] = municao;
  377.    
  378.     GivePlayerWeapon(playerid, armaid, municao);
  379.     SetPlayerAmmo(playerid, armaid, municao);
  380.     GivePlayerMoney(playerid, -preco);
  381.     return 1;
  382. }
  383.  
  384. EquiparArma(playerid, index) {
  385.     if(Jogador[playerid][ARMA][index] == -1) return SendClientMessage(playerid, 0xFF0000AA, "Você não tem essa arma!");
  386.     if(Jogador[playerid][MUNICAO][index] == 0) return SendClientMessage(playerid, 0xFF0000AA, "Você não tem munição para essa arma!");
  387.  
  388.     new arma, municao;
  389.    
  390.     for(new i; i <= 12; ++i) {
  391.         GetPlayerWeaponData(playerid, i, arma, municao);
  392.         if(Jogador[playerid][ARMA][index] == arma && municao != 0)
  393.             return SendClientMessage(playerid, 0xFF0000AA, "Você já está com essa arma equipada!");
  394.     }
  395.    
  396.     GivePlayerWeapon(playerid, Jogador[playerid][ARMA][index], Jogador[playerid][MUNICAO][index]);
  397.     SetPlayerAmmo(playerid, Jogador[playerid][ARMA][index], Jogador[playerid][MUNICAO][index]);
  398.    
  399.     SendClientMessage(playerid, 0x00FF00AA, "Arma equipada!");
  400.     return 1;
  401. }
  402.  
  403. // COMANDOS
  404. CMD:armas(playerid) {
  405.     ShowPlayerDialog(playerid, D_ARMAS, DIALOG_STYLE_LIST, "Armas", "Armas brancas\nPistolas\nEscopetas\nSub-metralhadoras\nRifles de assalto\nRifles de alta-precisão\nArmas pesadas\nExplosivos", "Selecionar", "Fechar");
  406.     return 1;
  407. }
  408.  
  409. CMD:iarmas(playerid) {
  410.     new arma_atual[53], dialog_texto[744];
  411.  
  412.     for(new i, j; i < MAX_WEAPONS; ++i) {
  413.         if(Jogador[playerid][ARMA][i] != -1) {
  414.             if (Jogador[playerid][MUNICAO][i] == 0) format(arma_atual, 53, "{FF0000}%s\t\t{FF0000}%i\n", nArmas[i][0], Jogador[playerid][MUNICAO][i]);
  415.             else format(arma_atual, 53, "%s\t\t%i\n", nArmas[i][0], Jogador[playerid][MUNICAO][i]);
  416.  
  417.             strcat(dialog_texto, arma_atual);
  418.             Jogador[playerid][ORDEM_INVENTARIO][j] = i;
  419.             j++;
  420.         }
  421.     }
  422.  
  423.     if (strlen(dialog_texto) != 0) {
  424.         strins(dialog_texto, "Arma\t\tMunição\n", 0);
  425.         ShowPlayerDialog(playerid, D_INVENTARIO, DIALOG_STYLE_TABLIST_HEADERS, "Inventário de armas", dialog_texto, "Equipar", "Fechar");
  426.     }
  427.     else ShowPlayerDialog(playerid, D_INVENTARIO, DIALOG_STYLE_MSGBOX, "Inventário de armas", "Você ainda não tem nenhuma arma.", "Fechar", "");
  428.    
  429.     return 1;
  430. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement