16.07.2013, 03:08
forward FuelUpdate();
PROBLEM: Fuel isn't decreasing.
pawn Код:
//Under OnGameModeInIt()
SetTimer("FuelUpdate",10000,1);
for(new i = 1;i<MAX_VEHICLES;i++)
{
VehicleFuel[i] = 50+random(50);
}
//OnVEhicleSpawn
public OnVehicleSpawn(vehicleid)
{
VehicleFuel[vehicleid] = 50+random(50);
return 1;
}
//Updates
public SpeedoUpdate()
{
for(new i = 0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
{
new Float:x,Float:y,Float:z,Float:hp,string[24],vehicleid = GetPlayerVehicleID(i);
TextDrawShowForPlayer(i,Speed1[i]);
TextDrawShowForPlayer(i,Speed2[i]);
TextDrawShowForPlayer(i,Speed3[i]);
TextDrawShowForPlayer(i,Speed4[i]);
TextDrawShowForPlayer(i,Speed5[i]);
GetVehicleVelocity(vehicleid,x,y,z);
GetVehicleHealth(vehicleid,hp);
format(string,sizeof(string),"Vehicle: %s",aVehicleNames[GetVehicleModel(vehicleid) - 400]);
TextDrawSetString(Speed2[i],string);
format(string,sizeof(string),"Speed: %d MPH",floatround(floatsqroot(((x*x)+(y*y))+(z*z))*156.666667));
TextDrawSetString(Speed3[i],string);
format(string,sizeof(string),"Fuel: %dL",VehicleFuel[vehicleid]);
TextDrawSetString(Speed4[i],string);
format(string,sizeof(string),"Health: %d",floatround(hp));
TextDrawSetString(Speed5[i],string);
}
if(!IsPlayerInAnyVehicle(i))
{
TextDrawHideForPlayer(i,Speed1[i]);
TextDrawHideForPlayer(i,Speed2[i]);
TextDrawHideForPlayer(i,Speed3[i]);
TextDrawHideForPlayer(i,Speed4[i]);
TextDrawHideForPlayer(i,Speed5[i]);
}
}
}
public FuelUpdate()
{
for(new i = 1;i<MAX_VEHICLES;i++)
{
if(GetVehicleModel(i))
{
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
if(engine == 1)
{
if(VehicleFuel[i] > 0) VehicleFuel[i]--;
else SetVehicleParamsEx(i,0,lights,alarm,doors,bonnet,boot,objective);
}
}
}
}