CanPickupFromRack
CarbonGlobalCalled to check whether the player can take a specific weapon from a weapon rack.
Return true to allow the action and false to block it.
void CanPickupFromRack(WeaponRack rack, BasePlayer player, Item item, int mountSlotIndex, int playerBeltIndex, bool tryHold)Работает — метод игры в этой сборке тот же, под который написан хук.
Параметры
- rack
- WeaponRack
- player
- BasePlayer
- item
- Item
- mountSlotIndex
- int
- playerBeltIndex
- int
- tryHold
- bool
Возвращаемое значение
voidПоведение не описано.
Пример
private void CanPickupFromRack(WeaponRack rack, BasePlayer player, Item item, int mountSlotIndex, int playerBeltIndex, bool tryHold)
{
Puts("CanPickupFromRack");
}Работает и в Oxide, и в Carbon: Carbon загружает плагины Oxide без изменений.
Место встраивания
Carbon
void WeaponRack.GivePlayerWeapon(BasePlayer player, int mountSlotIndex, int playerBeltIndex, bool tryHold, bool sendUpdate)
РаботаетAssembly-CSharp
Где вызывается (код игры этой ветки)
private void GivePlayerWeapon(BasePlayer player, int mountSlotIndex, int playerBeltIndex = -1, bool tryHold = true, bool sendUpdate = true)
{
Interface.CallHook("CanPickupFromRack", this, player, item, mountSlotIndex, playerBeltIndex, tryHold);
if (player == null)
{
return;
}
WeaponRackSlot weaponAtIndex = GetWeaponAtIndex(mountSlotIndex);
if (weaponAtIndex == null)
{
return;
// …Источники: Rust.opj из OxideMod/Oxide.Rust (MIT) и метаданные хуков документации Carbon (MIT). Код методов — декомпиляция сервера этой ветки.