mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Fix plugins.json & moose plugins (#574)
This commit is contained in:
833
resources/plugins/MooseSoundhandler/Plugin_Soundhandler.lua
Normal file
833
resources/plugins/MooseSoundhandler/Plugin_Soundhandler.lua
Normal file
@@ -0,0 +1,833 @@
|
||||
-- Do not edit this line or the following line
|
||||
-- assert(loadfile("C:\\Users\\Taco\\Documents\\Github\\SoundHandler\\SoundHandlerByTaco.lua"))()
|
||||
MESSAGE:New("*SOUNDHANDLER 0.1 LOADING*", 5, "MISSION", false):ToAll():ToLog()
|
||||
|
||||
Soundhandler_options = {
|
||||
["SoundsToGroupOnly"] = true,
|
||||
["ShipSamSounds"] = false,
|
||||
["RedShootingSounds"] = true,
|
||||
["Debug"] = false
|
||||
}
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
-- USER SETTINGS
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
-- On/Off?
|
||||
SoundHandler = true
|
||||
-- Do you want ALL Clients to hear sounds, or only those associated with the sound event?
|
||||
SoundOnlyToGroup = Soundhandler_options
|
||||
.SoundsToGroupOnly -- true means only the affected group will hear the sound. False will play to all. If no valid group is associated with the EVENT, sound will play to all.
|
||||
-- Quick fix: SAMs and Red Missiles will play to Target Group ONLY
|
||||
|
||||
-- Do you want ship firing SAMs to play SAM Sounds?
|
||||
ShipSamSounds = Soundhandler_options.ShipSamSounds -- true means they will play sounds with each missile launched
|
||||
|
||||
-- Do you want red airplanes to play sounds when they fire their gun cannons?
|
||||
PlayRedShootingGuns = Soundhandler_options.RedShootingSounds -- true means they will play sounds with each gun burst
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
-- DEBUG
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
SoundDebug = Soundhandler_options.Debug -- Will enable messages on-screen and in log
|
||||
|
||||
if SoundDebug then
|
||||
trigger.action.outText("---SOUND DEBUG IS ON!---", 10)
|
||||
|
||||
if SoundHandler then
|
||||
trigger.action.outText("Soundhandler ON!", 10)
|
||||
else
|
||||
trigger.action.outText("Soundhandler OFF!", 10)
|
||||
end
|
||||
|
||||
if SoundOnlyToGroup then
|
||||
trigger.action.outText("Sounds will only play to the involved GROUP", 10)
|
||||
else
|
||||
trigger.action.outText("Sounds will play to ALL Clients", 10)
|
||||
end
|
||||
|
||||
if ShipSamSounds then
|
||||
trigger.action.outText("Ships firing SAMs will play sounds", 10)
|
||||
else
|
||||
trigger.action.outText("Ships firing SAMs will NOT play sounds", 10)
|
||||
end
|
||||
|
||||
if PlayRedShootingGuns then
|
||||
trigger.action.outText("Red Airplane Gun Bursts will play sounds", 10)
|
||||
else
|
||||
trigger.action.outText("Red Airplane Gun Bursts will NOT play sounds", 10)
|
||||
end
|
||||
end
|
||||
|
||||
-- Debug output to DCS log
|
||||
env.info("--------- SoundsToGroupOnly=" .. tostring(SoundOnlyToGroup) ..
|
||||
" | ShipSamSounds=" .. tostring(ShipSamSounds) ..
|
||||
" | RedShootingSounds=" .. tostring(PlayRedShootingGuns) ..
|
||||
" | Debug=" .. tostring(SoundDebug))
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
-- SOUNDS FILEPATH
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
SoundFilePath = ""
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
-- SOUND FILES
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
-- Global Sound Tables (make sure you have all these files, named exactly like these, loaded into the .mix file)
|
||||
Sounds = {}
|
||||
-- A2A Kill Sound Table
|
||||
Sounds.Air_Unit_Sound_Table = { "AAGoodKill", "AAKill4", "AAKillGoodhiton1", "AAKillSplash", "AAKillSplashone",
|
||||
"AASplashOne", "AASplashOne_2" }
|
||||
-- Red Jet Missile Sound Table
|
||||
Sounds.RedMissile_Sound_Table = { "Misil1", "Misil2", "Misil3", "Misil4", "Misil5", "Misil6" }
|
||||
-- Red Ground Unit Dead Sound Table
|
||||
Sounds.Ground_Unit_Sound_Table = { "AGKillBOOM1", "AGKillCOMEONBABY", "AGKillGoodBOOM", "AGKillSeeTheSmoke",
|
||||
"AGKill_TARGET_DESTROYED", "AGKillBeautiful_beautiful", "AGKillMotherFucker" }
|
||||
-- SAM Sound Table
|
||||
Sounds.SamSoundTable = { "SAM1", "SAM2", "SAM3", "SAM4", "SAM5", "SAM6", "SAM7", "Defending", "Singer" }
|
||||
-- Balistic Missile Launch Table
|
||||
Sounds.Ballistic = { "SCUD_Long", "Fireball" }
|
||||
-- AGM_154 Sound Table
|
||||
Sounds.PigsAway_Sound_Table = { "PigsAway", "PigsAway2" }
|
||||
-- Paveway_Sound_Table for LGBs
|
||||
Sounds.Paveway_Sound_Table = { "Paveway" }
|
||||
-- Bruiser Sound Table for Harpoons
|
||||
Sounds.Bruiser_Sound_Table = { "Bruiser", "Bruiser2", "Bruiser3" }
|
||||
-- Fox 2 Sound Table
|
||||
Sounds.Fox2_Sound_Table = { "Fox2A", "Fox2B", "Fox2C", "Fox2D", "Fox2E" }
|
||||
-- Fox 3 Sound Table
|
||||
Sounds.Fox3_Sound_Table = { "Fox3A", "Fox3B", "Fox3C", "Fox3D", "Fox3E", "Fox3F" }
|
||||
-- Fox 1 Sound Table
|
||||
Sounds.Fox1_Sound_Table = { "Fox1A", "Fox1B" }
|
||||
-- Magnum Sound Table
|
||||
Sounds.Magnum_Sound_Table = { "Magnum", "Magnum2" }
|
||||
-- Rifle Sound Table
|
||||
Sounds.Rifle_Sound_Table = { "RifleA", "RifleB", "RifleC", "RifleD", "RifleE" }
|
||||
-- Pickle Sound Table
|
||||
Sounds.Pickle_Sound_Table = { "Pickle1", "Pickle2", "Pickle3", "Pickle4", "Pickle5", "Pickle6", "Pickle7" }
|
||||
-- Blue Air Unit Dead Sound Table
|
||||
Sounds.Blue_Air_Unit_Sound_Table = { "OhJesus", "SOS_Beacon", "HitEjecting1", "HitEjecting2", "HitEjecting3" } -- just for fun
|
||||
-- Blue Guns Sounds
|
||||
Sounds.Blue_Guns_Table = { "BlueGuns1", "BlueGuns2", "BlueGuns3" }
|
||||
-- Red Guns Sounds
|
||||
Sounds.Red_Guns_Table = { "Guns_Break_Right", "Guns_Break_Left" }
|
||||
-- Blue Decoy Sounds
|
||||
Sounds.Decoy_Table = { "A2G_Duck1" }
|
||||
-- Blue Cruise Missile Sounds
|
||||
Sounds.CruiseMissile_Table = { "A2G_Greyhound1" }
|
||||
-- Red Anti-Ship Missile Sounds
|
||||
Sounds.Vampires_Table = { "A2G_Vampires1" }
|
||||
-- Blue Tomahawk/Ship-Launched Cruise Missile Sounds
|
||||
Sounds.Tomahawk_Table = { "S2G_Tomahawk1" }
|
||||
-- Friendly Fire Sounds
|
||||
Sounds.Friendly_Fire_Table = { "FriendlyFire1", "FriendlyFire2" }
|
||||
-- Friendly SAM Sounds
|
||||
Sounds.Friendly_SAM_Table = { "BirdsAway" }
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
-- PRINT SOUNDS
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
if SoundDebug then
|
||||
for _, tbl in pairs(Sounds) do
|
||||
local txt = UTILS.OneLineSerialize(tbl)
|
||||
env.info("EventData Debug: " .. txt)
|
||||
trigger.action.outText("Sounds Loaded: " .. txt, 10)
|
||||
end
|
||||
end
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
-- EVENT HANDLERS
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
EventHandler = EVENTHANDLER:New()
|
||||
EventHandler:HandleEvent(EVENTS.Shot)
|
||||
EventHandler:HandleEvent(EVENTS.Kill)
|
||||
EventHandler:HandleEvent(EVENTS.Dead)
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
-- KILL EVENTS
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
function EventHandler:OnEventKill(EventData)
|
||||
-- UTILS.PrintTableToLog(EventData)
|
||||
|
||||
if SoundHandler then
|
||||
if SoundDebug then
|
||||
BASE:I("---------KILL DETECTED: EVALUATING FOR COALITION & TYPE----------")
|
||||
BASE:I(EventData)
|
||||
end
|
||||
|
||||
-- KILL SECTION (BLUE KILLS RED)
|
||||
if EventData.IniCoalition == coalition.side.BLUE or EventData.TgtCoalition == coalition.side.RED then
|
||||
if SoundDebug then BASE:I("BLUE UNIT KILLED RED...") end
|
||||
if (EventData.TgtCategory == 0 or EventData.TgtCategory == 1) and EventData.TgtObjectCategory == 1 and
|
||||
GROUP:FindByName(EventData.IniGroupName):IsAirPlane() then -- 0 is plane, 1 is helo https://wiki.hoggitworld.com/view/DCS_Class_Unit
|
||||
if SoundDebug then BASE:I("...AIRPLANE") end
|
||||
|
||||
random_Air_Unit_Sound = Sounds.Air_Unit_Sound_Table[math.random(1, #Sounds.Air_Unit_Sound_Table)]
|
||||
local Air_Unit_Sound_Ogg = random_Air_Unit_Sound .. ".ogg"
|
||||
-- Sound Chosen
|
||||
RedA2ASound = USERSOUND:New(SoundFilePath .. Air_Unit_Sound_Ogg)
|
||||
-- Determine who to play sound to
|
||||
if EventData.IniGroup and SoundOnlyToGroup then
|
||||
local SoundGroup = EventData.IniGroup
|
||||
if SoundDebug then
|
||||
BASE:I("-----SOUNDFILE PLAYED is " ..
|
||||
random_Air_Unit_Sound .. " TO " .. SoundGroup:GetName())
|
||||
end
|
||||
RedA2ASound:ToGroup(SoundGroup)
|
||||
if SoundDebug then
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. random_Air_Unit_Sound .. " TO " ..
|
||||
SoundGroup:GetName(), 10)
|
||||
end
|
||||
else
|
||||
RedA2ASound:ToCoalition(coalition.side.BLUE)
|
||||
if SoundDebug then BASE:I("-----SOUNDFILE PLAYED is " .. random_Air_Unit_Sound .. " TO ALL-----") end
|
||||
if SoundDebug then
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. random_Air_Unit_Sound .. " TO ALL", 10)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if EventData.IniGroupName then -- If we don't have an IniGroupName, then don't proceed
|
||||
if EventData.TgtCategory == 2 and EventData.IniCoalition ~= EventData.TgtCoalition and
|
||||
GROUP:FindByName(EventData.IniGroupName):IsAirPlane() and EventData.TgtObjectCategory == 1 then -- TgtCategory 2 is Ground, TgtObjectCategory is Unit
|
||||
if SoundDebug then BASE:I("...GROUND UNIT (KILLED BY A BLUE AIRPLANE)") end
|
||||
|
||||
math.random()
|
||||
random_Ground_Unit_Sound = Sounds.Ground_Unit_Sound_Table[math.random(1,
|
||||
#Sounds.Ground_Unit_Sound_Table)]
|
||||
local Ground_Unit_Sound_Ogg = random_Ground_Unit_Sound .. ".ogg"
|
||||
-- Sound Chosen
|
||||
RedGroundKillSound = USERSOUND:New(SoundFilePath .. Ground_Unit_Sound_Ogg)
|
||||
-- Determine who to play sound to
|
||||
if EventData.IniGroup and SoundOnlyToGroup then
|
||||
local SoundGroup = EventData.IniGroup
|
||||
BASE:I("-----SOUNDFILE PLAYED is " .. random_Ground_Unit_Sound .. " TO " .. SoundGroup:GetName())
|
||||
RedGroundKillSound:ToGroup(SoundGroup)
|
||||
if SoundDebug then
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. random_Ground_Unit_Sound .. " TO " ..
|
||||
SoundGroup:GetName(), 10)
|
||||
end
|
||||
else
|
||||
RedGroundKillSound:ToCoalition(coalition.side.BLUE)
|
||||
BASE:I("-----SOUNDFILE PLAYED is " .. random_Ground_Unit_Sound .. " TO ALL-----")
|
||||
if SoundDebug then
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. random_Ground_Unit_Sound .. " TO ALL",
|
||||
10)
|
||||
end
|
||||
end
|
||||
end
|
||||
else
|
||||
env.info("-----No EventData.IniGroupName-----")
|
||||
end
|
||||
|
||||
if EventData.IniGroupName then -- If we don't have an IniGroupName, then don't proceed
|
||||
if EventData.TgtCategory == 3 and EventData.TgtObjectCategory == 1 and
|
||||
GROUP:FindByName(EventData.IniGroupName):IsAirPlane() then -- 3 is Ship
|
||||
BASE:I("...SHIP")
|
||||
math.random()
|
||||
random_Ground_Unit_Sound = Sounds.Ground_Unit_Sound_Table[math.random(1,
|
||||
#Sounds.Ground_Unit_Sound_Table)]
|
||||
local Ground_Unit_Sound_Ogg = random_Ground_Unit_Sound .. ".ogg"
|
||||
-- Sound Chosen
|
||||
RedGroundKillSound = USERSOUND:New(SoundFilePath .. Ground_Unit_Sound_Ogg)
|
||||
-- Determine who to play sound to
|
||||
if EventData.IniGroup and SoundOnlyToGroup then
|
||||
local SoundGroup = EventData.IniGroup
|
||||
BASE:I("-----SOUNDFILE PLAYED is " .. random_Ground_Unit_Sound .. " TO " .. SoundGroup:GetName())
|
||||
RedGroundKillSound:ToGroup(SoundGroup)
|
||||
if SoundDebug then
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. random_Ground_Unit_Sound .. " TO " ..
|
||||
SoundGroup:GetName(), 10)
|
||||
end
|
||||
else
|
||||
RedGroundKillSound:ToCoalition(coalition.side.BLUE)
|
||||
BASE:I("-----SOUNDFILE PLAYED is " .. random_Ground_Unit_Sound .. " TO ALL-----")
|
||||
if SoundDebug then
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. random_Ground_Unit_Sound .. " TO ALL",
|
||||
10)
|
||||
end
|
||||
end
|
||||
end
|
||||
else
|
||||
env.info("-----No EventData.IniGroupName-----")
|
||||
end
|
||||
end
|
||||
|
||||
-- Blue Dead, and/or Initiated by Red, and its a Plane
|
||||
if (EventData.IniCoalition == coalition.side.RED and EventData.TgtCoalition == coalition.side.BLUE) and
|
||||
EventData.TgtCategory == 0 then
|
||||
if EventData.TgtGroupName then
|
||||
BASE:I("---------BLUE UNIT GOT KILLED---------(" .. EventData.TgtGroupName .. ")")
|
||||
else
|
||||
BASE:I("---------BLUE UNIT GOT KILLED--------- (No Name)")
|
||||
end
|
||||
random_Blue_Air_Unit_Sound = Sounds.Blue_Air_Unit_Sound_Table[math.random(1,
|
||||
#Sounds.Blue_Air_Unit_Sound_Table)]
|
||||
local Blue_Air_Unit_Sound_Ogg = random_Blue_Air_Unit_Sound .. ".ogg"
|
||||
|
||||
A2GSound = USERSOUND:New(SoundFilePath .. Blue_Air_Unit_Sound_Ogg)
|
||||
A2GSound:ToCoalition(coalition.side.BLUE)
|
||||
BASE:I("---------SOUNDFILE PLAYED---------is " .. Blue_Air_Unit_Sound_Ogg)
|
||||
if SoundDebug then
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. Blue_Air_Unit_Sound_Ogg .. " TO ALL", 10)
|
||||
end
|
||||
end
|
||||
|
||||
-- Blue Dead, and Initiated by Blue, and its a Plane
|
||||
if (EventData.IniCoalition == coalition.side.BLUE and EventData.TgtCoalition == coalition.side.BLUE) and
|
||||
EventData.TgtCategory == 0 then
|
||||
if EventData.TgtGroupName then
|
||||
BASE:I("---------BLUE ON BLUE---------(" .. EventData.TgtGroupName .. ")")
|
||||
else
|
||||
BASE:I("---------BLUE ON BLUE--------- (No Name)")
|
||||
end
|
||||
random_Friendly_Fire_Sound = Sounds.Friendly_Fire_Table[math.random(1, #Sounds.Friendly_Fire_Table)]
|
||||
local Friendly_Fire_Sound_Ogg = random_Friendly_Fire_Sound .. ".ogg"
|
||||
FFSound = USERSOUND:New(SoundFilePath .. Friendly_Fire_Sound_Ogg)
|
||||
|
||||
if EventData.IniGroup and SoundOnlyToGroup then
|
||||
local SoundGroup = EventData.IniGroup
|
||||
BASE:I("-----SOUNDFILE PLAYED is " .. random_Friendly_Fire_Sound .. " TO " .. SoundGroup:GetName())
|
||||
FFSound:ToGroup(SoundGroup)
|
||||
if SoundDebug then
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. random_Friendly_Fire_Sound .. " TO " ..
|
||||
SoundGroup:GetName(), 10)
|
||||
end
|
||||
else
|
||||
FFSound:ToCoalition(coalition.side.BLUE)
|
||||
BASE:I("-----SOUNDFILE PLAYED is " .. random_Friendly_Fire_Sound .. " TO ALL-----")
|
||||
if SoundDebug then
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. random_Friendly_Fire_Sound .. " TO ALL", 10)
|
||||
end
|
||||
end
|
||||
end
|
||||
end -- end of If SoundHandler
|
||||
end -- KILL EventHandler Function End
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
-- DEAD EVENTS
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
function EventHandler:OnEventDead(EventData)
|
||||
if SoundHandler then
|
||||
if SoundDebug then
|
||||
BASE:I("---------DEAD DETECTED: EVALUATING FOR COALITION & TYPE----------")
|
||||
BASE:I(EventData)
|
||||
end
|
||||
|
||||
-- STATIC SECTION
|
||||
if EventData.IniObjectCategory == 3 then -- STATIC DEAD
|
||||
if EventData.IniCoalition == 1 then -- RED STATIC DEAD
|
||||
BASE:I("RED STATIC DEAD")
|
||||
random_Ground_Unit_Sound =
|
||||
Sounds.Ground_Unit_Sound_Table[math.random(1, #Sounds.Ground_Unit_Sound_Table)]
|
||||
local Ground_Unit_Sound_Ogg = random_Ground_Unit_Sound .. ".ogg"
|
||||
-- Sounnd Chosen
|
||||
RedStaticKillSound = USERSOUND:New(SoundFilePath .. Ground_Unit_Sound_Ogg)
|
||||
-- Determine who to play sound to
|
||||
if EventData.IniGroup and SoundOnlyToGroup then
|
||||
local SoundGroup = EventData.IniGroup
|
||||
BASE:I("-----SOUNDFILE PLAYED is " .. random_Ground_Unit_Sound .. " TO " .. SoundGroup:GetName())
|
||||
RedStaticKillSound:ToGroup(SoundGroup)
|
||||
if SoundDebug then
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. random_Ground_Unit_Sound .. " TO " ..
|
||||
SoundGroup:GetName(), 10)
|
||||
end
|
||||
elseif not EventData.IniGroup and SoundOnlyToGroup then
|
||||
env.info("-----NO EventData.IniGroup Available-----")
|
||||
end
|
||||
|
||||
if not SoundOnlyToGroup then
|
||||
env.info("-----SOUND INTENDED FOR ALL-----")
|
||||
RedStaticKillSound:ToCoalition(coalition.side.BLUE)
|
||||
BASE:I("-----SOUNDFILE PLAYED is " .. random_Ground_Unit_Sound .. " TO ALL-----")
|
||||
if SoundDebug then
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. random_Ground_Unit_Sound .. " TO ALL", 10)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if EventData.IniCoalition == 2 then -- BLUE STATIC DEAD
|
||||
-- Consider if we want sounds for this
|
||||
BASE:I("---------BLUE STATIC DEAD, NO SOUND FOR NOW----------")
|
||||
end
|
||||
end -- Static Logic End
|
||||
end -- End of If Soundhandler
|
||||
end -- DEAD EventHandler Function End
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
-- SHOT EVENTS
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
function EventHandler:OnEventShot(EventData)
|
||||
if SoundDebug then
|
||||
BASE:I("---------SHOT DETECTED: EVALUATING FOR COALITION & WEAPON----------")
|
||||
-- UTILS.PrintTableToLog(EventData)
|
||||
BASE:I(EventData)
|
||||
end
|
||||
math.random()
|
||||
local WeaponDesc = EventData.Weapon:getDesc()
|
||||
if SoundDebug then
|
||||
BASE:I({ WeaponDesc })
|
||||
end
|
||||
local Brevity = "none"
|
||||
soundDelay = false
|
||||
if SoundHandler then
|
||||
-- Weapon data.
|
||||
local _weapon = EventData.Weapon:getTypeName() -- should be the same as Event.WeaponTypeName
|
||||
local _weaponStrArray = UTILS.Split(_weapon, "%.")
|
||||
local _weaponName = _weaponStrArray[#_weaponStrArray]
|
||||
|
||||
-- Weapon descriptor.
|
||||
local desc = EventData.Weapon:getDesc()
|
||||
|
||||
-- Weapon category: 0=SHELL, 1=MISSILE, 2=ROCKET, 3=BOMB (Weapon.Category.X)
|
||||
local weaponcategory = desc.category
|
||||
local weaponguidance = WeaponDesc.guidance
|
||||
|
||||
-- Debug info.
|
||||
|
||||
if SoundDebug then
|
||||
BASE:I("-----PREPARING GENERAL SHOT INFORMATION...------")
|
||||
|
||||
if EventData.IniUnitName then
|
||||
BASE:I("EVENT SHOT: Ini unit = " .. EventData.IniUnitName)
|
||||
end
|
||||
if EventData.IniGroupName then
|
||||
BASE:I("EVENT SHOT: Ini group = " .. EventData.IniGroupName)
|
||||
end
|
||||
|
||||
BASE:I("EVENT SHOT: Weapon type = " .. _weapon)
|
||||
BASE:I("EVENT SHOT: Weapon name = " .. _weaponName)
|
||||
|
||||
if weaponcategory then
|
||||
BASE:I("EVENT SHOT: Weapon category = " .. weaponcategory)
|
||||
else
|
||||
BASE:I('NO WEAPON CATEGORY VALUE')
|
||||
end
|
||||
if weaponguidance then
|
||||
BASE:I("EVENT SHOT: Weapon guidance = " .. weaponguidance)
|
||||
else
|
||||
BASE:I('NO WEAPON GUIDANCE VALUE')
|
||||
end
|
||||
end
|
||||
|
||||
-- Blue and a SAM
|
||||
|
||||
if EventData.IniCoalition == 2 and GROUP:FindByName(EventData.IniGroupName):IsSAM() then
|
||||
BASE:I("BLUE SAM SHOT CONFIRMED")
|
||||
RandomBlueSamSound = Sounds.Friendly_SAM_Table[math.random(1, #Sounds.Friendly_SAM_Table)]
|
||||
Brevity = tostring(RandomBlueSamSound)
|
||||
BASE:I("---------RANDOM FRIENDLY SAM SOUND IS " .. Brevity)
|
||||
end
|
||||
|
||||
-- Blue and an Airplane
|
||||
if EventData.IniCoalition == 2 and GROUP:FindByName(EventData.IniGroupName):IsAirPlane() then
|
||||
BASE:I("BLUE AIRPLANE SHOT CONFIRMED")
|
||||
|
||||
-- We want a specific sound for a glide weapon, so it needs to be added manually.
|
||||
if _weapon == "AGM_154" or _weapon == "AGM_154A" then
|
||||
math.random()
|
||||
RandomPigsAwaySound = Sounds.PigsAway_Sound_Table[math.random(1, #Sounds.PigsAway_Sound_Table)]
|
||||
Brevity = tostring(RandomPigsAwaySound)
|
||||
BASE:I("---------RANDOM PIGS AWAY SOUND IS " .. Brevity)
|
||||
|
||||
-- DCS mis-classifies the GBU_32_V_2B, so it needs to be added manually.
|
||||
|
||||
-- Duck for ADMs
|
||||
elseif string.find(_weapon, "ADM", 1, true) then
|
||||
math.random()
|
||||
RandomDuckSound = Sounds.Decoy_Table[math.random(1, #Sounds.Decoy_Table)]
|
||||
Brevity = tostring(RandomDuckSound)
|
||||
BASE:I("---------RANDOM DUCK SOUND IS " .. Brevity)
|
||||
elseif WeaponDesc.category == 3 and WeaponDesc.guidance == 1 or _weapon == "GBU_32_V_2B" or
|
||||
string.find(_weapon, "MK", 1, true) or string.find(_weapon, "ROCKEYE", 1, true) then
|
||||
math.random()
|
||||
math.random()
|
||||
RandomPickleSound = Sounds.Pickle_Sound_Table[math.random(1, #Sounds.Pickle_Sound_Table)]
|
||||
Brevity = tostring(RandomPickleSound)
|
||||
BASE:I("---------RANDOM PICKLE SOUND (3, 1, Specific) IS " .. Brevity)
|
||||
elseif WeaponDesc.category == 3 and WeaponDesc.guidance == 7 then
|
||||
-- LASER GUIDED SOUND TABLES
|
||||
math.random()
|
||||
RandomPavewaySound = Sounds.Paveway_Sound_Table[math.random(1, #Sounds.Paveway_Sound_Table)]
|
||||
Brevity = tostring(RandomPavewaySound)
|
||||
BASE:I("---------RANDOM PAVEWAY SOUND IS " .. Brevity)
|
||||
|
||||
-- DCS mis-classifies the Harpoon, so it needs to be added manually.
|
||||
elseif _weapon == "AGM_84D" then
|
||||
math.random()
|
||||
RandomBruiserSound = Sounds.Bruiser_Sound_Table[math.random(1, #Sounds.Bruiser_Sound_Table)]
|
||||
Brevity = tostring(RandomBruiserSound)
|
||||
BASE:I("---------RANDOM BRUISER SOUND IS " .. Brevity)
|
||||
|
||||
-- Cruise Missiles are "Greyhound".
|
||||
elseif _weapon == "AGM_84H" or string.find(_weapon, "84E", 1, true) then
|
||||
math.random()
|
||||
RandomGreyhoundSound = Sounds.CruiseMissile_Table[math.random(1, #Sounds.CruiseMissile_Table)]
|
||||
Brevity = tostring(RandomGreyhoundSound)
|
||||
BASE:I("---------RANDOM GREYHOUND SOUND IS " .. Brevity)
|
||||
elseif WeaponDesc.category == 1 and WeaponDesc.guidance == 2 then
|
||||
math.random()
|
||||
RandomFox2Sound = Sounds.Fox2_Sound_Table[math.random(1, #Sounds.Fox2_Sound_Table)]
|
||||
Brevity = tostring(RandomFox2Sound)
|
||||
BASE:I("---------FOX 2 SOUND----------" .. Brevity)
|
||||
elseif WeaponDesc.category == 1 and WeaponDesc.guidance == 3 then
|
||||
math.random()
|
||||
RanddomFox3Sound = Sounds.Fox3_Sound_Table[math.random(1, #Sounds.Fox3_Sound_Table)]
|
||||
Brevity = tostring(RanddomFox3Sound)
|
||||
BASE:I("---------FOX 3 SOUND----------" .. Brevity)
|
||||
elseif WeaponDesc.category == 1 and WeaponDesc.guidance == 4 then
|
||||
math.random()
|
||||
RanddomFox1Sound = Sounds.Fox1_Sound_Table[math.random(1, #Sounds.Fox1_Sound_Table)]
|
||||
Brevity = tostring(RanddomFox1Sound)
|
||||
BASE:I("---------Fox 1 SOUND----------")
|
||||
elseif WeaponDesc.category == 1 and WeaponDesc.guidance == 5 and WeaponDesc.missileCategory == 6 then
|
||||
RandomMagnumSound = Sounds.Magnum_Sound_Table[math.random(1, #Sounds.Magnum_Sound_Table)]
|
||||
Brevity = tostring(RandomMagnumSound)
|
||||
BASE:I("---------MAGNUM SOUND IS " .. Brevity)
|
||||
elseif WeaponDesc.category == 1 and WeaponDesc.guidance == 7 or string.find(_weapon, "65", 1, true) then
|
||||
math.random()
|
||||
RandomRifleSound = Sounds.Rifle_Sound_Table[math.random(1, #Sounds.Rifle_Sound_Table)]
|
||||
Brevity = tostring(RandomRifleSound)
|
||||
BASE:I("---------RIFLE SOUND (Includes Zuni Rockets)----------")
|
||||
|
||||
-- "0" = Shells
|
||||
elseif WeaponDesc.category == 0 then
|
||||
math.random()
|
||||
RandomRifleSound = Sounds.Rifle_Sound_Table[math.random(1, #Sounds.Rifle_Sound_Table)]
|
||||
Brevity = tostring(RandomRifleSound)
|
||||
BASE:I("---------GUNS SOUND----------")
|
||||
|
||||
-- If we still don't know what kind it is, and its a missile, let's call it a Rifle
|
||||
elseif WeaponDesc.category == 1 then
|
||||
math.random()
|
||||
RandomRifleSound = Sounds.Rifle_Sound_Table[math.random(1, #Sounds.Rifle_Sound_Table)]
|
||||
Brevity = tostring(RandomRifleSound)
|
||||
BASE:I("---------RIFLE SOUND (UNKNOWN MISSILE)----------")
|
||||
|
||||
-- Rockets = Rifle (for lack of a better brevity code)
|
||||
elseif WeaponDesc.category == 2 then
|
||||
math.random()
|
||||
RandomRifleSound = Sounds.Rifle_Sound_Table[math.random(1, #Sounds.Rifle_Sound_Table)]
|
||||
Brevity = tostring(RandomRifleSound)
|
||||
BASE:I("---------ROCKET SOUND (RIFLE FOR NOW))----------")
|
||||
|
||||
-- If we still don't know what kind it is, and its a bomb, let's call it a Pickle
|
||||
elseif WeaponDesc.category == 3 then
|
||||
math.random()
|
||||
RandomPickleSound = Sounds.Pickle_Sound_Table[math.random(1, #Sounds.Pickle_Sound_Table)]
|
||||
Brevity = tostring(RandomPickleSound)
|
||||
BASE:I("---------RANDOM PICKLE (UNKNOWN) SOUND IS " .. Brevity)
|
||||
end
|
||||
end
|
||||
|
||||
if EventData.IniCoalition == 2 and GROUP:FindByName(EventData.IniGroupName):IsShip() then
|
||||
BASE:I("BLUE NAVAL SHOT CONFIRMED")
|
||||
|
||||
if string.find(_weapon, "BGM_109B", 1, true) then
|
||||
RandomTomahawkSound = Sounds.Tomahawk_Table[math.random(1, #Sounds.Tomahawk_Table)]
|
||||
Brevity = tostring(RandomTomahawkSound)
|
||||
BASE:I("---------BLUE TOMAHAWK SOUND IS: " .. Brevity)
|
||||
end
|
||||
end
|
||||
|
||||
-- LOGIC FOR RED AIRPLANE SHOTS
|
||||
-- if Red and an Airplane
|
||||
if EventData.IniCoalition == 1 and GROUP:FindByName(EventData.IniGroupName):IsAirPlane() then
|
||||
BASE:I("RED PLANE SHOT CONFIRMED")
|
||||
soundDelay = true
|
||||
BASE:I("DELAY ACTIVATED")
|
||||
|
||||
if WeaponDesc.category == 1 and WeaponDesc.guidance == 2 then
|
||||
RandomRedMissileSound = Sounds.RedMissile_Sound_Table[math.random(1, #Sounds.RedMissile_Sound_Table)]
|
||||
Brevity = tostring(RandomRedMissileSound)
|
||||
BASE:I("---------RED MISSILE (Fox2) SOUND----------" .. Brevity)
|
||||
elseif WeaponDesc.category == 1 and WeaponDesc.guidance == 3 then
|
||||
RandomRedMissileSound = Sounds.RedMissile_Sound_Table[math.random(1, #Sounds.RedMissile_Sound_Table)]
|
||||
Brevity = tostring(RandomRedMissileSound)
|
||||
BASE:I("---------RED MISSILE (Fox2) SOUND----------" .. Brevity)
|
||||
elseif WeaponDesc.category == 1 and WeaponDesc.guidance == 4 then
|
||||
RandomRedMissileSound = Sounds.RedMissile_Sound_Table[math.random(1, #Sounds.RedMissile_Sound_Table)]
|
||||
Brevity = tostring(RandomRedMissileSound)
|
||||
BASE:I("---------RED MISSILE (Fox1) SOUND----------")
|
||||
elseif (WeaponDesc.category == 1 and WeaponDesc.missileCategory == 4) or
|
||||
string.find(_weapon, "X_22", 1, true) or string.find(_weapon, "X_35", 1, true) or
|
||||
string.find(_weapon, "X_31A", 1, true) or string.find(_weapon, "YJ_83K", 1, true) or
|
||||
string.find(_weapon, "YJ_12", 1, true) or _weapon == "AGM_84D" then
|
||||
RandomRedAntiShipSound = Sounds.Vampires_Table[math.random(1, #Sounds.Vampires_Table)]
|
||||
Brevity = tostring(RandomRedAntiShipSound)
|
||||
BASE:I("---------RED VAMPIRES SOUND----------")
|
||||
end -- End of Red Shot Classification
|
||||
end -- End of Red Aerial Shot Logic
|
||||
|
||||
-- LOGIC FOR RED GROUND MISSILES
|
||||
if ShipSamSounds then
|
||||
if EventData.IniCoalition == 1 and
|
||||
(GROUP:FindByName(EventData.IniGroupName):IsGround() or
|
||||
GROUP:FindByName(EventData.IniGroupName):IsShip()) and WeaponDesc.category == 1 and
|
||||
not string.find(_weapon, "SA48N6", 1, true) and not string.find(_weapon, "SCUD_RAKETA", 1, true) then
|
||||
BASE:I("RED GROUND OR SHIP SHOT CONFIRMED")
|
||||
soundDelay = true
|
||||
BASE:I("DELAY ACTIVATED")
|
||||
|
||||
-- if string.find(_weapon, "SA48N6", 1, true) then
|
||||
-- BASE:I("-----WEAPON SOUND KNOWN BUT SUPPRESSED-----")
|
||||
-- BASE:I("DELAY ACTIVATED, BUT NO SOUND")
|
||||
-- end
|
||||
|
||||
RandomSamSound = Sounds.SamSoundTable[math.random(1, #Sounds.SamSoundTable)]
|
||||
Brevity = tostring(RandomSamSound)
|
||||
BASE:I("---------RED SAM SOUND----------" .. Brevity)
|
||||
end
|
||||
else
|
||||
if EventData.IniCoalition == 1 and GROUP:FindByName(EventData.IniGroupName):IsGround() and
|
||||
WeaponDesc.category == 1 and not string.find(_weapon, "SA48N6", 1, true) and
|
||||
not string.find(_weapon, "SCUD_RAKETA", 1, true) then
|
||||
BASE:I("RED GROUND (NOT SHIP) SHOT CONFIRMED")
|
||||
soundDelay = true
|
||||
BASE:I("DELAY ACTIVATED")
|
||||
|
||||
-- if string.find(_weapon, "SA48N6", 1, true) then
|
||||
-- BASE:I("-----WEAPON SOUND KNOWN BUT SUPPRESSED-----")
|
||||
-- end
|
||||
|
||||
if string.find(_weapon, "SCUD_RAKETA", 1, true) then
|
||||
BASE:I("-----SCUD LAUNCH (NO SOUND PROGRAMMED)-----")
|
||||
end
|
||||
|
||||
RandomSamSound = Sounds.SamSoundTable[math.random(1, #Sounds.SamSoundTable)]
|
||||
Brevity = tostring(RandomSamSound)
|
||||
BASE:I("---------RED SAM SOUND----------" .. Brevity)
|
||||
end
|
||||
end
|
||||
|
||||
-- LOGIC FOR RED SCUD / BALLISTIC MISSILE LAUNCHES
|
||||
-- if Red and an Airplane
|
||||
if EventData.IniCoalition == 1 and string.find(_weapon, "SCUD_RAKETA", 1, true) then
|
||||
BASE:I("RED SCUD LAUNCH CONFIRMED")
|
||||
|
||||
RandomBallisticMissileSound = Sounds.Ballistic[math.random(1, #Sounds.Ballistic)]
|
||||
Brevity = tostring(RandomBallisticMissileSound)
|
||||
BASE:I("---------RED BALLISTIC MISSILE SOUND----------" .. Brevity)
|
||||
end -- End of Red Scud Launch
|
||||
|
||||
-- Let's put it into Sound
|
||||
if Brevity ~= "none" then
|
||||
BASE:I("-----soundDelay value = " .. tostring(soundDelay) .. "-----")
|
||||
|
||||
-- Its a Blue Weapon Event
|
||||
if EventData.IniCoalition == 2 and EventData.IniGroup then
|
||||
local BrevitySound = Brevity .. ".ogg"
|
||||
WeaponSound = USERSOUND:New(SoundFilePath .. BrevitySound)
|
||||
|
||||
-- Determine Who to Play Sound to
|
||||
if SoundOnlyToGroup then
|
||||
local SoundGroup = EventData.IniGroup
|
||||
WeaponSound:ToGroup(SoundGroup)
|
||||
|
||||
if SoundDebug then
|
||||
BASE:I("---------SOUNDFILE PLAYED---------is " .. Brevity .. " TO " .. SoundGroup:GetName())
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. Brevity .. " TO " .. SoundGroup:GetName(),
|
||||
10)
|
||||
end
|
||||
else
|
||||
WeaponSound:ToCoalition(coalition.side.BLUE)
|
||||
|
||||
if SoundDebug then
|
||||
BASE:I("---------SOUNDFILE PLAYED---------is " .. Brevity .. " TO ALL")
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. Brevity .. " TO ALL", 10)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Excluded Sounds, sounds we want to play to all Blue clients regardless of who fires
|
||||
if EventData.IniCoalition == 2 and EventData.IniGroup:IsShip() then
|
||||
WeaponSound:ToCoalition(coalition.side.BLUE)
|
||||
if SoundDebug then
|
||||
BASE:I("--------- (EXCLUDED EVENT) SOUNDFILE PLAYED---------is " .. Brevity .. " TO ALL")
|
||||
end
|
||||
end
|
||||
|
||||
-- Its a Red Weapon Event (SAM, on incoming missile)
|
||||
if EventData.IniCoalition == 1 then
|
||||
env.info("-----Red Shot-----")
|
||||
if EventData.TgtGroup then
|
||||
env.info("-----TargetGroup Object Available-----")
|
||||
local BrevitySound = Brevity .. ".ogg"
|
||||
WeaponSound = USERSOUND:New(SoundFilePath .. BrevitySound)
|
||||
|
||||
local function DelayedSound()
|
||||
local SoundGroup = EventData.TgtGroup
|
||||
if SoundGroup then
|
||||
WeaponSound:ToGroup(SoundGroup)
|
||||
end
|
||||
end
|
||||
local soundDelayTime = math.random(3, 7)
|
||||
env.info("-----soundDelayTime =" .. soundDelayTime .. "-----")
|
||||
TIMER:New(DelayedSound):Start(soundDelayTime)
|
||||
|
||||
if SoundDebug then
|
||||
BASE:I("---------SOUNDFILE PLAYED---------is " .. Brevity .. " TO " .. SoundGroup:GetName() ..
|
||||
" ONLY")
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. Brevity .. " TO " .. SoundGroup:GetName(),
|
||||
10)
|
||||
end
|
||||
|
||||
-- Sound can play if its SCUD (but not other un-guided things like Artillery)
|
||||
elseif string.find(_weapon, "SCUD_RAKETA", 1, true) then
|
||||
env.info("-----TargetGroup Object NOT Available Sound ToAll(Must be a SCUD) -----")
|
||||
|
||||
local BrevitySound = Brevity .. ".ogg"
|
||||
WeaponSound = USERSOUND:New(SoundFilePath .. BrevitySound)
|
||||
WeaponSound:ToCoalition(coalition.side.BLUE)
|
||||
|
||||
if SoundDebug then
|
||||
BASE:I("---------SOUNDFILE PLAYED---------is " .. Brevity .. " TO All")
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. Brevity .. " TO All", 10)
|
||||
end
|
||||
end
|
||||
end -- End of Red Shot Event
|
||||
end -- Sound Action End
|
||||
soundDelay = false -- reset value
|
||||
if SoundDebug then
|
||||
env.info("-----soundDelay value reset to false-----")
|
||||
end
|
||||
else
|
||||
env.info("-----SOUNDHANDLER OFF------")
|
||||
end
|
||||
end -- Function End
|
||||
|
||||
BASE:I("-----MISSILE/BOMB SOUNDS SET------")
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
-- SHOOTING (RAPID FIRE) EVENT
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
ShootingEventHandler = EVENTHANDLER:New()
|
||||
ShootingEventHandler:HandleEvent(EVENTS.ShootingStart)
|
||||
|
||||
function ShootingEventHandler:OnEventShootingStart(EventData)
|
||||
if SoundDebug then
|
||||
BASE:I("-----RAPID GUNS SHOOTING START, EVALUATING------")
|
||||
end
|
||||
local txt = UTILS.OneLineSerialize(EventData)
|
||||
env.info("Guns Shooting EventData Debug: " .. txt)
|
||||
local ShooterGroupName = EventData.IniGroupName
|
||||
local ShooterUnitName = EventData.IniUnitName
|
||||
if ShooterGroupName ~= nil and ShooterUnitName ~= nil then
|
||||
ShooterGroup = GROUP:FindByName(ShooterGroupName)
|
||||
ShooterUnit = UNIT:FindByName(ShooterUnitName)
|
||||
end
|
||||
|
||||
if ShooterGroup:IsAirPlane() and ShooterUnit:IsClient() then
|
||||
BASE:I("BLUE AIRPLANE GUNS DETECTED (FROM CLIENT)")
|
||||
math.random()
|
||||
Blue_Guns_Sound = Sounds.Blue_Guns_Table[math.random(1, #Sounds.Blue_Guns_Table)]
|
||||
Brevity = tostring(Blue_Guns_Sound)
|
||||
BASE:I("---------RANDOM BLUE GUNS SOUND SELECTED IS: " .. Brevity)
|
||||
|
||||
local GunsSound = Brevity .. ".ogg"
|
||||
-- Sound Chosen
|
||||
GunsSound = USERSOUND:New(SoundFilePath .. GunsSound)
|
||||
|
||||
-- Determine Who to Play Sound to
|
||||
if SoundOnlyToGroup and EventData.IniGroup then
|
||||
local SoundGroup = EventData.IniGroup
|
||||
GunsSound:ToGroup(SoundGroup)
|
||||
BASE:I("---------SOUNDFILE PLAYED---------is " .. Brevity .. " TO " .. SoundGroup:GetName())
|
||||
if SoundDebug then
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. Brevity .. " TO " .. SoundGroup:GetName(), 10)
|
||||
end
|
||||
else
|
||||
GunsSound:ToCoalition(coalition.side.BLUE)
|
||||
BASE:I("---------SOUNDFILE PLAYED---------is " .. Brevity .. " TO ALL")
|
||||
if SoundDebug then
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. Brevity .. " TO ALL", 10)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if ShooterGroup:IsAirPlane() and EventData.IniCoalition == 1 and PlayRedShootingGuns then
|
||||
BASE:I("-----RED AIRPLANE GUNS DETECTED (AT CLIENT)------")
|
||||
math.random()
|
||||
Red_Guns_Sound = Sounds.Red_Guns_Table[math.random(1, #Sounds.Red_Guns_Table)]
|
||||
Brevity = tostring(Red_Guns_Sound)
|
||||
BASE:I("---------RANDOM RED GUNS SOUND SELECTED IS: " .. Brevity)
|
||||
|
||||
local GunsSound = Brevity .. ".ogg"
|
||||
-- Sound Chosen
|
||||
GunsSound = USERSOUND:New(SoundFilePath .. GunsSound)
|
||||
-- Determine Who to Play Sound to
|
||||
if SoundOnlyToGroup and EventData.TgtGroup then
|
||||
local SoundGroup = EventData.TgtGroup
|
||||
GunsSound:ToGroup(SoundGroup)
|
||||
BASE:I("---------SOUNDFILE PLAYED---------is " .. Brevity .. " TO " .. SoundGroup:GetName())
|
||||
if SoundDebug then
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. Brevity .. " TO " .. SoundGroup:GetName(), 10)
|
||||
end
|
||||
else
|
||||
GunsSound:ToCoalition(coalition.side.BLUE)
|
||||
BASE:I("---------SOUNDFILE PLAYED---------is " .. Brevity .. " TO ALL")
|
||||
if SoundDebug then
|
||||
trigger.action.outText("-----SOUNDFILE PLAYED is " .. Brevity .. " TO ALL", 10)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
BASE:I("-----GUN SHOOTING SOUNDS SET------")
|
||||
|
||||
|
||||
-----------------------------------------------------------------
|
||||
-- MENU FOR SETTINGS
|
||||
-----------------------------------------------------------------
|
||||
|
||||
-- PARENT MENU ENTRY
|
||||
|
||||
local SettingsMenu = MENU_MISSION:New("SoundHandler Settings")
|
||||
|
||||
-- Toggle Debug On/Off
|
||||
local function SoundhandlerOnOff(boolean)
|
||||
SoundHandler = boolean
|
||||
env.info("-----SoundHandler On = " .. tostring(boolean) .. "-----")
|
||||
|
||||
if boolean == true then
|
||||
trigger.action.outText("**Soundhandler ON**", 5)
|
||||
end
|
||||
if boolean == false then
|
||||
trigger.action.outText("--Soundhandler OFF--", 5)
|
||||
end
|
||||
end
|
||||
|
||||
local OnOrOff = MENU_MISSION:New("On or Off", SettingsMenu)
|
||||
local SoundHandlerOn = MENU_MISSION_COMMAND:New("On", OnOrOff, SoundhandlerOnOff, true) -- #MENU
|
||||
local SoundHandlerOff = MENU_MISSION_COMMAND:New("Off", OnOrOff, SoundhandlerOnOff, false) -- #MENU
|
||||
|
||||
-- Toggle Debug On/Off
|
||||
local function SwitchDebug(boolean)
|
||||
SoundDebug = boolean
|
||||
env.info("-----SoundDebug Now = " .. tostring(boolean) .. "-----")
|
||||
end
|
||||
|
||||
local SoundDebugMenu = MENU_MISSION:New("Sound Debug", SettingsMenu)
|
||||
local SoundDebugMenuTrue = MENU_MISSION_COMMAND:New("On", SoundDebugMenu, SwitchDebug, true) -- #MENU
|
||||
local SoundDebugMenuFalse = MENU_MISSION_COMMAND:New("Off", SoundDebugMenu, SwitchDebug, false) -- #MENU
|
||||
|
||||
-- Switch To Whom Sounds Play To
|
||||
local function SwitchSoundsToGroup(boolean)
|
||||
SoundOnlyToGroup = boolean
|
||||
env.info("-----SoundOnlyToGroup Now = " .. tostring(boolean) .. "-----")
|
||||
|
||||
if boolean == true then
|
||||
-- trigger.action.outText("**Sounds Play To Group Only**", 5)
|
||||
end
|
||||
if boolean == false then
|
||||
trigger.action.outText("--Sounds Play To All--", 5)
|
||||
end
|
||||
end
|
||||
|
||||
local SoundsToGroupAll = MENU_MISSION:New("Sounds To Group or All", SettingsMenu)
|
||||
local GroupTrue = MENU_MISSION_COMMAND:New("Play Sounds to Group Only", SoundsToGroupAll, SwitchSoundsToGroup, true) -- #MENU
|
||||
local GroupFalse = MENU_MISSION_COMMAND:New("Play Sounds to All", SoundsToGroupAll, SwitchSoundsToGroup, false) -- #MENU
|
||||
|
||||
BASE:I("-----SOUNDHANDLER SETTING SET------")
|
||||
|
||||
MESSAGE:New("*SOUNDHANDLER LOADED*", 5, "MISSION", false):ToAll():ToLog()
|
||||
BIN
resources/plugins/MooseSoundhandler/SoundFiles/A2G_Duck1.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/A2G_Duck1.ogg
Normal file
Binary file not shown.
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/A2G_Vampires1.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/A2G_Vampires1.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AAGoodKill.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AAGoodKill.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AAKill4.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AAKill4.ogg
Normal file
Binary file not shown.
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AAKillSplash.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AAKillSplash.ogg
Normal file
Binary file not shown.
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AASplashOne.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AASplashOne.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AASplashOne_2.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AASplashOne_2.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AGKillBOOM1.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AGKillBOOM1.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AllPush.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AllPush.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AllReady.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AllReady.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AllStart.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/AllStart.ogg
Normal file
Binary file not shown.
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Arco_Gunny.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Arco_Gunny.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/BOMBS_OFF.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/BOMBS_OFF.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/BlueGuns1.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/BlueGuns1.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/BlueGuns2.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/BlueGuns2.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/BlueGuns3.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/BlueGuns3.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Bruiser.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Bruiser.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Bruiser2.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Bruiser2.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Bruiser3.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Bruiser3.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Defending.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Defending.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fireball.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fireball.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox1A.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox1A.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox1B.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox1B.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox2A.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox2A.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox2B.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox2B.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox2C.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox2C.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox2D.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox2D.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox2E.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox2E.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox3A.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox3A.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox3B.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox3B.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox3C.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox3C.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox3D.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox3D.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox3E.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox3E.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox3F.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Fox3F.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/FriendlyFire1.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/FriendlyFire1.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/FriendlyFire2.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/FriendlyFire2.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/HackingSound.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/HackingSound.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/HitEjecting1.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/HitEjecting1.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/HitEjecting2.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/HitEjecting2.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/HitEjecting3.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/HitEjecting3.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/ILS_RESET.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/ILS_RESET.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/LaserOff.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/LaserOff.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Magnum.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Magnum.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Magnum2.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Magnum2.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Misil1.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Misil1.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Misil2.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Misil2.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Misil3.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Misil3.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Misil4.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Misil4.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Misil5.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Misil5.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Misil6.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Misil6.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/OhJesus.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/OhJesus.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Paveway.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Paveway.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Pickle1.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Pickle1.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Pickle2.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Pickle2.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Pickle3.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Pickle3.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Pickle4.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Pickle4.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Pickle5.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Pickle5.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Pickle6.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Pickle6.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Pickle7.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/Pickle7.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/PigsAway.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/PigsAway.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/PigsAway2.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/PigsAway2.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/RifleA.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/RifleA.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/RifleB.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/RifleB.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/RifleC.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/RifleC.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/RifleD.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/RifleD.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/RifleE.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/RifleE.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/SAM1.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/SAM1.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/SAM2.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/SAM2.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/SAM3.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/SAM3.ogg
Normal file
Binary file not shown.
BIN
resources/plugins/MooseSoundhandler/SoundFiles/SAM4.ogg
Normal file
BIN
resources/plugins/MooseSoundhandler/SoundFiles/SAM4.ogg
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user