Author: KiloSwiss
Author Website: http://www.kiloswiss.ch

Requirements: No addons required

Version: 1.1

Short description: Block Voice in Global/Sidechannel

Date: 2015-06-24 22:01


Comments: (0)
Rating:



 





A3 VoiceControl

by
KiloSwiss


Description:
Restrict only Voice for some channels without disabling them completely.
Players can still write in "blocked" channels, only talking is permitted.
This script aims towards public servers where admins always have to decide between blocking side/global channels completely (thus restrain communication abilitys for all players) or leave them open and therefore constantly have to administrate some "individuals" that abuse the VON to annoy other people on the same team or even the whole server.

Pros:
  • Voice communication (over VON) is blocked in certain (pre defined) channels.
  • Players can still use those channels to write text (warn their team, contact an admin, etc).
  • Admins (defined in a separate file) can always talk in Global/Sidechannel.
  • The script also recognizes if a client logs in as admin (#login xyz) or logs out (#logout), and grants/revokes him the rights to talk.
  • You can define different channel presets for "regular players", "group leaders" and "administrators" (see the readme file for more details).
  • If a group leader takes place in a commander seat of a vehicle, he gets access to the Command Channel (if he leaves this seat, the channel gets disabled again).
  • Disabled channels (via disableChannels setting in description.ext) are overwritten by this script, so admins can talk/write in global, even if this channel is disabled!
Cons:
  • N/A
Additional information:
The script runs completely clientside.
Players are warned with a loud sound and a text message.
The message includes a hint on how to switch between channels.

By default* the players have access to the following channels:
  • Regular player: Direct, Vehicle, Group
  • Group leader: Direct, Vehicle, Group, Side (+Command if in commander seat)
  • Admin: Direct, Vehicle, Group, Side, Command, Global
*default means, by using the files as provided and with "disableChannels[]={2,6};" in description.ext.


Installation / Usage:
#1. Copy the files "voiceControl.cpp" and "voiceControl.sqf" into the mission root folder.
#2. Open the file "description.ext" with a text editor (like Notepad++) and add the following line to it:
#include "voiceControl.cpp"
Edit the settings under "disableChannels", I recommend the following for public servers: disableChannels[]={2,6};
#3a. If You have a file called "initPlayerLocal.sqf" in your mission root folder, then add the following line to it:
execVM "voiceControl.sqf";
#3b. If you don't have a file called "initPlayerLocal.sqf", copy the one from the download into your mission root or add the following line to your "init.sqf":
if(hasInterface)then{execVM "voiceControl.sqf"};
#4. Edit the file "voiceControl.cpp" to change which channels, players/group leader/admins are allowed to talk in.


Known issues:
A very short segment (a fracture of a second) of players voice, is still transmitted, before the script "kicks" in.


Credits & Thanks:
Credit goes to SaMatra (for pointing me into the right direction) and also to
KillzoneKid (for his script that is used to detect if a player starts talking).


Changelog:
v1.1
- Added some little checks to prevent endless script errors.
- The commander channel can now only be used if the group leader also has the right to speak in side channel.
- Updated the readme file with a additional step, explaining how to replace the loud siren with a more subtle sound.

v1
- first release


Forum topic:
- BI forums




Enable javascript to be able to download from Armaholic please!



Tags: Clientside,   Control,   Voice,   Von