Sound Events Manager plugin

ManiaControl, the completely new designed and easy to use controller managing all your Maniaplanet server.

Moderators: kremsy, Jocy, Wabbitface, steeffeen, NADEO

Post Reply
User avatar
Lumpik
Posts: 41
Joined: 04 Jan 2015, 22:00
Contact:

Sound Events Manager plugin

Post by Lumpik » 01 Feb 2015, 13:45

Hi everybody,

the "Sound Events Manager" plugin, also called "SEM", has been released !
Plugin id #70 : http://www.maniacontrol.com/plugins/70

This plugin can play sounds on many triggers :
- PLAYER_CONNECTED
- PLAYER_DISCONNECTED
- BEGIN_MAP
- BEGIN_PLAYING
- TEAM_SCORES
- BACKSPACE
- OFFZONE
- HIT by laser/rocket/nucleus/arrow
- TEAMKILLER
- KILL

Moreover, it can :
- count the killstreak of each player
- display the ranking of the 3 best killstreak players
- display a message on each event which has played a sound
- play ambiant music in loop
- play you own sounds

User interface :
Image

Sounds :
To play a sound, it has to be :
- configurated into your config.xml if able, in config_default.xml otherwise.
- enabled in the SEM parameters
- allowed by the player in the SEM MENU Image
Sounds are played as soon as their event occurs. That means a sound can be muted by another sound.
By default, the plugin plays Unreal Tournament / Quake sounds for all players but admins can set their own sounds (ogg/wav format) or choose who'll be able to hear sounds.
Please note that sounds have to be dowloaded once IG. So you'll probably not hear them the 1st time they should be played.

Messages :
Messages are displayed only if a sound is played and to the same receivers of that sound (depending on the configuration of this sound).
The message sent can't be configurated and you can't choose which message to enable/disable, as it would add too many parameters.
You can only choose is you want none or all messages, in SEM parameter and in SEM menu Image

Killstreak :
There's a killstreak counter which counts for each player the number of kill without dying. Dying means being killed, backspace, off-zoned or starting a new map. By default, you don't "die" when a new round start.
Killstreaking will play different sounds depending on the killstreak number. For example, in Siege mod and by default, you'll get the "dominating" sound from Unreal Tournament if you have killstreak 2, "rampage" for killstreak 4, etc...

Ranking :
The top 3 killstreak players is displayed on the top right.

Music :
Only admins or greater can play music.
The music link has to be set into the "MUSIC" block in your config.xml.
The music is sent to each player who :
- is not in the IGNORED_PLAYERS_LIST parameter
- has not disabled music
It plays the music in loop and and won't stop if a sound needs to be played.
Music could be usefull in some situations :
- in Obstacle mode, which sounds are less important than other modes
- while you're chatting or waiting for other people to join your server
- while playing for fun, if you choose a ambiant sound and low volume, like in Quake, Unreal, etc...

Sound on demand :
This feature allow admins to play sounds configurated in soundOnDemand.xml from the plugin directory.
Sounds name will be truncated if their length is greater than 20 characters, to avoid display issues.
You'll be able to play up to 99 sounds.
All sounds on demand will be preloaded on player's connexion.

Configuration :
By admins :
Admins can configure many things in SEM parameters, such as choosing which sounds to play, who will hear sounds, link to all sounds, position and size of message and ranking, etc...
@ admins : please take a look on description of SEM parameters below.

By players :
Players can activate or desactivate SOUNDS, MESSAGES, RANKING and MUSIC by using the SEM icon Image.
Sounds : Image / Image
Messages : Image / Image
Ranking : Image / Image
Music : Image / Image
Sound On Demand : Image / Image

Default configuration :
At the moment, there's only a specific default configuration for Siege and Speedball.
If you'd like to add a new default configuration for an other mod, just tell me your killstreak sounds links on this topic !

Bugs / new features :
If you find any bug or would like to see a new feature, just ask on this thread !
By the way, the old bug which crash ManiaControl is solved now. Crash was due to old versions of php.

I hope you'll enjoy =)

Lumpik

********************************************************************************
********************************************************************************
Changelog v1.01 : 2015/02/09
- you can play music in loop at beginning of each map (if MUSIC_ENABLE parameter is checked) or on admin's will by using Image / Image
- you can reset scores (killstreak) on each round by checking RESET_ON_NEW_ROUND parameter
- go on this thread from the plugin's parameters interface by clicking on URL value

