OnBigWheelLoss
OxideCarbonEntityCalled when big wheel loss occurs.
object OnBigWheelLoss(BigWheelGame bigWheelGame, Item item, BigWheelBettingTerminal bigWheelBettingTerminal)Работает — метод игры в этой сборке тот же, под который написан хук.
Параметры
- bigWheelGame
- BigWheelGame
- item
- Item
- bigWheelBettingTerminal
- BigWheelBettingTerminal
Возвращаемое значение
objectВерните не null, чтобы прервать метод игры.
Пример
object — можно повлиять на игру: вернуть значение, чтобы изменить или отменить действие.
private object OnBigWheelLoss(BigWheelGame bigWheelGame, Item item, BigWheelBettingTerminal bigWheelBettingTerminal)
{
Puts("OnBigWheelLoss");
// ничего не меняем — игра продолжит как обычно
return null;
// повлиять на игру:
// return false; // не null — действие игры отменяется
}Работает и в Oxide, и в Carbon: Carbon загружает плагины Oxide без изменений.
Место встраивания
Rust.opj (Oxide)
void BigWheelGame.Payout()
Передаёт: BigWheelGame bigWheelGame, Item item, BigWheelBettingTerminal bigWheelBettingTerminal
РаботаетReturnBehavior: ExitWhenNonNullAssembly-CSharp.dll
Где вызывается (код игры этой ветки)
// …
flag = true;
Analytics.Azure.OnGamblingResult(terminal.lastPlayer, terminal, amount, slot.amount, value);
}
for (int i = 0; i < 5; i++)
{
Item slot2 = terminal.inventory.GetSlot(i);
if (slot2 != null)
{
if (Interface.CallHook("OnBigWheelLoss", this, slot2, bigWheelBettingTerminal) == null)
{
return;
}
Analytics.Azure.OnGamblingResult(terminal.lastPlayer, terminal, slot2.amount, 0, value);
slot2.Remove();
flag2 = true;
}
}
// …Источники: Rust.opj из OxideMod/Oxide.Rust (MIT) и метаданные хуков документации Carbon (MIT). Код методов — декомпиляция сервера этой ветки.