Hallo Leute,
Ich habe schon seit längerem das Tacho drin und mir und meinen Freunden ist auf gefallen das die Geschwindigkeit bugt.
In dem Video fahre ich die ganze zeit mit Vollgas, mal fahre ich 9 km/h mal 160 km/h und alle anderen Möglichen zahlen.
Ich weiß nicht wieso das so ist aber es ist sehr nervig weil man nciht wirklich sagen kann wie schnell man ist
des wegen Suche ich jetzt nach 2 Dinge um das Tacho zu verbessern:
1. Gibt es eine Möglichkeit das zu beheben?
2. Kann man das Tacho Flüssiger stellen (Das die Geschwindigkeit nicht so Ruckartig sich bewegt)?
Video:
Code:
stock GetPlayerSpeed(playerid, bool:kmh)
{
new Float:Vx,Float:Vy,Float:Vz,Float:rtn;
if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),Vx,Vy,Vz);
else GetPlayerVelocity(playerid,Vx,Vy,Vz);
rtn = floatsqroot(floatabs(floatpower(Vx + Vy + Vz,2)));
return kmh?floatround(rtn * 100 * 1.61):floatround(rtn * 100);
}
stock UpdateSpeedo(playerid)
{
if(!IsPlayerInAnyVehicle(playerid))
{
Speedo(playerid,0);
} else if(pSpeedoOn[playerid] == 2) {
new veh = GetPlayerVehicleID(playerid);
new model= GetVehicleModel(veh);
new str[60];
TextDrawSetString(pSpeedo[playerid][0],CarName[model-400]);
new speed = GetPlayerSpeed(playerid, true);
if(model == 509 || model == 510|| model == 481)
{
speed = floatround(speed *0.5);
} else {
speed = floatround(speed * 0.95);
}
format(str,sizeof(str),"~w~Km/H: ~w~%d",speed);
TextDrawSetString(pSpeedo[playerid][1],str);
format(str,sizeof(str),"~w~Zustand:");
TextDrawSetString(pSpeedo[playerid][3],str);
}
}
stock Speedo(playerid,speedostate)
{
switch (speedostate)
{
case 0: //aus
{
if(pSpeedoOn[playerid] != 2) {return 0;}
KillTimer(pSpeedoT[playerid]);
for(new i=0;i<6;i++)
{
TextDrawHideForPlayer(playerid,pSpeedo[playerid][i]);
}
pSpeedoOn[playerid] = 1;
}
case 1: // An
{
if(pSpeedoOn[playerid] != 1) {return 0;}
pSpeedoT[playerid] = SetTimerEx("PlayerSpeedo",175,1,"d",playerid);
UpdateSpeedo(playerid);
for(new i=0;i<6;i++)
{
TextDrawShowForPlayer(playerid,pSpeedo[playerid][i]);
}
pSpeedoOn[playerid] = 2;
}
}
return 1;
}
forward PlayerSpeedo(playerid);
public PlayerSpeedo(playerid)
{
if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(pSpeedoOn[playerid] == 2)
{
for(new i=0;i<6;i++)
{
TextDrawHideForPlayer(playerid,pSpeedo[playerid][i]);
}
UpdateSpeedo(playerid);
for(new i=0;i<6;i++)
{
TextDrawShowForPlayer(playerid,pSpeedo[playerid][i]);
}
}
} else {
Speedo(playerid,0);
}
}
Ich hoffe ihr könnt mir bei meinem Problem helfen.
MfG Florian