Portal SAMP
[Ajuda] SSCANF2 - Pegar ID Para Comando - 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] SSCANF2 - Pegar ID Para Comando (/showthread.php?tid=1056)



SSCANF2 - Pegar ID Para Comando - MatheuzPatoo - 09/04/2021

Fiz um pequeno sistema para convidar o player para org (sei que esta horrivel mas consegui assim) mas dps parei para pensar em como chamar 1 player em especifico para org, sei que é usado sscanf, mas n sei usar, alguem poderia pfv me ensinar?

CODIGO ABAIXO
Código PHP:
CMD:convidar(playeridparams[])
{

    if(
pCargoPolicia[playerid] == Coronel)
    {
        if(
pOrganizacao[playerid] == PoliciaMilitar)
        {
         
        SetPlayerColor(playeridCOR_POLICIAMILITAR);
    
                pOrganizacao[playerid] = PoliciaMilitar;
    
                SendClientMessage(playerid, -1"Voce Virou PM");
        
        SetPlayerSkin(playerid280);
        }
        if(
pOrganizacao[playerid] == Bope)
        {
             
SetPlayerColor(playeridCOR_BOPE);
    
                pOrganizacao[playerid] = Bope;
    
                SendClientMessage(playerid, -1"Voce Virou BOPE");
            
SetPlayerSkin(playerid285);
        }
        if(
pOrganizacao[playerid] == PoliciaFederal)
        {
             
SetPlayerColor(playeridCOR_POLICIAFEDERAL);
    
                pOrganizacao[playerid] = PoliciaFederal;
    
                SendClientMessage(playerid, -1"Voce Virou PF");
            
SetPlayerSkin(playerid285);
        }
        if(
pOrganizacao[playerid] == PoliciaRodoviariaFederal)
        {
             
SetPlayerColor(playeridCOR_POLICIARODOVIARIAFEDERAL);
    
                pOrganizacao[playerid] = PoliciaRodoviariaFederal;
    
                SendClientMessage(playerid, -1"Voce Virou PRF");
            
SetPlayerSkin(playerid285);
        }
        if(
pOrganizacao[playerid] == Exercito)
        {
             
SetPlayerColor(playeridCOR_EXERCITO);
    
                pOrganizacao[playerid] = Exercito;
    
                SendClientMessage(playerid, -1"Voce Virou Exercito");
            
SetPlayerSkin(playerid285);
             }
        }
        else
        {
                SendClientMessage(playerid, -1"Voce Nao é O Superior Dessa ORG/CORP/MAFIA");
    }
    return 
1;




RE: SSCANF2 - Pegar ID Para Comando - ProKillerPa - 09/04/2021

Bem simples meu amigo:

Primeiramente, vamos declarar uma variavel local, para armazenar o ID do jogador.

new alvo;

if(sscanf(params, "i", alvo)) return sendclientmessage(playerid, -1, "Comando incorreto: /convidar [ID]");

Pronto, agora voce utilizara alvo ao inves de playerid, pois alvo vai armazenar o que ele escreveu no comando /convidar ID


RE: SSCANF2 - Pegar ID Para Comando - MatheuzPatoo - 09/04/2021

(09/04/2021 17:22)ProKillerPa Escreveu: Bem simples meu amigo:

Primeiramente, vamos declarar uma variavel local, para armazenar o ID do jogador.

new alvo;

if(sscanf(params, "i", alvo)) return sendclientmessage(playerid, -1, "Comando incorreto: /convidar [ID]");

Pronto, agora voce utilizara alvo ao inves de playerid, pois alvo vai armazenar o que ele escreveu no comando /convidar ID

Man nao ta dando nada, só dá cmd invalido, explica por etapas pfv man.



RE: SSCANF2 - Pegar ID Para Comando - ProKillerPa - 10/04/2021

Assim, olha:

Código PHP:
CMD:convidar(playeridparams[])
{

    new 
alvo;

    if(
sscanf(params"i"alvo))
        return 
SendClientMessage(playerid, -1"[ERRO] Comando incorreto: /convidar [ID]");

    if(!
IsPlayerConnected(alvo))
        return 
SendClientMessage(playerid, -1"[ERRO] Player nao conectado!");

    if(
alvo == INVALID_PLAYER_ID)
        return 
SendClientMessage(playerid, -1"[ERRO] ID Invalido!");


    if(pCargoPolicia[playerid] == Coronel)
    {
        if(pOrganizacao[playerid] == PoliciaMilitar)
        {
                SetPlayerColor(alvoCOR_POLICIAMILITAR);
                pOrganizacao[alvo] = PoliciaMilitar;
                SendClientMessage(alvo, -1"Voce Virou PM");
                SetPlayerSkin(alvo280);
        }
        if(pOrganizacao[playerid] == Bope)
        {
            SetPlayerColor(alvoCOR_BOPE);
            pOrganizacao[alvo] = Bope;
                    SendClientMessage(alvo, -1"Voce Virou BOPE");
            SetPlayerSkin(alvo285);
        }
        if(pOrganizacao[playerid] == PoliciaFederal)
        {
             SetPlayerColor(alvoCOR_POLICIAFEDERAL);
                    pOrganizacao[alvo] = PoliciaFederal;
                    SendClientMessage(alvo, -1"Voce Virou PF");
            SetPlayerSkin(alvo285);
        }
        if(pOrganizacao[playerid] == PoliciaRodoviariaFederal)
        {
             SetPlayerColor(alvoCOR_POLICIARODOVIARIAFEDERAL);
                    pOrganizacao[alvo] = PoliciaRodoviariaFederal;
                    SendClientMessage(alvo, -1"Voce Virou PRF");
            SetPlayerSkin(alvo285);
        }
        if(pOrganizacao[playerid] == Exercito)
        {
             SetPlayerColor(alvoCOR_EXERCITO);
                    pOrganizacao[alvo] = Exercito;
                    SendClientMessage(alvo, -1"Voce Virou Exercito");
            SetPlayerSkin(alvo285);
             }
        }
        else
        {
                SendClientMessage(playerid, -1"Voce Nao é O Superior Dessa ORG/CORP/MAFIA");
    }
    return 1;