What is this. Example MP  mission that has 4 working configurable clickable buttons in the briefing. Purely VANILLA, no addons These buttons can be configured to Open an external web page in your default browser Start and connect a client to your Teamspeak server ( If they have Teamspeak installed ) Download a file And most likely also allow you to link to your discord channel (not tested)   No issues found while running with an anti virus and doesn't interrupt Arma (Tested in full screen mode with multiple monitors)       DOWNLOAD LATEST VERSION Download Example mission and source code Following download has  a working packed (pbo) mission file and the source files Txu_InfoLinks.zip (see changelog)   The example mission will (If you click the links) (Please don't spam them) Allow you to Join my teamspeak server Open up the teamspeak client download page Open up our website front page Download our clientside addon pack   INSERTING INTO MISSION 1) Copy the TXU_Info folder into the root of your unpacked mission folder 2) Add the following lines to your Description.EXT   #include "Txu_Info\CfgControls.hpp" class cfgFunctions { #include "Txu_Info\cfgfunctions.hpp" };   If your CfgFunctions class already exists then just copy the "#include" line as seen above 3) Open  the TXU_info\CfgControls.hpp Edit the txt= and url= entries for the 4 button classes in there and your done.   Also if your mission doesn't have a briefing like for example OPEX, you can comment out the  TXU_INFO_FrameEHId = addMissionEventHandler ["EachFrame",{[] call TXU_INFO_fbriefingEH}];   e.g. //TXU_INFO_FrameEHId = addMissionEventHandler ["EachFrame",{[] call TXU_INFO_fbriefingEH}];   so that it doesnt attempt to display in the initial briefing screen   ADVANCED EDITING You can ad parameters to your Teamspeak URL For example, automatically add a bookmark to the players Teamspeak Client as well as passwords, default channels etc   Complete format: ts3server://ts9.teamspeak.cc?port=9987 &nickname=UserNickname &password=serverPassword &channel=MyDefaultChannel &channelpassword=defaultChannelPassword &token=TokenKey &addbookmark=SomeBookmarkText   Parameters are optional. In most cases, specifying the host and port should be sufficient. Nicknames usually should not be specified, leave this to be configured by the users in the client. So a common URL would look like this: ts3server://ts9.teamspeak.cc?port=9987 Or simplified if only the port is given: ts3server://ts9.teamspeak.cc:9987   CREDITS The orginal concept and a working example was by Larrow
His original post 
He is the one that deserves the credit for this. His original version only had 1 button and wasn't available in the initial briefing screen. My version has 4 buttons (I cant see you needing more than 3 really)   LIMITATIONS The system uses classes to create buttons that are defined in the Description.ext environment. This is the only way I can see to pass an external  URL link. For that reason it cannot be injected into the client using a serverside addon. So the only way to get this to work is as part of the mission file. That's a lot of editing for server admins and their mission devs   FUTURE DEVELOPMENT If someone better at coding than me wants to rip this and optimise it more, feel free, I'll happily update the example mission and re update it.   ENJOY !   CHANGELOG V.01 (Date: 18/5/2020) File: TXU_info\f\fmapEH.sqf Line 20 Changed from         if(TXU_INFO_ButtonAdded)exitwith{};  to     if(TXU_INFO_ButtonAdded1)exitwith{}; __________________________________________   V.02 (Date: 24/5/2020) Removed the requirement to #include "Txu_Info\CfgBaseDefines.hpp" This file has been completely removed. The default Gui class bases are no longer inherited from, this makes it much easier to import this into existing missions that define their own GUI Base classes and should not conflict with any existing Gui definitions __________________________________________