RustTip

OnRfBroadcasterAdded

OxideCarbonRadio

Called when an RF broadcaster is added.

void OnRfBroadcasterAdded(IRFObject obj, int frequency)
Works — the game method in this build is the one the hook was written for.

Parameters

obj
IRFObject
frequency
int

Return value

voidThe return value is ignored — the hook only notifies.

Example

private void OnRfBroadcasterAdded(IRFObject obj, int frequency)
{
    Puts("OnRfBroadcasterAdded");
}

Works in both Oxide and Carbon: Carbon loads Oxide plugins as is.

Injection point

Rust.opj (Oxide)
void RFManager.AddBroadcaster(int, IRFObject)

Passes: IRFObject obj, int frequency

WorksReturnBehavior: ContinueArgumentBehavior: UseArgumentString (a1, a0)Assembly-CSharp.dll

Where it is called (this branch's game code)

// …
	frequency = ClampFrequency(frequency);
	HashSet<IRFObject> broadcasterSet = GetBroadcasterSet(frequency);
	if (broadcasterSet.RemoveWhere((IRFObject b) => b == null || !b.IsValidEntityReference()) > 0)
	{
		Debug.LogWarning($"Found null entries in the RF broadcaster set for frequency {frequency}... cleaning up.");
	}
	if (broadcasterSet.Add(obj) && (!_isFrequencyBroadcasting.TryGetValue(frequency, out var value) || !value))
	{
		Interface.CallHook("OnRfBroadcasterAdded", obj, frequency);
		_isFrequencyBroadcasting[frequency] = true;
		UpdateListenersForFrequency(frequency, isBroadcasting: true);
	}
}

Sources: Rust.opj from OxideMod/Oxide.Rust (MIT) and hook metadata of the Carbon documentation (MIT). Method code is decompiled from this branch's server.