RustTip

OnHorseUnhitch

OxideCarbonAnimal

Called when horse unhitch occurs.

object OnHorseUnhitch(HitchTrough.IHitchable hitchable, HitchTrough.HitchSpot local2)
Works — the game method in this build is the one the hook was written for.

Parameters

hitchable
HitchTrough.IHitchable
local2
HitchTrough.HitchSpot

Return value

objectReturn non-null to cancel the game action.

Example

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

private object OnHorseUnhitch(HitchTrough.IHitchable hitchable, HitchTrough.HitchSpot local2)
{
    Puts("OnHorseUnhitch");

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

    // to affect the game:
    // return false; // non-null cancels the game action
}

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

Injection point

Rust.opj (Oxide)
void HitchTrough.UnHitch(HitchTrough.IHitchable)

Passes: HitchTrough.IHitchable hitchable, HitchTrough.HitchSpot local2

WorksReturnBehavior: ExitWhenValidTypeArgumentBehavior: UseArgumentString (a0, l2)Assembly-CSharp.dll

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

public void UnHitch(IHitchable hitchable)
{
	HitchSpot[] array = hitchSpots;
	foreach (HitchSpot hitchSpot in array)
	{
		if (hitchSpot.GetHitchable(isServer) == hitchable)
		{
			if (Interface.CallHook("OnHorseUnhitch", hitchable, local2) != null)
			{
				return;
			}
			hitchSpot.SetOccupiedBy(null);
			hitchable.SetHitch(null, null);
		}
	}
}

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.