Author: Scifer
Author Website:

Requirements: No addons required

Version: 2.5
Signed: No

Short description: Dynamically plays music by mood in playlists according to player stress level.

Date: 2011-09-21 14:36


Comments: (0)
Rating:



 

MoodJukebox

by
Scifer


Description:
This script automatically sums an unlimited number of music packs, dynamically selects the most appropriate mood according to player's stress level, engagement and weather and randomly plays its track.
This is a very powerful script/addon which can dynamically turn the silent Arma2 into a completely musical game.

Playlist building
Every music packs entered in arguments list are automatically summed and its tracks are assigned to its respective mood playlists.

Shoot detection
The player is influenced by two event handlers. When the player is "hit" his stress is set to 100%, and when he's "firedNear" his stress increases by 10.

Units Detection
When you spot enemies, their threat is proportional to how much you know about them. Then the stress level increases towards "tension" mood according to the sum of their threat level.

Defining mood by stress level
There are four moods:
  • "truce" for stress levels under 50% in clear day
  • "darkness" for stress levels under 50% in heavy weather or night
  • "tension" for stress level above 50%
  • "sadness" for death scenes

Selecting random track
Random track are dynamically selected according to mood players mood.

Playing music
Music will be played whenever the mood changes or the track ends.

Display
You can costumize which MoodJukebox data and music data are displayed.

Dynamic fading
Music volume dynamically drops as stress level approaches a change of mood.

Resume music
When game is paused or loaded, the last track is resumed from where it stopped.

Death scene
Death scene was altered in visual and it plays a random music in a special mood called "sadness".


Installation / Usage:
As we always recommend use modfolders to seperate the custom content from the official game content to prevent problems. For different ways to set up your modfolders and use them please visit our FAQ.

When you are using the Steam version you can find a Steam mod installation and activation FAQ here.

Warning: MoodJukebox version 1 addons will not be compatible with version 2.

    * Unpack @MJB to your game installation folder
    * Copy "description.ext", "onPlayerKiller.sqf" and "scripts" folder from sample mission into your mission folder.
    * Activate @MJB modfolder in you shortcut parameters or in game main menu at "EXPANSIONS" option.


Included .pbo files:
arma2.pbo
oa.pbo
baf.pbo
pmc.pbo


Usage:
* Place the following code in your mission init.sqf, where the arguments are the music packs:
nul = ["arma2", "oa", "baf", "pmc", "your-pack"] execVM "scripts\MoodJukebox\main.sqf";
The display items can be customized in "scripts\MoodJukebox\display.sqf"


Version 2.5 highlights:
Stupid 2.4 "resume.sqf not found" bug undone


Notes:
Always use BAF or PMC in conjunction with other packs. BAF and PMC don't have all moods and may cause malfunction when used alone.


Future plans:
* Individual tress level for all switchable units


Changelog:
v2.6
Scripting
    * BAF logo defined for cover display (I couldn't find pmc logo)
    * Now stress and mood functions work inside vehicles
    * packs without all moods don't crash anymore
    * No individual stress functions for every unit anymore. It was too heavy
    * Max music volume lowered to 0.5

Moods
    * Moods redefined for Operation Arrowhead

v2.5
Expandability
In order to make this project expandable, the following measures where implemented:
* individual stress functions for every units
* sub-functions are called by "main.sqf" function

Scripting
* Lots of optimization
* Independents side is evaluated in enemy detection now

v2.4
Note
* music volume steep oscillations mystery solved. It was ACE rising volume to 1.

Scripting
* mood.sqf renamed to main.sqf
* Stress and threat functions moved to a separate file
* Stress is proportional to threat
* Stress is relieved only if there is no threat
* Threat is proportional to enemy/friendly proportion and how much they know about you
* Mood function moved to a separate file
* Resume function moved to main file

v2.3
Addon
* added track album
* added track artist
* added track image

Scripting
* Interval between tracks raised from 3 to 5 seconds

v2.2
Engine
- I don't know why volume suffers steep oscillations whem volume is under 0.4 in Dynamic Fading

Scripting
- Fixed a bug that was preventing track name and duration to be accessed when more than one pack is being used.
- Track repetition prevented in death scene
- Now stress level migrates between units on team switch

v2.1
- fixed a mysterious bug preventing this addon to work

v2.0
Scripting
* playlist.sqf not needed anymore. Now moods are defined directly in config.cpp
* Music track repetition is now prevented
* Differently from 1.0 it doesn't wait 3 min to change music, now it awaits for the music to end before
playing another track, if no mood changes occur of course.

Moods
* "aware" and "danger" moods were merged
* "darkness" mood added to playlists for player's death scene

Sample mission
* I forgot to include a sample mission in version 1.0


Forum topic:
- BI forums




Enable javascript to be able to download from Armaholic please!



Tags: Jukebox,   Music,   Play,   Sound