脚本超时:已用完允许的执行时间 (ROBLOX)

Posted

技术标签:

【中文标题】脚本超时:已用完允许的执行时间 (ROBLOX)【英文标题】:Script Timeout: exhausted allowed execution time (ROBLOX) 【发布时间】:2021-12-19 23:05:56 【问题描述】:

我目前正在为 ROBLOX 制作一个游戏作为一个激情项目,但我遇到了一个问题。

我正在制作一个脚本,以便当玩家运行时,相机的 FOV 会向上拍摄,就像你的速度非常快。

我已经成功编写了代码,但是当在工作室或客户端中运行时,它会冻结游戏并在输出中显示“脚本超时:已用完允许的执行时间”。

有没有办法解决这个问题?非常感谢!

代码在这里:

local TweenService = game:GetService("TweenService")
local player = game.Players.LocalPlayer
local Humanoid = script.Parent:WaitForChild("Humanoid")
local Camera = workspace.CurrentCamera
local FovRun = TweenService:Create(workspace.CurrentCamera, TweenInfo.new(0.5), FieldOfView = 75)
local FovWalk = TweenService:Create(workspace.CurrentCamera, TweenInfo.new(0.5), FieldOfView = 70)
local Running = false

UserInputService.InputBegan:Connect(function(Key, IsTyping)
    if Key.KeyCode == Enum.KeyCode.LeftShift and not IsTyping then
        if (Humanoid.MoveDirection:Dot(Humanoid.Parent:WaitForChild("HumanoidRootPart").CFrame.LookVector) > 0) then
            if Running then
                FovWalk:Play()
                Running = false
                Humanoid.WalkSpeed = Humanoid.WalkSpeed - 8
            end
            Running = true
            Humanoid.WalkSpeed = Humanoid.WalkSpeed + 8
            FovRun:Play()
            elseif Humanoid.Health > Humanoid.MaxHealth / 1.5 then
                repeat
                until not Running
            if Humanoid.Health < Humanoid.MaxHealth / 1.5 then
                repeat
                until not Running
            end
        else
            if Running then
                FovWalk:Play()
                Running = false
                Humanoid.WalkSpeed = Humanoid.WalkSpeed - 8
            end
        end
    end
end)

【问题讨论】:

【参考方案1】:
repeat
until not Running

这是一个无限循环。如果您输入它并且Runningtrue,您的代码将永远运行它,因为Running 没有在循环体中更新。

Roblox 将意识到您的代码被卡住并抛出该错误消息。

【讨论】:

如果这行代码被删除,游戏中的冻结将停止,但代码将不再起作用。棘手的代码。 我不知道那是什么意思。这是您问题的答案。如果您有新问题,请使用当前代码和调试详细信息发布新问题。你希望发生什么,而不是发生什么...... 确实找到了解决方案!只是决定在代码中的某处添加一个 wait() 来修复整个问题。将此标记为解决方案。

以上是关于脚本超时:已用完允许的执行时间 (ROBLOX)的主要内容,如果未能解决你的问题,请参考以下文章

Composer 要求内存不足。 PHP 致命错误:允许的内存大小为 1610612736 字节已用完 Voyager

语句被终止。完成执行语句前已用完最大递归 100

用于检测“唯一幸存者”获胜者的 Roblox 游戏脚本

进程三种状态间的转换

Sentry:交易配额已用完 80%

余额提醒:截至今天,本年地球资源额度已用完