SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 25/05/2020, 11:24 PM   #1
SkolPlay
Big Clucker
 
Join Date: Aug 2016
Posts: 139
Reputation: 0
Default Velocimetro bugado

Meu velocímetro é bem simples, mas o problema é que ele nunca chega na velocidade final de um veiculo, infernus mesmo pega 210km/h, mas no velocímetro ele só chega até o 168km/h

pawn Code:
public Velocimetro()
{
    for(new I = 0; I < MAX_PLAYERS; I ++)
    {
        if(IsPlayerConnected(I))
        {
            if(Velocimetrox[I] == 2)
            {
                if(GetPlayerState(I) == 2)
                {
                    new stringvelocidade[50];
                    new velocidadelol;
                    new Float:x,Float:y,Float:z;
                    GetPlayerPos(I,x,y,z);
                    /*new Float:xOff = ppos[i][0] - x, Float:yOff = ppos[i][1] - y, Float:zOff = ppos[i][2] - z, Float:dis = floatsqroot((xOff * xOff) + (yOff * yOff) + (zOff * zOff));
                    velocidadelol = floatround(((dis/250.0)*60.0)*60.0);*/

                    new veiculoid, Float:speed_x,Float:speed_y,Float:speed_z,Float:final_speed;
                    veiculoid = GetPlayerVehicleID(I);
                    GetVehicleVelocity(veiculoid,speed_x,speed_y,speed_z);
                    final_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*136.666667; // 136.666667 = kmph  // 85.4166672= mph
                    velocidadelol = floatround(final_speed,floatround_round);
                    format(stringvelocidade,sizeof(stringvelocidade),ConverterTexto("~w~%3d~y~~h~ Km/h"), velocidadelol);
                    TextDrawSetString(Velocidadex[I], stringvelocidade);
                    TextDrawShowForPlayer(I, Velocidadex[I]);
                    if(PrintON[I] == 1) TextDrawHideForPlayer(I, Velocidadex[I]);
                    ppos[I][0] = x;
                    ppos[I][1] = y;
                    ppos[I][2] = z;
                }
                else
                {
                    TextDrawHideForPlayer(I, Velocidadex[I]);
                }
            }
            else
            {
                TextDrawHideForPlayer(I, Velocidadex[I]);
            }
        }
    }
    return 1;
}
SkolPlay is online now   Reply With Quote
Old 25/05/2020, 11:35 PM   #2
CALENZ021
Big Clucker
 
Join Date: Jun 2018
Location: Latin America
Posts: 117
Reputation: 5
Default Re: Velocimetro bugado

pawn Code:
public Velocimetro()
{
    for(new I = 0; I < MAX_PLAYERS; I ++)
    {
        //Alterei o código em sí porque estava mal otimizado

        if(!IsPlayerConnected(I))
            return 0;

        if(Velocimetrox[I] != 2)
            return TextDrawHideForPlayer(I, Velocidadex[I]);

        if(GetPlayerState(I) != 2)
            return TextDrawHideForPlayer(I, Velocidadex[I]);

        new str[50], veiculoid = GetPlayerVehicleID(I);

        format(str, 50, ConverterTexto("~w~%3d~y~~h~ Km/h"), GetVehicleSpeed(veiculoid));
        TextDrawSetString(Velocidadex[I], str);
        TextDrawShowForPlayer(I, Velocidadex[I]);
        if(PrintON[I] == 1) TextDrawHideForPlayer(I, Velocidadex[I]);
        return 1;
    }
    return 1;
}

stock GetVehicleSpeed(vehicleid)
{
    new Float:x, Float:y, Float:z;
    GetVehicleVelocity(vehicleid, x, y, z);
    return floatround( floatsqroot( x*x + y*y + z*z ) * 180.00);
}
__________________




CALENZ021 is offline   Reply With Quote
Old 25/05/2020, 11:50 PM   #3
SkolPlay
Big Clucker
 
Join Date: Aug 2016
Posts: 139
Reputation: 0
Default Re: Velocimetro bugado

Quote:
Originally Posted by CALENZ021 View Post
pawn Code:
public Velocimetro()
{
    for(new I = 0; I < MAX_PLAYERS; I ++)
    {
        //Alterei o código em sí porque estava mal otimizado

        if(!IsPlayerConnected(I))
            return 0;

        if(Velocimetrox[I] != 2)
            return TextDrawHideForPlayer(I, Velocidadex[I]);

        if(GetPlayerState(I) != 2)
            return TextDrawHideForPlayer(I, Velocidadex[I]);

        new str[50], veiculoid = GetPlayerVehicleID(I);

        format(str, 50, ConverterTexto("~w~%3d~y~~h~ Km/h"), GetVehicleSpeed(veiculoid));
        TextDrawSetString(Velocidadex[I], str);
        TextDrawShowForPlayer(I, Velocidadex[I]);
        if(PrintON[I] == 1) TextDrawHideForPlayer(I, Velocidadex[I]);
        return 1;
    }
    return 1;
}

stock GetVehicleSpeed(vehicleid)
{
    new Float:x, Float:y, Float:z;
    GetVehicleVelocity(vehicleid, x, y, z);
    return floatround( floatsqroot( x*x + y*y + z*z ) * 180.00);
}
O velocímetro acabou sumindo
SkolPlay is online now   Reply With Quote
Old 26/05/2020, 12:28 AM   #4
CALENZ021
Big Clucker
 
Join Date: Jun 2018
Location: Latin America
Posts: 117
Reputation: 5
Default Re: Velocimetro bugado

Mantém seu código entào, só que na hora de pegar a velocidade usa essa stock:

pawn Code:
stock GetVehicleSpeed(vehicleid)
{
    new Float:x, Float:y, Float:z;
    GetVehicleVelocity(vehicleid, x, y, z);
    return floatround( floatsqroot( x*x + y*y + z*z ) * 180.00);
}
__________________




CALENZ021 is offline   Reply With Quote
Old 26/05/2020, 10:23 AM   #5
SkolPlay
Big Clucker
 
Join Date: Aug 2016
Posts: 139
Reputation: 0
Default Re: Velocimetro bugado

Quote:
Originally Posted by CALENZ021 View Post
Mantém seu código entào, só que na hora de pegar a velocidade usa essa stock:

pawn Code:
stock GetVehicleSpeed(vehicleid)
{
    new Float:x, Float:y, Float:z;
    GetVehicleVelocity(vehicleid, x, y, z);
    return floatround( floatsqroot( x*x + y*y + z*z ) * 180.00);
}
Esse método seu ai não funcionou.
O real bug era esta linha:
pawn Code:
final_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*136.666667;
O bug era o numero "*136.666667", dai retirei ele e adicionei *180.00, dai está funcionando normal
+REP, pela sua boa vontade de me ajudar, obrigado!

Last edited by SkolPlay; 26/05/2020 at 01:22 PM.
SkolPlay is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Velocímetro Bugado Fire_Hell Português/Portuguese 3 24/11/2012 06:36 PM
[Ajuda] Velocimetro bugado Matadorffj Português/Portuguese 0 04/11/2012 06:03 PM
[Ajuda] Velocimetro bugado Quazar Português/Portuguese 11 13/08/2012 08:39 AM
[Ajuda] Velocimetro bugado! Arthenry Português/Portuguese 10 26/07/2012 12:00 PM
[Ajuda] Meu velocimetro tah bugado! Lucas_ Português/Portuguese 7 04/04/2011 06:41 PM


All times are GMT. The time now is 09:36 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.