车辆生成菜单在lua中无限循环
Posted
技术标签:
【中文标题】车辆生成菜单在lua中无限循环【英文标题】:Vehicle Spawning Menu looping infinitely in lua 【发布时间】:2021-09-22 07:43:59 【问题描述】:Citizen.CreateThread(function()
while true do
Citizen.Wait(0)
local playerPed = GetPlayerPed()
local rank = exports.XpM:XPM_GetRank() --Gets the rank of the player from XP system XpM
print('Rank:' .. rank)
if rank>50 then
EighthItem(mainMenu) --All the different menu available for the player to choose vehicles from
FifthItem(mainMenu)
SixthItem(mainMenu)
ThirdItem(mainMenu)
ForuthItem(mainMenu)
SeventhItem(mainMenu)
FirstItem(mainMenu)
SecondItem(mainMenu)
elseif rank>40 then
FifthItem(mainMenu)
SixthItem(mainMenu)
ThirdItem(mainMenu)
ForuthItem(mainMenu)
SeventhItem(mainMenu)
FirstItem(mainMenu)
SecondItem(mainMenu)
elseif rank>30 then
SixthItem(mainMenu)
ThirdItem(mainMenu)
ForuthItem(mainMenu)
SeventhItem(mainMenu)
FirstItem(mainMenu)
SecondItem(mainMenu)
elseif rank>20 then
ThirdItem(mainMenu)
ForuthItem(mainMenu)
SeventhItem(mainMenu)
FirstItem(mainMenu)
SecondItem(mainMenu)
else
ForuthItem(mainMenu)
SeventhItem(mainMenu)
FirstItem(mainMenu)
SecondItem(mainMenu)
end
_menuPool:RefreshIndex()
end
end)
Citizen.CreateThread(function()
while true do --
Citizen.Wait(0)
_menuPool:ProcessMenus()
if not IsPedInAnyVehicle(PlayerPedId()) and IsControlJustPressed(1, 243) then --Console
mainMenu:Visible(not mainMenu:Visible())
elseif IsPedInAnyVehicle(PlayerPedId()) and IsControlJustPressed(1, 243) then --Console
exports['mythic_notify']:SendAlert('error', 'Player is in Vehicle')
end
end
end)
此代码用于通过菜单生成车辆,但在运行代码时菜单会无限循环。 rank参数用于为具有一定级别的人打开特定的车辆类别。玩家的排名与 XP 系统脚本链接,并在打开菜单之前检索以检查排名并提供相应的可用类别
【问题讨论】:
您正在运行一个无限循环while true do
...您的实际问题是什么?
我不知道while true do
是一个无限循环,我该如何解决这个问题?我不是要运行无限循环,而是无限循环菜单
我建议您在继续使用此代码之前学习一些 Lua 基础知识。如果您不了解 Lua 的基本控制结构(例如 while 循环),您将无法理解复杂的代码,也无法修复任何错误。
好吧,尽管我使用多个 if 循环解决了这个问题
“如果循环”不存在
【参考方案1】:
只需创建一个布尔变量来定义循环是否已经运行。
例子:
local LoopRan = false
Citizen.CreateThread(function()
while true do
while LoopRan == false do
-- Do things
LoopRan = true
Citizen.Wait(1337)
end
end
end)
【讨论】:
以上是关于车辆生成菜单在lua中无限循环的主要内容,如果未能解决你的问题,请参考以下文章
C 语言文件操作 ( 配置文件读写 | 框架搭建 | 主函数逻辑结构 | 启动无限循环 | 接收用户操作值 | 宏定义 | 显示操作菜单 )
python-进程中的无限循环导致kivy实例产生forverer