RustTip

OnLootEntityEnd

OxidePlayer
void OnLootEntityEnd(BasePlayer player, LootableCorpse lootableCorpse)
void OnLootEntityEnd(BasePlayer player, StorageContainer storageContainer)
void OnLootEntityEnd(BasePlayer player, ContainerIOEntity containerIOEntity)
void OnLootEntityEnd(BasePlayer player, DroppedItemContainer droppedItemContainer)
void OnLootEntityEnd(BasePlayer player, ItemBasedFlowRestrictor itemBasedFlowRestrictor)
Работает — метод игры в этой сборке тот же, под который написан хук.

Параметры

player
BasePlayer
lootableCorpse
LootableCorpse

Возвращаемое значение

voidВозвращаемое значение игнорируется — хук только уведомляет.

Пример

private void OnLootEntityEnd(BasePlayer player, LootableCorpse lootableCorpse)
{
    Puts("OnLootEntityEnd");
}

Работает и в Oxide, и в Carbon: Carbon загружает плагины Oxide без изменений.

Место встраивания 1

Rust.opj (Oxide)
void LootableCorpse.PlayerStoppedLooting(BasePlayer)

Передаёт: BasePlayer player, LootableCorpse lootableCorpse

РаботаетReturnBehavior: ContinueArgumentBehavior: UseArgumentString (a0, this)Assembly-CSharp.dll

Где вызывается (код игры этой ветки)

public void PlayerStoppedLooting(BasePlayer player)
{
	Interface.CallHook("OnLootEntityEnd", player, this);
	ResetRemovalTime();
	SetFlagLocal(Flags.Open, b: false);
	SendNetworkUpdate();
}

Место встраивания 2

Rust.opj (Oxide)
void StorageContainer.PlayerStoppedLooting(BasePlayer)

Передаёт: BasePlayer player, StorageContainer storageContainer

РаботаетReturnBehavior: ContinueArgumentBehavior: UseArgumentString (a0, this)Assembly-CSharp.dll

Где вызывается (код игры этой ветки)

public virtual void PlayerStoppedLooting(BasePlayer player)
{
	Interface.CallHook("OnLootEntityEnd", player, this);
	SetFlagLocal(Flags.Open, b: false);
	SendNetworkUpdate();
}

Место встраивания 3

Rust.opj (Oxide)
void ContainerIOEntity.PlayerStoppedLooting(BasePlayer)

Передаёт: BasePlayer player, ContainerIOEntity containerIOEntity

РаботаетReturnBehavior: ContinueArgumentBehavior: UseArgumentString (a0, this)Assembly-CSharp.dll

Где вызывается (код игры этой ветки)

public virtual void PlayerStoppedLooting(BasePlayer player)
{
	Interface.CallHook("OnLootEntityEnd", player, this);
	SetFlagLocal(Flags.Open, b: false);
	SendNetworkUpdate();
}

Место встраивания 4

Rust.opj (Oxide)
void DroppedItemContainer.PlayerStoppedLooting(BasePlayer)

Передаёт: BasePlayer player, DroppedItemContainer droppedItemContainer

РаботаетReturnBehavior: ContinueArgumentBehavior: UseArgumentString (a0, this)Assembly-CSharp.dll

Где вызывается (код игры этой ветки)

public void PlayerStoppedLooting(BasePlayer player)
{
	Interface.CallHook("OnLootEntityEnd", player, this);
	if (inventory == null || inventory.itemList == null || inventory.itemList.Count == 0)
	{
		Kill();
	}
	else
	{
		ResetRemovalTime();
		SetFlagLocal(Flags.Open, b: false);
// …

Место встраивания 5

Rust.opj (Oxide)
void ItemBasedFlowRestrictor.PlayerStoppedLooting(BasePlayer)

Передаёт: BasePlayer player, ItemBasedFlowRestrictor itemBasedFlowRestrictor

РаботаетReturnBehavior: ContinueArgumentBehavior: UseArgumentString (a0, this)Assembly-CSharp.dll

Где вызывается (код игры этой ветки)

public void PlayerStoppedLooting(BasePlayer player)
{
Interface.CallHook("OnLootEntityEnd", player, this);
}

Источники: Rust.opj из OxideMod/Oxide.Rust (MIT) и метаданные хуков документации Carbon (MIT). Код методов — декомпиляция сервера этой ветки.