Migrated Sound to new repository

This commit is contained in:
kaltokri 2024-02-23 11:48:49 +01:00
parent 50caaf1d55
commit dbc89329fe
10 changed files with 0 additions and 176 deletions

View File

@ -1,19 +0,0 @@
-- This test mission demonstrates the RADIO class, particularily when the transmiter is anything but a UNIT or a GROUP (a STATIC in this case)
-- The Player is in a Su25T parked on Batumi, and a Russian command center named "Russian Command Center" is placed 12km east of Batumi.
-- Note that if you are not using an ASM aircraft (a clickable cockpit aircraft), then the frequency and the modulation is not important.
-- If you want to test the mission fully, replance the SU25T by an ASM aircraft you own and tune to the right frequency (108AM here)
CommandCenter = STATIC:FindByName("Russian Command Center")
-- Let's get a reference to the Command Center's RADIO
CommandCenterRadio = CommandCenter:GetRadio()
-- Now, we'll set up the next transmission
CommandCenterRadio:SetFileName("Noise.ogg") -- We first need the file name of a sound,
CommandCenterRadio:SetFrequency(108) -- then a frequency in MHz,
CommandCenterRadio:SetModulation(radio.modulation.AM) -- a modulation (we use DCS' enumartion, this way we don't have to type numbers)...
CommandCenterRadio:SetPower(100) -- and finally a power in Watts. A "normal" ground TACAN station has a power of 120W.
-- We have finished tinkering with our transmission, now is the time to broadcast it !
CommandCenterRadio:Broadcast()

View File

@ -1,25 +0,0 @@
-- This test mission demonstrates the RADIO class, particularily when the transmiter is a UNIT or a GROUP
-- The Player is in a Su25T parked on Batumi, and a Russian MiG-29 creatively named "Sergey" is placed above Kobuleti and is
-- inbound for a landing on Batumi
-- Note that if you are not using an ASM aircraft (a clickable cockpit aircraft), then the frequency and the modulation is not important.
-- If you want to test the mission fully, replance the SU25T by an ASM aircraft you own and tune to the right frequency (108AM here)
Sergey = UNIT:FindByName("Sergey")
-- Let's get a reference to Sergey's RADIO
SergeyRadio = Sergey:GetRadio()
-- Now, we'll set up the next transmission
SergeyRadio:SetFileName("Noise.ogg") -- We first need the file name of a sound,
SergeyRadio:SetFrequency(108) -- then a frequency in MHz,
SergeyRadio:SetModulation(radio.modulation.AM) -- and a modulation (we use DCS' enumartion, this way we don't have to type numbers).
-- Since Sergey is a UNIT, we can add a subtitle (displayed on the top left) to the transmission, and loop the transmission
SergeyRadio:SetSubtitle("Hey, hear that noise ?", 5) -- The subtitle "Noise" will be displayed for 5 secs
SergeyRadio:SetLoop(false)
-- Notice that we didn't have to imput a power ? If the broadcater is a UNIT or a GROUP, DCS automatically guesses the power to use depending on the type of UNIT or GROUP
-- We have finished tinkering with our transmission, now is the time to broadcast it !
SergeyRadio:Broadcast()

View File

