[AJUDA] OnPlayerEnterVehicle causando lag
#1

Pessoal to com um problema no OnPlayerEnterVehicle , quando eu entro num aviгo dб um lag do caramba.
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    new strtring[256];
    new newcar = GetPlayerVehicleID(playerid);

    if(Avioes(newcar))
    {
        SetTimer("DarPontos", 10000, 1);
        //SetTimerEx("DarPontos", 10000, true, "i", playerid);
        TimerAtivado[playerid] = 1;
    }
    if(BaggageCar(newcar))
    {
        SendClientMessage(playerid, COLOR_GREEN, "Para consertar um Aviгo digite: /reparar [id]");
        SendClientMessage(playerid, COLOR_GREEN, "Para soltar o Trailer digite: /detach");
    }
   
    for(new i; i < MAX_PLAYERS; i++)
    {
        VelocidadeB = SetTimer("Barras", 150, 1);
        TimerG = SetTimer("GasolinA", 30000, 1);
    }
    TextDrawShowForPlayer(playerid, Text:VelocidadeText);
    ShowProgressBarForPlayer(playerid, Velocidade[playerid]);
    TextDrawShowForPlayer(playerid, Text:Gaso1);
    TextDrawShowForPlayer(playerid, Text:Gaso2);
    TextDrawShowForPlayer(playerid, Text:Altitude);
    TextDrawShowForPlayer(playerid, Text:Altitude2);

    return 1;
}
como resolver?
Reply
#2

Timers em loop ? obvio que vai dar lag...
PHP код:
public OnPlayerEnterVehicle(playeridvehicleidispassenger)
{
    new 
newcar GetPlayerVehicleID(playerid);
    if(
Avioes(newcar))
    {
        
SetTimer("DarPontos"100001);
        
TimerAtivado[playerid] = 1;
    }
    if(
BaggageCar(newcar))
    {
        
SendClientMessage(playeridCOLOR_GREEN"Para consertar um Aviгo digite: /reparar [id]");
        
SendClientMessage(playeridCOLOR_GREEN"Para soltar o Trailer digite: /detach");
    }
    
VelocidadeB SetTimer("Barras"1501);
    
TimerG SetTimer("GasolinA"300001);
    
TextDrawShowForPlayer(playeridText:VelocidadeText);
    
ShowProgressBarForPlayer(playeridVelocidade[playerid]);
    
TextDrawShowForPlayer(playeridText:Gaso1);
    
TextDrawShowForPlayer(playeridText:Gaso2);
    
TextDrawShowForPlayer(playeridText:Altitude);
    
TextDrawShowForPlayer(playeridText:Altitude2);
    return 
1;

Reply
#3

Cara,uns dizem que sim,outros dizem que nao,mais creio que seja esse Tanto de Timers...Corrijam-me se eu estiver errado.
Reply
#4

Quote:
Originally Posted by Transferencia
Посмотреть сообщение
Cara,uns dizem que sim,outros dizem que nao,mais creio que seja esse Tanto de Timers...Corrijam-me se eu estiver errado.
Sim vocк esta certo em partes ele fez um loop que nem deveria estar ali e fica chamando o timer 500 vezes que й o equivalente a MAX_PLAYERS
Reply
#5

Quote:
Originally Posted by feliperch
Посмотреть сообщение
Timers em loop ? obvio que vai dar lag...
PHP код:
public OnPlayerEnterVehicle(playeridvehicleidispassenger)
{
    new 
newcar GetPlayerVehicleID(playerid);
    if(
Avioes(newcar))
    {
        
SetTimer("DarPontos"100001);
        
TimerAtivado[playerid] = 1;
    }
    if(
BaggageCar(newcar))
    {
        
SendClientMessage(playeridCOLOR_GREEN"Para consertar um Aviгo digite: /reparar [id]");
        
SendClientMessage(playeridCOLOR_GREEN"Para soltar o Trailer digite: /detach");
    }
    
VelocidadeB SetTimer("Barras"1501);
    
TimerG SetTimer("GasolinA"300001);
    
TextDrawShowForPlayer(playeridText:VelocidadeText);
    
ShowProgressBarForPlayer(playeridVelocidade[playerid]);
    
TextDrawShowForPlayer(playeridText:Gaso1);
    
TextDrawShowForPlayer(playeridText:Gaso2);
    
TextDrawShowForPlayer(playeridText:Altitude);
    
TextDrawShowForPlayer(playeridText:Altitude2);
    return 
1;

Resolvido
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)