Hey,
ich habe mir einen Tacho erstellt, der mir jetzt eine falsche Geschwindigkeit anzeigt. Ein Landstalker z.B. fährt nur 160 km/h, auf meinem Server allerdings 180 km/h. Er hat nach 1 Sekunde auch schon ca. 80 km/h erreicht.
Hier der Code:
public UpdateTacho()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
{
new Float:Entfernung, Float:Geschwindigkeit;
GetVehiclePos(GetPlayerVehicleID(i), X1[i], Y1[i], Z1[i]);
Entfernung = floatsqroot(floatpower(floatabs(floatsub(X1[i], X2[i])), 2)+floatpower(floatabs(floatsub(Y1[i], Y2[i])), 2)+floatpower(floatabs(floatsub(Z1[i], Z2[i])), 2));
Geschwindigkeit = (Entfernung / (TACHOTIMER/1000)) * 3.6;
new Tachostring[20];
format(Tachostring, sizeof(Tachostring), "Km/h: %d", floatround(Geschwindigkeit));
TextDrawSetString(Tacho[i], Tachostring);
GetVehiclePos(GetPlayerVehicleID(i), X2[i], Y2[i], Z2[i]);
TextDrawShowForPlayer(i, Tacho[i]);
}
else
{
TextDrawHideForPlayer(i, Tacho[i]);
}
}
return 1;
}
OnGameModeInit:
//Tacho
for( new x = 0;x<MAX_PLAYERS;x++)
{
Tacho[x] = TextDrawCreate(357.0000,340.0000,"");
TextDrawLetterSize(Tacho[x],0.4,1.1);
TextDrawFont(Tacho[x],1);
TextDrawSetShadow(Tacho[x],2);
TextDrawSetOutline(Tacho[x],1);
}
SetTimer("UpdateTacho",TACHOTIMER,1);
TACHOTIMER ist 1000.
Was mache ich falsch? Oder ist das richtig mit der Geschwindigkeit?
Mfg Maksimo007