Help OnPlayerUpdate
#1

I had a lot of thinks in OnPlayerUpdate so i want to put somethinks in a timer but how?

I have a timer how to put these in the timer

Код:
forward timer_refuel(playerid);
public timer_refuel(playerid)
{
    new vid = GetPlayerVehicleID(playerid);
    fuel[vid] = 100;
    isrefuelling[playerid] = 0;
    TextDrawSetString(td_fuel[playerid],"~r~GORIVO: ~w~100/100L");
    TogglePlayerControllable(playerid,1);
    return 1;
}
Thank you
Reply
#2

Quote:
Originally Posted by Jerry987
Посмотреть сообщение
I had a lot of thinks in OnPlayerUpdate so i want to put somethinks in a timer but how?

I have a timer how to put these in the timer

Код:
forward timer_refuel(playerid);
public timer_refuel(playerid)
{
    new vid = GetPlayerVehicleID(playerid);
    fuel[vid] = 100;
    isrefuelling[playerid] = 0;
    TextDrawSetString(td_fuel[playerid],"~r~GORIVO: ~w~100/100L");
    TogglePlayerControllable(playerid,1);
    return 1;
}
Thank you
just simply put this on

pawn Код:
OnGameModeInt{
SetTimer("timer_refuel",1000,true);
}
Reply
#3

Quote:
Originally Posted by RicaNiel
Посмотреть сообщение
just simply put this on

pawn Код:
OnGameModeInt{
SetTimer("timer_refuel",1000,true);
}
but timer_refuel is in OnPLayerUpdate is then the lag not bigger?
Reply
#4

Something like this under OnGameModeInit:
pawn Код:
SetTimerEx("timer_refuel", /*time*/, /*repeat(fales/True)*/, "i", playerid);
Reply
#5

but timer_refuel is in OnPLayerUpdate is then the lag not bigger?
Reply
#6

Then don't add it under OnPlayerUpdate, run a loop under timer_refuel.
Like this:
pawn Код:
forward timer_refuel(playerid);
public timer_refuel(playerid)
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        new vid = GetPlayerVehicleID(i);
        fuel[vid] = 100;
        isrefuelling[i] = 0;
        TextDrawSetString(td_fuel[i],"~r~GORIVO: ~w~100/100L");
        TogglePlayerControllable(i,1);
    }
    return 1;
}
Reply
#7

Quote:
Originally Posted by Faisal_khan
Посмотреть сообщение
Something like this under OnGameModeInit:
pawn Код:
SetTimerEx("timer_refuel", /*time*/, /*repeat(fales/True)*/, "i", playerid);
Are you sure, under OnGameModeInit?

edit://
pawn Код:
forward timer_refuel(playerid);
public timer_refuel(playerid)
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        new vid = GetPlayerVehicleID(i);
        fuel[vid] = 100;
        isrefuelling[i] = 0;
        TextDrawSetString(td_fuel[i],"~r~GORIVO: ~w~100/100L");
        TogglePlayerControllable(i,1);
    }
    return 1;
}
That's a wrong code. Playerid parameter have a relationship between OnPlayerUpdate callback and timer, you don't have to use iteration.
Reply
#8

Quote:
Originally Posted by Jerry987
Посмотреть сообщение
but timer_refuel is in OnPLayerUpdate is then the lag not bigger?
OMG
NO

it runs every One Thousand Millisecond or 1 second
why would it lag?

Is is checking the player every second
Reply
#9

Quote:
Originally Posted by Riddick94
Посмотреть сообщение
Are you sure, under OnGameModeInit?

edit://
I see you fixed it now, okey.

edit2://
pawn Код:
forward timer_refuel(playerid);
public timer_refuel(playerid)
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        new vid = GetPlayerVehicleID(i);
        fuel[vid] = 100;
        isrefuelling[i] = 0;
        TextDrawSetString(td_fuel[i],"~r~GORIVO: ~w~100/100L");
        TogglePlayerControllable(i,1);
    }
    return 1;
}
That's a wrong code. Playerid parameter have a relationship between OnPlayerUpdate callback and timer, you don't have to use iteration.
I hoped that Jerry won't add the function under OnPlayerUpdate too after I gave this code.

Quote:
Originally Posted by RicaNiel
Посмотреть сообщение
OMG
NO

it runs every One Thousand Millisecond or 1 second
why would it lag?

Is is checking the player every second
OnPlayerUpdate gets called a few seconds(milliseconds) late.
Reply
#10

Jerry987, do you have any command for refueling vehicle? If so, you should put your SetTimerEx there but remember you have to kill the timer when fuel is equal to 100.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)