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

问题描述 投票:0回答:2

我目前正在为 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)
lua roblox
2个回答
0
投票
repeat
until not Running

这是一个无限循环。如果您输入它并且

Running
true
,您的代码将永远运行它,因为
Running
不会在循环体中更新。

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


0
投票

听起来您的脚本可能陷入无限循环或每帧执行太多操作,从而导致“脚本超时”错误。尝试使用 RunService.RenderStepped 或 RunService.Heartbeat 来优化代码,以实现更流畅的执行,而不是使用像 while true do 这样的循环。

顺便说一句,如果您正在探索先进的工具来增强您的 ROBLOX 体验,我一直在使用 Fluxus Executor,并且它运行完美。它非常适合自定义项目,并且可能为有效调试和测试游戏提供一些灵感。

通过对脚本逻辑进行一些调整,您应该能够解决该问题。祝你的激情项目好运!

© www.soinside.com 2019 - 2024. All rights reserved.