This commit is contained in:
FullGas1
2025-04-04 21:52:40 +02:00
parent 7b7eb62bf0
commit 3c261e8dc2
+18 -13
View File
@@ -2045,16 +2045,21 @@ end
-- *************************************************************** -- ***************************************************************
function ctld.repackVehicle(_params, t) -- scan rrs table 'repackRequestsStack' to process each request function ctld.repackVehicle(_params, t) -- scan rrs table 'repackRequestsStack' to process each request
ctld.logTrace("FG_ XXXXXXXXXXXXXXXXXXXXXXXXXXX ctld.repackVehicle.ctld.repackRequestsStack XXXXXXXXXXXXXXXXXXXXXXXXXXX")
if t == nil then if t == nil then
t = timer.getTime() t = timer.getTime()
end end
if #ctld.repackRequestsStack ~= 0 then
ctld.logTrace("FG_ ctld.repackVehicle.ctld.repackRequestsStack = %s", ctld.p(ctld.repackRequestsStack)) ctld.logTrace("FG_ ctld.repackVehicle.ctld.repackRequestsStack = %s", ctld.p(ctld.repackRequestsStack))
end
--ctld.logTrace("FG_ ctld.repackVehicle._params = %s", ctld.p(mist.utils.tableShow(_params))) --ctld.logTrace("FG_ ctld.repackVehicle._params = %s", ctld.p(mist.utils.tableShow(_params)))
for ii, v in ipairs(ctld.repackRequestsStack) do for ii, v in ipairs(ctld.repackRequestsStack) do
local repackableUnitName = v[1].repackableUnitName ctld.logTrace("FG_ ctld.repackVehicle.v[%s] = %s", ii, ctld.p(v))
local repackableUnitName = v.repackableUnitName
local repackableUnit = Unit.getByName(repackableUnitName) local repackableUnit = Unit.getByName(repackableUnitName)
local crateWeight = v[1].weight local crateWeight = v.weight
local playerUnitName = v[1].playerUnitName local playerUnitName = v.playerUnitName
if repackableUnit then if repackableUnit then
if repackableUnit:isExist() then if repackableUnit:isExist() then
local PlayerTransportUnit = Unit.getByName(playerUnitName) local PlayerTransportUnit = Unit.getByName(playerUnitName)
@@ -2065,10 +2070,10 @@ function ctld.repackVehicle(_params, t) -- scan rrs table 'repackRequestsStack'
local playerPoint = PlayerTransportUnit:getPoint() local playerPoint = PlayerTransportUnit:getPoint()
local offset = 5 local offset = 5
local randomHeading = ctld.RandomReal(playerHeading - math.pi/4, playerHeading + math.pi/4) local randomHeading = ctld.RandomReal(playerHeading - math.pi/4, playerHeading + math.pi/4)
for i = 1, v[1].cratesRequired or 1 do for i = 1, v.cratesRequired or 1 do
-- see to spawn the crate at random position heading the transport unnit -- see to spawn the crate at random position heading the transport unnit
local _unitId = ctld.getNextUnitId() local _unitId = ctld.getNextUnitId()
local _name = string.format("%s_%i", v[1].desc, _unitId) local _name = string.format("%s_%i", v.desc, _unitId)
local secureDistance = ctld.getSecureDistanceFromUnit(playerUnitName) or 7 local secureDistance = ctld.getSecureDistanceFromUnit(playerUnitName) or 7
local relativePoint = ctld.getRelativePoint(playerPoint, secureDistance + (i * offset), randomHeading) -- 7 meters from the transport unit local relativePoint = ctld.getRelativePoint(playerPoint, secureDistance + (i * offset), randomHeading) -- 7 meters from the transport unit
local _point = ctld.getPointAt6Oclock(PlayerTransportUnit, 15) local _point = ctld.getPointAt6Oclock(PlayerTransportUnit, 15)
@@ -6002,11 +6007,11 @@ end
--****************************************************************************************************** --******************************************************************************************************
function ctld.buildPaginatedMenu(_menuEntries) function ctld.buildPaginatedMenu(_menuEntries)
ctld.logTrace("FG_ _menuEntries = [%s]", ctld.p(_menuEntries)) --ctld.logTrace("FG_ _menuEntries = [%s]", ctld.p(_menuEntries))
local nextSubMenuPath = "" local nextSubMenuPath = ""
local itemNbSubmenu = 0 local itemNbSubmenu = 0
for i, menu in ipairs(_menuEntries) do for i, menu in ipairs(_menuEntries) do
ctld.logTrace("FG_ boucle[%s].menu = %s", i, ctld.p(menu)) --ctld.logTrace("FG_ boucle[%s].menu = %s", i, ctld.p(menu))
if nextSubMenuPath ~= "" and menu.subMenuPath ~= nextSubMenuPath then if nextSubMenuPath ~= "" and menu.subMenuPath ~= nextSubMenuPath then
--ctld.logTrace("FG_ boucle[%s].nextSubMenuPath = %s", i, ctld.p(nextSubMenuPath)) --ctld.logTrace("FG_ boucle[%s].nextSubMenuPath = %s", i, ctld.p(nextSubMenuPath))
menu.subMenuPath = nextSubMenuPath menu.subMenuPath = nextSubMenuPath
@@ -6020,9 +6025,9 @@ function ctld.buildPaginatedMenu(_menuEntries)
--ctld.logTrace("FG_ boucle[%s].menu.subMenuPath apres = %s", i, ctld.p(menu.subMenuPath)) --ctld.logTrace("FG_ boucle[%s].menu.subMenuPath apres = %s", i, ctld.p(menu.subMenuPath))
itemNbSubmenu = 1 itemNbSubmenu = 1
end end
menu.menuArgsTable[1].subMenuPath = mist.utils.deepCopy(menu.subMenuPath) -- copy the table to avoid overwriting the same table in the next loop menu.menuArgsTable.subMenuPath = mist.utils.deepCopy(menu.subMenuPath) -- copy the table to avoid overwriting the same table in the next loop
menu.menuArgsTable[1].subMenuLineIndex = itemNbSubmenu menu.menuArgsTable.subMenuLineIndex = itemNbSubmenu
ctld.logTrace("FG_ boucle[%s] ctld.buildPaginatedMenu.menuArgsTable = %s", i, ctld.p(menu.menuArgsTable)) --ctld.logTrace("FG_ boucle[%s] ctld.buildPaginatedMenu.menuArgsTable = %s", i, ctld.p(menu.menuArgsTable))
missionCommands.addCommandForGroup(menu.groupId, menu.text, menu.subMenuPath, menu.menuFunction, menu.menuArgsTable) missionCommands.addCommandForGroup(menu.groupId, menu.text, menu.subMenuPath, menu.menuFunction, menu.menuArgsTable)
end end
end end
@@ -6044,7 +6049,7 @@ function ctld.updateRepackMenu(_playerUnitName)
missionCommands.removeItemForGroup(_groupId, RepackCommandsPath) -- remove existing "Repack Vehicles" menu missionCommands.removeItemForGroup(_groupId, RepackCommandsPath) -- remove existing "Repack Vehicles" menu
local RepackmenuPath = missionCommands.addSubMenuForGroup(_groupId,ctld.i18n_translate("Repack Vehicles"), ctld.vehicleCommandsPath[_playerUnitName]) local RepackmenuPath = missionCommands.addSubMenuForGroup(_groupId,ctld.i18n_translate("Repack Vehicles"), ctld.vehicleCommandsPath[_playerUnitName])
local menuEntries = {} local menuEntries = {}
ctld.logTrace("FG_ ctld.updateRepackMenu.repackableVehicles = %s", ctld.p(repackableVehicles)) --ctld.logTrace("FG_ ctld.updateRepackMenu.repackableVehicles = %s", ctld.p(repackableVehicles))
--for _, _vehicle in pairs(repackableVehicles) do --for _, _vehicle in pairs(repackableVehicles) do
for i, _vehicle in ipairs(repackableVehicles) do for i, _vehicle in ipairs(repackableVehicles) do
_vehicle.playerUnitName = _playerUnitName _vehicle.playerUnitName = _playerUnitName
@@ -6052,10 +6057,10 @@ function ctld.updateRepackMenu(_playerUnitName)
groupId = _groupId, groupId = _groupId,
subMenuPath = RepackmenuPath, subMenuPath = RepackmenuPath,
menuFunction = ctld.repackVehicleRequest, menuFunction = ctld.repackVehicleRequest,
menuArgsTable = {_vehicle} menuArgsTable = mist.utils.deepCopy(_vehicle)
}) })
end end
ctld.logTrace("FG_ menuEntries = %s", ctld.p(menuEntries)) --ctld.logTrace("FG_ menuEntries = %s", ctld.p(menuEntries))
ctld.buildPaginatedMenu(menuEntries) ctld.buildPaginatedMenu(menuEntries)
end end
end end