Outils pour utilisateurs

Outils du site


archlinux:teamspeak

Table des matières

teamspeak

Installation

Rien de plus simple :

yaourt -S aur/teamspeak3

Overlay

On crée ensuite un script nommé “osd.lua” dans le répertoire dédié de teamspeak :

vi /opt/teamspeak3/plugins/lua_plugin/osd.lua

Et on met ceci dedans :

--The vertical position of the text. POS can be top, middle, or bottom. The default is top.
local osd_pos="bottom"
--The number of pixels the text is offset from the top or bottom of the display. The default is 0.
local osd_offset=100
--The horizontal alignment of the text. ALIGN can be left, centre or right. The default is centre.
local osd_align="left"
--The number of pixels the text is indented from the left or right of the display. The default is 0.
local osd_indent=0
--The font used to display the text. The default is fixed, which may be too small to see clearly.
local osd_font="-adobe-helvetica-bold-*-*-*-14-*-*-*-*-*-*-*"
--The text colour. The default is red.
local osd_colour="green"
--The number of seconds the text is displayed before being removed from the display. The default is 5.
local osd_delay=100
--The maximum number of lines that can be displayed. The default is 5.
local osd_lines=5
--The number of pixels the shadow is offset behind the text. The default is 0, so no shadow is displayed.
local osd_shadow=1
--The colour of the shadow. The default is black.
local osd_shadowcolour="black"
--The width of the outline, in pixels. The default is 0, so no outline is displayed.
local osd_outline=1
--The colour of the outline. The default is black.
local osd_outlinecolour="black"
--This option affects screen redrawing. If SCROLL_AGE seconds pass before a new line is ready (for example, you're reading from a pipe), the display is cleared instead of being scrolled. The default is 0, which means all lines are added to the scroll.
osd_age=100

local clients = {}

local oldOnTalkStatusChangeEvent = onTalkStatusChangeEvent;

function onTalkStatusChangeEvent(serverConnectionHandlerID, status, isReceivedWhisper, clientID)
    oldOnTalkStatusChangeEvent(serverConnectionHandlerID, status, isReceivedWhisper, clientID)
    local msg="";
    clients[clientID]=status;
    for k,v in pairs(clients) do
    	if (v==1) then
    		local clientName, error = ts3.getClientVariableAsString(serverConnectionHandlerID, k, ts3defs.ClientProperties.CLIENT_NICKNAME);
    		msg = msg .. "\n" .. clientName;
    	end
    end
    if (msg=="") then
    	os.execute("killall osd_cat")
    	return
    end
    os.execute("killall osd_cat")
    os.execute("echo \"" .. msg .. "\" | osd_cat --pos=" .. osd_pos .. " --offset=" .. osd_offset .. " --align=" .. osd_align .. " --indent=" .. osd_indent .. " --font=" .. osd_font .. " --colour=" .. osd_colour .. " --delay=" .. osd_delay .. " --lines=" .. osd_lines .. " --shadow=" .. osd_shadow .. " --shadowcolour=" .. osd_shadowcolour .. " --outline=" .. osd_outline .. " --outlinecolour=" .. osd_outlinecolour .. " --age=" .. osd_age .. " &")
end

On peut jouer sur les paramètres suivants pour placer l'apparition des noms :

local osd_pos="bottom"
local osd_offset=100
local osd_align="left"
local osd_colour="green"

Dans cet exemple, les noms apparaîtront en bas à gauche et de couleur verte.

Ensuite on édite ce fichier :

vi /opt/teamspeak3/plugins/lua_plugin/ts3events.lua

Et on ajoute à la fin :

require("osd")

Il ne reste plus qu'a lancer Teamspeak, puis se rendre dans le menu “settings” puis “plugins” et vérifier que “lua plugin” est bien coché.

Note

Lors d'une mise à jour de teamspeak, le script osd.lua ne sera pas touché, par contre, le fichier “ts3events.lua” sera lui remplacé par une nouvelle version, il faut donc après chaque mise à jour penser a ajouter la ligne require(“osd”) à la fin de ce fichier.

archlinux/teamspeak.txt · Dernière modification : 2012/05/29 19:07 de sheltem