Hallo zusammen,
ich steh grad wirklich auf dem Schlauch.
Ich möchte mein Script gerne so verfeinern, dass man STVO-Punkte bekommt wenn man über einer gewissen Geschwidigkeit geblitzt wird.
Vorstellung:
Eigene Geschwindigkeit >= Erlaubter Geschwindigkeit +20 -> 1 STVO-Punkt
Eigene Geschwindigkeit >= Erlaubter Geschwindigkeit +40 -> 2 STVO-Punkte
Eigene Geschwindigkeit >= Erlaubter Geschwindigkeit +60 -> 3 STVO-Punkte
Geschrieben habe ich es erstmal so:
new gesch = (GetVehicleSpeed(vehicleid));
new blitzgesch = (Blitzer[blitzerid][BlitzerGeschwindigkeit] + fsteuern[BlitzerToleranz]);
if(gesch >= (blitzgesch + 20) && gesch <= (blitzgesch + 39))
{
Spieler[playerid][pSTVOpoints] += 1;
format(string,sizeof(string),"STVO-Verstoß: Fall bearbeitet vom Beamten %s | Punkte vergabe: 1 | Punkte gesamt: %i",blitzerid,Spieler[playerid][pSTVOpoints]);
SendClientMessage(playerid,0xFF444BFF,string);
}
Allerdings schmeißt er mir Errors ohne ende.
Ich muss natürlich einen "Zwischenwert" festlegen, sonst verwendet er mir ab der 2. Abfage (Wenn mehr als 40 drüber) ja den 1 STVO-Punkt von der 1. Abfrage nochmal.
Ich steh grad echt auf dem Schlauch und weiß nicht mehr genau wie man das am "schönsten" verpackt.
Ich habe leider seit ca. 4 Jahren kein Script mehr angefasst und bin da voll raus.
Evtl. kann mir ja einer von euch schnell helfen
Danke schonmal im Voraus!
EDIT: Achja wenn ich das Script so schreibe geht es:
new gesch = (GetVehicleSpeed(vehicleid));
new blitzgesch = (Blitzer[blitzerid][BlitzerGeschwindigkeit] + fsteuern[BlitzerToleranz]);
if(gesch >= (blitzgesch + 20))
{
Spieler[playerid][pSTVOpoints] += 1;
format(string,sizeof(string),"STVO-Verstoß: Fall bearbeitet vom Beamten %s | Punkte vergabe: 1 | Punkte gesamt: %i",blitzerid,Spieler[playerid][pSTVOpoints]);
SendClientMessage(playerid,0xFF444BFF,string);
}
Allerdings kann ich dann die 2. Abfrage vergessen... Also liegt der Fehler in der Abfrage "Zwischen 20 und 39 km/h drüber"