SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

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

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 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] Truques com icmd7

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11378
    Moedas : 1031977
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    [Tutorial] Truques com icmd7 Empty [Tutorial] Truques com icmd7

    Mensagem por Weslley_Script Sáb 13 maio 2023 - 7:46

    Vбrios comandos em um sу

    PHP код:

    Código:
    public OnPlayerCommandText(playerid, commandid, params[]) {
        switch(commandid) {
            case iscmd("v,i,d,a"), iscmd("h,e,a,l,t,h"),  : {
                if(!params[0]) {
                    return SendClientMessage(playerid, -1, "[Erro]: Use /vida /health");
                }
                SetPlayerHealth(playerid, floatstr(params));
                return true;
            }
            default: return SendClientMessage(playerid, -1, "[Erro]: Comando desconhecido, desculpe.");
        }
        return false;


    Neste exemplo, caso digitar /health ou /vida. Ambos comandos farгo mesmo efeito.

    Estes casos podem ser expandidos para muitos outros.

    Como:
    PHP код:

    Código:
    public OnPlayerCommandText(playerid, commandid, params[]) {
        switch(commandid) {
            case iscmd("v,i,d,a"), iscmd("h,e,a,l,t,h"), iscmd("v"), iscmd("r,e,c,u,p,e,r,a,r") : {
                if(!params[0]) {
                    return SendClientMessage(playerid, -1, "[Erro]: Use /vida /health /v /recuperar");
                }
                SetPlayerHealth(playerid, floatstr(params));
                return true;
            }
            default: return SendClientMessage(playerid, -1, "[Erro]: Comando desconhecido, desculpe.");
        }
        return false;


    Nesse caso, os quatros comandos farгo o mesmo efeito! Em outros processadores como ZCMD, precisava
    PHP код:

    Código:
    cmd(comando1,playerid, params[]) {
    }
    cmd(comando2,playerid, params[]) return cmd_comando1(playerid, params[]); 





    Fazer o jogador digitar comandos

    Alйm do mйtodo tradicional. em icmd7 vocк pode fazer o usuбrio digitar comandos atravйs de iscmd. Basta usar:
    pawn Код:

    Código:
    OnPlayerCommandText( playerid, iscmd("v,i,d,a"), ""); /* /vida */


    ou com params:
    pawn Код:

    Código:
    OnPlayerCommandText( playerid, iscmd("v,i,d,a"), "40.5"); /* /vida 40.5 */


    este mйtodo й mais veloz, por puxar a callback com valores e nгo com strings. Dessa maneira vбrias (talvez dezenas) de cйlulas a menos sгo criadas para repassar






    Controle de comandos

    Essa dica parece fбcil, mas sу й possнvel com icmd7 ser feita de forma fбcil

    Caso fizeres:
    pawn Код:

    Código:
    public OnPlayerCommandText(playerid, commandid, params[]) {

       if(commandid != iscmd("v,i,d,a")) {
          printf("Vocк nгo digitou /vida, mas sim outro comando");
          return true;
       }
    }


    Dessa maneira, й ao contrбrio. O jogador poderб digitar qualquer comando, mas sу irб ser processado se o comando for diferente de /vida






    Listagem de comandos
    pawn Код:

    Código:
    public OnPlayerCommandText(playerid, commandid, params[]) {

        switch(commandid) {


            case iscmd("a") .. iscmd("z"): {
                 return SendClientMessage(playerid, -1, "Vocк digitou /a /b /c /d .. ou /z");
            }


            default: return SendClientMessage(playerid, -1, "[Erro]: Comando desconhecido, desculpe.");
        }

        return false;
    }


    Dessa maneira й declarado, que comandos de /a a /z irгo executar a mensagem. Neste caso /a /b /c /d /e /f /g e por aн vai. Este caso pode ser expandido para
    PHP код:

    Código:
    iscmd("/aa") .. iscmd("/zz") 

    assim os comandos pegos serгo /aa /ab /ac /ad .. /za /zb /cc

    Tambйm lembrando, que se o compilador detectar comandos iguais, ele anuncia o erro, da seguinte forma:
    pawn Код:

    Código:
    case iscmd("a") .. iscmd("z"): {
                 return SendClientMessage(playerid, -1, "Oi");
    }

    case iscmd("b"): {
                 return SendClientMessage(playerid, -1, "Tchau");
    }


    Quote:


    error 040: duplicate "case" label (value X)
    pois o comando iscmd("b") estб incluнdo no iscmd("a") .. iscmd("z")






    Comandos em forma de nъmeros

    Em icmd7, todos comandos representam ids, dessa maneira vocк pode equivaler as s,t,r,i,n,g,s a nъmeros!

    Para pegar o ID faзa:
    pawn Код:

    Código:
    printf("%d", iscmd("c,o,m,a,n,d,o"));


    e retornarб um nъmero, no caso:
    Quote:


    [19:35:38] 187935
    Entгo basta fazer:

    pawn Код:

    Código:
    [size=14][size=13]public OnPlayerCommandText(playerid, commandid, params[]) {

        switch(commandid) {

            case 187935: {
                 return SendClientMessage(playerid, -1, "Vocк digitou /comando");
            }



            default: return SendClientMessage(playerid, -1, "[Erro]: Comando desconhecido, desculpe.");
        }

        return false;
    }[/size][/size]

    [Tutorial] Truques com icmd7 Mrgreen Estranho, nгo?



    Conforme as atualizaзхes, icmd7 serб atualizado e vira novos truques para fazer.

    Em breve estarei estendendo este tutorial [Tutorial] Truques com icmd7 Mrgreen

    Creditos: IPSBruno



    [Tutorial] Truques com icmd7 D07Xwqb
    [Tutorial] Truques com icmd7 Yjab9HN

      Data/hora atual: Qua 8 maio 2024 - 14:11