Тайм-аут скрипта: исчерпано разрешенное время выполнения (ROBLOX)

#lua #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)
 

Ответ №1:

 repeat
until not Running
 

Это бесконечный цикл. Если вы введете его и Running true ваш код будет работать вечно, так как Running он не обновляется в теле цикла.

Roblox поймет, что ваш код застрял, и выдаст это сообщение об ошибке.

Комментарии:

1. Если эта строка кода будет удалена, замораживание в игре прекратится, однако код больше не будет работать вообще. Хитрый код.

2. Я не знаю, что это должно означать. это ответ на ваш вопрос. если у вас возникла новая проблема, отправьте новый вопрос с вашим текущим кодом и деталями отладки. чего вы ожидаете, что произойдет, что произойдет вместо этого…

3. На самом деле я нашел решение! Просто решил добавить wait() где-нибудь в коде, чтобы исправить все это. Отмечая это как решение.