mirror of
https://github.com/sys4-fr/server-nalc.git
synced 2024-12-25 10:10:39 +01:00
Added soundset mod and its handlers into ambience
PR #20 by crabman77. Branch : http://github.com/crabman77/minetest-minetestforfun-server/tree/soundset/
This commit is contained in:
commit
2d1da02c17
@ -1 +1,2 @@
|
|||||||
default
|
default
|
||||||
|
soundset
|
||||||
|
@ -50,8 +50,8 @@ local music_volume = 0.3
|
|||||||
----------------------------------------------------------------------------------------------------
|
----------------------------------------------------------------------------------------------------
|
||||||
local ambiences
|
local ambiences
|
||||||
local counter=0--*****************
|
local counter=0--*****************
|
||||||
local SOUNDVOLUME = 1
|
--local SOUNDVOLUME = 1
|
||||||
local MUSICVOLUME = 1
|
--local MUSICVOLUME = 1
|
||||||
local sound_vol = 1
|
local sound_vol = 1
|
||||||
local last_x_pos = 0
|
local last_x_pos = 0
|
||||||
local last_y_pos = 0
|
local last_y_pos = 0
|
||||||
@ -492,10 +492,10 @@ local play_sound = function(player, list, number, is_music)
|
|||||||
local gain = 1.0
|
local gain = 1.0
|
||||||
if list[number].gain ~= nil then
|
if list[number].gain ~= nil then
|
||||||
if is_music then
|
if is_music then
|
||||||
gain = list[number].gain*MUSICVOLUME
|
gain = list[number].gain*sounds.get_gain(player_name, "music")
|
||||||
--minetest.chat_send_all("gain music: " .. gain )
|
--minetest.chat_send_all("gain music: " .. gain )
|
||||||
else
|
else
|
||||||
gain = list[number].gain*SOUNDVOLUME
|
gain = list[number].gain*sounds.get_gain(player_name, "ambience")
|
||||||
--minetest.chat_send_all("gain sound: " .. gain )
|
--minetest.chat_send_all("gain sound: " .. gain )
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -521,7 +521,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = cave
|
local list = cave
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -531,7 +531,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = cave_frequent
|
local list = cave_frequent
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -541,7 +541,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = swimming_frequent
|
local list = swimming_frequent
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -551,7 +551,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = beach
|
local list = beach
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -561,7 +561,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = beach_frequent
|
local list = beach_frequent
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -571,7 +571,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = desert
|
local list = desert
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -581,7 +581,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = desert_frequent
|
local list = desert_frequent
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -591,7 +591,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = night
|
local list = night
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -601,7 +601,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = night_frequent
|
local list = night_frequent
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -611,7 +611,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = day
|
local list = day
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -621,7 +621,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = day_frequent
|
local list = day_frequent
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -631,7 +631,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = music
|
local list = music
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -641,7 +641,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = flowing_water
|
local list = flowing_water
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -651,7 +651,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = flowing_water2
|
local list = flowing_water2
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -661,7 +661,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = lava
|
local list = lava
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -671,7 +671,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = lava2
|
local list = lava2
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -681,7 +681,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = water
|
local list = water
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -691,7 +691,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = water_surface
|
local list = water_surface
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
played_on_start = false
|
played_on_start = false
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
@ -702,7 +702,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = water_frequent
|
local list = water_frequent
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
-- minetest.chat_send_all("list.on_stop " .. list.on_stop )
|
-- minetest.chat_send_all("list.on_stop " .. list.on_stop )
|
||||||
played_on_start = false
|
played_on_start = false
|
||||||
end
|
end
|
||||||
@ -717,7 +717,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
-- minetest.chat_send_all("handler flying " )
|
-- minetest.chat_send_all("handler flying " )
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
-- minetest.chat_send_all("onstop flying" )
|
-- minetest.chat_send_all("onstop flying" )
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
played_on_start = false
|
played_on_start = false
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
@ -728,7 +728,7 @@ local stop_sound = function(still_playing, player)
|
|||||||
local list = splashing_water
|
local list = splashing_water
|
||||||
if list.handler[player_name] ~= nil then
|
if list.handler[player_name] ~= nil then
|
||||||
if list.on_stop ~= nil then
|
if list.on_stop ~= nil then
|
||||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player_name, "ambience")})
|
||||||
end
|
end
|
||||||
minetest.sound_stop(list.handler[player_name])
|
minetest.sound_stop(list.handler[player_name])
|
||||||
list.handler[player_name] = nil
|
list.handler[player_name] = nil
|
||||||
@ -757,7 +757,7 @@ minetest.register_globalstep(function(dtime)
|
|||||||
-- end
|
-- end
|
||||||
if ambience.on_start ~= nil and played_on_start == false then
|
if ambience.on_start ~= nil and played_on_start == false then
|
||||||
played_on_start = true
|
played_on_start = true
|
||||||
minetest.sound_play(ambience.on_start, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
minetest.sound_play(ambience.on_start, {to_player=player:get_player_name(),gain=0.5*sounds.get_gain(player:get_player_name(), "ambience")})
|
||||||
end
|
end
|
||||||
-- minetest.chat_send_all("ambience: " ..ambience )
|
-- minetest.chat_send_all("ambience: " ..ambience )
|
||||||
-- if ambience.on_start ~= nil and played_on_start_flying == false then
|
-- if ambience.on_start ~= nil and played_on_start_flying == false then
|
||||||
@ -774,6 +774,7 @@ minetest.register_globalstep(function(dtime)
|
|||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
--[[
|
||||||
minetest.register_chatcommand("svol", {
|
minetest.register_chatcommand("svol", {
|
||||||
params = "<svol>",
|
params = "<svol>",
|
||||||
description = "set volume of sounds, default 1 normal volume.",
|
description = "set volume of sounds, default 1 normal volume.",
|
||||||
@ -804,4 +805,5 @@ minetest.register_chatcommand("mvol", {
|
|||||||
-- ambiences = get_ambience(player)
|
-- ambiences = get_ambience(player)
|
||||||
minetest.chat_send_player(name, "Music volume set to " .. param .. ".")
|
minetest.chat_send_player(name, "Music volume set to " .. param .. ".")
|
||||||
end, })
|
end, })
|
||||||
|
]]
|
||||||
|
|
||||||
|
114
mods/soundset/init.lua
Normal file
114
mods/soundset/init.lua
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
minetest.log("action","[mod soundset] Loading...")
|
||||||
|
|
||||||
|
sounds = {}
|
||||||
|
sounds.file = minetest.get_worldpath() .. "/sounds_config.txt"
|
||||||
|
sounds.gaindefault = { ["music"] = 50, ["ambience"] = 50, ["mobs"] = 50, ["other"] = 50 }
|
||||||
|
sounds.gainplayers = {}
|
||||||
|
|
||||||
|
|
||||||
|
sounds.set_sound = function(name, param)
|
||||||
|
if param == "" then
|
||||||
|
minetest.chat_send_player(name, "/setsound <music|ambience|mobs|other> <number>")
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local param_name, param_value = param:match("^(%S+)%s(%S+)$")
|
||||||
|
if param_name == nil or param_value == nil then
|
||||||
|
minetest.chat_send_player(name, "invalid param, /setsound <music|ambience|mobs|other> <number>")
|
||||||
|
minetest.log("action", "invalid param, see /setsound <music|ambience|mobs|other> <number>")
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if param_name ~= "music" and param_name ~= "ambience" and param_name ~= "mobs" and param_name ~= "other" then
|
||||||
|
minetest.chat_send_player(name, "invalid param " .. param_name)
|
||||||
|
minetest.log("action", "invalid param, /setsound " .. param_name)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local value = tonumber(param_value)
|
||||||
|
if value == nil then
|
||||||
|
minetest.log("action", "invalid value, " ..param_value .. " must be number")
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if value < 0 then
|
||||||
|
value = 0
|
||||||
|
elseif value > 100 then
|
||||||
|
value = 100
|
||||||
|
end
|
||||||
|
|
||||||
|
if sounds.gainplayers[name][param_name] == value then
|
||||||
|
minetest.chat_send_player(name, "ambience " .. param_name .. " already set to " .. value)
|
||||||
|
minetest.log("action", name ..", ambience " .. param_name .. " already set to " .. value)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
sounds.gainplayers[name][param_name] = value
|
||||||
|
minetest.chat_send_player(name, "sound " .. param_name .. " set to " .. value)
|
||||||
|
minetest.log("action", name ..", sound " .. param_name .. " set to " .. value)
|
||||||
|
|
||||||
|
|
||||||
|
local input = io.open(sounds.file, "w")
|
||||||
|
if input then
|
||||||
|
input:write(minetest.serialize(sounds.gainplayers))
|
||||||
|
input:close()
|
||||||
|
else
|
||||||
|
minetest.log("action","echec d'ouverture (mode:w) de " .. sounds.file)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
sounds.get_gain = function(name, sound_type)
|
||||||
|
if name == nil or name == "" then
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
local gain = sounds.gainplayers[name][sound_type]
|
||||||
|
if gain == nil then
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
return gain/50
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
local function load_sounds_config()
|
||||||
|
local file = io.open(sounds.file, "r")
|
||||||
|
if file then
|
||||||
|
sounds.gainplayers = minetest.deserialize(file:read("*all"))
|
||||||
|
file:close()
|
||||||
|
end
|
||||||
|
if sounds.gainplayers == nil then
|
||||||
|
sounds.gainplayers = {}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
load_sounds_config()
|
||||||
|
|
||||||
|
minetest.register_chatcommand("setsound", {
|
||||||
|
params = "<music|ambience|mobs|other> <number>",
|
||||||
|
description = "set volume sound <music|ambience|mobs|other>",
|
||||||
|
privs = {},
|
||||||
|
func = sounds.set_sound,
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_chatcommand("getsound", {
|
||||||
|
params = "",
|
||||||
|
description = "print volume sound <music|ambience|mobs|other>",
|
||||||
|
privs = {},
|
||||||
|
func = function(name, param)
|
||||||
|
local conf = ""
|
||||||
|
for k, v in pairs(sounds.gainplayers[name]) do
|
||||||
|
conf = conf .. " " .. k .. ":" .. v
|
||||||
|
end
|
||||||
|
minetest.chat_send_player(name, "sounds conf " .. conf)
|
||||||
|
minetest.log("action","Player ".. name .. " sound conf " .. conf)
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_on_joinplayer(function(player)
|
||||||
|
local name = player:get_player_name()
|
||||||
|
if sounds.gainplayers[name] == nil then
|
||||||
|
sounds.gainplayers[name] = sounds.gaindefault
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
minetest.log("action","[mod soundset] Loaded")
|
||||||
|
|
6
mods/soundset/readme.txt
Normal file
6
mods/soundset/readme.txt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
-= soundset-MOD for MINETEST =-
|
||||||
|
by LeMagnesium and crabman77
|
||||||
|
|
||||||
|
YOUR mod can use THIS mod to have a volume that's adjustable by the player(s)
|
||||||
|
|
||||||
|
0.1 - Initial Release
|
Loading…
Reference in New Issue
Block a user