dann können alle anderen die Fahrzeuge von allen anderen Auf/Zuschließen.
Ah, sorry, stimmt. Hab falsch herum gedacht, weil wir die ganze Zeit beim Einstieg waren. Das ist ja ein Befehl zum Abschließen.
Dennoch muss das && zu einem dann gewechselt werden, wie @[IRP]Rob_Clare schon richtig sagte, sonst klappt es nur, wenn er Leader und Member ist, was er wahrscheinlich nicht gleichzeitig sein kann.
Allerdings mit "playerid" anstatt "forplayerid".
Habe den Code oben angepasst.
Außerdem noch:
iPlayerVehicle
zu:
vehicleid
EDIT:
ok jetzt kann man immer einsteigen also egal was man ist
Ich habe das grade mal ausprobiert, bei mir funktioniert es problemlos.
Code:
public OnVehicleStreamIn(vehicleid, forplayerid)
{
//Eine Schleife durch alle Fraktions-Fahrzeuge
for(new i=0; i<MAX_FRAC_VEHICLES; i++)
{
//Wenn die vehicleid die gleiche ist, wie die des Fraktions-Fahrzeugs
if(fracVehicle[i][e_vID] == vehicleid)
{
//Jetzt brauchen wir die Variable, mit der Dein vorher bereits existierendes Fraktions-System arbeitet.
//Ich nehme jetzt einfach eine Beispiel-Variable, diese musst Du selbst mit der ersetzen,
//die Dein System verwendet.
//Es geht um diese Variable: PlayerInfo[playerid][pFraction]
if(PlayerInfo[forplayerid][pFraction] != fracVehicle[i][e_fracID])
{
//Wenn der Spieler nicht in der Fraktion ist, die das Fahrzeug verwenden darf,
//dann darf er es nicht betreten.
SetVehicleParamsForPlayer(vehicleid, forplayerid, 0, 1);
}
break; //Es gibt ja keine zwei gleichen Fahrzeuge
}
}
return 1;
}
Die Animation macht er allerdings nur, wenn man als Beifahrer (Taste G) einsteigen will.
Bei dir wäre das dann:
public OnVehicleStreamIn(vehicleid, forplayerid)
{
//Eine Schleife durch alle Fraktions-Fahrzeuge
for(new i=0; i<MAX_FRAC_VEHICLES; i++)
{
//Wenn die vehicleid die gleiche ist, wie die des Fraktions-Fahrzeugs
if(fracVehicle[i][e_vID] == vehicleid)
{
//Jetzt brauchen wir die Variable, mit der Dein vorher bereits existierendes Fraktions-System arbeitet.
//Ich nehme jetzt einfach eine Beispiel-Variable, diese musst Du selbst mit der ersetzen,
//die Dein System verwendet.
//Es geht um diese Variable: PlayerInfo[playerid][pFraction]
if(SpielerInfo[forplayerid][pMember] != fracVehicle[i][e_fracID] && SpielerInfo[forplayerid][pLeader] != fracVehicle[i][e_fracID])
{
//Wenn der Spieler nicht in der Fraktion ist, die das Fahrzeug verwenden darf,
//dann darf er es nicht betreten.
SetVehicleParamsForPlayer(vehicleid, forplayerid, 0, 1);
}
break; //Es gibt ja keine zwei gleichen Fahrzeuge
}
}
return 1;
}