Hi, mein Tacho ändert ein einziges Mal die Geschwindigkeit. Bzw zeigt etwas neues dort an. Aber wenn ich fahre dann ändert sich dort überhaupt nichts. Ich habe mich an das Tutorial von Robdeflop gehalten.
public TachoTimer(playerid)
{
new Float:Pos1[MAX_PLAYERS][3], Float:Pos2[MAX_PLAYERS][3], Float:Geschwindigkeit[MAX_PLAYERS], str[25];
GetPlayerVelocity(playerid, Pos1[playerid][0], Pos2[playerid][1], Pos2[playerid][2]);
TextDrawShowForPlayer(playerid, Tacho[playerid][3]);
Geschwindigkeit[playerid] = floatround(floatsqroot(Pos1[playerid][0]*Pos2[playerid][0] + Pos1[playerid][1]+Pos2[playerid][1] + Pos1[playerid][2]*Pos2[playerid][2]) * 100 * 2);
format(str, sizeof(str), "%.0f Km/H", Geschwindigkeit[playerid]);
TextDrawSetString(Tacho[playerid][3], str);
TextDrawShowForPlayer(playerid, Tacho[playerid][3]);
GetPlayerVelocity(playerid, Pos2[playerid][0], Pos2[playerid][1], Pos2[playerid][2]);
return 1;
}
Sieht jemand schon den Fehler? So rufe ich das Tacho auf.
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER && !IsPlayerNPC(playerid))
{
SetTimerEx("TachoTimer", 500, true, "i", playerid);
new vehicleID = GetPlayerVehicleID(playerid);
new vehicleModel = GetVehicleModel(vehicleID)-400;
TextDrawSetString(Tacho[playerid][1], VehicleName[vehicleModel]);
for(new i = 0; i < 4; i++)
{
TextDrawShowForPlayer(playerid, Tacho[playerid][i]);
}
}
else
{
for(new i = 0; i < 4; i++)
{
TextDrawHideForPlayer(playerid, Tacho[playerid][i]);
}
}
return 1;
}
Ich hoffe ich habe mein Problem verständlich erklärt und freue mich wenn ihr mir helfen könnt.
MFG Acrio