RustTip

OnVehicleModuleMove

OxideCarbonVehicle

Called when an admin repair action fixes nearby vehicles.

object OnVehicleModuleMove(BaseVehicleModule local0, BaseModularVehicle baseModularVehicle, BasePlayer player)
Works — the game method in this build is the one the hook was written for.

Parameters

local0
BaseVehicleModule
baseModularVehicle
BaseModularVehicle
player
BasePlayer

Return value

objectThe returned value replaces the game result; null lets the game decide.

Example

object — you can affect the game: return a value to change or cancel the action.

private object OnVehicleModuleMove(BaseVehicleModule local0, BaseModularVehicle baseModularVehicle, BasePlayer player)
{
    Puts("OnVehicleModuleMove");

    // change nothing — the game continues as usual
    return null;

    // to affect the game:
    // return default(PlayerInventory.CanMoveFromResponse); // your value instead of the game result
}

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

Injection point

Rust.opj (Oxide)
PlayerInventory.CanMoveFromResponse BaseModularVehicle.CanMoveFrom(BasePlayer, Item)

Passes: BaseVehicleModule local0, BaseModularVehicle baseModularVehicle, BasePlayer player

WorksReturnBehavior: ExitWhenNonNullArgumentBehavior: UseArgumentString (l0, this, a0)Assembly-CSharp.dll

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

// …
{
	if (item.info.GetComponent<ItemModVehicleChassis>() != null)
	{
		return PlayerInventory.CanMoveFromResponse.Failure(ItemModVehicleChassis.CantMoveChassisError);
	}
	BaseVehicleModule moduleForItem = GetModuleForItem(item);
	if (moduleForItem != null)
	{
		object returnvar = Interface.CallHook("OnVehicleModuleMove", moduleForItem, this, player);
		if (returnvar is PlayerInventory.CanMoveFromResponse)
		{
			return (PlayerInventory.CanMoveFromResponse)returnvar;
		}
		return new PlayerInventory.CanMoveFromResponse(moduleForItem.CanBeMovedNow(), moduleForItem.CannotBeMovedNowReason());
	}
	return PlayerInventory.CanMoveFromResponse.Success();
}

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.