Ich hätte es (ausm Gedächtnis, deshalb ungetestet) so gemacht:
OnPlayerStateChange:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate==PLAYER_STATE_DRIVER)
{
if(IsPlayerInFrac(playerid,1) || IsPlayerInFrac(playerid,2) || IsPlayerInFrac(playerid,3))
for(new pv = 0; pv < sizeof(armycars); pv++)
{
if(newcar == armycars[pv])
{
SendClientMessage(playerid,COLOR_ROT,"Du bist nicht berechtigt das Fahrzeug zu fahren.");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,false);
TogglePlayerControllable(playerid,true);
}
}
}
return 1;
}
Und ein Stock:
stock IsPlayerInFrac(playerid,fracid)
{
if (PlayerInfo[playerid][pMember] == fracid || PlayerInfo[playerid][pLeader] == fracid)
return 1;
return 0;
}