Name Typ Von
Verkettete Lautstärkeregelung Definition AFRLme

Dieses Skript verringert automatisch die Musiklautstärke während der Sprachdateiwiedergabe und erhöht sie nach Beendigung der Sprachdateiwiedergabe wieder.

Anweisungen

1. Füge das Hauptskript im Skripteditor von Visionaire Studio hinzu und lege es als Definitionsskript fest.
2. Passe den Teil val nach Bedarf an ...

local val = 10

3. Lehn dich zurück und lass das Skript seine Arbeit machen.

Hauptskript

--[[
Chained Volume Control [V1] (13/03/2014)
Written by AFRLme [Lee Clarke]
-- + --
email: afrlme@outlook.com
paypal: afrlme@zoho.com
patreon: https://www.patreon.com/AFRLme
portfolio: https://afrl.me
-- + --
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 val = 10 -- percentage to raise/lower the volume by...

-- * text started lower volume * --
function onTextStarted(text)
 if text:getLink(VTextOwner):getId().tableId == eCharacters then setVolume(eMusicVolume, (getVolume(eMusicVolume) - val)) end
end

-- * text stopped raise volume * --
function onTextStopped(text)
 if text:getLink(VTextOwner):getId().tableId == eCharacters then setVolume(eMusicVolume, (getVolume(eMusicVolume) + val)) end
end

-- * the event listeners for text start & stop * --
registerEventHandler("textStarted", "onTextStarted")
registerEventHandler("textStopped", "onTextStopped")

Alternatives Skript

--[[
Chained Volume Control (smooth fade) [V1] (24/03/2014)
Written by AFRLme [Lee Clarke]
-- + --
email: afrlme@outlook.com
paypal: afrlme@zoho.com
patreon: https://www.patreon.com/AFRLme
portfolio: https://afrl.me
-- + --
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 old, new, state
local val = 10 -- percentage to raise/lower the volume by...


-- * text started lower volume * --
function onTextStarted(text)
 if text:getLink(VTextOwner):getId().tableId == eCharacters then
  old = getVolume(eMusicVolume)
  new = old - val
  state = 1
 end
end

-- * text stopped raise volume * --
function onTextStopped(text)
 if text:getLink(VTextOwner):getId().tableId == eCharacters then state = 2 end
end

function onMainLoop()
 if state == 1 and getVolume(eMusicVolume) > new then setVolume(eMusicVolume, (getVolume(eMusicVolume) - 1))
 elseif state == 2 and getVolume(eMusicVolume) < old then setVolume(eMusicVolume, (getVolume(eMusicVolume) + 1))
 else state = 0 end 
end

-- * the event listeners for text start & stop * --
registerEventHandler("textStarted", "onTextStarted")
registerEventHandler("textStopped", "onTextStopped")
registerEventHandler("mainLoop", "onMainLoop")