我正在创建一个独立的车辆附加菜单。我的问题是,如果我产生A型车,它有4个额外的选择,他们的工作很好。但是,如果我产卵B车,它有8,菜单仍将只显示4从以前的汽车A,这是正确的,无论我离开汽车A或删除它。有什么好办法让它读正确的车吗?
local AvailableExtras = {['VehicleExtras'] = {}}
local Items = {['Vehicle'] = {}}
local MenuExists, Vehicle
_menuPool = NativeUI.CreatePool()
mainMenu = NativeUI.CreateMenu("Vehicle Extras", "~b~Select Extras")
_menuPool:Add(mainMenu)
_menuPool:MouseControlsEnabled (false);
_menuPool:MouseEdgeEnabled (false);
_menuPool:ControlDisablingEnabled(false);
Citizen.CreateThread(function()
while true do
Citizen.Wait(0)
_menuPool:MouseControlsEnabled (false);
_menuPool:MouseEdgeEnabled (false);
_menuPool:ControlDisablingEnabled(false)
_menuPool:ProcessMenus()
if IsControlJustPressed(1, 56) then
mainMenu:Visible(not mainMenu:Visible())
end
end
end)
function Extras(menu)
local AvailableExtras = {['VehicleExtras'] = {}}
local Items = {['Vehicle'] = {}}
local MenuExists
local Vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
local GotVehicleExtras = false
for ExtraID = 0, 20 do
if DoesExtraExist(Vehicle, ExtraID) then
AvailableExtras.VehicleExtras[ExtraID] = (IsVehicleExtraTurnedOn(Vehicle, ExtraID) == 1)
GotVehicleExtras = true
end
end
-- Vehicle Extras
if GotVehicleExtras then
for Key, Value in pairs(AvailableExtras.VehicleExtras) do
local ExtraItem = NativeUI.CreateCheckboxItem('Extra ' .. Key, AvailableExtras.VehicleExtras[Key],Vehicle)
mainMenu:AddItem(ExtraItem)
Items.Vehicle[Key] = ExtraItem
end
menu.OnCheckboxChange = function(Sender, Item, Checked)
for Key, Value in pairs(Items.Vehicle) do
if Item == Value then
AvailableExtras.VehicleExtras[Key] = Checked
if AvailableExtras.VehicleExtras[Key] then
SetVehicleExtra(Vehicle, Key, 0)
else
SetVehicleExtra(Vehicle, Key, 1)
end
end
end
end
end
end
Extras(mainMenu)
_menuPool:RefreshIndex()发布于 2020-02-29 04:16:45
修好了
while true do
Citizen.Wait(0)
_menuPool:MouseControlsEnabled (false);
_menuPool:MouseEdgeEnabled (false);
_menuPool:ControlDisablingEnabled(false)
_menuPool:ProcessMenus()
if IsControlJustPressed(1, 56) then
Extras(mainMenu)
mainMenu:Visible(not mainMenu:Visible())
end
end
end)
function Extras(menu)
mainMenu:Clear()
local AvailableExtras = {['VehicleExtras'] = {}}
local Items = {['Vehicle'] = {}}
local MenuExists
local Vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
local GotVehicleExtras = false
for ExtraID = 0, 20 do
if DoesExtraExist(Vehicle, ExtraID) then
AvailableExtras.VehicleExtras[ExtraID] = (IsVehicleExtraTurnedOn(Vehicle, ExtraID) == 1)
GotVehicleExtras = true
end
end
-- Vehicle Extras
if GotVehicleExtras then
for Key, Value in pairs(AvailableExtras.VehicleExtras) do
local ExtraItem = NativeUI.CreateCheckboxItem('Extra ' .. Key, AvailableExtras.VehicleExtras[Key],"Enable or Disable Extras")
mainMenu:AddItem(ExtraItem)
Items.Vehicle[Key] = ExtraItem
end
menu.OnCheckboxChange = function(Sender, Item, Checked)
for Key, Value in pairs(Items.Vehicle) do
if Item == Value then
AvailableExtras.VehicleExtras[Key] = Checked
if AvailableExtras.VehicleExtras[Key] then
SetVehicleExtra(Vehicle, Key, 0)
else
SetVehicleExtra(Vehicle, Key, 1)
end
end
end
end
end
end```https://stackoverflow.com/questions/60402001
复制相似问题