Help OnPlayerUpdate -
Jerry987 - 09.04.2013
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
Re: Help OnPlayerUpdate -
RicaNiel - 09.04.2013
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);
}
AW: Re: Help OnPlayerUpdate -
Jerry987 - 09.04.2013
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?
Re: Help OnPlayerUpdate -
Faisal_khan - 09.04.2013
Something like this under OnGameModeInit:
pawn Код:
SetTimerEx("timer_refuel", /*time*/, /*repeat(fales/True)*/, "i", playerid);
AW: Help OnPlayerUpdate -
Jerry987 - 09.04.2013
but timer_refuel is in OnPLayerUpdate is then the lag not bigger?
Re: Help OnPlayerUpdate -
Faisal_khan - 09.04.2013
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;
}
Re: Help OnPlayerUpdate -
Riddick94 - 09.04.2013
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.
Re: AW: Help OnPlayerUpdate -
RicaNiel - 09.04.2013
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
Re: Help OnPlayerUpdate -
Faisal_khan - 09.04.2013
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.
Re: Help OnPlayerUpdate -
Riddick94 - 09.04.2013
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.