GROUP / customizes, TTS Callsigns

Added function to get customized TTS friendly callsigns from the GROUP
This commit is contained in:
Thomas 2022-09-12 14:38:44 +02:00 committed by GitHub
parent 3890375272
commit 53380409de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2767,94 +2767,82 @@ function GROUP:GetHighestThreat()
return nil, nil return nil, nil
end end
--do -- Smoke --- Get TTS friendly, optionally customized callsign mainly for **player groups**. A customized callsign is taken from the #GROUP name, after an optional '#' sign, e.g. "Aerial 1-1#Ghostrider" resulting in "Ghostrider 9", or,
-- if that isn't available, from the playername, as set in the mission editor main screen, after an optional '|' sign (actually, more of a personal call sign), e.g. "Apple|Moose" results in "Moose 9 1". Options see below.
-- @param #GROUP self
-- @param #boolean ShortCallsign Return a shortened customized callsign, i.e. "Ghostrider 9" and not "Ghostrider 9 1"
-- @param #boolean (Player only) Keepnumber Return customized callsign, incl optional numbers at the end, e.g. "Aerial 1-1#Ghostrider 109" results in "Ghostrider 109", if you want to e.g. use historical US Navy Callsigns
-- @param #table CallsignTranslations with DCS callsigns as keys and replacements as values
-- @return #string Callsign
-- @usage
-- -- Set Custom CAP Flight Callsigns for use with TTS
-- mygroup:GetCustomCallSign(true,false,{
-- Devil = 'Bengal',
-- Snake = 'Winder',
-- Colt = 'Camelot',
-- Enfield = 'Victory',
-- Uzi = 'Evil Eye'
-- })
-- --
----- Signal a flare at the position of the GROUP. -- results in this outcome if the group has Callsign "Enfield 9 1" on the 1st #UNIT of the group:
---- @param #GROUP self
---- @param Utilities.Utils#FLARECOLOR FlareColor
--function GROUP:Flare( FlareColor )
-- self:F2()
-- trigger.action.signalFlare( self:GetVec3(), FlareColor , 0 )
--end
-- --
----- Signal a white flare at the position of the GROUP. -- 'Victory 9'
---- @param #GROUP self
--function GROUP:FlareWhite()
-- self:F2()
-- trigger.action.signalFlare( self:GetVec3(), trigger.flareColor.White , 0 )
--end
-- --
----- Signal a yellow flare at the position of the GROUP. --
---- @param #GROUP self function GROUP:GetCustomCallSign(ShortCallsign,Keepnumber,CallsignTranslations)
--function GROUP:FlareYellow() self:T("GetCustomCallSign")
-- self:F2()
-- trigger.action.signalFlare( self:GetVec3(), trigger.flareColor.Yellow , 0 ) local callsign = "Ghost 1"
--end if self:IsAlive() then
-- local IsPlayer = self:IsPlayer()
----- Signal a green flare at the position of the GROUP. local shortcallsign = self:GetCallsign() or "unknown91" -- e.g.Uzi91, but we want Uzi 9 1
---- @param #GROUP self local callsignroot = string.match(shortcallsign, '(%a+)') -- Uzi
--function GROUP:FlareGreen() self:T("CallSign = " .. callsignroot)
-- self:F2() local groupname = self:GetName()
-- trigger.action.signalFlare( self:GetVec3(), trigger.flareColor.Green , 0 ) local callnumber = string.match(shortcallsign, "(%d+)$" ) or "91" -- 91
--end local callnumbermajor = string.char(string.byte(callnumber,1)) -- 9
-- local callnumberminor = string.char(string.byte(callnumber,2)) -- 1
----- Signal a red flare at the position of the GROUP. local personalized = false
---- @param #GROUP self if IsPlayer and string.find(groupname,"#") then
--function GROUP:FlareRed() -- personalized flight name in group naming
-- self:F2() if Keepnumber then
-- local Vec3 = self:GetVec3() shortcallsign = string.match(groupname,"#(.+)") -- Ghostrider 219
-- if Vec3 then else
-- trigger.action.signalFlare( Vec3, trigger.flareColor.Red, 0 ) shortcallsign = string.match(groupname,"#([%a]+)") -- Ghostrider
-- end end
--end personalized = true
-- elseif IsPlayer and string.find(self:GetPlayerName(),"|") then
----- Smoke the GROUP. -- personalized flight name in group naming
---- @param #GROUP self shortcallsign = string.match(Group:GetPlayerName(),"|([%a]+)") -- Ghostrider
--function GROUP:Smoke( SmokeColor, Range ) personalized = true
-- self:F2() end
-- if Range then
-- trigger.action.smoke( self:GetRandomVec3( Range ), SmokeColor ) if (not personalized) and CallsignTranslations and CallsignTranslations[callsignroot] then
-- else callsignroot = CallsignTranslations[callsignroot]
-- trigger.action.smoke( self:GetVec3(), SmokeColor ) end
-- end
-- if personalized then
--end -- player personalized callsign
-- if Keepnumber then
----- Smoke the GROUP Green. return shortcallsign -- Ghostrider 219
---- @param #GROUP self elseif ShortCallsign then
--function GROUP:SmokeGreen() callsign = shortcallsign.." "..callnumbermajor -- Ghostrider 9
-- self:F2() else
-- trigger.action.smoke( self:GetVec3(), trigger.smokeColor.Green ) callsign = shortcallsign.." "..callnumbermajor.." "..callnumberminor -- Ghostrider 9 1
--end end
-- return callsign
----- Smoke the GROUP Red. end
---- @param #GROUP self
--function GROUP:SmokeRed() -- AI or not personalized
-- self:F2() if ShortCallsign then
-- trigger.action.smoke( self:GetVec3(), trigger.smokeColor.Red ) callsign = callsignroot.." "..callnumbermajor -- Uzi/Victory 9
--end else
-- callsign = callsignroot.." "..callnumbermajor.." "..callnumberminor -- Uzi/Victory 9 1
----- Smoke the GROUP White. end
---- @param #GROUP self
--function GROUP:SmokeWhite() self:T("Generated Callsign = " .. callsign)
-- self:F2() end
-- trigger.action.smoke( self:GetVec3(), trigger.smokeColor.White )
--end return callsign
-- end
----- Smoke the GROUP Orange.
---- @param #GROUP self
--function GROUP:SmokeOrange()
-- self:F2()
-- trigger.action.smoke( self:GetVec3(), trigger.smokeColor.Orange )
--end
--
----- Smoke the GROUP Blue.
---- @param #GROUP self
--function GROUP:SmokeBlue()
-- self:F2()
-- trigger.action.smoke( self:GetVec3(), trigger.smokeColor.Blue )
--end
--
--
--
--end