da müsste eig.. dein Problem gelöst sein 
...was sollte damit gelöst sein, außer dass der Code langsamer ist als zuvor?! 
Der Fehler den Pickachu macht ist, dass er eine playerid übergibt und dann eine Schleife durch alle Spieler macht...Sinn? 
Schreib das mal so:
forward CheckTacho();
public CheckTacho()
{
new string[512],Float:vHealth;
for(new i;i<MAX_PLAYERS;i++)
{
if(!IsPlayerConnected(i) || !IsPlayerInAnyVehicle(i))continue;
new vehicleid = GetPlayerVehicleID(i), modelid = GetVehicleModel(vehicleid);
GetVehicleHealth(vehicleid,vHealth);
format(string,sizeof string,"%d",GetPlayerSpeed(i));
PlayerTextDrawSetString(i,CarSpeed[i],string);
format(string,sizeof string,"Zustand: ~g~%i",floatround(vHealth, floatround_round)/10);
PlayerTextDrawSetString(i,Textzustand[i],string);
if(tuer[vehicleid] == false)
{
if(floatround(vHealth, floatround_round)/10 < 30) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~g~Offen~w~~n~Zustand: ~r~%d ~w~Prozent",PlayerVehicle[modelid - 400], floatround(vHealth, floatround_round)/10);
else if(floatround(vHealth, floatround_round)/10 < 50) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~g~Offen~w~~n~Zustand: ~y~%d ~w~Prozent",PlayerVehicle[modelid - 400],floatround(vHealth, floatround_round)/10);
else if(floatround(vHealth, floatround_round)/10 <= 100) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~g~Offen~w~~n~Zustand: ~g~%d ~w~Prozent",PlayerVehicle[modelid - 400],floatround(vHealth, floatround_round)/10);
PlayerTextDrawSetString(i,CarFahrzeug[i],string);
}
else if(tuer[vehicleid] == true)
{
if(floatround(vHealth, floatround_round)/10 < 30) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~r~Geschlossen~w~~n~Zustand: ~r~%d ~w~Prozent",PlayerVehicle[modelid - 400], floatround(vHealth, floatround_round)/10);
else if(floatround(vHealth, floatround_round)/10 < 50) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~r~Geschlossen~w~~n~Zustand: ~y~%d ~w~Prozent",PlayerVehicle[modelid - 400],floatround(vHealth, floatround_round)/10);
else if(floatround(vHealth, floatround_round)/10 <= 100) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~r~Geschlossen~w~~n~Zustand: ~g~%d ~w~Prozent",PlayerVehicle[modelid - 400],floatround(vHealth, floatround_round)/10);
PlayerTextDrawSetString(i,CarFahrzeug[i],string);
}
}
return 1;
}
mfg. 