26.06.2015, 20:30
Всех приветствую. Компилятор обнаружил рекурсию в коде, нужна помощь в исправлении.
Полный код
PHP код:
foreach(new x: Player)
{
if(!IsPlayerConnected(x)) continue;
if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && gSpectateID[x] == playerid)
{
AdvanceSpectate(x);
}
}
Полный код
PHP код:
stock StartSpectate(playerid, specid)
{
SetPVarInt(playerid,"PlayerSpec",1);
if(GetPlayerState(playerid) != PLAYER_STATE_SPECTATING)
{
ShowMenuForPlayer(OdminMeny,playerid);
GetPlayerPos(playerid, TeleportDest[playerid][0],TeleportDest[playerid][1],TeleportDest[playerid][2]);
TeleportDestNoFloat[playerid][0] = GetPlayerInterior(playerid);
TeleportDestNoFloat[playerid][1] = GetPlayerVirtualWorld(playerid);
}
foreach(new x: Player)
{
if(!IsPlayerConnected(x)) continue;
if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && gSpectateID[x] == playerid)
{
AdvanceSpectate(x);
}
}
if(IsPlayerInAnyVehicle(specid))
{
SetPlayerInterior(playerid,GetPlayerInterior(specid));
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(specid));
TogglePlayerSpectating(playerid, 1);
PlayerSpectateVehicle(playerid, GetPlayerVehicleID(specid));
gSpectateID[playerid] = specid;
gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE;
}
else
{
SetPlayerInterior(playerid,GetPlayerInterior(specid));
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(specid));
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, specid);
gSpectateID[playerid] = specid;
gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
}
SpecAd[playerid] = specid;
SpecID[specid] = playerid;
PlayerTextDrawShow(playerid, FULLRECON[playerid]);
return true;
}