SSGamers - 13 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 13 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 13 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    [Tutorial] Usando 1 parâmetro em comandos [ZCMD]

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11643
    Moedas : 1032951
    Data de inscrição : 06/10/2011
    Idade : 29
    Localização : Brasil

    [Tutorial] Usando 1 parâmetro em comandos [ZCMD]  Empty [Tutorial] Usando 1 parâmetro em comandos [ZCMD]

    Mensagem por Weslley_Script Qua 24 maio 2023 - 20:05

    peão Код:

    Código:
    [size=14][size=13]////////////////////////////////////////////////// //////////////////////////////////////////////
    ////                                                                       
    ////                                                                       
    ////                                                                       
    ////                                                                     
    //// Usando 1 parâmetro em comandos [ZCMD]                               
    //// Criado por: AlucarDSnow                                         
    //// Agradecimentos:                                                   
    //// iSmir - Ensinar a usar somente com 1 parâmetro o ZCMD.                        
    //// BlueX - Tutorial sobre ZCMD e SSCANF.                                     
    //// Luis Miki - Pela explicação do "params".                                  
    //// Zeex - Criação da include ZCMD.                                       
    ////                                                                 
    ////       
    ////   
    ////                                                         
    //// Tutorial sugeito a críticas construtivas, vou atualizá-lo ao passar do tempo.                
    ////////////////////////////////////////////////// //////////////////////////////////////////////[/size][/size]


    [center][size=14]Olá pessoal, esse é o primeiro tutorial que estou compartilhando meu conhecimento em ZCMD com vocкs, pretendo ensinar a vocкs usar o comando com 1 parametro.[/size]
    [size=14]A maiora das pessoas usam ZCMD e SSCANF com 1 parâmetro, isso não é necessário, existe a forma mais fácil que é sу usar o ZCMD, fica muito mais fácil e rápido.[/size][/center]


    Criei esse tutorial com a intensгo de prolongar o ensinamento ъtil do BlueX.

    Qualquer erro, o melhoramento pode fazer postando um comentário nesse tópico.
    Não vou tolerar chingamentos.
    Faz uma crítica construtiva.


    Para iniciar você precisa ter um include ZCMD, caso não tenha um include faça o seguinte:
    -> Entre no pastebin.
    -> Copiar todo o código.
    -> Coloque o código em algum documento e salve como "zcmd.inc".
    -> Jogue o arquivo dentro da pasta "pawno/include".
    -> Depois no topo do GM adicionar a include ZCMD.
    peão Код:

    Código:
    #include a_samp


    #include zcmd



    Citar:

    Postado originalmente por iSmir
    Esse método pode ser usado para o YCMD, bCMD, vários comandos ocultos.
    Vamos direto ao ponto, vou dar um exemplo de comando e explica-lo com 1 parametro e deixar um tutorial do BlueX no final sobre 2 parametros com SSCANF.
    peão Код:

    Código:
    [size=14][size=13]#define xBranco 0xFFFFFFFF

    CMD : dinheiro ( playerid, params [ ] )
    {
        new frase [ 128 ] , UsadorDoComando [ 25 ] ;

        if  ( isnull ( params ) )
            return SendClientMessage ( playerid, xBranco, "Usar: /dargrana valor" ) ;

        GivePlayerMoney ( playerid, params ) ;

        GetPlayerName ( playerid, UsadorDoComando, sizeof (UsadorDoComando ) ) ;

        format ( frase, sizeof ( frase ) , "O politico %s desviou %d da obra." , UsadorDoComando, params ) ;
        SendClientMessageToAll ( xBranco, frase ) ;

        retornar  1 ;
    }[/size][/size]


    [center][/center]

    O comando acima ele entrega a quantidade de dinheiro que o playerid irá digitar.
    Exemplo: "/dinheiro 8994", irá entregar ao jogador que digitou 8994.
    Vamos as explicações:

    peão Код:

    Código:
    nova frase [ 128 ] , UsadorDoComando [ 25 ] ;


    Explicação -> Cria as duas variáveis ​​que iremos usar para esse comando.
    frase -> Й a nossa string, nela cabe 128 celulas.
    UsadorDoComando -> Com ela iremos pegar o nome do playerid e jogar o nome dele no comando.

    peão Код:

    Código:
    if  ( isnull strval  ( params ) )  return SendClientMessage...


    Explicação -> Caso não tenha algo inserido no campo "params" retorna a mensagem "Use /dargrana quantitativo".
    isnull -> Nulo.
    params -> Como você já sabe, no zcmd, params é o que vem depois do /comando. Ou seja, seu objetivo é quebrar uma string 'params' para poder pegar a hora para setar o servidor. (Créditos Luís Miki)

    peão Код:

    Código:
    GivePlayerMoney ( playerid, strval  ( params ) ) ;


    Explicação -> Adiciona dinheiro ao jogador que digitou o comando.
    params -> Adiciona a quantidade que foi inserida no params.

    peão Код:

    Código:
    GetPlayerName ( playerid, UsadorDoComando, sizeof ( UsadorDoComando ) ) ;


    Explicação -> Pega o nome do playerid eo armazena na variável "UsadorDoComando".
    peão Код:

    Código:
    format ( frase, sizeof ( frase ) , "O politico %s desviou %d da obra." , UsadorDoComando, params ) ;
    SendClientMessageToAll ( xBranco, frase ) ;


    Explicação -> Envia a mensagem, pegando o nome do player com o %se mostrando o valor dos params em nъmeros "%d".

    peão Код:

    Código:
    if (  strval  ( params )  == playerid )


        return SendClientMessage ( playerid, xBranco, "Você não pode dar dinheiro a você mesmo." ) ;


    Explicação -> Irá checar se o valor inserido em "params" é o mesmo que o player que digitou (playerid), ao constatar que é o valor é igual ao playerid, ele retorna a mensagem "Você não pode dar dinheiro a você mesmo. ".
    ------------------------------------- FIM Comando /dinheiro --------- ---------------------

    peão Код:

    Código:
    CMD : pos ( playerid, params [ ] )


    {


        new xRL [ 128 ] , Float : xPos [ 3 ] ;





        if ( isnull ( params ) )


           return SendClientMessage ( playerid, xBranco, "Use: /pos ID" ) ;





        if ( ! IsPlayerConnected (  strval  ( params ) )


           return SendClientMessage (playerid, xBranco, "Esse ID nгo estб online." ) ;





        GetPlayerPos ( strval  ( parâmetros ) , xPos [ 0 ] , xPos [ 1 ] , xPos [ 2 ] ) ;





        formato ( xRL, sizeof ( xRL ) , "X - %f Y - %f Z - %f" , xPos [ 0 ] , xPos [ 1 ] , xPos [ 2 ] ) ;


        SendClientMessage (strval  ( params ) , xBranco, xRL ) ;





        retornar  1 ;


    }


    Para entender mais um pouco sobre a função: "strval (params)"
    Nesse caso quem recebeu a mensagem foi o params ( ID escolhido ).
    ------------------------------------- FIM Comando /pos --------- ----------------------------

    PS: Quando usar dois parâmetros você pode pegar o valor do id apenas operando (id).
    Mais com 1 parâmetro é preciso usar "strval (params)".
    Veja um exemplo no CODE abaixo, perceba o "strval (params)" e "(id)".


    Vamos ver esse exemplo com 2 parâmetros usando SSCANF.
    peão Код:

    Código:
    [size=14][size=13]#incluir ZCMD
    #incluir sscanf[/size][/size]


    [size=14]peão Код:
    [size=13]CMD : dargrana ( playerid, params [ ] )
    {
        static xRL [ 128 ] , Recebedor [ 25 ] , Usador [ 25 ] , id, valor;

        if ( sscanf ( params, "ud" , id, valor ) )
            return SendClientMessage ( playerid, xBranco, "Usar: /dargrana ID valor." ) ;

        if ( ! IsPlayerConnected ( id ) )
            returnSendClientMessage ( playerid, xBranco, "O ID que digitou nгo estб online." ) ;

        if (  strval  ( id )  == playerid ) )
            return SendClientMessage ( playerid, xBranco, "Você não pode lhe definir dinheiro." ) ;

        GivePlayerMoney ( id, quantia ) ) ;

        format ( xRL, sizeof ( xRL ) , "O Carinha %s deu dinheiro ao jogador %s, valor %d." , Usador, Recebedor, valor ) ;
            SendClientMessageToAll ( playerid, xBranco, xRL ) ;
        retornar  1 ;
    }[/size][/size]


    Não vou explicar pois não tem necessidade, o tutorial do BlueX já tira todas as suas dъvidas.


    Creditos: AlucardSnow 



    [Tutorial] Usando 1 parâmetro em comandos [ZCMD]  D07Xwqb
    [Tutorial] Usando 1 parâmetro em comandos [ZCMD]  Yjab9HN

      Data/hora atual: Seg 25 Nov 2024 - 21:55