From 699a44f9606aced34e36c97e707b492c230e56e6 Mon Sep 17 00:00:00 2001 From: TenPlus1 Date: Fri, 17 Jun 2016 21:29:18 +0100 Subject: [PATCH] Added river sound, tweaked code --- init.lua | 51 ++++++++++++++++++++++++----------------------- sounds/river.ogg | Bin 0 -> 22334 bytes 2 files changed, 26 insertions(+), 25 deletions(-) create mode 100644 sounds/river.ogg diff --git a/init.lua b/init.lua index 8df01bc..2a09d7a 100644 --- a/init.lua +++ b/init.lua @@ -1,11 +1,10 @@ ---= Ambience lite by TenPlus1 (13th June 2016) +--= Ambience lite by TenPlus1 (17th June 2016) local max_frequency_all = 1000 -- larger number means more frequent sounds (100-2000) local SOUNDVOLUME = 1 local volume = 0.3 local ambiences -local played_on_start = false -- sound sets @@ -77,6 +76,11 @@ local lava = { {name = "lava", length = 7} } +local river = { + handler = {}, frequency = 1000, + {name = "river", length = 4} +} + local smallfire = { handler = {}, frequency = 1000, {name = "fire_small", length = 6} @@ -106,7 +110,7 @@ local jungle_night = { local radius = 6 local num_fire, num_lava, num_water_flowing, num_water_source, - num_desert, num_snow, num_jungletree + num_desert, num_snow, num_jungletree, num_river -- check where player is and which sounds are played local get_ambience = function(player) @@ -153,11 +157,12 @@ local get_ambience = function(player) num_fire = (cn["fire:basic_flame"] or 0) + (cn["fire:permanent_flame"] or 0) num_lava = (cn["default:lava_flowing"] or 0) + (cn["default:lava_source"] or 0) - num_water_flowing = (cn["default:water_flowing"] or 0) + (cn["default:river_water_flowing"] or 0) - num_water_source = (cn["default:water_source"] or 0) + (cn["default:river_water_flowing"] or 0) + num_water_flowing = (cn["default:water_flowing"] or 0) + num_water_source = (cn["default:water_source"] or 0) num_desert = (cn["default:desert_sand"] or 0) + (cn["default:desert_stone"] or 0) num_snow = (cn["default:snowblock"] or 0) num_jungletree = (cn["default:jungletree"] or 0) + num_river = (cn["default:river_water_source"] or 0) + (cn["default:river_water_flowing"] or 0) --[[ print ( "fr:" .. num_fire, @@ -188,6 +193,10 @@ print ( return {flowing_water = flowing_water} end + if num_river > 30 then + return {river = river} + end + if pos.y < 7 and pos.y > 0 and num_water_source > 100 then return {beach = beach} @@ -265,12 +274,6 @@ local stop_sound = function (list, player_name) if list.handler[player_name] then - if list.on_stop then - - minetest.sound_play(list.on_stop, - {to_player = player_name, gain = SOUNDVOLUME}) - end - minetest.sound_stop(list.handler[player_name]) list.handler[player_name] = nil @@ -279,7 +282,7 @@ end -- check sounds that are not in still_playing local still_playing = function(still_playing, player_name) - if not still_playing.cave then stop_sound(cave, player_name) end + if not still_playing.cave then stop_sound(cave, player_name) end if not still_playing.high_up then stop_sound(high_up, player_name) end if not still_playing.beach then stop_sound(beach, player_name) end if not still_playing.desert then stop_sound(desert, player_name) end @@ -288,6 +291,7 @@ local still_playing = function(still_playing, player_name) if not still_playing.flowing_water then stop_sound(flowing_water, player_name) end if not still_playing.splash then stop_sound(splash, player_name) end if not still_playing.underwater then stop_sound(underwater, player_name) end + if not still_playing.river then stop_sound(river, player_name) end if not still_playing.lava then stop_sound(lava, player_name) end if not still_playing.smallfire then stop_sound(smallfire, player_name) end if not still_playing.largefire then stop_sound(largefire, player_name) end @@ -296,7 +300,9 @@ local still_playing = function(still_playing, player_name) end -- player routine + local timer = 0 + minetest.register_globalstep(function(dtime) -- every 1 second @@ -322,17 +328,6 @@ minetest.register_globalstep(function(dtime) if math.random(1, 1000) <= ambience.frequency then - if ambience.on_start - and played_on_start == false then - - played_on_start = true - - minetest.sound_play(ambience.on_start, { - to_player = player_name, - gain = SOUNDVOLUME - }) - end - play_sound(player_name, ambience, math.random(1, #ambience)) end end @@ -344,8 +339,14 @@ minetest.register_chatcommand("svol", { params = "", description = "set sound volume (0.1 to 1.0)", privs = {server = true}, + func = function(name, param) - SOUNDVOLUME = param - minetest.chat_send_player(name, "Sound volume set.") + + SOUNDVOLUME = tonumber(param) or SOUNDVOLUME + + if SOUNDVOLUME < 0.1 then SOUNDVOLUME = 0.1 end + if SOUNDVOLUME > 1.0 then SOUNDVOLUME = 1.0 end + + return true, "Sound volume set to " .. SOUNDVOLUME end, }) diff --git a/sounds/river.ogg b/sounds/river.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f47742492b78f5daf84cbef8077504f985452801 GIT binary patch literal 22334 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%0DmTXoLZ4+g2C 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 J&RaZB5dfbUD(L_K literal 0 HcmV?d00001