Skip to content

Hooks

Module-specific events raised by the Radio module.


AddSection

Purpose

Allows other modules to add a new section to the radio information window.

Parameters

  • title (string): Displayed section title.

  • color (Color): Header color for the section.

  • order (number): Order value used for sorting.

Realm

Client

Returns

nilNo return value.

Example

hook.Add("AddSection", "AddRadioStats", function(title, color, order)
    print("Adding radio UI section", title)
end)

AddTextField

Purpose

Creates a text field inside a radio information section.

Parameters

  • section (string): Section title to place the field in.

  • id (string): Unique identifier for the text field.

  • label (string): Text displayed before the value.

  • callback (function): Function returning the value to display.

Realm

Client

Returns

nilNo return value.

Example

hook.Add("AddTextField", "AddRadioFreq", function(section, id, label, callback)
    -- Custom fields can be inserted here
end)

ShouldRadioBeep

Purpose

Determines whether a beep should play when radio chatter ends.

Parameters

  • listener (Player): Player that would hear the beep.

Realm

Server

Returns

booleanReturn false to suppress the beep sound.

Example

hook.Add("ShouldRadioBeep", "SilentRadios", function(listener)
    return listener:GetMoveType() == MOVETYPE_NOCLIP
end)

PlayerFinishRadio

Purpose

Runs after a player's radio transmission finishes.

Parameters

  • listener (Player): Player hearing the beep.

  • frequency (string): Frequency that was used.

  • channel (number): Channel index.

Realm

Server

Returns

nilNo return value.

Example

hook.Add("PlayerFinishRadio", "LogFinish", function(listener, freq, channel)
    print(listener:Name(), "finished talking on", freq)
end)

CanHearRadio

Purpose

Checks if a listener should hear a given radio message.

Parameters

  • listener (Player): Potential recipient.

  • speaker (Player): Player sending the message.

  • frequency (string): Radio frequency.

  • channel (number): Channel index.

Realm

Server

Returns

booleanReturn false to block reception.

Example

hook.Add("CanHearRadio", "FactionRestriction", function(listener, speaker, freq)
    return listener:Team() == speaker:Team()
end)

CanUseRadio

Purpose

Determines if a player can start transmitting on a radio.

Parameters

  • speaker (Player): Player attempting to talk.

  • frequency (string): Radio frequency.

  • channel (number): Channel index.

Realm

Server

Returns

booleanReturn false to prevent talking.

Example

hook.Add("CanUseRadio", "CheckJammed", function(speaker, freq, channel)
    if speaker:isJammed() then return false end
end)

PlayerStartRadio

Purpose

Called once a player begins transmitting over the radio.

Parameters

  • speaker (Player): Player that started talking.

  • frequency (string): Radio frequency used.

  • channel (number): Channel index.

Realm

Server

Returns

nilNo return value.

Example

hook.Add("PlayerStartRadio", "AnnounceStart", function(speaker, freq, channel)
    print(speaker:Name(), "started radio on", freq)
end)

OnRadioSabotaged

Purpose

Triggered when a handheld radio is sabotaged and destroyed.

Parameters

  • client (Player): Player who sabotaged the radio.

  • item (Item): Radio item that was removed.

Realm

Server

Returns

nilNo return value.

Example

hook.Add("OnRadioSabotaged", "AlertSabotage", function(client, item)
    print(client:Name(), "broke a radio")
end)

OnRadioEnabled

Purpose

Runs when a player enables their radio item.

Parameters

  • client (Player): Owner of the radio.

  • item (Item): Radio item being enabled.

Realm

Server

Returns

nilNo return value.

Example

hook.Add("OnRadioEnabled", "RadioTurnedOn", function(client, item)
    print(client:Name(), "turned on a radio")
end)

OnRadioDisabled

Purpose

Runs when a player disables their radio item.

Parameters

  • client (Player): Owner of the radio.

  • item (Item): Radio item being disabled.

Realm

Server

Returns

nilNo return value.

Example

hook.Add("OnRadioDisabled", "RadioTurnedOff", function(client, item)
    print(client:Name(), "turned off a radio")
end)

OnRadioFrequencyChanged

Purpose

Runs when a radio's frequency is adjusted through the UI.

Parameters

  • client (Player): Player changing the frequency.

  • item (Item): Radio item being modified.

  • frequency (string): New frequency string.

Realm

Server

Returns

nilNo return value.

Example

hook.Add("OnRadioFrequencyChanged", "LogFreqChange", function(client, item, freq)
    print(client:Name(), "set frequency to", freq)
end)

RefreshFonts

Purpose

Invoked client side after the radio font configuration changes.

Parameters

None

Realm

Client

Returns

nilNo return value.

Example

hook.Add("RefreshFonts", "ReloadRadioFonts", function()
    print("Updating radio fonts")
end)