Lua 如何在x秒内打破循环

Lua 如何在x秒内打破循环,lua,Lua,我试图修改一个FiveM脚本,我试图在4秒后打破Lua中的循环,但我不知道如何 我不知道我在做什么,需要一些帮助 Citizen.CreateThread(函数() 函数drawscaleform(scaleform) scaleform=RequestScaleformMovie(scaleform) 虽然没有加载ScaleFormMovied(scaleform)但 公民,等等(0) 结束 PushScaleformMovieFunction(scaleform,“显示弹出警告”) Push

我试图修改一个FiveM脚本,我试图在4秒后打破Lua中的循环,但我不知道如何

我不知道我在做什么,需要一些帮助

Citizen.CreateThread(函数()
函数drawscaleform(scaleform)
scaleform=RequestScaleformMovie(scaleform)
虽然没有加载ScaleFormMovied(scaleform)但
公民,等等(0)
结束
PushScaleformMovieFunction(scaleform,“显示弹出警告”)
PushScaleForMovieFunctionParameterFloat(500.0)
PushScaleForMovieFunctionParameterString(“警报”)
PushScaleformMovieFunctionParameterString(“~b~平时活动”)
PushScaleformMovieFunctionParameterString(“这意味着没有优先级调用”)
PushScaleForMovieFunctionParameterBool(真)
PushScaleformMovieFunctionParameterInt(0)
PopScaleForMovieFunctionVoid()
DrawScaleFormMovie全屏(scaleform,255,255,255,0)
结束
尽管如此
公民,等等(0)
drawscaleform(“弹出警告”)
结束
(完)

我想在4秒后打破
while true
很可能是Lua的
break
命令的组合,在while循环上设置一个条件,以更清楚地传达循环的意图(而不仅仅是while
true
…),并更好地使用FiveM的
Citizen.Wait()
功能。该函数的文档说明该参数是暂停当前执行线程的毫秒数


花些时间来理解这些元素、您试图修改的代码和实验。因此,不只是为您编写代码。

很可能是Lua的
break
命令的组合,在while循环上设置一个条件,以更清楚地传达循环的意图(而不仅仅是while
true
…),并更好地使用FiveM的
Citizen.Wait()
函数。该函数的文档说明该参数是暂停当前执行线程的毫秒数


花些时间来理解这些元素、您试图修改的代码和实验。因此,我们不只是为您编写代码。

有一个FiveM函数
Citizen.SetTimeout
在一段时间后调用函数。以下是一种(未经测试的)使用方法:

Citizen.CreateThread(function()
    function drawscaleform(scaleform)
    ...
    end

    local wait = true

    Citizen.SetTimeout(4000, function() wait = false end)

    while wait do
        Citizen.Wait(0)
        drawscaleform("POPUP_WARNING")
    end
end)

有一个FiveM函数
Citizen.SetTimeout
在一段时间后调用函数。以下是一种(未经测试的)使用方法:

Citizen.CreateThread(function()
    function drawscaleform(scaleform)
    ...
    end

    local wait = true

    Citizen.SetTimeout(4000, function() wait = false end)

    while wait do
        Citizen.Wait(0)
        drawscaleform("POPUP_WARNING")
    end
end)