From 7d97549cc590748185dbebff129fbcdc9831cffc Mon Sep 17 00:00:00 2001 From: Ambroise Garel <47314805+akaAgar@users.noreply.github.com> Date: Thu, 24 Jul 2025 10:27:00 +0200 Subject: [PATCH] Now generate proper callsigns for wingmen --- Script/The Universal Mission/SupportWingmen.lua | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/Script/The Universal Mission/SupportWingmen.lua b/Script/The Universal Mission/SupportWingmen.lua index 1253529..c22ca57 100644 --- a/Script/The Universal Mission/SupportWingmen.lua +++ b/Script/The Universal Mission/SupportWingmen.lua @@ -150,23 +150,33 @@ do local player = world:getPlayer() if not player then return end + -- Retrive player unit type local playerTypeName = player:getTypeName() - if not Library.aircraft[playerTypeName] then TUM.log("Cannot spawn AI wingmen, aircraft \""..playerTypeName.."\" not found in the database.", TUM.logLevel.WARNING) return end - local playerCategory = Group.Category.AIRPLANE if player:hasAttribute("Helicopters") then playerCategory = Group.Category.HELICOPTER end -- Player is a helicopter + -- Generate wingman callsign + local wingmanCallsign = DCSEx.envMission.getPlayerGroups()[1].units[1].callsign + if type(wingmanCallsign) == "table" then + wingmanCallsign[3] = nil + wingmanCallsign["name"] = wingmanCallsign["name"]:sub(1, #wingmanCallsign["name"] - 1) + if wingmanCallsign[4] then wingmanCallsign[4] = wingmanCallsign["name"] end + else + wingmanCallsign = DCSEx.unitCallsignMaker.getCallsign(playerTypeName) + end + local groupInfo = DCSEx.unitGroupMaker.create( TUM.settings.getPlayerCoalition(), playerCategory, DCSEx.math.randomPointInCircle(DCSEx.math.vec3ToVec2(player:getPoint()), 500, 250), { playerTypeName, playerTypeName }, { - callsign = DCSEx.unitCallsignMaker.getNextGroupCallSign(player:getCallsign()), + callsign = wingmanCallsign, + callsignOffset = 1, silenced = true, taskFollow = DCSEx.dcs.getObjectIDAsNumber(player:getGroup()), unlimitedFuel = true