Vazovskui
Умник
Привет, сделал спидометр для сервера сам, все работает, но хотелось бы уточнить, может какие то косяки есть в коде или оптимизация плохая. Вот код:
Заранее спасибо)))
PHP:
forward GPA();
new Text:Speedo[MAX_PLAYERS];
public OnGameModeInit()
{
SetTimer("GPA", 1000, 1);
}
public OnPlayerConnect(playerid)
{
new string[56];
format(string, sizeof(string), "Speed: %d KM/h", 0);
Speedo[playerid] = TextDrawCreate(134.0, 404.0, string);
TextDrawLetterSize(Speedo[playerid],0.54,1.6);
TextDrawHideForPlayer(playerid, Speedo[playerid]);
}
public OnPlayerDisconnect(playerid, reason)
{
TextDrawDestroy(Speedo[playerid]);
}
public GPA()
{
for(new i; i<MAX_PLAYERS; i++)
{
if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
new vid = GetPlayerVehicleID(i);
new string[56];
format(string, sizeof(string), "Speed: %d KM/h", GetVehicleSpeed(vid));
TextDrawSetString(Speedo[i], string);
}
}
return true;
}
stock GetVehicleSpeed(vehicleid)
{
if(vehicleid != INVALID_VEHICLE_ID)
{
new Float:Pos[3],Float:VS ;
GetVehicleVelocity(vehicleid, Pos[0], Pos[1], Pos[2]);
VS = floatsqroot(Pos[0]*Pos[0] + Pos[1]*Pos[1] + Pos[2]*Pos[2])*200;
return floatround(VS,floatround_round);
}
return INVALID_VEHICLE_ID;
}
