diff options
| author | navewindre <nw@moneybot.cc> | 2023-11-13 14:28:08 +0100 |
|---|---|---|
| committer | navewindre <nw@moneybot.cc> | 2023-11-13 14:28:08 +0100 |
| commit | da518fdc0f32839730ccdee8098b59c6f842d93f (patch) | |
| tree | d6f856a6148c0b4d5819f88f068b7287b8044513 /sourcemod/scripting/include/sdktools_voice.inc | |
| parent | bc678b10830cdaef64bcc592ca2524ebe0fcdc45 (diff) | |
ya
Diffstat (limited to 'sourcemod/scripting/include/sdktools_voice.inc')
| -rw-r--r-- | sourcemod/scripting/include/sdktools_voice.inc | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/sourcemod/scripting/include/sdktools_voice.inc b/sourcemod/scripting/include/sdktools_voice.inc new file mode 100644 index 0000000..6bcaf3d --- /dev/null +++ b/sourcemod/scripting/include/sdktools_voice.inc @@ -0,0 +1,143 @@ +/** + * vim: set ts=4 : + * ============================================================================= + * SourceMod (C)2004-2008 AlliedModders LLC. All rights reserved. + * ============================================================================= + * + * This file is part of the SourceMod/SourcePawn SDK. + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License, version 3.0, as published by the + * Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see <http://www.gnu.org/licenses/>. + * + * As a special exception, AlliedModders LLC gives you permission to link the + * code of this program (as well as its derivative works) to "Half-Life 2," the + * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software + * by the Valve Corporation. You must obey the GNU General Public License in + * all respects for all other code used. Additionally, AlliedModders LLC grants + * this exception to all derivative works. AlliedModders LLC defines further + * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007), + * or <http://www.sourcemod.net/license.php>. + * + * Version: $Id$ + */ + +#if defined _sdktools_voice_included + #endinput +#endif +#define _sdktools_voice_included + +/** + * @section voice flags. + */ +#define VOICE_NORMAL 0 /**< Allow the client to listen and speak normally. */ +#define VOICE_MUTED 1 /**< Mutes the client from speaking to everyone. */ +#define VOICE_SPEAKALL 2 /**< Allow the client to speak to everyone. */ +#define VOICE_LISTENALL 4 /**< Allow the client to listen to everyone. */ +#define VOICE_TEAM 8 /**< Allow the client to always speak to team, even when dead. */ +#define VOICE_LISTENTEAM 16 /**< Allow the client to always hear teammates, including dead ones. */ + +/** + * @endsection + */ + +enum ListenOverride +{ + Listen_Default = 0, /**< Leave it up to the game */ + Listen_No, /**< Can't hear */ + Listen_Yes /**< Can hear */ +}; + +/** + * Called when a client is speaking. + * + * @param client The client index + */ +forward void OnClientSpeaking(int client); + +/** + * Called once a client speaking end. + * + * @param client The client index + */ +forward void OnClientSpeakingEnd(int client); + +/** + * Set the client listening flags. + * + * @param client The client index + * @param flags The voice flags + * @error Invalid client index or client not connected. + */ +native void SetClientListeningFlags(int client, int flags); + +/** + * Retrieve the client current listening flags. + * + * @param client The client index + * @return The current voice flags + * @error Invalid client index or client not connected. + */ +native int GetClientListeningFlags(int client); + +/** + * Set the receiver ability to listen to the sender. + * + * @param iReceiver The listener index. + * @param iSender The sender index. + * @param bListen True if the receiver can listen to the sender, false otherwise. + * @return True if successful otherwise false. + * @deprecated Use SetListenOverride() instead. + */ +#pragma deprecated Use SetListenOverride() instead +native bool SetClientListening(int iReceiver, int iSender, bool bListen); + +/** + * Retrieves if the receiver can listen to the sender. + * + * @param iReceiver The listener index. + * @param iSender The sender index. + * @return True if successful otherwise false. + * @deprecated GetListenOverride() instead. + */ +#pragma deprecated GetListenOverride() instead +native bool GetClientListening(int iReceiver, int iSender); + +/** + * Override the receiver's ability to listen to the sender. + * + * @param iReceiver The listener index. + * @param iSender The sender index. + * @param override The override of the receiver's ability to listen to the sender. + * @return True if successful otherwise false. + * @error Listener or sender client index is invalid or not connected. + */ +native bool SetListenOverride(int iReceiver, int iSender, ListenOverride override); + +/** + * Retrieves the override of the receiver's ability to listen to the sender. + * + * @param iReceiver The listener index. + * @param iSender The sender index. + * @return The override value. + * @error Listener or sender client index is invalid or not connected. + */ +native ListenOverride GetListenOverride(int iReceiver, int iSender); + +/** + * Retrieves if the muter has muted the mutee. + * + * @param iMuter The muter index. + * @param iMutee The mutee index. + * @return True if muter has muted mutee, false otherwise. + * @error Muter or mutee client index is invalid or not connected. + */ +native bool IsClientMuted(int iMuter, int iMutee); |
