脚本超时:耗尽允许的执行时间(ROBLOX)

Script Timeout: exhausted allowed execution time (ROBLOX)

我目前正在为 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)
repeat
until not Running

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

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