[Ajuda] /dararma ( zcmd e sscanf )
#1

Sгo 2 dъvidas, leiam a ultima lб embaixo porfavor.

Bom galera, as armas dгo de boa, mais eu gostaria de fazer um identificador para saber o nome da arma...

Uma base de apenas 2 armas identificadas jб basta para min prosseguir e terminar.

Vai ser exibido o nome da arma em uma mensagem.

ID de armas de 1 а 46.
https://sampwiki.blast.hk/wiki/GivePlayerWeapon

Comando:
Obs: O comando estб funcionando perfeitamente.
PHP код:
CMD:dararma(playeridparams[])
{
    static 
xRL[148], idxArmaxBalasNomeDoAdmin[21], NomeDoArmado[21];
    if(!
xPlayerInfo[playerid][xAdmin]) return SendClientMessage(playeridxBranco"{ff0000}» {ffffff}Vocк nгo й um administrador.");
    
    if(
xPlayerInfo[playerid][xAdmin] < 2) return SendClientMessage(playeridxBranco"{ff0000}» {ffffff}Somente administrador nнvel 2+ pode usar o comando.");
    
    if(
sscanf(params"udd"idxArmaxBalas)) return SendClientMessage(playeridxBranco"{ff0000}» {ffffff}Use: /dararma [ID/Nome] [ID da arma] [Muniзгo].");
    
    if(!
IsPlayerConnected(id)) return SendClientMessage(playeridxBranco"{ff0000}» {ffffff}Nenhuma pessoa online com esse ID/Nome.");
    
    if(
xArma || xArma 46) return SendClientMessage(playeridxBranco"{ff0000}» {ffffff}Armas vбlidas: {00ff00}1 {ffffff}а {00ff00}46{ffffff}.");
    
    if(
xBalas || xBalas 9999) return SendClientMessage(playeridxBranco"{ff0000}» {ffffff}Balas vбlidas: {00ff00}1 {ffffff}а {00ff00}9999{ffffff}.");
    
GetPlayerName(playeridNomeDoAdminsizeof(NomeDoAdmin));
    
GetPlayerName(idNomeDoArmadosizeof(NomeDoArmado));
    
    
format(xRLsizeof(xRL), "[Palomino] {ffffff}O administrador {4294FF}%s {ffffff}lhe deu a arma {00ff00}EDITAR {ffffff}com {00ff00}%d {ffffff}de muniзгo."NomeDoAdminxBalas);
    
SendClientMessage(idxCinzaEscuroxRL);
    
    
format(xRLsizeof(xRL), "[Admin CMD] {ffffff}O administrador {4294FF}%s {ffffff}deu a arma {00ff00}EDITAR {ffffff}а {00ff00}EDITAR{ffffff}. ( Muniзгo: %d )"NomeDoAdminxBalas);
    
xMensagem(xCinzaEscuroxRL);
    
GivePlayerWeapon(idxArmaxBalas);
    return 
true;

Tipo, eu quero tipo chamar o nome da arma numa frase assim:
PHP код:
format(xRLsizeof(xRL), "[Palomino] {ffffff}O administrador {4294FF}%s {ffffff}lhe deu a arma {00ff00}%s {ffffff}com {00ff00}%d {ffffff}de muniзгo."NomeDoAdminNomeDaArmaxBalas); 
Galera eu tambйm queria saber isso:
Eu digito o /dararma ID, vai o ID.
Mais o nome nгo vai, boto Vitor o nome de meu amigo e vai para min.
Porque? acho que tem haver com strval, nгo sei..., alguem pode ajudar?

Galera obrigado ae a quem puder ajudar.
Reply
#2

Nestes casos, use GetWeaponName, uma funзao que a prуpria SA-MP Team oferece

https://sampwiki.blast.hk/wiki/GetWeaponName

@Segunda Dъvida:

Em zcmd, nao se pode usar ReturnUser.
Reply
#3

Quote:
Originally Posted by BielCOP
Посмотреть сообщение
Nestes casos, use GetWeaponName, uma funзao que a prуpria SA-MP Team oferece

https://sampwiki.blast.hk/wiki/GetWeaponName

@Segunda Dъvida:

Em zcmd, nao se pode usar ReturnUser.
Consegui, mais sobre o ZCMD.

Como assim?
Nгo tem como retornar um nome para executar como o ID, й isso que quis dizer?

Obrigado por me ajudar com o nome da arma, eu consegui colocar, vlw.

Caso alguem precise desse conteudo, o meu comando fico assim:
PHP код:
CMD:dararma(playeridparams[])
{
    static 
xRL[148], idxArmaxBalasNomeDoAdmin[21], NomeDoArmado[21], NomeDaArma[32];
    if(!
xPlayerInfo[playerid][xAdmin]) return SendClientMessage(playeridxBranco"{ff0000}» {ffffff}Vocк nгo й um administrador.");
    
    if(
xPlayerInfo[playerid][xAdmin] < 2) return SendClientMessage(playeridxBranco"{ff0000}» {ffffff}Somente administrador nнvel 2+ pode usar o comando.");
    
    if(
sscanf(params"udd"idxArmaxBalas)) return SendClientMessage(playeridxBranco"{ff0000}» {ffffff}Use: /dararma [ID/Nome] [ID da arma] [Muniзгo].");
    
    if(!
IsPlayerConnected(id)) return SendClientMessage(playeridxBranco"{ff0000}» {ffffff}Nenhuma pessoa online com esse ID/Nome.");
    
    if(
xArma || xArma 46) return SendClientMessage(playeridxBranco"{ff0000}» {ffffff}Armas vбlidas: {00ff00}1 {ffffff}а {00ff00}46{ffffff}.");
    
    if(
xBalas || xBalas 9999) return SendClientMessage(playeridxBranco"{ff0000}» {ffffff}Balas vбlidas: {00ff00}1 {ffffff}а {00ff00}9999{ffffff}.");
    
GetPlayerName(playeridNomeDoAdminsizeof(NomeDoAdmin));
    
GetPlayerName(idNomeDoArmadosizeof(NomeDoArmado));
    
GetWeaponName(xArmaNomeDaArmasizeof(NomeDaArma));
    
    
format(xRLsizeof(xRL), "[Palomino] {ffffff}O administrador {4294FF}%s {ffffff}lhe deu a arma {00ff00}%s {ffffff}com {00ff00}%d {ffffff}de muniзгo."NomeDoAdminNomeDaArmaxBalas);
    
SendClientMessage(idxCinzaEscuroxRL);
    
    
format(xRLsizeof(xRL), "[Admin CMD] {ffffff}O administrador {4294FF}%s {ffffff}deu a arma {00ff00}%s {ffffff}а {4294FF}%s{ffffff}. ( Muniзгo: %d )"NomeDoAdminNomeDaArmaNomeDoArmadoxBalas);
    
xMensagem(xCinzaEscuroxRL);
    
GivePlayerWeapon(idxArmaxBalas);
    return 
true;

Reply
#4

@UP

Alguem pode me explicar esse ReturnUser que o Biel falou?
Agradeзo desde jб a quem puder ajudar ou tentar =)
Reply
#5

Acredito que ele quis dizer o seguinte.

Como voce nao esta usando strcmp para comandos, e sim o ZCMD com o Sscanf, voce tecnicamente nao precisa usar strval para retornar o nome/ID do usuario basta usar o parametro " u ".

Mas voce disse, isto nao esta funcionando ? Experimente atualizar o seu sscanf, pois acredito que o parametro " u " e o unico que suporte o nome do usuario.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)