mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
RADIO:SetFileName() and RADIO:SetFrequency() both tested and fixed
This commit is contained in:
@@ -59,9 +59,9 @@ function RADIO:SetFileName(filename)
|
|||||||
if filename:find(".ogg") ~= nil or filename:find(".wav") ~= nil then
|
if filename:find(".ogg") ~= nil or filename:find(".wav") ~= nil then
|
||||||
if filename:find("l10n/DEFAULT/") == nil then
|
if filename:find("l10n/DEFAULT/") == nil then
|
||||||
filename = "l10n/DEFAULT/" .. filename
|
filename = "l10n/DEFAULT/" .. filename
|
||||||
self.FileName = filename
|
|
||||||
return self
|
|
||||||
end
|
end
|
||||||
|
self.FileName = filename
|
||||||
|
return self
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
self:E({"File name invalid. Maybe something wrong with the extension ?", self.FileName})
|
self:E({"File name invalid. Maybe something wrong with the extension ?", self.FileName})
|
||||||
@@ -70,7 +70,7 @@ end
|
|||||||
|
|
||||||
--- Check validity of the frequency passed and sets RADIO.Frequency
|
--- Check validity of the frequency passed and sets RADIO.Frequency
|
||||||
-- @param #RADIO self
|
-- @param #RADIO self
|
||||||
-- @param #number frequency
|
-- @param #number frequency in MHz
|
||||||
-- @return self
|
-- @return self
|
||||||
-- @usage
|
-- @usage
|
||||||
function RADIO:SetFrequency(frequency)
|
function RADIO:SetFrequency(frequency)
|
||||||
@@ -78,7 +78,7 @@ function RADIO:SetFrequency(frequency)
|
|||||||
if type(frequency) == "number" then
|
if type(frequency) == "number" then
|
||||||
-- If frequency is in range
|
-- If frequency is in range
|
||||||
if (frequency >= 30 and frequency < 88) or (frequency >= 108 and frequency < 152) or (frequency >= 225 and frequency < 400) then
|
if (frequency >= 30 and frequency < 88) or (frequency >= 108 and frequency < 152) or (frequency >= 225 and frequency < 400) then
|
||||||
self.Frequency = frequency * 1000 -- Coversion in Hz
|
self.Frequency = frequency * 1000000 -- Coversion in Hz
|
||||||
-- If the RADIO is attached to a UNIT or a GROUP, we need to send the DCS Command "SetFrequency" to change the UNIT or GROUP frequency
|
-- If the RADIO is attached to a UNIT or a GROUP, we need to send the DCS Command "SetFrequency" to change the UNIT or GROUP frequency
|
||||||
if self.Positionable.ClassName == "UNIT" or self.Positionable.ClassName == "GROUP" then
|
if self.Positionable.ClassName == "UNIT" or self.Positionable.ClassName == "GROUP" then
|
||||||
self.Positionable:GetDCSObject():getController():setCommand({
|
self.Positionable:GetDCSObject():getController():setCommand({
|
||||||
@@ -222,6 +222,7 @@ function RADIO:Broadcast()
|
|||||||
self:F()
|
self:F()
|
||||||
-- If the POSITIONABLE is actually a Unit or a Group, use the more complicated DCS function
|
-- If the POSITIONABLE is actually a Unit or a Group, use the more complicated DCS function
|
||||||
if self.Positionable.ClassName == "UNIT" or self.Positionable.ClassName == "GROUP" then
|
if self.Positionable.ClassName == "UNIT" or self.Positionable.ClassName == "GROUP" then
|
||||||
|
self:T2("Broadcasting from a UNIT or a GROUP")
|
||||||
self.Positionable:GetDCSObject():getController():setCommand({
|
self.Positionable:GetDCSObject():getController():setCommand({
|
||||||
id = "TransmitMessage",
|
id = "TransmitMessage",
|
||||||
params = {
|
params = {
|
||||||
@@ -233,6 +234,7 @@ function RADIO:Broadcast()
|
|||||||
})
|
})
|
||||||
else
|
else
|
||||||
-- If the POSITIONABLE is anything else, we revert to the general function
|
-- If the POSITIONABLE is anything else, we revert to the general function
|
||||||
|
self:T2("Broadcasting from a POSITIONABLE")
|
||||||
trigger.action.radioTransmission(self.FileName, self.Positionable:GetPositionVec3(), self.Modulation, false, self.Frequency, self.Power)
|
trigger.action.radioTransmission(self.FileName, self.Positionable:GetPositionVec3(), self.Modulation, false, self.Frequency, self.Power)
|
||||||
end
|
end
|
||||||
return self
|
return self
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -4,10 +4,19 @@ BASE:TraceLevel(3)
|
|||||||
|
|
||||||
|
|
||||||
local Player = UNIT:FindByName("Player")
|
local Player = UNIT:FindByName("Player")
|
||||||
Player:MessageToAll("MainScript Started 2", 10, "")
|
Player:MessageToAll("MainScript Started 3", 10, "")
|
||||||
|
|
||||||
local Static = STATIC:FindByName("CommandCenter")
|
local Static = STATIC:FindByName("CommandCenter")
|
||||||
|
local Transmiter = UNIT:FindByName("Transmiter")
|
||||||
|
|
||||||
local StaticRadio = Static:GetRadio()
|
local Radio = Transmiter:GetRadio()
|
||||||
StaticRadio:NewGenericTransmission("Noise", 251000, radio.modulation.AM, 1000)
|
Radio:SetFrequency(25)
|
||||||
StaticRadio:Broadcast()
|
Radio:SetFrequency(89)
|
||||||
|
Radio:SetFrequency(152)
|
||||||
|
Radio:SetFrequency(500)
|
||||||
|
Radio:SetFrequency("a")
|
||||||
|
Radio:SetFrequency(225)
|
||||||
|
Radio:SetFrequency(251.3)
|
||||||
|
|
||||||
|
Radio:SetFileName("Noise.ogg")
|
||||||
|
Radio:Broadcast()
|
||||||
Binary file not shown.
Reference in New Issue
Block a user