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] Tunning GTA e Mais algumas Funções

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


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

    [Tutorial] Tunning GTA e Mais algumas Funções Empty [Tutorial] Tunning GTA e Mais algumas Funções

    Mensagem por Weslley_Script Sáb 20 maio 2023 - 16:14

    Tunning GTA e Mais algumas Funções
    Olà pessoal da Fуrum SA-MP.

    Vendo alguns tуpicos antigos daqui da board PT/BR e da prуpria board gringa, em que consiste no Tunning Bugado.

    Você não sabe o que é o tunning bugado ? É isso:



    Certamente isso já aconteceu com você.

    Com este tutorial, você saberá acabar com este problema chato!

    Objetivos
    . Saber um pouco mais sobre as variáveis.
    . Desbugar o Tunning do GTA.
    . Aprender a usar novos públicos.

    início
    Adicione este código no topo do gamemode:

    peão Код:
    Código:
    #include <a_samp>

    novo EmTunning [ MAX_PLAYERS ] ; // Topo do Gamemode, depois de Includes ou Defines.
    Explicação
    Criamos esta nova para podermos proceder com nosso script.

    Sem ela, não teríamos o resultado final.

    Para mais explicações sobre o que criamos, clique aqui .

    Utilização das Publicas
    Usaremos três públicos:

    Quando o jogador se desconectar

    Quando pressionou alguma tecla

    Quando entrar ou sair do sintonizador

    Códigos + Explicação
    peão Код:

    Código:
    public OnPlayerDisconnect ( playerid,reason )


    {


        EmTunning [ playerid ]  =  0 ;


       retornar  1 ;


    }


    No cуdigo acima, seguido pelo público cuja responsabilidade é desconectar do jogador.

    Com isso, para evitar bugґs possíveis, definiremos o EmTunning а 0, ou seja, falso, ou seja, ele não está no Tunning.

    Lembrando que devemos retornar а true, para que as alterações façam efeito.

    Uma boa dica e lembrança, é que 1 é verdadeiro e 0 é falso , nas linguagens de programação.

    peão Код:

    Código:
    public OnPlayerKeyStateChange ( playerid,newkeys,oldkeys )


    {


       if ( newkeys == KEY_SECONDARY_ATTACK )


       {


           if ( IsPlayerInAnyVehicle ( playerid ) )


           {


               if ( EmTunning [ playerid ]  ==  1 )


               {


                    PutPlayerInVehicle ( playerid,GetPlayerVehicleID ( playerid ) ,PLAYER_STATE_DRIVER ) ;


                   retornar  1 ;


               } }


           }


       


       retornar  1 ;


    }


    Com o público acima, confirmamos ações quando o jogador pressionou uma tecla, no caso, a tecla KEY_SECONDARY_ATTACK, mais conhecida como Enter ou F.

    Para saber mais sobre as teclas, clique aqui .

    Voltando ao assunto, a public nos permite a conversão de tais ações, como citadas acima.

    Você também pode criar exeções, como:

    peão Код:

    Código:
    if ( IsPlayerInAnyVehicle ( playerid ) )  // Caso ele esteja em um veículo


    Ou definir algo mais complexo e também mais arriscado, como:





    peão Код:


    if ( ! IsPlayerInAnyVehicle ( playerid ) ) Ban ( playerid ) ; // Caso ele não esteja em um veículo, ele será banido


    Lembrando que o ! antes da função, significa negação, ou seja: Nao (função).

    Um exemplo disso é:

    peão Код:

    Código:
    if ( IsPlayerConnected ( playerid ) )  // Caso esteja conectado


    e

    peão Код:

    Código:
    if ( ! IsPlayerConnected ( playerid ) )  // Caso não esteja conectado


    Com o código acima, faremos a seguinte operação:

    peão Код:

    Código:
    public OnPlayerKeyStateChange ( playerid,newkeys,oldkeys )


    {


       if ( newkeys == KEY_SECONDARY_ATTACK )  // Caso a tecla pressionada for Enter ou F.


       {


           if ( IsPlayerInAnyVehicle ( playerid ) )  // Caso ele esteja em um veículo


           {


               if ( EmTunning [ playerid ]  ==  1 )  // Caso ele esteja sem ajuste


               {


                    PutPlayerInVehicle ( playerid,GetPlayerVehicleID ( playerid ),GetPlayerState ( playerid ) ) ; // Colocará novamente o jogador no veículo, impedindo que o mesmo saia.


                   retornar  1 ;


               }


           }


       }


       return  1 ;


    }


    Vale lembrar que é sempre bom tomar cuidado com a identificação e com os retornos em excesso.

    Um código desta maneira:

    peão Код:

    Código:
    public OnPlayerKeyStateChange ( playerid,newkeys,oldkeys )


    {


       if ( newkeys == KEY_SECONDARY_ATTACK )  // Caso a tecla pressionada for Enter ou F.


       {


    if ( IsPlayerInAnyVehicle ( playerid ) )  // Caso ele esteja em um veículo


           {


       if ( EmTunning [ playerid ]  ==  1 )  // Caso ele esteja sem ajuste


               {


                PutPlayerInVehicle ( playerid,GetPlayerVehicleID ( playerid ),PLAYER_STATE_DRIVER ) ; // Colocará novamente o jogador no veículo


                   return  1 ;


               }


               retorna  1 ;


           }


           retorna  1 ;


       }


       retorna  1 ;


    }


    Nao é nescessário, além de ser mal organizado, dará warnings no compilador.

    Para saber mais sobre os retornos, clique aqui .

    peão Код:

    Código:
    public OnEnterExitModShop ( playerid,enterexit,interiorid )


    {


       if ( enterexit ==  0 )


       {


            GameTextForPlayer ( playerid, "~r~Seja bem vindo ao Tunning!" , 5000 , 3 ) ;


           EmTunning [ playerid ]  =  1 ;


       }


       else


       {


            GameTextForPlayer ( playerid, "~r~Volte sempre ao Tunning!" , 5000 , 3 ) ;


           EmTunning[ ID do jogador ]  =  0 ;


       }


       retorna  1 ;


    }


    Com este código final, usaremos um GameText com o estilo 3, que no caso é:



    Para saber mais sobre os GameTextґs, clique aqui para ver os estilos de gametext e clique aqui para saber usar os mesmos.

    Explicando o cуdigo, teremos o mesmo assim:

    peão Код:

    Código:
    public OnEnterExitModShop ( playerid,enterexit,interiorid )


    {


       if ( enterexit ==  0 )  // Caso ele já esteja fora do tunning


       {


            GameTextForPlayer ( playerid, "~r~Seja bem vindo ao Tunning!" , 5000 , 3 ) ; // Manda o gametext


            EmTunning [ playerid ]  =  1 ; // Seta que o jogador está sem afinação


       }


       else  // Outro, geralmente usado para obter outro valor significado а um citado


       {


           GameTextForPlayer ( playerid, "~r~Volte sempre ao Tunning!" , 5000 , 3 ) ; // Manda o gametext


            EmTunning [ playerid ]  =  0 ; // Seta que o jogador não está no tunning


       }


       return  1 ;


    }


    Também, como o esperado, definiremos que o jogador está ou não está no Tunning.

    O enterexit define a tal função.

    Para vocês entenderem melhor, peguem de exemplo este código, com uma nova variável.

    peão Код:

    Código:
    new TunningBloqueado =  0 ; // Cria e define que o tunning não está bloqueado





    public OnEnterExitModShop ( playerid,enterexit,interiorid )


    {


       if ( enterexit ==  0 )  // Caso ele esteja entrando no tunning


       {


           if ( TunningBloqueado ==  1 )  // Caso esteja bloqueado


           {


                SendClientMessage ( playerid,0xBFBFBFAA, "O tunning está bloqueado!" ) ; // Manda a tal mensagem


                Kick ( playerid) ; // Dá um chute no jogador


               return  1 ;


           }


       }


       retorna  1 ;


    }


    Isto é para casos mais específicos, onde o dono do servidor quer bloquear o sintonizador.

    Você também pode criar dois comandos, desbloqueando ou bloqueando o mesmo.

    Exemplo:

    peão Код:

    Código:
    if ( strcmp ( cmdtext, "/bloqueartunning" ,true )  ==  0 )


    {


       if ( IsPlayerAdmin ( playerid ) )  // Verifica se é admin logado na RCON


       {


           if ( TunningBloqueado ==  0 )  // Se o tunning está desbloqueado


           {


                SendClientMessageToAll ( 0xBFBFBFAA, "Tunning bloqueado!" ) ; // Manda a mensagem a todos


                TunningBloqueado =  1 ; // Bloqueia o Tunning


               retornar  1 ;


           }


       }


       retorna  1 ;


    }


    if ( strcmp ( cmdtext, "/desbloqueartunning" ,true )  ==  0 )


    {


       if ( IsPlayerAdmin ( playerid ) )  // Verifica se é admin logado na RCON


       {


           if ( TunningBloqueado ==  1 )  // Se o tunning está bloqueado


           {


                SendClientMessageToAll ( 0xBFBFBFAA, "Tunning desbloqueado!" ) ;// Manda a mensagem a todos


                TunningBloqueado =  0 ; // Desbloqueia o tunning


               return  1 ;


           }


       }


       retorna  1 ;


    }


    Caso você use ZCMD, adicione no final do gamemode:

    peão Код:

    Código:
    ; _ _ _ _ _


    _


       _ _ _ _ _ _ _  _


       _


           _ _ _ _  _ _  _


           _


                _ _ _ _ _ _ // Manda a mensagem a todos


                TunningBloqueado =  1 ; // Bloqueia o tunning


               return  1 ;


           }


       }


       retornar  1 ;


    }


    CMD : desbloqueartunning ( playerid )


    {


       if ( IsPlayerAdmin ( playerid ) )  // Verifica se é admin logado na RCON


       {


           if ( TunningBloqueado ==  1 )  // Se o tunning estiver bloqueado


           {


                SendClientMessageToAll ( 0xBFBFBFAA, "Tunning desbloqueado!" ) ; // Manda a mensagem a todos


                TunningBloqueado =  0 ; // Desbloqueia o tunning


               return 1 ;


           }


       }


       retorna  1 ;


    }


    Finalizando
    Para finalizar, aqui está o código completo:

    peão Код:

    Código:
    #include <a_Samp>





    novo EmTunning [ MAX_PLAYERS ] ;





    public OnPlayerDisconnect ( playerid,reason )


    {


        EmTunning [ playerid ]  =  0 ;


       retornar  1 ;


    }


    public OnPlayerKeyStateChange ( playerid,newkeys,oldkeys )


    {


       if ( newkeys == KEY_SECONDARY_ATTACK )


       {


           if ( IsPlayerInAnyVehicle ( playerid ) )


           {


               if( EmTunning [ playerid ]  ==  1 )


               {


                    PutPlayerInVehicle ( playerid,GetPlayerVehicleID ( playerid ) ,GetPlayerState ( playerid ) ) ;


                   retornar  1 ;


               }


           }


       }


       return  1 ;


    }


    public OnEnterExitModShop ( playerid,enterexit,interiorid )


    {


       if ( enterexit ==  0 )


       {


            GameTextForPlayer (playerid, "~r~Seja bem vindo ao Tunning!" , 5000 , 3 ) ;


           EmTunning [ playerid ]  =  1 ;


       }


       else


       {


            GameTextForPlayer ( playerid, "~r~Volte sempre ao Tunning!" , 5000 , 3 ) ;


           EmTunning [ playerid ]  =  0 ;


       }


       retorna  1 ;


    }


    Obrigado a todos que leram este tutorial.

    Se você realmente aprendeu algo com isso, repute caso queira.

    Se não quiser, fique à vontade para dar o - reputação.

    O importante é que você avalie o mesmo

    BY BIEL_COP



    [Tutorial] Tunning GTA e Mais algumas Funções D07Xwqb
    [Tutorial] Tunning GTA e Mais algumas Funções Yjab9HN

      Data/hora atual: Qua 8 maio 2024 - 21:02