From 807e81e38981816d53044dfc47855c48f4a20ada Mon Sep 17 00:00:00 2001 From: FullGas1 <51051389+FullGas1@users.noreply.github.com> Date: Sun, 20 Apr 2025 14:51:25 +0200 Subject: [PATCH] debug #137 --- CTLD.lua | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/CTLD.lua b/CTLD.lua index c2b60cc..2fc34b4 100644 --- a/CTLD.lua +++ b/CTLD.lua @@ -6058,9 +6058,19 @@ function ctld.buildPaginatedMenu(_menuEntries) end end +--****************************************************************************************************** +-- return true if _typeUnitDesc already exist in _repackableVehiclesTable +-- ex: ctld.isUnitInrepackableVehicles(repackableTable, "Humvee - TOW") +function ctld.isUnitInrepackableVehicles(_repackableVehiclesTable, _typeUnitDesc) + for i=1, #_repackableVehiclesTable do + if _repackableVehiclesTable[i].desc == _typeUnitDesc then + return true + end + end + return false +end --****************************************************************************************************** function ctld.updateRepackMenu(_playerUnitName) - --ctld.logTrace("FG_ _playerUnitName = %s", ctld.p(_playerUnitName)) local playerUnit = ctld.getTransportUnit(_playerUnitName) if playerUnit then local _unitTypename = playerUnit:getTypeName() @@ -6075,16 +6085,18 @@ function ctld.updateRepackMenu(_playerUnitName) missionCommands.removeItemForGroup(_groupId, RepackCommandsPath) -- remove existing "Repack Vehicles" menu local RepackmenuPath = missionCommands.addSubMenuForGroup(_groupId,ctld.i18n_translate("Repack Vehicles"), ctld.vehicleCommandsPath[_playerUnitName]) local menuEntries = {} - --ctld.logTrace("FG_ ctld.updateRepackMenu.repackableVehicles = %s", ctld.p(repackableVehicles)) - --for _, _vehicle in pairs(repackableVehicles) do for i, _vehicle in ipairs(repackableVehicles) do - _vehicle.playerUnitName = _playerUnitName - table.insert(menuEntries, { text = ctld.i18n_translate("repack ") .. _vehicle.unit, - groupId = _groupId, - subMenuPath = RepackmenuPath, - menuFunction = ctld.repackVehicleRequest, - menuArgsTable = mist.utils.deepCopy(_vehicle) - }) + if ctld.isUnitInrepackableVehicles(menuEntries, _vehicle.desc) == false then + _vehicle.playerUnitName = _playerUnitName + ctld.logTrace("FG_ ctld.updateRepackMenu PASS") + table.insert(menuEntries, { text = ctld.i18n_translate("repack ") .. _vehicle.unit, + groupId = _groupId, + subMenuPath = RepackmenuPath, + menuFunction = ctld.repackVehicleRequest, + menuArgsTable = mist.utils.deepCopy(_vehicle), + desc = _vehicle.desc + }) + end end --ctld.logTrace("FG_ menuEntries = %s", ctld.p(menuEntries)) ctld.buildPaginatedMenu(menuEntries)