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] Velocнmetro Bбsico Usando GameTextForPlayer.

    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] Velocнmetro Bбsico Usando GameTextForPlayer. Empty [Tutorial] Velocнmetro Bбsico Usando GameTextForPlayer.

    Mensagem por Weslley_Script Sex 26 maio 2023 - 14:05

    Entгo galera . fiz aqui , deu certo, e resolvi compartilhar [Tutorial] Velocнmetro Bбsico Usando GameTextForPlayer. Razz
    Й um velocнmetro bбsico , criado a partir de uma GameTextForPlayer.

    Eu particularmente fiquei muito feliz, por que conseguir fazer , sem precisar de muito esforзo ,
    sу usando a lуgica que eu tinha pensado ...

    Em fim .

    Primeiramente, na Public OnPlayerState, vamos verificar se o novo estado do jogador й de Motorista.
    Se for, vamos disparar um Timer. Siga o exemplo:

    OBS: Crie a variбvel global Timer_Velo. de preferencia, no topo de seu GM . [Tutorial] Velocнmetro Bбsico Usando GameTextForPlayer. Razz
    Assim:
    pawn Код:

    Código:
    new Timer_Velo;


    Aqui , na public OnPlayerStateChange, estamos verificando se o estado do jogador й de motorista, se for
    a Variбvel Timer_Velo irб disparar um Timer.
    pawn Код:

    Código:
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
        if( newstate == PLAYER_STATE_DRIVER)
        {
            Timer_Velo = SetTimer("KMH", 10, true);
        }


    Agora vamos declarar a Public KMH, que foi chamada pelo Timer.
    pawn Код:

    Código:
    forward KMH(playerid); // Atualizado by DartakousLien :p
    public KMH(playerid)
    {
        new Str[80];
        format(Str, sizeof(Str), "~w~KM/H:~g~ %d", GetPlayerSpeed(playerid));
        GameTextForPlayer(playerid, Str, false, 6);
    }


    Aqui, criamos uma string, que armazenara a velocidade do jogador, que serб chamada por uma stock .
    Jogamos o valor encontrado dentro da GameTextForPlayer.

    OBS: Faзa exatamente como estб no exemplo.

    Agora, no fim do GM, vamos declarar a Stock GetPlayerSpeed. ( Crйditos : Desconhecido , achei na net por acaso)
    pawn Код:

    Código:
    [size=14][size=13]stock GetPlayerSpeed(playerid)
    {
        new Float:ST[4];
        if(IsPlayerInAnyVehicle(playerid))
        GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
        else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
        ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 100.3;
        return floatround(ST[3]);
    }[/size][/size]


    [center][/center]

    E por ultimo, vamos voltar a public OnPlayerState, e vamos verificar , se o estado antigo do Jogador era Motorista.
    Assim , toda vez que ele sair de um veнculo em que ele estivesse dirigindo ,a verificaзгo serб chamada.
    pawn Код:

    Código:
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
        if( oldstate == PLAYER_STATE_DRIVER)
        {
            KillTimer(Timer_Velo );
        }


    Acima, estamos Destruindo o timer, fazendo que a GameTextForPlayer Desapareзa .
    A Public OnPlayerStateChange deve ficar no final das contas assim :
    pawn Код:

    Código:
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
        if( newstate == PLAYER_STATE_DRIVER)
        {
            Timer = SetTimer("KMH", 10, true);
        }
       
        if( oldstate == PLAYER_STATE_DRIVER)
        {
            KillTimer(Timer_Velo);
        }
        return 1;
    }


    Em fim, espero que tenham entendido.
    Minhas intenзхes foram ajudar. aqui em casa deu certo, ficou como eu esperava.

    Algumas ScreenShots :

    Se nгo carregar :

    https://2img.net/r/ihimg/a/img842/4350/samp000eng.png
    --
    https://2img.net/r/ihimg/a/img29/4905/samp002gme.png
    --
    https://2img.net/r/ihimg/a/img20/9828/samp001dmf.png

    Boa noite !!
    Creditos: rcr



    [Tutorial] Velocнmetro Bбsico Usando GameTextForPlayer. D07Xwqb
    [Tutorial] Velocнmetro Bбsico Usando GameTextForPlayer. Yjab9HN

      Data/hora atual: Qui 9 maio 2024 - 1:20