Request: static car radiosSuggestion

Hi, todays patch introduced car radios for players to craft and deploy in cars. I would like all spawned cars to have one (and of course that players can't remove)

Thanks for the info, I'll look into this.

NKXTQs24ExGTuL8.jpg WhiteThunder

Thanks for the info, I'll look into this.


I found a way to automatically generate a modular car radio. Can I share it with you?

some one asked about this in the discord a while back and rostov114 gave the code

private void MaybeAddCarRadio(ModularCar car)
{
	foreach (var child in car.children)
	{
		BaseVehicleModule? baseModule = child as BaseVehicleModule;
		if (baseModule == null) continue;

		//car should never have a radio if it just spawned, just in case?
		foreach (var modchild in baseModule.children)
		{
			ModularCarRadio? modularCarRadio = modchild as ModularCarRadio;
			if (modularCarRadio != null) return;
		}

		//thx rostov114
		foreach (Socket_Base socket_Base in PrefabAttribute.server.FindAll<Socket_Base>(baseModule.prefabID))
		{
			if (socket_Base.socketName.Contains("radiosocket"))
			{
				ModularCarRadio? modularCarRadio = GameManager.server.CreateEntity("assets/content/vehicles/modularcar/subents/modular_car_radio.prefab",
					UnityEngine.Vector3.zero, UnityEngine.Quaternion.identity, false) as ModularCarRadio;

				if (modularCarRadio == null) return;
				modularCarRadio.SetParent(baseModule, true, false);
				modularCarRadio.transform.localPosition = socket_Base.localPosition;
				modularCarRadio.transform.localRotation = socket_Base.localRotation * UnityEngine.Quaternion.Euler(new UnityEngine.Vector3(270, 0, 0));
				modularCarRadio.Spawn(); modularCarRadio.RefreshEntityLinks(); return;
			}
		}

	}
}
firingLaserz

some one asked about this in the discord a while back and rostov114 gave the code

private void MaybeAddCarRadio(ModularCar car)
{
	foreach (var child in car.children)
	{
		BaseVehicleModule? baseModule = child as BaseVehicleModule;
		if (baseModule == null) continue;

		//car should never have a radio if it just spawned, just in case?
		foreach (var modchild in baseModule.children)
		{
			ModularCarRadio? modularCarRadio = modchild as ModularCarRadio;
			if (modularCarRadio != null) return;
		}

		//thx rostov114
		foreach (Socket_Base socket_Base in PrefabAttribute.server.FindAll<Socket_Base>(baseModule.prefabID))
		{
			if (socket_Base.socketName.Contains("radiosocket"))
			{
				ModularCarRadio? modularCarRadio = GameManager.server.CreateEntity("assets/content/vehicles/modularcar/subents/modular_car_radio.prefab",
					UnityEngine.Vector3.zero, UnityEngine.Quaternion.identity, false) as ModularCarRadio;

				if (modularCarRadio == null) return;
				modularCarRadio.SetParent(baseModule, true, false);
				modularCarRadio.transform.localPosition = socket_Base.localPosition;
				modularCarRadio.transform.localRotation = socket_Base.localRotation * UnityEngine.Quaternion.Euler(new UnityEngine.Vector3(270, 0, 0));
				modularCarRadio.Spawn(); modularCarRadio.RefreshEntityLinks(); return;
			}
		}

	}
}

Thank you, this job is very similar to what I do.