脚本超时:已用完允许的执行时间 (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
这是一个无限循环。如果您输入它并且Running
是true
,您的代码将永远运行它,因为Running
没有在循环体中更新。
Roblox 将意识到您的代码被卡住并抛出该错误消息。
【讨论】:
如果这行代码被删除,游戏中的冻结将停止,但代码将不再起作用。棘手的代码。 我不知道那是什么意思。这是您问题的答案。如果您有新问题,请使用当前代码和调试详细信息发布新问题。你希望发生什么,而不是发生什么...... 确实找到了解决方案!只是决定在代码中的某处添加一个 wait() 来修复整个问题。将此标记为解决方案。以上是关于脚本超时:已用完允许的执行时间 (ROBLOX)的主要内容,如果未能解决你的问题,请参考以下文章