Hallo leute,
kann mir jemand helfen, wie ich Autos zwischen Benzin und Diesel trennen kann?
Benzin und Diesel beim tanken
- purplehaze.
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Generell würe ich einfach zwei Parameter empfehlen (Einmal für Diesel und einmal für Benzin) und diese in einem Array für jedes Auto zuweisen. Diese lassen sich einfach überprüfen und jederzeit leicht ändern. Das einzigste Hürde ist, dass die VehicleIDs erst bei 400 beginnen. Demnach müsste zum Vergleich immer 400 von der ModellID des Autos abgezogen werden.
// Parameter: Benzin - 0; Diesel - 1new VehicleFuelType[][1] {
{1}, // Index 0, Vehicle ID: 400
{0}, // Index 1, Vehicle ID: 401
{0}, // Index 2, Vehicle ID: 402
{1], // Index 3, Vehicle ID: 403
// ...
}// Beispiel der Verwendung:
public OnPlayerEnterVehicle(playerid,vehicleid,ispassenger) {
if(VehicleFuelType[GetVehicleModel(vehicleid)-400][0] == 0) {
SendClientMessage(playerid, 0x80A05CFF, "Es empfiehlt sich, dieses Auto mit Benzin zu tanken.");
} else {
SendClientMessage(playerid, 0x80A05CFF, "Es empfiehlt sich, dieses Auto mit Diesel zu tanken.");
}
} -
Generell würe ich einfach zwei Parameter empfehlen (Einmal für Diesel und einmal für Benzin) und diese in einem Array für jedes Auto zuweisen. Diese lassen sich einfach überprüfen und jederzeit leicht ändern. Das einzigste Hürde ist, dass die VehicleIDs erst bei 400 beginnen. Demnach müsste zum Vergleich immer 400 von der ModellID des Autos abgezogen werden.
// Parameter: Benzin - 0; Diesel - 1new VehicleFuelType[][1] {
{1}, // Index 0, Vehicle ID: 400
{0}, // Index 1, Vehicle ID: 401
{0}, // Index 2, Vehicle ID: 402
{1], // Index 3, Vehicle ID: 403
// ...
}// Beispiel der Verwendung:
public OnPlayerEnterVehicle(playerid,vehicleid,ispassenger) {
if(VehicleFuelType[GetVehicleModel(vehicleid)-400] == 0) {
SendClientMessage(playerid, 0x80A05CFF, "Es empfiehlt sich, dieses Auto mit Benzin zu tanken.");
} else {
SendClientMessage(playerid, 0x80A05CFF, "Es empfiehlt sich, dieses Auto mit Diesel zu tanken.");
}
}Also ich weiss nicht, ob es Ressourcenfressender ist, aber ich habe es mit einem Enum mit der ID, Name und der Kraftstoffart und dann mit nem Array die Variablen jeweils für alle Autos gefüllt?
Grüße!
-
Je nach Verwendungszweck kann ein Enumerator hilfreich sein. Das kommt darauf an, was du noch so mit den Autos anstellen möchtest.
-
Danke, ich will eigentlich nur dass man Benzin und Diesel tanken kann und wenn man falsch tankt springt der Motor nicht mehr an.
Edit:
Bekomme diesen Error: error 033: array must be indexed (variable "VehicleFuelType")
in dieser Zeile:
if(VehicleFuelType[GetVehicleModel(vehicleid)-400] == 0) -
Dies ist ein Fehler von meiner Seite:
if(VehicleFuelType[GetVehicleModel(vehicleid)-400][0] == 0) {}
// Dies sollte den Fehler beheben, da angegeben werden muss, dass man den ersten Wert geliefert bekommen haben möchte. -
Danke, funktioniert bestens
-
breadfish.de
Hat das Thema geschlossen.