Problem with Speedometer
#1

I have a problem with speedo, i'm using preview models to display vehicles model, but it's causing lag because, speedo update is every 500 miliseconds, and model is like updating every 500ms you can see it flashing on of on of every 500ms, i don't know how to fix it, this is function:

pawn Код:
public Brzina()
{
    foreach(Player, i)
    {
        if(IsPlayerInAnyVehicle(i) && GetVehicleModel(GetPlayerVehicleID(i)))
        {
            new Float:HP;
            GetVehicleHealth(GetPlayerVehicleID(i), HP);

            new string[220], v = GetPlayerVehicleID(i);
            format(string, sizeof string, "~w~brzina: ~b~%dkm/h", IgracevaBrzina(i));
            TextDrawSetString(BrzinaTD[2][i], string);

            format(string, sizeof string, "~w~gorivo: ~b~%dl", Gorivo[GetPlayerVehicleID(i)]);
            TextDrawSetString(BrzinaTD[4][i], string);

            TextDrawSetPreviewModel(BrzinaTD[1][playerid], GetVehicleModel(v));

            if(GetPlayerState(i) == PLAYER_STATE_DRIVER && !VoziloJeBicikla(GetVehicleModel(GetPlayerVehicleID(i))))
            {
                TextDrawShowForPlayer(i, BrzinaTD[0][i]);
                TextDrawShowForPlayer(i, BrzinaTD[1][i]);
                TextDrawShowForPlayer(i, BrzinaTD[2][i]);
                TextDrawShowForPlayer(i, BrzinaTD[3][i]);
                TextDrawShowForPlayer(i, BrzinaTD[4][i]);
            }
        }
        else
        {
                TextDrawHideForPlayer(i, BrzinaTD[0][i]);
                TextDrawHideForPlayer(i, BrzinaTD[1][i]);
                TextDrawHideForPlayer(i, BrzinaTD[2][i]);
                TextDrawHideForPlayer(i, BrzinaTD[3][i]);
                TextDrawHideForPlayer(i, BrzinaTD[4][i]);
        }
    }
    return 1;
}
Reply
#2

You don't need to update the preview model, you just need to update it once, when the player enter the vehicle and hide it when he exit.

pawn Код:
public Brzina()
{
    foreach(Player, i)
    {
        if(IsPlayerInAnyVehicle(i) && GetVehicleModel(GetPlayerVehicleID(i)))
        {
            new Float:HP;
            GetVehicleHealth(GetPlayerVehicleID(i), HP);

            new string[220], v = GetPlayerVehicleID(i);
            format(string, sizeof string, "~w~brzina: ~b~%dkm/h", IgracevaBrzina(i));
            TextDrawSetString(BrzinaTD[2][i], string);

            format(string, sizeof string, "~w~gorivo: ~b~%dl", Gorivo[GetPlayerVehicleID(i)]);
            TextDrawSetString(BrzinaTD[4][i], string);

            if(GetPlayerState(i) == PLAYER_STATE_DRIVER && !VoziloJeBicikla(GetVehicleModel(GetPlayerVehicleID(i))))
            {
                TextDrawShowForPlayer(i, BrzinaTD[0][i]);
                //TextDrawShowForPlayer(i, BrzinaTD[1][i]);
                TextDrawShowForPlayer(i, BrzinaTD[2][i]);
                TextDrawShowForPlayer(i, BrzinaTD[3][i]);
                TextDrawShowForPlayer(i, BrzinaTD[4][i]);
            }
        }
        else
        {
                TextDrawHideForPlayer(i, BrzinaTD[0][i]);
               // TextDrawHideForPlayer(i, BrzinaTD[1][i]);
                TextDrawHideForPlayer(i, BrzinaTD[2][i]);
                    TextDrawHideForPlayer(i, BrzinaTD[3][i]);
                TextDrawHideForPlayer(i, BrzinaTD[4][i]);
        }
    }
    return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
        TextDrawSetPreviewModel(BrzinaTD[1][playerid], GetVehicleModel(vehicleid));
        TextDrawShowForPlayer(playerid, BrzinaTD[1][playerid]);
    return true;
}
public OnPlayerExitVehicle( playerid ,  vehicleid )
{
        TextDrawHideForPlayer(playerid, BrzinaTD[1][playerid]);
    return true;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)