dir wird die Nachricht "du hast einen Motorschaden" angezeigt, weil du in deiner abfrage
if(Gas[vehicle] == 0) zuerst ShowInfoDialog(playerid,"Information","Dein Fahrzeug hat kein Benzin mehr!"); wiedergibst.
Also sagst du logischerweise, wenn die Person kein Benzin mehr hat soll die nachricht kommen. Im else Zweig gibst du dann die
nachricht das fahrzeug hat ein Motorschaden, dort ist schonmal ein klarer Logikfehler.
Wenn ein Spieler jetzt kein benzin hat wieder auftankt oder irgendwas anderes lustiges macht wie z.B. in das Auto einsteigen(in deinem Fall) wird er automatisch
in deinen else Zweig geführt.
Das heisst sozusagen, dass deine Abfrage dir egal was du machst die Nachricht mit dem Motorschaden anzeigt.
Du könntest das lösen indem zu z.B. das Leben des Fahrzeug mittels if abfragst indem der Spieler grade sitzt und dann die Nachricht Motorschaden wiedergeben.
Also statt else, nochmal eine if bedingung mit den oben genannten kriterien^^
Oder du könntest das mittels variable o.ä. lösen wie z.B kaputt[vehicleid] oder so^^
hoffe das war verständlich