public Fillup()
{
//foreach(Player, i)
for(new i; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new VID;
new FillUp;
new string[128];
VID = GetPlayerVehicleID(i);
FillUp = 100 - Gas[VID];
if(Refueling[i] == 1)
{
if(PlayerInfo[i][pCash] >= FillUp+4)
{
Gas[VID] += FillUp;
FillUp = 50;
format(string,sizeof(string),"* You filled your Vehicle up for: $%d.",FillUp);
SendClientMessage(i,COLOR_LIGHTBLUE,string);
PlayerInfo[i][pCash] = PlayerInfo[i][pCash]-FillUp;
GivePlayerMoney(i, - FillUp);
Refueling[i] = 0;
}
else
{
SendClientMessage(i,COLOR_GREY," You can't afford that !");
}
}
}
}
return 1;
}
Fuel[carid] -= 0.07;
|
I found out what makes it bug, but I don't know how to solve it.
Код:
Fuel[carid] -= 0.07; |
public Speedometer()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
new State = GetPlayerState(i);
if(State == PLAYER_STATE_DRIVER && ShowSpeed[i] == 1 && IsPlayerInAnyVehicle(i))
{
#define MULTIPLY_SPEED 3
new carid = GetPlayerVehicleID(i);
new VehicleModel = GetVehicleModel(GetPlayerVehicleID(i));
new playerid;
new Float:x, Float:y, Float:z, Float:health, string[256]; TextDrawDestroy(black); TextDrawDestroy(Speedom[i]);
GetPlayerPos(i, x, y, z); GetVehicleHealth(GetPlayerVehicleID(i), health);
new Float:Dis = floatsqroot(floatpower(floatabs(floatsub(OldCoordsX[i],x)),2) + floatpower(floatabs(floatsub(OldCoordsY[i],y)),2));
if(Fuel[carid] <= 0){ RemovePlayerFromVehicle(i); SendClientMessage(i, COLOR_LIGHTRED, "The gas tank is empty in this vehicle !"); }
if(VehicleModel==509||VehicleModel==481||VehicleModel==510) { SetVehicleHealth(GetPlayerVehicleID(i), 1000); Fuel[carid] = 100; }
if(VehicleModel==520||VehicleModel==476||VehicleModel==593||VehicleModel==553||VehicleModel==513||VehicleModel==512||VehicleModel==577||VehicleModel==592||VehicleModel==511||VehicleModel==539||VehicleModel==464||VehicleModel==519) { Fuel[carid] = 100; }
new speed = (floatround(Dis)*MULTIPLY_SPEED);
new vid = GetPlayerVehicleID(playerid);
new Sspeed[15];
if( speed == 0) {
format(Sspeed,sizeof(Sspeed),"~w~%dKM/H",(floatround(Dis)*MULTIPLY_SPEED));
} else if( speed >= 1 && speed <= 60 ){
format(Sspeed,sizeof(Sspeed),"~w~%dKM/H",(floatround(Dis)*MULTIPLY_SPEED));
Fuel[carid] -= 0.01;
} else if( speed >= 61 && speed <= 120 ){
format(Sspeed,sizeof(Sspeed),"~w~%dKM/H",(floatround(Dis)*MULTIPLY_SPEED));
Fuel[carid] -= 0.02;
} else if( speed >= 120 && speed <= 500 ){
format(Sspeed,sizeof(Sspeed),"~w~%dKM/H",(floatround(Dis)*MULTIPLY_SPEED));
Fuel[carid] -= 0.05;
}
format(string,sizeof(string),"~n~~Y~Speed:~w~%s~n~~Y~Fuel:~w~%d~n~" ,Sspeed,Fuel[vid]);
black = TextDrawCreate(494.000000,379.000000,"_");
TextDrawTextSize(black,600.000000,0.000000);
TextDrawAlignment(black,0);
TextDrawFont(black,2);
TextDrawLetterSize(black,1.700000,6.250000);
TextDrawSetOutline(black,1);
TextDrawSetProportional(black,1);
TextDrawSetShadow(black,1);
Speedom[i] = TextDrawCreate(495.000000,380.000000,string);
TextDrawTextSize(Speedom[i],600.000000,0.000000);
TextDrawAlignment(Speedom[i],0);
TextDrawFont(Speedom[i],2);
TextDrawLetterSize(Speedom[i],0.299999,1.000000);
TextDrawSetOutline(Speedom[i],1);
TextDrawSetProportional(Speedom[i],1);
TextDrawSetShadow(Speedom[i],1);
TextDrawShowForPlayer(i, black);
TextDrawShowForPlayer(i, Speedom[i]);
OldCoordsX[i] = x; OldCoordsY[i] = y;
} else { TextDrawHideForPlayer(i, black); TextDrawHideForPlayer(i, Speedom[i]); }
}
return true;
}