RustTip

OnPlayerOfflineChat

OxideCarbonPlayer

Called when a player offline chats.

void OnPlayerOfflineChat(ulong playerid, string username, string message, ConVar.Chat.ChatChannel channel)

Параметры

playerid
ulong
username
string
message
string
channel
ConVar.Chat.ChatChannel

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

voidПоведение не описано.

Пример

private void OnPlayerOfflineChat(ulong playerid, string username, string message, ConVar.Chat.ChatChannel channel)
{
    Puts("OnPlayerOfflineChat");
}

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

Где вызывается

ядро Oxide (Oxide.Rust)
RustCore::IOnPlayerChat(ulong playerId, string playerName, string message, Chat.ChatChannel channel, BasePlayer basePlayer)

Код ядра Oxide — отсюда вызывается хук

// …
    }

    message = message.EscapeRichText();

    // Check if using Rust+ app
    if (basePlayer == null || !basePlayer.IsConnected)
    {
        // Call offline chat hook
        return Interface.CallHook("OnPlayerOfflineChat", playerId, playerName, message, channel);
    }

    // Call hooks for plugins
    object chatSpecific = Interface.CallHook("OnPlayerChat", basePlayer, message, channel);
    object chatCovalence = Interface.CallHook("OnUserChat", basePlayer.IPlayer, message);
    return chatSpecific is null ? chatCovalence : chatSpecific;
}

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

Carbon
Carbon.Core.CorePlugin.OnPlayerOfflineChat
Внутри CarbonCarbon.Common

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