SA-MP Forums Archive
Рекурсивный код - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Рекурсивный код (/showthread.php?tid=634482)



Рекурсивный код - Surprice - 19.05.2017

Приветствую форумчан, подскажите в одном вопросе.
Компилятор обнаружил рекурсивный код
PHP Code:
foreach(new iPlayer)
        {
            if(
GetPVarInt(i,"BoneStol")-== idx)
            {
                
SendClientMessage(i,0x4B00B0AA,string);
                
DeletePVar(i"BoneStol_");
                if(
IsPlayerNearBone(i) != idxExitBone(i);
            }
        } 

Конкретная строка на которую ругается
PHP Code:
if(IsPlayerNearBone(i) != idxExitBone(i); 


PHP Code:
stock ExitBone(playerid)
{
    new 
null[2] = 0;
    if(
GetPVarInt(playerid,"BoneStol_") && BoneInfo[GetPVarInt(playerid,"BoneStol")-1][GameStart] <= 0)
    {
        
PTEMP[playerid][pCash]+=BoneInfo[GetPVarInt(playerid,"BoneStol")-1][Bet];
        
BoneInfo[GetPVarInt(playerid,"BoneStol")-1][bBank]-=BoneInfo[GetPVarInt(playerid,"BoneStol")-1][Bet];
    }
    foreach(new 
iPlayer)
    {
        if(
GetPVarInt(i,"BoneStol") == GetPVarInt(playerid,"BoneStol") && != playerid && GetPVarInt(i,"BoneStol_") == 1null[0]++;
        if(
GetPVarInt(i,"BoneStol") == GetPVarInt(playerid,"BoneStol") && != playerid && GetPVarInt(i,"BoneStol_") > 1null[1]++;
    }
    if(
null[0] == && null[1] > 0ShowItog(GetPVarInt(playerid,"BoneStol")-1);
    if(
BoneInfo[GetPVarInt(playerid,"BoneStol")-1][Crupie] == playeridBoneInfo[GetPVarInt(playerid,"BoneStol")-1][Crupie] = INVALID_PLAYER_ID;
    for(new 
i!= 4i++) TextDrawHideForPlayer(playerid,Bone[i]), PlayerTextDrawHide(playerid,PlayerBone[playerid][i]);
    for(new 
i_ 0i_ != 5i_++) if(BoneInfo[GetPVarInt(playerid,"BoneStol")-1][Gamer][i_] == playeridBoneInfo[GetPVarInt(playerid,"BoneStol")-1][Gamer][i_] = INVALID_PLAYER_ID;
    
UpdateBone(GetPVarInt(playerid,"BoneStol")-1);
    
DeletePVar(playerid,"BoneStol");
    
DeletePVar(playerid,"BoneStol_");
    
CancelSelectTextDraw(playerid);
    return 
true;




Re: Рекурсивный код - Mutha_X - 19.05.2017

Это хорошо, что компилятор что-то обнаружил.
Для решения возможных проблем увольте штатного индуса.


Re: Рекурсивный код - Surprice - 19.05.2017

Ну, увольнять никого не надо . Исправил.