02.10.2016, 10:59
Код:
spdtimer = SetTimer("Speedo", 750, 1);
Код:
function Speedo()
{
new str[128];
foreach(Player, i)
{
if(GetPlayerState(i) == PLAYER_STATE_DRIVER && !IsPlayerNPC(i) && Allowed[i] == 0)
{
new Float: oldX[MAX_PLAYERS], Float: oldY[MAX_PLAYERS], Float: oldZ[MAX_PLAYERS];
oldX[i] = PosX[i];
oldY[i] = PosY[i];
oldZ[i] = PosZ[i];
GetPlayerPos(i,PosX[i],PosY[i],PosZ[i]);
new Float:distanta[MAX_PLAYERS];
distanta[i] = GetDistanceBetweenPoints(oldX[i],oldY[i],oldZ[i],PosX[i],PosY[i],PosZ[i]);
new str1[128],zone[30];
new vehicle = GetPlayerVehicleID(i);
new oldspeed = PlayerData[i][Speed];
PlayerData[i][Speed] = GetVehicleSpeed(GetPlayerVehicleID(i), 0);
new newspeed = PlayerData[i][Speed];
new acceleration = abs(newspeed - oldspeed);
new Consume = (((acceleration / 10) + 1) * (newspeed / 20));
new Float:Consume2 = float(Consume);
new carid = FindSpawnID(vehicle);
if(!(IsAPlane(vehicle) || IsABoat(vehicle) || IsABike(vehicle)))
{
Gas[vehicle] -= Consume2/500;
if(Gas[vehicle] <= 0)
{
new e,l,a,d,b,bo,o;
GetVehicleParamsEx(vehicle,e,l,a,d,b,bo,o);
SetVehicleParamsEx(vehicle,0,l,a,d,b,bo,o);
format(str1,sizeof(str1),"Fuel: ~r~NO FUEL"); //
PlayerTextDrawSetString(i, Fuell, str1);
Gas[vehicle] = 0;
}
}
else
{
Consume = 0;
}
if(CarInfo[carid][cID] != -2 && carid != 0) PlayerTextDrawHide(i, Odometerr);
PlayerTextDrawHide(i, Speedd);
PlayerTextDrawHide(i, Fuell);
PlayerTextDrawHide(i, Destination);
PlayerTextDrawHide(i, DestinationKM);
PlayerTextDrawHide(i, Radio);
CarInfo[carid][KM] += distanta[i]/1000;
mysql_format(SQL, str,128,"UPDATE `cars` SET `KM`='%f' WHERE `ID`='%d' LIMIT 1",CarInfo[carid][KM],carid);
mysql_tquery(SQL, str, "", "");
if(CarInfo[carid][cID] != -2 && carid != 0)
{
format(str1,sizeof(str1),"Odometer: ~y~%.2f ~w~KM",CarInfo[carid][KM]);
PlayerTextDrawSetString(i, Odometerr, str1);
}
if(PlayerData[i][Speed] <= 110)
{
format(str1,sizeof(str1),"Speed: ~y~%d ~w~KM/H",PlayerData[i][Speed]);
PlayerTextDrawSetString(i, Speedd, str1);
}
if(PlayerData[i][Speed] > 110 && PlayerData[i][Speed] <= 160)
{
format(str1,sizeof(str1),"Speed: ~b~%d ~w~KM/H",PlayerData[i][Speed]);
PlayerTextDrawSetString(i, Speedd, str1);
}
if(PlayerData[i][Speed] > 160)
{
format(str1,sizeof(str1),"Speed: ~r~%d ~w~KM/H",PlayerData[i][Speed]);
PlayerTextDrawSetString(i, Speedd, str1);
}
if(Gas[vehicle] > 0)
{
format(str1,sizeof(str1),"Fuel: %d %% (C: %d %%)", floatround(Gas[vehicle], floatround_round), Consume); //
PlayerTextDrawSetString(i, Fuell, str1);
}
if(DestinationSet[i] == 0)
{
format(str1,sizeof(str1),"Destination: None"); //
PlayerTextDrawSetString(i, Destination, str1);
}
else
{
GetPlayer3DZone2(DestSet[i][0],DestSet[i][1],DestSet[i][2],zone,30);
format(str1,sizeof(str1),"Destination: ~y~%s",zone); //
PlayerTextDrawSetString(i, Destination, str1);
new Float:distance = GetPlayerDistanceFromPoint(i, DestSet[i][0],DestSet[i][1],DestSet[i][2]);
format(str1,sizeof(str1)," ~y~%.2f meters",distance); //
PlayerTextDrawSetString(i, DestinationKM, str1);
PlayerTextDrawShow(i, DestinationKM);
}
if(RadioSet[i] == 0)
{
format(str1,sizeof(str1),"Radio: ~r~OFF"); //
PlayerTextDrawSetString(i, Radio, str1);
}
else
{
format(str1,sizeof(str1),"Radio: ~y~%s",RadioName(RadioSet[i])); //
PlayerTextDrawSetString(i, Radio, str1);
}
if(CarInfo[carid][cID] != -2 && carid != 0) PlayerTextDrawShow(i, Odometerr);
PlayerTextDrawShow(i, Speedd);
PlayerTextDrawShow(i, Fuell);
PlayerTextDrawShow(i, Destination);
PlayerTextDrawShow(i, Radio);
}
else
{
PlayerTextDrawHide(i, Odometerr);
PlayerTextDrawHide(i, Speedd);
PlayerTextDrawHide(i, Fuell);
PlayerTextDrawHide(i, Destination);
PlayerTextDrawHide(i, Radio);
PlayerTextDrawHide(i, DestinationKM);
}
}
}
Код:
[warning] client exceeded 'ackslimit' --.--.---.---. (5426) Limit: 5000/sec


