Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 2 из 2

Тема: Рекурсия

  1. #1
    Аватар для 123
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.02.2014
    Сообщений
    93
    Репутация:
    8 ±

    Рекурсия

    Скомпилировал мод с флагом -R

    Результат:

    PHP код:
    Pawn compiler 3.10.5              Copyright (c1997-2006ITB CompuPhase

    recursion detected
    : function 40000004!=40000004 directly calls itself
    recursion detected
    : function -40000004 indirectly calls itself:
    -
    40000004 <- SetVehicleIndicator <- WC_OnPlayerKeyStateChange <- -40000004
    recursion detected
    : function 40000004>40000004 indirectly calls itself:
    40000004>40000004 <- UpdateSpeedometr <- WC_OnPlayerUpdate <- 40000004>40000004
    recursion detected
    : function 40000004>=40000004 indirectly calls itself:
    40000004>=40000004 <- DrugsTimer <- Fresh <- 40000004>=40000004
    recursion detected
    : function 40000004<40000004 indirectly calls itself:
    40000004<40000004 <- DrugsTimer <- Fresh <- 40000004<40000004
    recursion detected
    : function 40000004<=40000004 indirectly calls itself:
    40000004<=40000004 <- DrugsTimer <- Fresh <- 40000004<=40000004
    recursion detected
    : function AngleBetweenPoints indirectly calls itself:
    AngleBetweenPoints <- IsPlayerBehindPlayer <- InflictDamage <- AngleBetweenPoints
    recursion detected
    : function AverageShootRate indirectly calls itself:
    AverageShootRate <- WC_OnPlayerDamage <- OnPlayerDamage <- InflictDamage <- AverageShootRate
    recursion detected
    : function CaptureUpd indirectly calls itself:
    CaptureUpd <- WC_OnPlayerDeath <- CaptureUpd
    recursion detected
    : function CheckBed indirectly calls itself:
    CheckBed <- WC_OnPlayerKeyStateChange <- CheckBed
    recursion detected
    : function CheckItem indirectly calls itself:
    CheckItem <- SetPlayerSkinEx <- BuySkin <- WC_OnPlayerEnterCheckpoint <- CheckItem
    recursion detected
    : function ClearPlayerDrugEffects indirectly calls itself:
    ClearPlayerDrugEffects <- DrugsTimer <- Fresh <- ClearPlayerDrugEffects
    recursion detected
    : function DamageFeedAddHit indirectly calls itself:
    DamageFeedAddHit <- DamageFeedAddHitTaken <- OnPlayerDamageDone <- InflictDamage <- DamageFeedAddHit
    recursion detected
    : function DamageFeedAddHitGiven indirectly calls itself:
    DamageFeedAddHitGiven <- OnPlayerDamageDone <- InflictDamage <- DamageFeedAddHitGiven
    recursion detected
    : function DamageFeedAddHitTaken indirectly calls itself:
    DamageFeedAddHitTaken <- OnPlayerDamageDone <- InflictDamage <- DamageFeedAddHitTaken
    recursion detected
    : function DamageFeedRemoveHit indirectly calls itself:
    DamageFeedRemoveHit <- DamageFeedAddHit <- DamageFeedAddHitTaken <- OnPlayerDamageDone <- InflictDamage <- DamageFeedRemoveHit
    recursion detected
    : function DamageFeedUpdate indirectly calls itself:
    DamageFeedUpdate <- DamageFeedAddHit <- DamageFeedAddHitTaken <- OnPlayerDamageDone <- InflictDamage <- DamageFeedUpdate
    recursion detected
    : function DamageFeedUpdateText indirectly calls itself:
    DamageFeedUpdateText <- DamageFeedUpdate <- DamageFeedAddHit <- DamageFeedAddHitTaken <- OnPlayerDamageDone <- InflictDamage <- DamageFeedUpdateText
    recursion detected
    : function Dialog_Close indirectly calls itself:
    Dialog_Close <- WC_OnPlayerSpawn <- Dialog_Close
    recursion detected
    : function FIXES_ApplyAnimation indirectly calls itself:
    FIXES_ApplyAnimation <- SelectAnimation <- FIXES_ApplyAnimation
    recursion detected
    : function FIX_IsPlayerConnected indirectly calls itself:
    FIX_IsPlayerConnected <- ClearKillFeed <- EndPaint <- FIX_IsPlayerConnected
    recursion detected
    : function GetLastDamageArmour indirectly calls itself:
    GetLastDamageArmour <- OnPlayerDamageDone <- InflictDamage <- GetLastDamageArmour
    recursion detected
    : function GetLastDamageHealth indirectly calls itself:
    GetLastDamageHealth <- OnPlayerDamageDone <- InflictDamage <- GetLastDamageHealth
    recursion detected
    : function GiveItem indirectly calls itself:
    GiveItem <- SetPlayerSkinEx <- BuySkin <- WC_OnPlayerEnterCheckpoint <- GiveItem
    recursion detected
    : function GiveMoney indirectly calls itself:
    GiveMoney <- ExitCasino <- WC_OnPlayerSpawn <- GiveMoney
    recursion detected
    : function ISAMAFIA directly calls itself
    recursion detected
    : function InflictDamage directly calls itself
    recursion detected
    : function IsAArm indirectly calls itself:
    IsAArm <- CheckBarrier <- WC_OnPlayerKeyStateChange <- IsAArm
    recursion detected
    : function IsACop indirectly calls itself:
    IsACop <- StartQuest <- Fresh <- IsACop
    recursion detected
    : function IsAGang indirectly calls itself:
    IsAGang <- StartQuest <- Fresh <- IsAGang
    recursion detected
    : function IsAGreenZone directly calls itself
    recursion detected
    : function IsBulletWeapon indirectly calls itself:
    IsBulletWeapon <- InflictDamage <- IsBulletWeapon
    recursion detected
    : function IsDamageFeedActive indirectly calls itself:
    IsDamageFeedActive <- DamageFeedAddHit <- DamageFeedAddHitTaken <- OnPlayerDamageDone <- InflictDamage <- IsDamageFeedActive
    recursion detected
    : function IsHighRateWeapon indirectly calls itself:
    IsHighRateWeapon <- OnPlayerDamageDone <- InflictDamage <- IsHighRateWeapon
    recursion detected
    : function IsMeleeWeapon indirectly calls itself:
    IsMeleeWeapon <- InflictDamage <- IsMeleeWeapon
    recursion detected
    : function IsPlayerBehindPlayer indirectly calls itself:
    IsPlayerBehindPlayer <- InflictDamage <- IsPlayerBehindPlayer
    recursion detected
    : function IsPlayerSpawned indirectly calls itself:
    IsPlayerSpawned <- InflictDamage <- IsPlayerSpawned
    recursion detected
    : function Iter_RemoveInternal indirectly calls itself:
    Iter_RemoveInternal <- race_exitvehicle <- WC_OnPlayerExitVehicle <- Iter_RemoveInternal
    recursion detected
    : function Iter_SafeRemoveInternal indirectly calls itself:
    Iter_SafeRemoveInternal <- DestroyVehicleSafe <- Iter_SafeRemoveInternal
    recursion detected
    : function MakePlayerFacePlayer indirectly calls itself:
    MakePlayerFacePlayer <- InflictDamage <- MakePlayerFacePlayer
    recursion detected
    : function OnPlayerDamage indirectly calls itself:
    OnPlayerDamage <- InflictDamage <- OnPlayerDamage
    recursion detected
    : function OnPlayerDamageDone indirectly calls itself:
    OnPlayerDamageDone <- InflictDamage <- OnPlayerDamageDone
    recursion detected
    : function OnPlayerPrepareDeath indirectly calls itself:
    OnPlayerPrepareDeath <- PlayerDeath <- InflictDamage <- OnPlayerPrepareDeath
    recursion detected
    : function PlayerDeath indirectly calls itself:
    PlayerDeath <- InflictDamage <- PlayerDeath
    recursion detected
    : function PlayerToKvadrat indirectly calls itself:
    PlayerToKvadrat <- CheckBizWar <- Fresh <- PlayerToKvadrat
    recursion detected
    : function ProxDetector indirectly calls itself:
    ProxDetector <- OnPlayerUseDrug <- pc_cmd_drugs <- ProxDetector
    recursion detected
    : function ProxDetectorS indirectly calls itself:
    ProxDetectorS <- TransferDrugsPlayer <- ProxDetectorS
    recursion detected
    : function ResetWeapons directly calls itself
    recursion detected
    : function SendDead indirectly calls itself:
    SendDead <- WC_OnPlayerDeath <- SendDead
    recursion detected
    : function SendFamilyMessage indirectly calls itself:
    SendFamilyMessage <- FinishBizWar <- Fresh <- SendFamilyMessage
    recursion detected
    : function SetAttachToSkin indirectly calls itself:
    SetAttachToSkin <- GiveItem <- SetPlayerSkinEx <- BuySkin <- WC_OnPlayerEnterCheckpoint <- SetAttachToSkin
    recursion detected
    : function SetPPos directly calls itself
    recursion detected
    : function SetPlayerExtra indirectly calls itself:
    SetPlayerExtra <- Fresh <- SetPlayerExtra
    recursion detected
    : function SetPlayerHealthAC indirectly calls itself:
    SetPlayerHealthAC <- OnPlayerUseDrug <- pc_cmd_drugs <- SetPlayerHealthAC
    recursion detected
    : function SetPlayerSkinEx indirectly calls itself:
    SetPlayerSkinEx <- BuySkin <- WC_OnPlayerEnterCheckpoint <- SetPlayerSkinEx
    recursion detected
    : function UpdateHealthBar directly calls itself
    recursion detected
    : function UpdateSyncData indirectly calls itself:
    UpdateSyncData <- MakePlayerFacePlayer <- InflictDamage <- UpdateSyncData
    recursion detected
    : function WC_ApplyAnimation indirectly calls itself:
    WC_ApplyAnimation <- FIXES_ApplyAnimation <- SelectAnimation <- WC_ApplyAnimation
    recursion detected
    : function WC_ClearAnimations indirectly calls itself:
    WC_ClearAnimations <- SetPlayerSkinEx <- BuySkin <- WC_OnPlayerEnterCheckpoint <- WC_ClearAnimations
    recursion detected
    : function WC_GetPlayerState indirectly calls itself:
    WC_GetPlayerState <- OnPlayerUseDrug <- pc_cmd_drugs <- WC_GetPlayerState
    recursion detected
    : function WC_GetPlayerVirtualWorld indirectly calls itself:
    WC_GetPlayerVirtualWorld <- StartSpectate <- WC_GetPlayerVirtualWorld
    recursion detected
    : function WC_GetWeaponName indirectly calls itself:
    WC_GetWeaponName <- UpdatePlayerInfo <- WC_OnPlayerUpdate <- WC_GetWeaponName
    recursion detected
    : function WC_OnPlayerDamage indirectly calls itself:
    WC_OnPlayerDamage <- OnPlayerDamage <- InflictDamage <- WC_OnPlayerDamage
    recursion detected
    : function WC_OnPlayerDeath directly calls itself
    recursion detected
    : function WC_OnPlayerLeaveCheckpoint indirectly calls itself:
    WC_OnPlayerLeaveCheckpoint <- PlayerDeath <- InflictDamage <- WC_OnPlayerLeaveCheckpoint
    recursion detected
    : function WC_PlayerTextDrawSetString indirectly calls itself:
    WC_PlayerTextDrawSetString <- UpdateVehicleInfo <- WC_OnPlayerUpdate <- WC_PlayerTextDrawSetString
    recursion detected
    : function WC_SetPlayerHealth indirectly calls itself:
    WC_SetPlayerHealth <- SetPlayerHealthAC <- OnPlayerUseDrug <- pc_cmd_drugs <- WC_SetPlayerHealth
    recursion detected
    : function WC_SetPlayerPos indirectly calls itself:
    WC_SetPlayerPos <- SpawnPlayerEx <- WC_SetPlayerPos
    recursion detected
    : function WC_TextDrawSetString indirectly calls itself:
    WC_TextDrawSetString <- ExitCasino <- WC_OnPlayerSpawn <- WC_TextDrawSetString
    recursion detected
    : function WC_TogglePlayerControllable indirectly calls itself:
    WC_TogglePlayerControllable <- CheckBed <- WC_OnPlayerKeyStateChange <- WC_TogglePlayerControllable
    recursion detected
    : function _FIXES_ApplyAnimationDelay indirectly calls itself:
    _FIXES_ApplyAnimationDelay <- FIXES_ApplyAnimation <- SelectAnimation <- _FIXES_ApplyAnimationDelay
    recursion detected
    : function _FIXES_GetAnimLibIndex indirectly calls itself:
    _FIXES_GetAnimLibIndex <- FIXES_ApplyAnimation <- SelectAnimation <- _FIXES_GetAnimLibIndex
    Header size
    :          22668 bytes
    Code size
    :          6885268 bytes
    Data size
    :          9592148 bytes
    Stack
    /heap size:      16384 bytesestimated maxusageunknowndue to recursion
    Total requirements
    :16516468 bytes 
    Не понятно что это значит, и как из этого определить рекурсию?

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    PHP код:
    recursion detected: function AngleBetweenPoints indirectly calls itself
    AngleBetweenPoints <- IsPlayerBehindPlayer <- InflictDamage <- AngleBetweenPoints 
    Обнаружена рекурсия внутри функции AngleBetweenPoints. При этом, в рекурсии вызываются функции: InflictDamage и IsPlayerBehindPlayer.

    То есть, у тебя где-то внутри AngleBetweenPoints вызывается InflictDamage, в которой, в свою очередь вызывается IsPlayerBehindPlayer, а уже внутри неё вызывается AngleBetweenPoints, из-за чего компилятор и видит рекурсию.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •