Mute/Restore Volume (CMS)

From The Official Visionaire Studio: Adventure Game Engine Wiki
Revision as of 15:41, 23 March 2014 by AFRLme (talk) (Created page with "{| class="wikitable" style="width:100%" |- ! style="text-align:left" | Name !! style="text-align:left" | Type !! style="text-align:left" | By |- | Mute/Restore Volume || Defi...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Name Type By
Mute/Restore Volume Definition AFRLme

This script allows you to mute or restore the volume for all sound types; it is also possible from Visionaire Studio 4.0 onwards to mute/restore volume via the new eGlobalVolume command. see eGlobalVolume Method.

Additional Info

Volume types currently available:
eMusicVolume(0), eSoundVolume(1), eSpeechVolume(2), eMovieVolume(3), eGlobalVolume(4)

Instructions

1. Add the main script to the Visionaire Studio Script Editor & set the script as a definition script.
2. Create condition "cond_mute" & set default value to false.
3. Create 5 values "vol_0", "vol_1", "vol_2", "vol_3" & "vol_4" - these will be used to store volumes values.
4. To mute/restore volume add an execute a script to a key input, button or scene object, containing...

globalMute()

Main Script

--[[
Mute/Restore Volume [V1] (20/03/2014)
Written by AFRLme [Lee Clarke]
-- + --
alternatingfrequencies@hotmail.com | skype @ AFRLme
-- + --
This script is donation optional. In game credit is non-negotiable.
You are free to: ¹ use it in your game(s). ² modify the script.
Do not remove - or edit - this comment block.
--]]

-- * local variables * --
local cond = getObject("Conditions[cond_mute]") -- store muted condition

-- * function that determines if sound should be muted or restored * --
function globalMute()
 if not cond:getBool(VConditionValue) then -- if not muted then...
  for i = 0, 4 do
   getObject("Values[vol_" .. i .. "]"):setValue(VValueInt, getVolume(i)) -- store volume i into linked editor value
   setVolume(i, 0) -- set volume i to 0
  end
  cond:setValue(VConditionValue, true) -- set muted condition to true
 else -- if already muted then do...
  for i = 0, 4 do
   setVolume(i, getObject("Values[vol_" .. i .. "]"):getInt(VValueInt)) -- return volume level for i based on linked editor value
  end
  cond:setValue(VConditionValue, false) -- set muted condition to false
 end
 -- startVolSlider() -- uncomment this line if you are also using the volume slider script
end

eGlobalVolume Method

-- * local variables * --
local cond = getObject("Conditions[cond_mute]") -- store muted condition

-- * function that determines if sound should be muted or restored * --
function globalMute()
 if not cond:getBool(VConditionValue) then setVolume(eGlobalVolume, 0); cond:setValue(VConditionValue, true) else setVolume(eGlobalVolume, 100); cond:setValue(VConditionValue, false) end
end


Relevant Pages: Volume Control