Guten Abend Forum!
Würde gerne 2 Variablen auf meine mit Enum erstellten Fahrzeuge legen.
Allerdings spacken die Fahrzeuge/Abfragen extremst rum und das eine Taxi funktioniert mit jeder Fraktion und das nächste nur wenn man in Frak x und in Job y ist.
Code:
stock LoadCars()
{
for(new i=0;i<sizeof(vInfo);i++)
{
SetVehicleNumberPlate(AddStaticVehicle(vInfo[i][v_model],vInfo[i][v_x],vInfo[i][v_y],vInfo[i][v_z],vInfo[i][v_r],vInfo[i][v_color1],vInfo[i][v_color2]),vInfo[i][v_numberplate]);
Veh_Frak[i] = vInfo[i][v_Frak];
Veh_Job[i] = vInfo[i][v_Job];
cars++;
}
}
{0,2,420,2065.6611,-1904.2598,13.3268,180.7632,6,6,"LS-TD 01"},
{0,2,420,2062.2744,-1904.0479,13.3250,180.2793,6,6,"LS-TD 02"},
{0,2,420,2059.1790,-1904.2069,13.3256,180.6637,6,6,"LS-TD 03"},
{0,2,420,2055.9187,-1904.2354,13.3266,180.0234,6,6,"LS-TD 04"},
{0,2,420,2052.5586,-1904.2544,13.3257,180.1285,6,6,"LS-TD 05"},
{0,2,420,2065.4082,-1919.2643,13.3263,359.6339,6,6,"LS-TD 06"},
{0,2,420,2062.3108,-1919.2400,13.3257,359.1778,6,6,"LS-TD 07"}
enum vehicles
{
v_Frak,
v_Job,
v_model,
Float:v_x,
Float:v_y,
Float:v_z,
Float:v_r,
v_color1,
v_color2,
v_numberplate[24]
};
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate==PLAYER_STATE_DRIVER)
{
if(pInfo[playerid][pFrak]!=Veh_Frak[GetPlayerVehicleID(playerid)])
{
ERROR_RESTRICTED_CAR
RemovePlayerFromVehicle(playerid);
}
if(pInfo[playerid][pJob]!=Veh_Job[GetPlayerVehicleID(playerid)])
{
ERROR_RESTRICTED_CAR
RemovePlayerFromVehicle(playerid);
}
}
}
Hoffe mir kann da jemand helfen.
Mit Enum erstellte Fahrzeuge mit IDs/Variablen belegen
- y0sh1
- Geschlossen
- Erledigt
-
-
Das ganze funktioniert nur, wenn du zuerst nur diese autos erstellen lässt, da die ID Vergabe bei den Autos nach einem Slotsystem geht.
Du kannst auch auf eine nummer sicher gehen und die Fahrzeugid auch noch speichern.ahja
Veh_Frak[i] = vInfo[i][v_Frak];
Veh_Job[i] = vInfo[i][v_Job];
brauchst du nichtmal das hast du schon alles in deinem array vInfo enthalten -
Das ganze funktioniert nur, wenn du zuerst nur diese autos erstellen lässt, da die ID Vergabe bei den Autos nach einem Slotsystem geht.
Du kannst auch auf eine nummer sicher gehen und die Fahrzeugid auch noch speichern.Kann dem nicht ganz folgen..
-
Kann dem nicht ganz folgen..
Ganz einfach die Abfrage wird nicht funktionieren wenn du vor dem Funktion aufruf von LoadCars Fahrzeuge erstellst.
Was ist damit gemeint ?
public OnGameModeInit() {
CreateVehicle(560,0.0,0.0,0.0,0.0,1,1,-1);
LoadCars();
...wenn du in das Auto, in den Sultan einsteigst gelten die Daten des Index 0 deines Arrays obwohl der nix mit den Fraktionsautos zu tun hat.
Das wird wahrscheinlich dein Problem sein. -
breadfish.de
Hat das Thema geschlossen.