Hey Breadfisher,
ich habe versucht mir ein eigenen kleinen Tacho zu bauen.
Dieser funktioniert schon ganz gut. Das einzigste Problem momentan ist, dass jeder Spieler denselben Tacho hat.
Ein Beispiel:
Spieler A steht momentan mit seinem Auto.
Spieler B fährt mit seinem Auto 80Km/h.
Der Tacho zeigt sowohl bei Spieler B, als auch bei Spieler A eine Geschwindigkeit von 80 Km/h an.
Wie kann ich dieses Problem beheben ?
Hier die Codes:
public Tachoanzeige()
{
for(new i=0;i<MAX_PLAYERS;i++) {
if(IsPlayerInAnyVehicle(i)) {
new carid = GetPlayerVehicleID(i);
TextDrawShowForPlayer(i,Tacho[i]);
Geschwindigkeit(carid);
}
else {
TextDrawHideForPlayer(i,Tacho[i]);
}
}
return 1;
}
public Geschwindigkeit(carid)
{
new Float:Vx,Float:Vy,Float:Vz,Float:rtn,kmh,string[10];
GetVehicleVelocity(carid,Vx,Vy,Vz);
rtn = floatsqroot(Vx*Vx+Vy*Vy+Vz*Vz);
kmh = floatround(rtn * 100 * 1.61);
format(string,sizeof(string),"Km/h %d",kmh);
for(new i=0;i<MAX_PLAYERS;i++) {
TextDrawSetString(Tacho[i],string); }
return 1;
}
SetTimer("Tachoanzeige",1000,1); //Habe ich unter OnGameModeInit()
Ich schätze mal es hängt irgendwie damit zusammen, das die Variable kmh bei jedem Spieler gleich ist, oder ?