mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
GROUP / customizes, TTS Callsigns
Added function to get customized TTS friendly callsigns from the GROUP
This commit is contained in:
parent
3890375272
commit
53380409de
@ -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
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user