**************************************
Changelog v1.02 : 2015/02/15
- MESSAGES and RANKING can be enabled/disabled by players with new icons : Image / Image and Image / Image
- All icons are gathered into new menu : Image
- Default RESET_ON_NEW_ROUND set to true for Siege.

**************************************
Changelog v1.03 - 2015/02/17 :
- Players can enable/disable MUSIC : Image / Image
- HIT sounds are differentiated for RAIL, ROCKET, NUCLEUS and ARROW.
- RANKING is aligned on the right.
- Description label added on SEM icons.

**************************************
Changelog v1.04 - 2015/02/24 :
- Store user parameters (SOUNDS, MESSAGES, RANKING, MUSIC enabled/disabled) from the SEM Menu.
- Some sounds can be parametered to be played to no one, only the player who triggered the sound, team of this player or everybody.
- New SEM menu icon : Image (with white dots on left).
- More understandable icons : black means desactived and green means activated.
- No more "Playing music" message when no link is set.
- Using dynamical constants for KILL_*_LINK. No visible effect.
- Display "RANKING" title.
- Keep SEM menu opened.
- Some bug fixes.
- NB : Can't handle HEADSHOT, due to lake of datas from ManiaControl.
- More information on the 1st post of the thread.

**************************************
Changelog v1.05 - 2015/03/01 :
- Fix ManiaControl crash on "Play music".
- Fix bug "Stop music" not displayed.
- Fix bugs with MESSAGES_ENABLED and RANKING_ENABLED (didn't work).
- Don't open SEM menu when restarting ManiaControl.

**************************************
Changelog v1.06 - 2015/03/08 :
- New menu icon. Thanks to swinn for the icon.
- Add new parameters : MUSIC_DELAY, BEGIN_MAP_DELAY, BEGIN_PLAYING_DELAY, TEAM_SCORES_DELAY and SEM_MESSAGES_DURATION.
- New parameters to set width and height of all icons.
- Preload all sounds when connecting to the server or loading the plugin.
- Remove some PHP warning sent to ManiaControl.
- Bug fix : KILLSTREAK and RANKING are now working on all FFA modes like Royal. Thanks to YamYam for the report.
- Bug fix : "play/stop music" icon is now up-to-date when playing a music at beginning of new map.
- Bug fix : your icons won't change when other players change their configuration.

**************************************
Changelog v1.07 - 2015/06/10 :
- Export all "*_LINK" parameters into a config.xml. Renamed all other parameters.

NB :
- Save your ingame configuration before updating SEM to v1.07. You'll loose all your parameters.
- You have to update the config.xml file in <root_dir>/plugins/Lumpik/ to set your own configuration.
- Once you've updated your config.xml, save it to another directory. You'll probably have to restore this for next releases.


**************************************
Changelog v1.08 - 2015/06/13 :
- Add SOUND ON DEMAND feature to allow admins to play their own sounds : Image.
- Add config_default.xml and soundOnDemand_default.xml files to prevent deleting user config.

NB :
- Set your configuration into config.xml and soundOnDemand.xml. It won't be deleted on next releases this way.


**************************************
Changelog v1.09 - 2015/07/03 :
- Add delays between each SOUND ON DEMAND in parameters.
- Players can mute SOUND ON DEMAND. : Image / Image.
- "Start music" button is hidden if no link is set.
- Bug fix : messages displayed while no killstreak sound is played.

**************************************
Changelog v1.10 - 2015/07/10 :
- Add <blockothersounds> and <duration> tags into XML files to avoid sounds/SOD to be stopped by other sounds.
- Add 2 parameters to hide "Preloading..." and "Playing Sound On Demand..." information messages.
- Add parameter to set volume of SOD.
- Removed all "_LINK" suffixes in config.xml.
- Add SEM version into information messages.

NB : Please, update your config.xml file by removing all "_LINK" strings from it.

********************************************************************************
********************************************************************************
Description of tags into config.xml / config_default.xml :
<name> : Don't change this value. SEM will get values from only specific names.
<description> : Just an information tag about how this sound will be used.
<url> : the link to the sound
<blockothersounds> : set it to "true" if you want this sound to be played until the duration you've set. No other SOUND/SOD will be played while <duration> milliseconds.
<duration> : set the duration in milliseconds of this sound.

Description of tags into soundOnDemand.xml and soundOnDemand_default.xml :
<name> : the name you want to display into the SOD menu. Max 20 characters will be displayed.
<description> : the information text you want to be displayed when you aim the SOD with you mouse in the SOD menu.
<url> : the link to the SOD
<blockothersounds> : set it to "true" if you want this sound to be played until the duration you've set. No other SOUND/SOD will be played while <duration> milliseconds.
<duration> : set the duration in milliseconds of this sound.

Description and use of SEM parameters :

NB :
Some parameters "_ENABLED" are expecting "[none/player/team/all]" value.
This means :
- "none" won't play any sound
- "player" will play sound only to the player who triggered the sound
- "team" will play sound to the whole team of the player who triggered the sound
- "all" will play sound to everybody
URL - '000. For any bug/suggestion/...'
- The link to open this thread from the plugin's parameters.

SEM_SOUND_ON_DEMAND_POS_X - '001a. SOUND ON DEMAND : X position'
- The X position (horizontal) of the SOUND ON DEMAND widget.

SEM_SOUND_ON_DEMAND_POS_Y - '001b. SOUND ON DEMAND : Y position'
- The Y position (vertical) of the SOUND ON DEMAND widget.

SEM_SOUND_ON_DEMAND_GLOBAL_DELAY - '001c. SOD : delay in ms between 2 sounds'
- No one can play a SOD until X milliseconds elapses.

SEM_SOUND_ON_DEMAND_USER_DELAY - '001d. SOD : delay in ms between 2 sounds from a same user'
- You can't play a SOD until X milliseconds elapses.

SEM_SOUND_ON_DEMAND_MESSAGE_ACTIVATE - '001e. SOD : display message when playing SOD ?'
- Check this parameter if you want to display the information message "Playing Sound On Demand <name> by <nickname>".

PRELOAD_MESSAGE_ACTIVATED - '002b. Display "Prealoading" message when you connect'
- Check this parameter if you want to display the information message "Preloading all sounds and music (if not already downloaded)...".

DEBUG - '002. DEBUG'
- FOR DEV ONLY. Check this parameter to display debug messages.

VOLUME_SOUND - '003a. VOLUME for triggered sounds'
- The volume of all triggered sounds (killstreak, backspace, begin of playing, disconnect, etc...)

VOLUME_SOUND - '003b. VOLUME for SOUND ON DEMAND'
- The volume of all SOUND ON DEMAND

SEM_ICON_MENU_POS_X - '004a. ICON MENU : X position'
- The X position (horizontal) of the SEM menu icon.

SEM_ICON_MENU_POS_Y - '004b. ICON MENU : Y position'
- The Y position (vertical) of the SEM menu icon.

SEM_ICON_MENU_WIDTH - '004c. ICON MENU : width'
- The width of all icons.

SEM_ICON_MENU_HEIGHT - '004d. ICON MENU : height'
- The height of all icons.

MUSIC_ENABLED - '005a. MUSIC enabled on new map ?'
- Check this parameter if you want to start playing music at the beginning of each new map.

MUSIC_VOLUME - '005b. MUSIC VOLUME'
- The volume of the music.

MUSIC_DELAY - '005c. MUSIC delay in ms on new map'
- The delay before the sound will be played.

SEM_MESSAGES_ENABLED - '006a. MESSAGES enabled ?'
- Check this parameter if you want to enable messages to be displayed. Example of messages : "Alice : kill 3 !", "Bob : backspace !", etc...

SEM_MESSAGES_POS_X - '006b. MESSAGES : X position'
- The X position (horizontal) of the messages

SEM_MESSAGES_POS_Y - '006c. MESSAGES : Y position'
- The Y position (vertical) of the messages

SEM_MESSAGES_SCALE - '006d. MESSAGES : scale'
- The size of the messages.

SEM_MESSAGES_DURATION - '006e. MESSAGES : duration'
- The duration in ms the messages will be displayed.

SEM_RANKING_ENABLED - '007a. RANKING enabled ?'
- Check this parameter if you want to display the ranking of 3 best players with their killstreak.

SEM_RANKING_POS_X - '007b. RANKING : X position'
- The X position (horizontal) of the ranking

SEM_RANKING_POS_Y - '007c. RANKING : Y position'
- The Y position (vertical) of the ranking

SEM_RANKING_SCALE - '007d. RANKING : scale'
- The size of the ranking.

IGNORED_PLAYERS_LIST - '008. IGNORE_LIST'
- A list a players, semicolon-separated, for whose SEM will ignore : SEM won't play or display anything to them and their actions won't send anything to other players.

PLAYER_CONNECTED_ENABLED - '009. Sound PLAYER_CONNECTED enabled ?'
- Check this parameter if you want to play a sound when someone connect to your server.

PLAYER_DISCONNECTED_ENABLED - '010. Sound PLAYER_DISCONNECTED enabled ?'
- Check this parameter if you want to play a sound when someone disconnect to your server.

BEGIN_MAP_ENABLED - '011a. Sound BEGIN_MAP enabled ?'
- Check this parameter if you want to play a sound when a map begin.

BEGIN_MAP_DELAY - '011b. BEGIN_MAP delay in ms'
- The delay before the sound will be played.

BEGIN_PLAYING_ENABLED - '012a. Sound BEGIN_PLAYING enabled ?'
- Check this parameter if you want to play a sound when you start to play (beginning of each round).

BEGIN_PLAYING_DELAY - '012b. BEGIN_PLAYING delay in ms'
- The delay before the sound will be played.

TEAM_SCORES_ENABLED_TO - '013a. Sound TEAM_SCORES enabled to [none/player/team/all] ?'
- Set this parameter if you want to play a sound when a team scores (usually by capturing a pole)

TEAM_SCORES_DELAY - '013b. TEAM_SCORES delay in ms'
- The delay before the sound will be played.

BACKSPACE_ENABLED_TO - '014. Sound BACKSPACE enabled to [none/player/team/all] ?'
- Check this parameter if you want to play a sound when someone request a respawn.

OFFZONE_ENABLED_TO - '015. Sound OFF-ZONE enabled to [none/player/team/all] ?'
- Check this parameter if you want to play a sound when someone goes to the off-zone.

HIT_LASER_ENABLED_TO - '016a. Sound HIT_LASER enabled to [none/player/team/all] ?'
- Check this parameter if you want to play a sound when someone hit someone else with laser.

HIT_ROCKET_ENABLED_TO - '016b. Sound HIT_ROCKET enabled to [none/player/team/all] ?'
- Check this parameter if you want to play a sound when someone hit someone else with a rocket.

HIT_NUCLEUS_ENABLED_TO - '016c. Sound HIT_NUCLEUS enabled to [none/player/team/all] ?'
- Check this parameter if you want to play a sound when someone hit someone else with nucleus.

HIT_ARROW_ENABLED_TO - '016d. Sound HIT_ARROW enabled to [none/player/team/all] ?'
- Check this parameter if you want to play a sound when someone hit someone else with arrow.

TEAMKILLER_ENABLED_TO - '017. Sound TEAMKILLER enabled to [none/player/team/all] ?'
- Check this parameter if you want to play a sound when someone kill a teammate.

KILL_AWARDS_ENABLED_TO - '100. Sound KILLSTREAK enabled to [none/player/team/all] ?'
- Check this parameter if you want to play a sound when someone is killstreaking : killing enemies without dying.
- NB : "dying" means killed by a weapon, backspace, going to off-zone or starting a new map. You don't "die" when you start a new round.

RESET_ON_NEW_ROUND - '100.00. Reset KILLSTREAK on new round ?'
- Check this parameter if you want to reset the killstreak (number of kills) of players on a new round.

DISABLED_MUSIC_PLAYERS - '666.1 DISABLED_MUSIC_PLAYERS'
- This parameter should not be changed ! It store the players' login who has disabled music and is automatically updated by the plugin.

DISABLED_RANKING_PLAYERS - '666.2 DISABLED_RANKING_PLAYERS'
- This parameter should not be changed ! It store the players' login who has disabled ranking and is automatically updated by the plugin.

DISABLED_MESSAGES_PLAYERS - '666.3 DISABLED_MESSAGES_PLAYERS'
- This parameter should not be changed ! It store the players' login who has disabled messages and is automatically updated by the plugin.

DISABLED_SOUNDS_PLAYERS - '666.4 DISABLED_SOUNDS_PLAYERS'
- This parameter should not be changed ! It store the players' login who has disabled sounds and is automatically updated by the plugin.
Last edited by Lumpik on 10 Jul 2015, 21:17, edited 25 times in total.

novationx
Posts: 2723
Joined: 10 Aug 2013, 22:33

Re: Sound Events Manager plugin

Post by novationx » 01 Feb 2015, 13:46

looks cool :D
Got it working on a server somewhere?
Also the first mode that comes to mind is Instagib because it has cool killstreaks.
The neverending waiting game has to stop.

gunala06
Posts: 79
Joined: 16 Jun 2010, 20:47
Contact:

Re: Sound Events Manager plugin

Post by gunala06 » 01 Feb 2015, 13:58

novationx wrote:Got it working on a server somewhere?
MM² Siege 6v6
MM² Jovial Speedball


Nice work lumpik !! :thumbsup:
Image
Image

User avatar
Lumpik
Posts: 41
Joined: 04 Jan 2015, 22:00
Contact:

Re: Sound Events Manager plugin

Post by Lumpik » 03 Feb 2015, 17:49

ζѻア॥ Speedball is using SEM too.
Some other servers had installed SEM but removed it without explanation on this thread :(

That's right for instagib, it would be a great mod for killstreaking !
But i can't test it, as MM² team (my team) don't own an instagib server.

FYI, SEM will be able to play music in near futur !
Dev was done (during work time), i have to test and commit.
It would be usefull in Obstacle but can be used in all other mods, as a background music.

User avatar
Lumpik
Posts: 41
Joined: 04 Jan 2015, 22:00
Contact:

Re: Sound Events Manager plugin

Post by Lumpik » 09 Feb 2015, 21:04

SEM v1.01 released !

Changelog :
- you can play music in loop at beginning of each map (if MUSIC_ENABLE parameter is checked) or on admin's will by using Image / Image
- you can reset scores (killstreak) on each round by checking RESET_ON_NEW_ROUND parameter
- go on this thread from the plugin's parameters interface by clicking on URL value

Enjoy.
Last edited by Lumpik on 09 Feb 2015, 23:25, edited 1 time in total.

novationx
Posts: 2723
Joined: 10 Aug 2013, 22:33

Re: Sound Events Manager plugin

Post by novationx » 09 Feb 2015, 21:12

I wish Lukas could put this on the Instagib Servers, just so the community can see the effect.

Btw:
Are sounds personal? Or can everyone hear them?
In instagib some should be personal ( like "HEADSHOT" ) and others should be public ( like "GODLIKE" )

Keep up the good work :thumbsup:
The neverending waiting game has to stop.

User avatar
Lumpik
Posts: 41
Joined: 04 Jan 2015, 22:00
Contact:

Re: Sound Events Manager plugin

Post by Lumpik » 09 Feb 2015, 21:22

I think no plugin is/will be automaticaly installed with a mod.
novationx, you have to ask an admin on each instagib server you play to install this plugin, no other choice (atm) ! :(

Sounds are played to everyone by default.
I can add features for Instagib, no problem. But it seems there's already a "headshot" sound on all Instagib servers ?

User avatar
Lumpik
Posts: 41
Joined: 04 Jan 2015, 22:00
Contact:

Re: Sound Events Manager plugin

Post by Lumpik » 15 Feb 2015, 13:43

SEM v1.02 released !

Changelog :
- MESSAGES and RANKING can be enabled/disabled by players with new icons : Image / Image and Image / Image
- All icons are gathered into new menu : Image
- Default RESET_ON_NEW_ROUND set to true for Siege.

Enjoy.

Search44
Posts: 47
Joined: 02 May 2014, 20:33
Location: Nantes, France
Contact:

Re: Sound Events Manager plugin

Post by Search44 » 16 Feb 2015, 07:37

Hi Lumpik !
GG for your plugin, its very cool ! C'est vraiment ce qu'il manquait ! :thx:
You can try on my battle servers :
->Search Battle 90K
->Search Battle 100K

I placed the text on the top left of the screen because the text is aligned to the left
X = -160
Y = 65
Merci ;)

User avatar
Lumpik
Posts: 41
Joined: 04 Jan 2015, 22:00
Contact:

Re: Sound Events Manager plugin

Post by Lumpik » 16 Feb 2015, 08:55

Thank you Search44 :)
Ca fait plaisir !

I've test a little bit yesterday on your server and you play sounds every kill (starting at 3), which is the default parameters.
Have you tried to play 16 vs 16 with this configuration ? Isn't it too spammy ?
If you change sounds order and you find something nice, tell me your configuration please (which sound for which killstreak). I'll set it as default configuration to Battle servers.

I'll try ranking with "align right" and keep it on the right. Maybe it's better than "align left". I've never tested.

Post Reply

Return to “ManiaControl”

Who is online

Users browsing this forum: No registered users and 1 guest