From e0e935450a16baea79407574c32b9d2789b1a296 Mon Sep 17 00:00:00 2001 From: Ambroise Garel <47314805+akaAgar@users.noreply.github.com> Date: Thu, 24 Jul 2025 10:27:13 +0200 Subject: [PATCH] Added checks for duplicate group/unit names --- Script/DCS extensions/UnitGroupMaker.lua | 26 ++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/Script/DCS extensions/UnitGroupMaker.lua b/Script/DCS extensions/UnitGroupMaker.lua index 3e54d0e..0a452b3 100644 --- a/Script/DCS extensions/UnitGroupMaker.lua +++ b/Script/DCS extensions/UnitGroupMaker.lua @@ -176,7 +176,7 @@ do ["type"] = typeName, ["unitId"] = unitID, ["rate"] = 100, - ["name"] = "Static #"..tostring(unitID), + ["name"] = "Structure #"..tostring(unitID), ["category"] = "Fortifications", ["y"] = point2.y, ["x"] = point2.x, @@ -366,10 +366,21 @@ do else setAircraftTaskOrbit(groupTable, options) end - groupCallsign = DCSEx.unitCallsignMaker.getCallsign(unitTypes[1]) + + if options.callsign then + groupCallsign = options.callsign + else + groupCallsign = DCSEx.unitCallsignMaker.getCallsign(unitTypes[1]) + end + groupTable.name = groupCallsign.name end + -- Group name already exists + while Group.getByName(groupTable.name) do + groupTable.name = groupTable.name.."-" + end + local unitsID = {} ----------------------- @@ -419,9 +430,11 @@ do unitTable.hardpoint_racks = true unitTable.psi = 1.7703702498393 + local callsignUnitIndex = i + (options.callsignOffset or 0) unitTable.callsign = DCSEx.table.deepCopy(groupCallsign) - unitTable.callsign.name = unitTable.callsign.name..tostring(i) - unitTable.callsign[3] = i + unitTable.callsign.name = unitTable.callsign.name..tostring(callsignUnitIndex) + unitTable.callsign[3] = callsignUnitIndex + unitTable.callsign[4] = unitTable.callsign.name unitTable.name = unitTable.callsign.name -- Special properties for unit @@ -450,6 +463,11 @@ do end end + -- Unit name already exists + while Unit.getByName(unitTable.name) do + unitTable.name = unitTable.name.."-" + end + table.insert(groupTable.units, unitTable) end