脚本超时:耗尽允许的执行时间(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
这是一个无限循环。如果你输入它并且 Running
是 true
你的代码将永远 运行 它因为 Running
没有在循环体中更新。
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
这是一个无限循环。如果你输入它并且 Running
是 true
你的代码将永远 运行 它因为 Running
没有在循环体中更新。
Roblox 会意识到您的代码被卡住了并抛出该错误消息。