So wie du es momentan machst, kann auch immer nur ein Spieler die gleiche Person spectaten, da GetMySpec(playerid), wahrscheinlich nur eine einzelne Playerid zurückgibt.
Versuch es mal so:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
{
new vehicle = GetPlayerVehicleID(playerid);
for(new i = 0, j = GetPlayerPoolSize(); i < j; i++)
{
if(pInfo[i][pSpec] == 1 && pInfo[i][pSpecID] == playerid) PlayerSpectateVehicle(i, vehicle, SPECTATE_MODE_NORMAL);
}
}
else if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER)
{
for(new i = 0, j = GetPlayerPoolSize(); i < j; i++)
{
if(pInfo[i][pSpec] == 1 && pInfo[i][pSpecID] == playerid) PlayerSpectatePlayer(i, playerid, SPECTATE_MODE_NORMAL);
}
}
return 1;
}
Alles anzeigen