Edward крч.
Новичок
В общем друзья столкнулся с небольшой проблемкой под названием "Спидометр".
Суть проблемы в том что когда человек садится на велосипед, этот спидометр сразу показывается.
Делал разные проверки и тд, голову ломаю исправить не могу, если у кого то будет идейка как исправить прошу писать ниже
Сам код:
Суть проблемы в том что когда человек садится на велосипед, этот спидометр сразу показывается.
Делал разные проверки и тд, голову ломаю исправить не могу, если у кого то будет идейка как исправить прошу писать ниже
Сам код:
PHP:
//Проверка на сам велосипед.
stock IsABMX(carid)
{
new model = GetVehicleModel(carid);
if(model == 481 || model == 510) return true;
return false;
}
//Сам SpeedoUpdate
forward SpeedoUpdate();
public SpeedoUpdate()
{
foreach(Player, i)
{
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
{
if(!IsABMX(GetPlayerVehicleID(i)))
{
new vehe[20],esc[20],ogran[20],fue[20],far[20];
TextDrawShowForPlayer(i,speed[i]);
TextDrawShowForPlayer(i,ESC[i]);
TextDrawShowForPlayer(i,OGRAN[i]);
TextDrawShowForPlayer(i,FAR[i]);
TextDrawShowForPlayer(i,Box[i]);
TextDrawShowForPlayer(i,health[i]);
TextDrawShowForPlayer(i,Fue[i]);
TextDrawShowForPlayer(i,fuel[i]);
TextDrawShowForPlayer(i,lock[i]);
new Float:x,Float:y,Float:z,Float:hp;
new string[24],vehicleid = GetPlayerVehicleID(i);
GetVehicleVelocity(vehicleid,x,y,z);
GetVehicleHealth(vehicleid,hp);
format(string,sizeof(string),"%d KM/H",floatround(floatsqroot(((x*x)+(y*y))+(z*z))*156.666667));
TextDrawSetString(speed[i],string);
format(string,sizeof(string),"~b~%d",floatround(hp));
TextDrawSetString(health[i],string);
format(string,sizeof(string),"Fuel %d",VehicleFuel[vehicleid]);
TextDrawSetString(fuel[i],string);
if(VehInfo[GetPlayerVehicleID(i)][pDoors] == 1) vehe = "~r~LOCK";
else vehe = "~g~OPEN";
format(string,sizeof(string),"%s",vehe);
TextDrawSetString(lock[i],string);
if(VehInfo[GetPlayerVehicleID(i)][pEngine] == 0) esc = "~w~E";
else esc = "~g~E";
if(VehInfo[GetPlayerVehicleID(i)][pLights] == 0) far = "~w~S";
else far = "~g~S";
if(Ogran[GetPlayerVehicleID(i)] == 0) ogran = "~w~MAX";
else ogran = "~r~MAX";
format(string,sizeof(string),"%s",far);
TextDrawSetString(FAR[i], string);
format(string,sizeof(string),"%s",ogran);
TextDrawSetString(OGRAN[i], string);
format(string,sizeof(string),"%s",esc);
TextDrawSetString(ESC[i], string);
format(string,sizeof(string),"%s",fue);
TextDrawSetString(Fue[i], string);
}
}
if(!IsPlayerInAnyVehicle(i))
{
TextDrawHideForPlayer(i,speed[i]);
TextDrawHideForPlayer(i,Box[i]);
TextDrawHideForPlayer(i,lock[i]);
TextDrawHideForPlayer(i,health[i]);
TextDrawHideForPlayer(i,fuel[i]);
TextDrawHideForPlayer(i,OGRAN[i]);
TextDrawHideForPlayer(i,ESC[i]);
TextDrawHideForPlayer(i,FAR[i]);
TextDrawHideForPlayer(i,Fue[i]);
}
if(Ogran[GetPlayerVehicleID(i)] == 1)
{
#define MAX_SPEEDO 0.4
#define SLOW_FACTOR 0.6 // dalbaeb
new Float:xx,Float:yy,Float:zz, veh = GetPlayerVehicleID(i);
GetVehicleVelocity(veh,xx,yy,zz);
if((xx > MAX_SPEEDO || xx < -MAX_SPEEDO) || (yy > MAX_SPEEDO || yy < -MAX_SPEEDO)) SetVehicleVelocity(veh,xx*SLOW_FACTOR,yy*SLOW_FACTOR,zz);
return 1;
}
}
return true;
}
