17.03.2009, 07:46
Some ideas to chuck in..
Client:
Show "speaker" icon above talkers head.
Allow clients to mute players / all voices.
Show mutes in tab board (have a "mute" column, with a tick box symbolising if the player is muted or not)
New server variables:
clientmute 0/1 // Allow clients to mute, the server owner may deem the gamemode requires users to hear each other.
voice 0/1 // Global voice chat toggle.
New functions:
ToggleGlobalVoiceFading(bool:toggle); // Toggle between voice distance fading and no fading.
LimitGlobalVoiceRadius(Float: distance); // Allow a radius for chatting. The voices will fade into the specified distance (if fading is on).
SendVoiceToAll(); // Admin announcements in a server with radius chat. Maybe for mute overrides by script.
SendVoiceToPlayer(playerid, Float: volume); // Usable only in *Speak callbacks. Takes the current voice and sends it to the playerid.
ShowPlayerMutedPlayer(playerid, muteplayer); // Server control over the mutes showing in tab board.
New callbacks:
OnPlayerSpeak(playerid); // Called when the player speaks. Return 0 means no voice is sent unless SendVoiceToPlayer is used, return 1 means voice is sent to everyone.
OnPlayerTeamSpeak(playerid, teamid); // Called when the player speaks to team (like OnPlayerTeamPrivmsg etc). Returns same as above.
OnPlayerMutePlayer(playerid, muteid); // Could be useful for automated systems detecting if someone is just annoying using voice (e.g. x% of server mutes = kick).
OnPlayerUnMutePlayer(playerid, muteid); // ^^^
Client:
Show "speaker" icon above talkers head.
Allow clients to mute players / all voices.
Show mutes in tab board (have a "mute" column, with a tick box symbolising if the player is muted or not)
New server variables:
clientmute 0/1 // Allow clients to mute, the server owner may deem the gamemode requires users to hear each other.
voice 0/1 // Global voice chat toggle.
New functions:
ToggleGlobalVoiceFading(bool:toggle); // Toggle between voice distance fading and no fading.
LimitGlobalVoiceRadius(Float: distance); // Allow a radius for chatting. The voices will fade into the specified distance (if fading is on).
SendVoiceToAll(); // Admin announcements in a server with radius chat. Maybe for mute overrides by script.
SendVoiceToPlayer(playerid, Float: volume); // Usable only in *Speak callbacks. Takes the current voice and sends it to the playerid.
ShowPlayerMutedPlayer(playerid, muteplayer); // Server control over the mutes showing in tab board.
New callbacks:
OnPlayerSpeak(playerid); // Called when the player speaks. Return 0 means no voice is sent unless SendVoiceToPlayer is used, return 1 means voice is sent to everyone.
OnPlayerTeamSpeak(playerid, teamid); // Called when the player speaks to team (like OnPlayerTeamPrivmsg etc). Returns same as above.
OnPlayerMutePlayer(playerid, muteid); // Could be useful for automated systems detecting if someone is just annoying using voice (e.g. x% of server mutes = kick).
OnPlayerUnMutePlayer(playerid, muteid); // ^^^