@ -1,91 +0,0 @@
-- This test mission demonstrates the RADIO class in a practical scenario.
-- It also focuses on how to create transmissions faster and more efficiently
-- Please Read both RAD-000 and RAD-001, as well as SCH-000 code first.
-- Note that if you are not using an ASM aircraft (a clickable cockpit aircraft), then the frequency and the modulation is not important.
-- If you want to test the mission fully, replance the SU25T by an ASM aircraft you own and tune to the right frequency (115AM here)
-- The Player is in a Su25T parked on Batumi, and a Russian command center named "Batumi Tower" placed near Batumi will act as Batumi's Radio Tower.
-- This mission also features the "Viktor" flight, a Russian Su25, who is inbound for landing on Batumi.
-- The goal of this script is to manage the dialog between Viktor and Batumi Tower.
-- The (short) conversation between Viktor and Batumi Tower will happen on 115 AM
-- Time 0 : Batumi Tower "Viktor flight, this is Batumi Tower, enter left base runway one two five, report 5 kilometers final. Over."
-- Time 10 : Viktor "Report 5 kilometers final, one two five, viktor"
-- Time 145 : Viktor "Batumi Tower, Viktor is 5 kilomters final, request landing clearance. Over?"
-- Time 154 : Batumi Tower "Viktor flight, you are claer to land, runway one two five. Check gear down."
-- Time 160 : Viktor "Clear to land, One two five, Viktor"
-- Time 210 : Viktor "Viktor, touchdown"
-- Time 215 : Batumi Tower "Viktor, confirmed touchdown, taxi to parking area, Batumi Tower out."
BatumiRadio = STATIC:FindByName("Batumi Tower"):GetRadio()
ViktorRadio = UNIT:FindByName("Viktor"):GetRadio()
-- Let's first explore different shortcuts to setup a transmission before broadcastiong it
------------------------------------------------------------------------------------------------------------------------------------------------------
-- First, the long way.
BatumiRadio:SetFileName("Batumi Tower - Enter left base.ogg")
BatumiRadio:SetFrequency(115)
BatumiRadio:SetModulation(radio.modulation.AM)
BatumiRadio:SetPower(100)
-- Every RADIO.SetXXX() function returns the radio, so we can rewrite the code above this way :
BatumiRadio:SetFileName("Batumi Tower - Enter left base.ogg"):SetFrequency(115):SetModulation(radio.modulation.AM):SetPower(100)
-- We can also use the shortcut RADIO:NewGenericTransmission() to set multiple parameters in one function call
-- If our broadcaster was a UNIT or a GROUP, the more appropriate shortcut to use would have been NewUnitTransmission()
-- it works for both UNIT and GROUP, despite its name !
BatumiRadio:NewGenericTransmission("Batumi Tower - Enter left base.ogg", 115, radio.modulation.AM, 100)
-- If you already set some parameters previously, you don't have to redo it !
-- NewGenericTransmission's paramter have to be set in order
BatumiRadio:NewGenericTransmission("Batumi Tower - Enter left base.ogg", 115) -- Modulation is still AM and power is still 100 (set previously)
--If you want to change only the sound file, the frequency and the power for exemple, you can still use the appropriate Set function
BatumiRadio:NewGenericTransmission("Batumi Tower - Enter left base.ogg", 115):SetPower(100)
-- We have finished tinkering with our transmission, now is the time to broadcast it !
BatumiRadio:Broadcast()
-- Now, if Viktor answered imedately, the two radio broadcasts would overlap. We need to delay Viktor's answer.
------------------------------------------------------------------------------------------------------------------------------------------------------
CommunitcationScheduler = SCHEDULER:New( nil,
function()
ViktorRadio:SetFileName("Viktor - Enter left base ack.ogg"):SetFrequency(115):SetModulation(radio.modulation.AM):Broadcast() -- We don't specify a subtitle since we don't want one
end, {}, 10 -- 10s delay
)
-- Viktor takes 145s to be 5km final, and need to contact Batumi Tower.
------------------------------------------------------------------------------------------------------------------------------------------------------
CommunitcationScheduler:Schedule( nil,
function()
ViktorRadio:SetFileName("Viktor - Request landing clearance.ogg"):Broadcast() --We only specify the new file name, since frequency and modulation didn't change
end, {}, 145
)
-- Now that you understand everything about the RADIO class, the rest is pretty trivial
-------------------------------------------------------------------------------------------------------------------------------------------------------
CommunitcationScheduler:Schedule( nil,
function()
BatumiRadio:SetFileName("Batumi Tower - Clear to land.ogg"):Broadcast()
end, {}, 154
)
CommunitcationScheduler:Schedule( nil,
function()
ViktorRadio:SetFileName("Viktor - Clear to land ack.ogg"):Broadcast()
end, {}, 160
)
CommunitcationScheduler:Schedule( nil,
function()
ViktorRadio:SetFileName("Viktor - Touchdown.ogg"):Broadcast()
end, {}, 210
)
CommunitcationScheduler:Schedule( nil,
function()
BatumiRadio:SetFileName("Batumi Tower - Taxi to parking.ogg"):Broadcast()
end, {}, 215
)

View File

@ -1,22 +0,0 @@
-- This test mission demonstrates the BEACON class.
-- The goal is to activate 2 types of beacons : 1 TACAN beacon attach to an aircraft, and 1 generic radio beacon attach to a ground UNIT
-- The player aircraft needs to be ASM and TACAN compatible. Please replace the M2000C by an aircraft you own and can receive TACAN signals
-- Activates the trace to see what BEACON does in the log
--BASE:TraceClass("BEACON")
BASE:TraceLevel(3)
-- Create our UNITs on which we'll attach a BEACON
local Aircraft = UNIT:FindByName("Unit1")
local LandUnit = UNIT:FindByName("Unit2")
-- Now, let's start with the TACAN Beacon.
-- Note that they are limited to Y band. Notice also that this particular TACAN can be homed on.
local BeaconAircraft = Aircraft:GetBeacon()
BeaconAircraft:AATACAN(6, "UNIT1", true)
-- And let's setup the ground based radio beacon !
-- Notice how this beacon will stop in 20 sec (last parameter).
local BeaconLand = LandUnit:GetBeacon()
BeaconLand:RadioBeacon("Morse.ogg", 129, radio.modulation.AM, 100, 20)

View File

@ -1,19 +0,0 @@
-- This test mission demonstrates the BEACON class.
-- The goal is to activate 2 types of beacons : 1 TACAN beacon attach to an aircraft, and 1 generic radio beacon attach to a ground UNIT
-- The player aircraft needs to be ASM and TACAN compatible. Please replace the M2000C by an aircraft you own and can receive TACAN signals
-- Activates the trace to see what BEACON does in the log
--BASE:TraceClass("BEACON")
BASE:TraceLevel(3)
-- Create our UNITs on which we'll attach a BEACON
local Aircraft = UNIT:FindByName("Unit1")
local LandUnit = UNIT:FindByName("Unit2")
RadioSpeech = RADIOSPEECH:New( 124 )
RadioSpeech:SetSenderUnitName( "Unit2" )
RadioSpeech:Start(2)
RadioSpeech:ScheduleRepeat( 5, 30, 0, nil, RadioSpeech.Speak, "springfield11, patrolling" )