Hey Ich würde gerne für ein Fahrzeug die Variable MotorZustand anlegen diese soll für alle Spieler gleich sein (wenn Sie in das gleiche auto einsteigen). Ist sowas möglich? :O
MFG
DoPe
Variable von einem Fahrzeug Speichern
- DoPe21
- 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
-
-
was genau meinst du mit motorzustand? aber ja es geht mit
new motorzustand[MAX_VEHICLES]; -
Ich möchte das der Motor des Autos einen Zustand hat und wenn dieser aud 0 ist soll das auto nicht mehr fahren.
-
Soll der mit der Health des Fahrzeuges sein?
-
Nein ähnlich wie die Tankanzeige. Weis jemand wie das geht? :0
-
ja hab ich doch oben gepostet
oben im Script:
new motorzustand[MAX_VEHICLES]und wenn du es irgendwo brauchst dann so:
motorzustand[GetPlayerVehicleID(playerid)] ..... -
Sorry aber ich bin Anfänger
Wie gebe ich der Variable einen Wert und Speichere das für jedes Fahrzeug? Habe sowas bisher nur mit dem Spieler gemacht -
Ich würde das via Enum lösen. So kannst du ganz einfach Variablen hinzufügen
enum e_Vehicleinfo//name des nums
{
vid,
f1,//farbe1
f2,//farbe2
mzustand//wenn es ein Float sein soll -> Float:mzustand
}
new Vdata[MAX_VEHICLES][e_Vehicleinfo];//deklarierung
ocmd:veh(playerid,params[])//befehl um auto zu erstellen
{
new vid,f1,f2,Float:pos[3];
if(sscanf(params,"ddd", vid,f1,f2))return SendClientMessage(playerid, 1-, " /veh <vid> <farbe1> <farbe2>");
GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
new vehicle = CreateVehicle(vid,pos[0],pos[1],pos[2],0,f1,f2,50);
PutPlayerInVehicle(playerid,vehicle,0);
Vdata[vehicle][mzustand] = 100;//var wird geändert
Vdata[vehicle][vid] = vi;//var wird geändert
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
new s[64];
new vehiclei = GetPlayerVehicleID(playerid);
format(s,sizeof(s)," Modelid: %d, Zustand: %d", Vdata[vehiclei][vid],Vdata[vehiclei][mzustand]);//daten aus der var werden übergeben bzw ausgelesen
SendClientMessage(playerid, -1, s);
}
return 1;
}Ungetestet, sollte vom Prinzip her so funktionieren
-
Danke
-
breadfish.de
Hat das Thema geschlossen.