Portal SAMP
[Ajuda] getar municao de um slot especifico - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] getar municao de um slot especifico (/showthread.php?tid=3772)



getar municao de um slot especifico - AllanSG - 12/07/2023

Olá, to com uma duvida e dificuldade de terminar meu sistema de armas pois nao acho uma função que eu consiga pegar a municao do player em um slot especifico (ex: pegar municao q o player tem no slot2, que sao as pistolas)

ja vi o GetPlayerWeaponData porém nao entendi o uso e não consegui usar ele no meu sistema

se alguem tiver um script q facilita isso ou puder me explicar como usar o GetPlayerWeaponData pra pega só as municoes de tal slot eu agradeço.

ja aproveitando o topico, existe algum callback pra quando o player atira idependente se é em algo ou no ar? pq queria descer a municao a cada tiro


RE: getar municao de um slot especifico - White_Blue - 12/07/2023

Leia o artigo da wiki do Open.mp da função GetPlayerWeaponData: https://www.open.mp/docs/scripting/functions/GetPlayerWeaponData

A callback que registra o evento de quando o jogador atira se chama OnPlayerWeaponShot: https://team.sa-mp.com/wiki/OnPlayerWeaponShot.html

Se o slot que você se refere não é literalmente o slot da arma no jogo, mas sim um salvamento, você deve usar seu sistema de salvamento para pegar o valor desse slot não a função GetPlayerWeaponData, a função GetPlayerWeaponData pega as informações da arma de tal slot(Slot esse que é o slot que a arma se localiza quando você aperta gira o scroll do mouse para trocar a arma).


RE: getar municao de um slot especifico - xbruno1000x - 12/07/2023

Código da documentação:
Código:
new weapons[13][2];

for (new i = 0; i <= 12; i++)
{
    GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
}

Basicamente, esse código vai armazenar o id e a munição das armas num array. O ultimo parâmetro recebe a quantidade de munição. O i representa o slot da arma.

Logo, para getar a munição do slot 2, basta usar weapons[2][1].
Ficaria algo assim:
Código:
printf("Você tem %i munições de pistola", weapons[2][1]);