Hey Leute,
ich habe ein Problem mit dieser Abfrage in einem 1-sekündigem Timer (der sich jederzeit wiederholt):
if(AutoPruf[i] == 1 || BikePruf[i] == 1 || LKWPruf[i] == 1)
{
if(IsPlayerInAnyVehicle(i))
{
new fahrzeug = GetPlayerVehicleID(i);
new geschwindigkeit = GetPlayerSpeed(i);
if(geschwindigkeit > 85)
{
if(PrufFehler[i] == 4)
{
SCM(i,ROT,"Du hast 5 Fehler gemacht und bist somit durch die Prüfung gefallen!");
SCM(i,ROT,"Versuche das nächste mal langsamer zu fahren!");
AutoPruf[i] = 0;
BikePruf[i] = 0;
LKWPruf[i] = 0;
PrufFehler[i] = 0;
s_SetVehicleToRespawn(fahrzeug,-1);
PlaySound(i,5201);
s_SetPlayerPos(i,2433.8877,-2132.1987,13.5469);
return 1;
}
else
{
PrufFehler[i] ++;
PlaySound(i,5201);
SCM(i,F_O,"Fehler! Halte dich an die Geschwindigkeit von 80km/h!");
SendClientMessagef(i,F_O,"Fehler insgesamt: %i von 5.",PrufFehler[i]);
}
}
}
}
Speed Stock:
stock GetPlayerSpeed(playerid)
{
new Float:ST[4];
if(IsPlayerInAnyVehicle(playerid))
GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 179.28625;
return floatround(ST[3]);
}
Undzwar wird jede Sekunde ein Fehlerpunkt addiert...
Also ich glaube er hat dann ein Problem mit der Abfrage (GetPlayerSpeed) !