1
0
mirror of https://github.com/sys4-fr/server-nalc.git synced 2024-11-19 08:40:29 +01:00

removed ambience_modpack

This commit is contained in:
crabman77 2015-08-14 18:13:13 +02:00
parent 6d63e415b1
commit c1c56f37df
54 changed files with 0 additions and 1186 deletions

View File

@ -1,22 +0,0 @@
# Auto detect text files and perform LF normalization
* text=auto
# Custom for Visual Studio
*.cs diff=csharp
*.sln merge=union
*.csproj merge=union
*.vbproj merge=union
*.fsproj merge=union
*.dbproj merge=union
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain

View File

@ -1,163 +0,0 @@
#################
## Eclipse
#################
*.pydevproject
.project
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.classpath
.settings/
.loadpath
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# CDT-specific
.cproject
# PDT-specific
.buildpath
#################
## Visual Studio
#################
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.sln.docstates
# Build results
[Dd]ebug/
[Rr]elease/
*_i.c
*_p.c
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.vspscc
.builds
*.dotCover
## TODO: If you have NuGet Package Restore enabled, uncomment this
#packages/
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
# Visual Studio profiler
*.psess
*.vsp
# ReSharper is a .NET coding add-in
_ReSharper*
# Installshield output folder
[Ee]xpress
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish
# Others
[Bb]in
[Oo]bj
sql
TestResults
*.Cache
ClientBin
stylecop.*
~$*
*.dbmdl
Generated_Code #added for RIA/Silverlight projects
# Backup & report files from converting an old project file to a newer
# Visual Studio version. Backup files are not needed, because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
############
## Windows
############
# Windows image file caches
Thumbs.db
# Folder config file
Desktop.ini
#############
## Python
#############
*.py[co]
# Packages
*.egg
*.egg-info
dist
build
eggs
parts
bin
var
sdist
develop-eggs
.installed.cfg
# Installer logs
pip-log.txt
# Unit test / coverage reports
.coverage
.tox
#Translations
*.mo
#Mr Developer
.mr.developer.cfg
# Mac crap
.DS_Store

View File

@ -1,43 +0,0 @@
=== AMBIENCE-MOD for MINETEST-C55 ===
by Neuromancer and PilzAdam
Intorduction:
This mod adds sounds to Minetest, that are played randomly in ambiences.
How to install:
Unzip the archive an place it in minetest-base-directory/mods/minetest/
if you have a windows client or a linux run-in-place client. If you have
a linux system-wide instalation place it in ~/.minetest/mods/minetest/.
If you want to install this mod only in one world create the folder
worldmods/ in your worlddirectory.
For further information or help see:
http://wiki.minetest.com/wiki/Installing_Mods
!!!Important!!!
Unzip the sounds folder before you use the mod or you wont hear
anything.
Configuration:
To add your own sounds copy them into the ambience/sounds/ folder and
add there names with the length in seconds to the tables at the top of
init.lua (only ogg files are supported).
License:
Sourcecode: WTFPL (see below)
Sounds: see sounds/SoundLicenses.txt
See also:
http://minetest.net/
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.

View File

@ -1,2 +0,0 @@
default
soundset

View File

@ -1,819 +0,0 @@
--------------------------------------------------------------------------------------------------------
--Ambience Configuration for version .34
--Added Faraway & Ethereal by Amethystium
--Working on:
--removing magic leap when not enough air under feet.
--find out why wind stops while flying
--add an extra node near feet to handle treading water as a special case, and don't have to use node under feet. which gets
--invoked when staning on a ledge near water.
--reduce redundant code (stopplay and add ambience to list)
local max_frequency_all = 1000 --the larger you make this number the lest frequent ALL sounds will happen recommended values between 100-2000.
--for frequencies below use a number between 0 and max_frequency_all
--for volumes below, use a number between 0.0 and 1, the larger the number the louder the sounds
local night_frequency = 20 --owls, wolves
local night_volume = 0.9
local night_frequent_frequency = 150 --crickets
local night_frequent_volume = 0.9
local day_frequency = 80 --crow, bluejay, cardinal
local day_volume = 0.6
local day_frequent_frequency = 250 --crow, bluejay, cardinal
local day_frequent_volume = 0.18
local cave_frequency = 10 --bats
local cave_volume = 1.0
local cave_frequent_frequency = 70 --drops of water dripping
local cave_frequent_volume = 1.0
local beach_frequency = 20 --seagulls
local beach_volume = 1.0
local beach_frequent_frequency = 1000 --waves
local beach_frequent_volume = 1.0
local water_frequent_frequency = 1000 --water sounds
local water_frequent_volume = 1.0
local desert_frequency = 20 --coyote
local desert_volume = 1.0
local desert_frequent_frequency = 700 --desertwind
local desert_frequent_volume = 1.0
local swimming_frequent_frequency = 1000 --swimming splashes
local swimming_frequent_volume = 1.0
local water_surface_volume = 1.0 -- sloshing water
local lava_volume = 1.0 --lava
local flowing_water_volume = .4 --waterfall
local splashing_water_volume = 1
local music_frequency = 7 --music (suggestion: keep this one low like around 6)
local music_volume = 0.3
--End of Config
----------------------------------------------------------------------------------------------------
local ambiences
local counter=0--*****************
--local SOUNDVOLUME = 1
--local MUSICVOLUME = 1
local sound_vol = 1
local players_pos = {}
local node_under_feet
local node_at_upper_body
local node_at_lower_body
local node_3_under_feet
local played_on_start = false
local night = {
handler = {},
frequency = night_frequency,
{name="horned_owl", length=3, gain=night_volume},
{name="Wolves_Howling", length=11, gain=night_volume},
{name="ComboWind", length=17, gain=night_volume}
}
local night_frequent = {
handler = {},
frequency = night_frequent_frequency,
{name="Crickets_At_NightCombo", length=69, gain=night_frequent_volume}
}
local day = {
handler = {},
frequency = day_frequency,
{name="Best_Cardinal_Bird", length=4, gain=day_volume},
{name="craw", length=3, gain=day_volume},
{name="bluejay", length=18, gain=day_volume},
{name="ComboWind", length=17, gain=day_volume}
}
local day_frequent = {
handler = {},
frequency = day_frequent_frequency,
{name="robin2", length=16, gain=day_frequent_volume},
{name="birdsongnl", length=13, gain=day_frequent_volume},
{name="bird", length=30, gain=day_frequent_volume},
{name="Best_Cardinal_Bird", length=4, gain=day_frequent_volume},
{name="craw", length=3, gain=day_frequent_volume},
{name="bluejay", length=18, gain=day_frequent_volume},
{name="ComboWind", length=17, gain=day_frequent_volume*3}
}
local swimming_frequent = {
handler = {},
frequency = day_frequent_frequency,
{name="water_swimming_splashing_breath", length=11.5, gain=swimming_frequent_volume},
{name="water_swimming_splashing", length=9, gain=swimming_frequent_volume}
}
local cave = {
handler = {},
frequency = cave_frequency,
{name="Bats_in_Cave", length=5, gain=cave_volume},
}
local cave_frequent = {
handler = {},
frequency = cave_frequent_frequency,
{name="drippingwater_drip_a", length=2, gain=cave_frequent_volume},
{name="drippingwater_drip_b", length=2, gain=cave_frequent_volume},
{name="drippingwater_drip_c", length=2, gain=cave_frequent_volume},
{name="Single_Water_Droplet", length=3, gain=cave_frequent_volume},
{name="Spooky_Water_Drops", length=7, gain=cave_frequent_volume}
}
local beach = {
handler = {},
frequency = beach_frequency,
{name="seagull", length=4.5, gain=beach_volume}
}
local beach_frequent = {
handler = {},
frequency = beach_frequent_frequency,
{name="fiji_beach", length=43.5, gain=beach_frequent_volume}
}
local desert = {
handler = {},
frequency = desert_frequency,
{name="coyote2", length=2.5, gain=desert_volume},
{name="RattleSnake", length=8, gain=desert_volume}
}
local desert_frequent = {
handler = {},
frequency = desert_frequent_frequency,
{name="DesertMonolithMed", length=34.5, gain=desert_frequent_volume}
}
local flying = {
handler = {},
frequency = 1000,
on_start = "nothing_yet",
on_stop = "nothing_yet",
{name="ComboWind", length=17, gain=1}
}
local water = {
handler = {},
frequency = 0,--dolphins dont fit into small lakes
{name="dolphins", length=6, gain=1},
{name="dolphins_screaming", length=16.5, gain=1}
}
local water_frequent = {
handler = {},
frequency = water_frequent_frequency,
on_stop = "drowning_gasp",
--on_start = "Splash",
{name="scuba1bubbles", length=11, gain=water_frequent_volume},
{name="scuba1calm", length=10, gain=water_frequent_volume}, --not sure why but sometimes I get errors when setting gain=water_frequent_volume here.
{name="scuba1calm2", length=8.5, gain=water_frequent_volume},
{name="scuba1interestingbubbles", length=11, gain=water_frequent_volume},
{name="scuba1tubulentbubbles", length=10.5, gain=water_frequent_volume}
}
local water_surface = {
handler = {},
frequency = 1000,
on_stop = "Splash",
on_start = "Splash",
{name="lake_waves_2_calm", length=9.5, gain=water_surface_volume},
{name="lake_waves_2_variety", length=13.1, gain=water_surface_volume}
}
local splashing_water = {
handler = {},
frequency = 1000,
{name="Splash", length=1.22, gain=splashing_water_volume}
}
local flowing_water = {
handler = {},
frequency = 1000,
{name="small_waterfall", length=14, gain=flowing_water_volume}
}
local flowing_water2 = {
handler = {},
frequency = 1000,
{name="small_waterfall", length=11, gain=flowing_water_volume}
}
local lava = {
handler = {},
frequency = 1000,
{name="earth01a", length=20, gain=lava_volume}
}
local lava2 = {
handler = {},
frequency = 1000,
{name="earth01a", length=15, gain=lava_volume}
}
local play_music = minetest.setting_getbool("music") or false
local music = {
handler = {},
frequency = music_frequency,
is_music=true,
{name="StrangelyBeautifulShort", length=3*60+.5, gain=music_volume*.7},
{name="Loneliness", length=3*60+51, gain=music_volume*.9},
{name="AvalonShort", length=2*60+58, gain=music_volume*1.4},
{name="Aube", length=2*60+24, gain=music_volume*1.8},
{name="Interlude", length=3*60+30.5, gain=music_volume*1.8},
--{name="mtest", length=4*60+33, gain=music_volume},
--{name="echos", length=2*60+26, gain=music_volume},
--{name="FoamOfTheSea", length=1*60+50, gain=music_volume},
{name="Ambivalent", length=2*60+31, gain=music_volume*.9},
--{name="eastern_feeling", length=3*60+51, gain=music_volume},
--{name="Mass_Effect_Uncharted_Worlds", length=2*60+29, gain=music_volume},
--{name="EtherealShort", length=3*60+4, gain=music_volume*.7},
--{name="Mute", length=3*60+43, gain=music_volume*.9},
{name="FarawayShort", length=3*60+5, gain=music_volume*.7},
{name="dark_ambiance", length=44, gain=music_volume}
}
local is_daytime = function()
return (minetest.get_timeofday() > 0.2 and minetest.get_timeofday() < 0.8)
end
local nodes_in_range = function(pos, search_distance, node_name)
local minp = {x=pos.x-search_distance,y=pos.y-search_distance, z=pos.z-search_distance}
local maxp = {x=pos.x+search_distance,y=pos.y+search_distance, z=pos.z+search_distance}
local nodes = minetest.find_nodes_in_area(minp, maxp, node_name)
--minetest.chat_send_all("Found (" .. node_name .. ": " .. #nodes .. ")")
return #nodes
end
local nodes_in_coords = function(minp, maxp, node_name)
local nodes = minetest.find_nodes_in_area(minp, maxp, node_name)
--minetest.chat_send_all("Found (" .. node_name .. ": " .. #nodes .. ")")
return #nodes
end
local atleast_nodes_in_grid = function(pos, search_distance, height, node_name, threshold)
counter = counter +1
-- minetest.chat_send_all("counter: (" .. counter .. ")")
local minp = {x=pos.x-search_distance,y=height, z=pos.z+20}
local maxp = {x=pos.x+search_distance,y=height, z=pos.z+20}
local nodes = minetest.find_nodes_in_area(minp, maxp, node_name)
-- minetest.chat_send_all("z+Found (" .. node_name .. ": " .. #nodes .. ")")
if #nodes >= threshold then
return true
end
local totalnodes = #nodes
minp = {x=pos.x-search_distance,y=height, z=pos.z-20}
maxp = {x=pos.x+search_distance,y=height, z=pos.z-20}
nodes = minetest.find_nodes_in_area(minp, maxp, node_name)
-- minetest.chat_send_all("z-Found (" .. node_name .. ": " .. #nodes .. ")")
if #nodes >= threshold then
return true
end
totalnodes = totalnodes + #nodes
maxp = {x=pos.x+20,y=height, z=pos.z+search_distance}
minp = {x=pos.x+20,y=height, z=pos.z-search_distance}
nodes = minetest.find_nodes_in_area(minp, maxp, node_name)
-- minetest.chat_send_all("x+Found (" .. node_name .. ": " .. #nodes .. ")")
if #nodes >= threshold then
return true
end
totalnodes = totalnodes + #nodes
maxp = {x=pos.x-20,y=height, z=pos.z+search_distance}
minp = {x=pos.x-20,y=height, z=pos.z-search_distance}
nodes = minetest.find_nodes_in_area(minp, maxp, node_name)
-- minetest.chat_send_all("x+Found (" .. node_name .. ": " .. #nodes .. ")")
if #nodes >= threshold then
return true
end
totalnodes = totalnodes + #nodes
-- minetest.chat_send_all("Found total(" .. totalnodes .. ")")
if totalnodes >= threshold*2 then
return true
end
return false
end
local get_immediate_nodes = function(pos)
pos.y = pos.y-1
node_under_feet = minetest.get_node(pos).name
pos.y = pos.y-3
node_3_under_feet = minetest.get_node(pos).name
pos.y = pos.y+3
pos.y = pos.y+2.2
node_at_upper_body = minetest.get_node(pos).name
pos.y = pos.y-1.19
node_at_lower_body = minetest.get_node(pos).name
pos.y = pos.y+0.99
--minetest.chat_send_all("node_under_feet(" .. nodename .. ")")
end
local get_ambience = function(player)
local player_is_climbing = false
local player_is_descending = false
local player_is_moving_horiz = false
local standing_in_water = false
local pos = player:getpos()
get_immediate_nodes(pos)
local player_name = player:get_player_name()
if player_name == nil or players_pos[player_name] == nil then return end
if players_pos[player_name]["last_x_pos"] ~=pos.x or players_pos[player_name]["last_z_pos"] ~=pos.z then
player_is_moving_horiz = true
end
if pos.y > players_pos[player_name]["last_y_pos"]+.5 then
player_is_climbing = true
end
if pos.y < players_pos[player_name]["last_y_pos"]-.5 then
player_is_descending = true
end
players_pos[player_name]["last_x_pos"] = pos.x
players_pos[player_name]["last_z_pos"] = pos.z
players_pos[player_name]["last_y_pos"] = pos.y
if string.find(node_at_upper_body, "default:water") then
if music then
return {water=water, water_frequent=water_frequent, music=music}
else
return {water=water, water_frequent=water_frequent}
end
elseif node_at_upper_body == "air" then
if string.find(node_at_lower_body, "default:water") or string.find(node_under_feet, "default:water") then
--minetest.chat_send_all("bottom counted as water")
--we found air at upperbody, and water at lower body. Now there are 4 possibilities:
--Key: under feet, moving or not
--swimming w, m swimming
--walking in water nw, m splashing
--treading water w, nm sloshing
--standing in water nw, nm beach trumps, then sloshing
if player_is_moving_horiz then
if string.find(node_under_feet, "default:water") then
if music then
return {swimming_frequent=swimming_frequent, music=music}
else
return {swimming_frequent}
end
else --didn't find water under feet: walking in water
if music then
return {splashing_water=splashing_water, music=music}
else
return {splashing_water}
end
end
else--player is not moving: treading water
if string.find(node_under_feet, "default:water") then
if music then
return {water_surface=water_surface, music=music}
else
return {water_surface}
end
else --didn't find water under feet
standing_in_water = true
end
end
end
end
-- minetest.chat_send_all("----------")
-- if not player_is_moving_horiz then
-- minetest.chat_send_all("not moving horiz")
-- else
-- minetest.chat_send_all("moving horiz")
-- end
-- minetest.chat_send_all("nub:" ..node_at_upper_body)
-- minetest.chat_send_all("nlb:" ..node_at_lower_body)
-- minetest.chat_send_all("nuf:" ..node_under_feet)
-- minetest.chat_send_all("----------")
-- if player_is_moving_horiz then
-- minetest.chat_send_all("playermoving")
-- end
-- if player_is_climbing then
-- minetest.chat_send_all("player Climbing")
-- end
-- minetest.chat_send_all("nub:" ..node_at_upper_body)
-- minetest.chat_send_all("nlb:" ..node_at_lower_body)
-- minetest.chat_send_all("nuf:" ..node_under_feet)
-- minetest.chat_send_all("n3uf:" ..node_3_under_feet)
--
local air_or_ignore = {air=true,ignore=true}
local minp = {x=pos.x-3,y=pos.y-4, z=pos.z-3}
local maxp = {x=pos.x+3,y=pos.y-1, z=pos.z+3}
local air_under_player = nodes_in_coords(minp, maxp, "air")
local ignore_under_player = nodes_in_coords(minp, maxp, "ignore")
local air_plus_ignore_under = air_under_player + ignore_under_player
-- minetest.chat_send_all("airUnder:" ..air_under_player)
-- minetest.chat_send_all("ignoreUnder:" ..ignore_under_player)
-- minetest.chat_send_all("a+i:" ..air_plus_ignore_under)
-- minetest.chat_send_all("counter: (" .. counter .. "-----------------)")
--minetest.chat_send_all(air_or_ignore[node_under_feet])
-- if (player_is_moving_horiz or player_is_climbing) and air_or_ignore[node_at_upper_body] and air_or_ignore[node_at_lower_body]
-- and air_or_ignore[node_under_feet] and air_plus_ignore_under == 196 and not player_is_descending then
--minetest.chat_send_all("flying!!!!")
-- if music then
-- return {flying=flying, music=music}
-- else
--- return {flying}
-- end
-- end
--minetest.chat_send_all("not flying!!!!")
if nodes_in_range(pos, 7, "default:lava_flowing")>5 or nodes_in_range(pos, 7, "default:lava_source")>5 then
if music then
return {lava=lava, lava2=lava2, music=music}
else
return {lava=lava}
end
end
if nodes_in_range(pos, 6, "default:water_flowing")>45 then
if music then
return {flowing_water=flowing_water, flowing_water2=flowing_water2, music=music}
else
return {flowing_water=flowing_water, flowing_water2=flowing_water2}
end
end
--if we are near sea level and there is lots of water around the area
if pos.y < 7 and pos.y >0 and atleast_nodes_in_grid(pos, 60, 1, "default:water_source", 51 ) then
if music then
return {beach=beach, beach_frequent=beach_frequent, music=music}
else
return {beach=beach, beach_frequent=beach_frequent}
end
end
if standing_in_water then
if music then
return {water_surface=water_surface, music=music}
else
return {water_surface}
end
end
local desert_in_range = (nodes_in_range(pos, 6, "default:desert_sand")+nodes_in_range(pos, 6, "default:desert_stone"))
--minetest.chat_send_all("desertcount: " .. desert_in_range .. ",".. pos.y )
if desert_in_range >250 then
if music then
return {desert=desert, desert_frequent=desert_frequent, music=music}
else
return {desert=desert, desert_frequent=desert_frequent}
end
end
-- pos.y = pos.y-2
-- nodename = minetest.get_node(pos).name
-- minetest.chat_send_all("Found " .. nodename .. pos.y )
if player:getpos().y < 0 then
if music then
return {cave=cave, cave_frequent=cave_frequent, music=music}
else
return {cave=cave, cave_frequent=cave_frequent}
end
end
if is_daytime() then
if music then
return {day=day, day_frequent=day_frequent, music=music}
else
return {day=day, day_frequent=day_frequent}
end
else
if music then
return {night=night, night_frequent=night_frequent, music=music}
else
return {night=night, night_frequent=night_frequent}
end
end
end
-- start playing the sound, set the handler and delete the handler after sound is played
local play_sound = function(player, list, number, is_music)
local player_name = player:get_player_name()
if list.handler[player_name] == nil then
local gain = 1.0
if list[number].gain ~= nil then
if is_music then
gain = list[number].gain*soundset.get_gain(player_name, "music")
--minetest.chat_send_all("gain music: " .. gain )
else
gain = list[number].gain*soundset.get_gain(player_name, "ambience")
--minetest.chat_send_all("gain sound: " .. gain )
end
end
local handler = minetest.sound_play(list[number].name, {to_player=player_name, gain=gain})
if handler ~= nil then
list.handler[player_name] = handler
minetest.after(list[number].length, function(args)
local list = args[1]
local player_name = args[2]
if list.handler[player_name] ~= nil then
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end, {list, player_name})
end
end
end
-- stops all sounds that are not in still_playing
local stop_sound = function(still_playing, player)
local player_name = player:get_player_name()
if still_playing.cave == nil then
local list = cave
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.cave_frequent == nil then
local list = cave_frequent
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.swimming_frequent == nil then
local list = swimming_frequent
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.beach == nil then
local list = beach
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.beach_frequent == nil then
local list = beach_frequent
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.desert == nil then
local list = desert
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.desert_frequent == nil then
local list = desert_frequent
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.night == nil then
local list = night
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.night_frequent == nil then
local list = night_frequent
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.day == nil then
local list = day
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.day_frequent == nil then
local list = day_frequent
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.music == nil then
local list = music
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.flowing_water == nil then
local list = flowing_water
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.flowing_water2 == nil then
local list = flowing_water2
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.lava == nil then
local list = lava
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.lava2 == nil then
local list = lava2
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.water == nil then
local list = water
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.water_surface == nil then
local list = water_surface
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
played_on_start = false
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.water_frequent == nil then
local list = water_frequent
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
-- minetest.chat_send_all("list.on_stop " .. list.on_stop )
played_on_start = false
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.flying == nil then
--minetest.chat_send_all("begin stop flying " )
local list = flying
if list.handler[player_name] ~= nil then
-- minetest.chat_send_all("handler flying " )
if list.on_stop ~= nil then
-- minetest.chat_send_all("onstop flying" )
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
played_on_start = false
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
if still_playing.splashing_water == nil then
local list = splashing_water
if list.handler[player_name] ~= nil then
if list.on_stop ~= nil then
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=soundset.get_gain(player_name, "ambience")})
end
minetest.sound_stop(list.handler[player_name])
list.handler[player_name] = nil
end
end
end
local function tick()
minetest.after(1, tick)
for _,player in ipairs(minetest.get_connected_players()) do
ambiences = get_ambience(player)
stop_sound(ambiences, player)
for _,ambience in pairs(ambiences) do
if math.random(1, 1000) <= ambience.frequency then
-- if(played_on_start) then
-- -- minetest.chat_send_all("playedOnStart " )
-- else
-- -- minetest.chat_send_all("FALSEplayedOnStart " )
-- end
if ambience.on_start ~= nil and played_on_start == false then
played_on_start = true
minetest.sound_play(ambience.on_start, {to_player=player:get_player_name(),gain=soundset.get_gain(player:get_player_name(), "ambience")})
end
-- minetest.chat_send_all("ambience: " ..ambience )
-- if ambience.on_start ~= nil and played_on_start_flying == false then
-- played_on_start_flying = true
-- minetest.sound_play(ambience.on_start, {to_player=player:get_player_name()})
-- end
local is_music =false
if ambience.is_music ~= nil then
is_music = true
end
play_sound(player, ambience, math.random(1, #ambience),is_music)
end
end
end
end
tick()
minetest.register_on_joinplayer(function(player)
local player_name = player:get_player_name()
local pos = player:getpos()
players_pos[player_name] = {}
players_pos[player_name]["last_x_pos"] = pos.x
players_pos[player_name]["last_z_pos"] = pos.z
players_pos[player_name]["last_y_pos"] = pos.y
end)
minetest.register_on_leaveplayer(function(player)
local player_name = player:get_player_name()
players_pos[player_name] = nil
end)
--[[
minetest.register_chatcommand("svol", {
params = "<svol>",
description = "set volume of sounds, default 1 normal volume.",
privs = {server=true},
func = function(name, param)
if param == "" or tonumber(param) == nil then
minetest.chat_send_player(name, "Sound volume not set, param is not an numeric value.")
return
end
SOUNDVOLUME = tonumber(param)
-- local player = minetest.get_player_by_name(name)
-- ambiences = get_ambience(player)
-- stop_sound({}, player)
minetest.chat_send_player(name, "Sound volume set to " .. param .. ".")
end, })
minetest.register_chatcommand("mvol", {
params = "<mvol>",
description = "set volume of music, default 1 normal volume.",
privs = {server=true},
func = function(name, param)
if param == "" or tonumber(param) == nil then
minetest.chat_send_player(name, "Music volume not set, param is not an numeric value")
return
end
MUSICVOLUME = tonumber(param)
-- local player = minetest.get_player_by_name(name)
-- stop_sound({}, player)
-- ambiences = get_ambience(player)
minetest.chat_send_player(name, "Music volume set to " .. param .. ".")
end, })
]]

View File

@ -1,119 +0,0 @@
--------------Music Lic:
Amethystium:
--Avalon
--Ethereal
--Faraway
--Strangely Beautiful
Used with kind permission from Øystein Ramfjord / AM.mu Records
Jordach:
--dark_ambiance
--eastern_feeling
These sounds are used for the Mod for Minetest; Ambiance.
The included sounds are http://creativecommons.org/licenses/by-nc-sa/3.0/
Not Used:--mtest
Obani:
--Interlude
This sounds is under the license CC-BY-SA
-----------Sound Lic:
--Nightime Sound, Recorded by Mike Koenig, License: Attribution 3.0 http://soundbible.com/951-Nightime.html
--Crickets At Night Sound, License: Attribution 3.0 | Recorded by Mike Koenig |http://soundbible.com/365-Crickets-At-Night.html
--Medium Pack Of Wolves Howling, License: Public Domain | Recorded by fws.gov, http://soundbible.com/277-Medium-Pack-Of-Wolves-Howling.html
--Horned Owl Sound, License: Attribution 3.0 | Recorded by Mike Koenig , http://soundbible.com/1851-Horned-Owl.html
--Bats In Cave Sound, License: Attr-Noncommercial 3.0 | Recorded by Mike Koenig , http://soundbible.com/1939-Bats-In-Cave.html
--Spooky Water Drops Sound, License: Attribution 3.0 | Recorded by Mike Koenig, http://soundbible.com/380-Spooky-Water-Drops.html
-- Single Water Droplet Sound, License: Attribution 3.0 | Recorded by Mike Koenig, http://soundbible.com/384-Single-Water-Droplet.html
--HollowWind, Black Boe, Creative Commons 0 License, http://www.freesound.org/people/Black%20Boe/sounds/22331/
--drippingwater*.ogg sounds: CC0, Dripping Water Mod, by kddekadenz, http://minetest.net/forum/viewtopic.php?id=1688
--best cardinal bird: License: Attribution 3.0 | Recorded by PsychoBird, http://soundbible.com/1515-Best-Cardinal-Bird.html
--birdsongnl: the Attribution License, HerbertBoland, http://www.freesound.org/people/HerbertBoland/sounds/28312/ (end)
--robin2: Attribution License, reinsamba, http://www.freesound.org/people/reinsamba/sounds/32479/ (end)
--Craw.WAV, Attribution License, inchadney, http://www.freesound.org/people/inchadney/sounds/52450/
--bluejay.wav, Creative Commons 0 License, UncleSigmund, http://www.freesound.org/people/UncleSigmund/sounds/42382/
--scuba1*.ogg- digifishmusic, Attribution License, http://www.freesound.org/people/digifishmusic/sounds/45521/
--Underwater Pool - Attribution 3.0 | Recorded by Mike Koenig, http://soundbible.com/1660-Underwater-Pool.html
--dolphin_screaming - Creative Commons 0 License, felix.blume, http://www.freesound.org/people/felix.blume/sounds/161691/
--dolphins - Attribution Noncommercial License, acclivity, http://www.freesound.org/people/acclivity/sounds/13691/
ComboWind uses:
--wind-in-the-trees -Attribution License, laurent, http://www.freesound.org/people/laurent/sounds/16995/
--drygrassInWind- Creative Commons 0 License, felix.blume, http://www.freesound.org/people/felix.blume/sounds/146436/
--Splash: Attribution 3.0 | Recorded by BlastwaveFx.com, http://soundbible.com/546-Fish-Splashing.html
--small_waterfall Attribution License, volivieri, http://www.freesound.org/people/volivieri/sounds/38390/
--Lake_Waves_2*, Attribution License, Benboncan, http://www.freesound.org/people/Benboncan/sounds/67884/
--water_swimming_splashing*, Attribution Noncommercial License, Robinhood76, http://www.freesound.org/people/Robinhood76/sounds/79657/
--earth01a, Creative Commons 0 License., Halion , http://www.freesound.org/people/Halion/sounds/17785
--fiji_beach, Creative Commons 0 License, c97059890, http://www.freesound.org/people/c97059890/sounds/21754/
--seagull, Attribution Noncommercial License., hazure, http://www.freesound.org/people/hazure/sounds/23707/,
desert:
coyote2, Attribution License, rogerforeman, http://www.freesound.org/people/rogerforeman/sounds/68068/
http://www.freesound.org/people/Proxima4/sounds/104319/
Desert Monolith.wav, Creative Commons 0 License, Proxima4, http://www.freesound.org/people/Proxima4/sounds/104319/
Rattlesnake Rattle, Public Domain, fws.gov, http://soundbible.com/237-Rattlesnake-Rattle.html
flying:
crystal_airlines: Attribution License, suonho, http://www.freesound.org/people/suonho/sounds/56364/
----------------Not used yet:
desert:
Desert Simple.wav, Creative Commons 0 License, Proxima4, http://www.freesound.org/people/Proxima4/sounds/104320/
313hummer (Jordan Craige)
--echos http://soundcloud.com/jordan-craige/echos-1
Creative Commons Attribution license (reuse allowed) Attribution 3.0 Unported (CC BY 3.0)
Not Used:--FoamOfTheSea http://soundcloud.com/jordan-craige/foam-of-the-sea
xi-intersection:
http://soundcloud.com/xi-intersection/mass-effect-uncharted-worlds Creative Commons License
--not used:
http://soundcloud.com/xi-intersection/donkey-kong-country-2-flight
http://soundcloud.com/kogyo/kogyo-skalar-m1
lava:
http://www.freesound.org/people/Halion/sounds/17785/ (almost as good cc) (combine with rocks falling?)
http://www.freesound.org/people/pushtobreak/sounds/17823/ (attrib non cc really good)
http://www.freesound.org/people/klankbeeld/sounds/123970/ (horror rhythm)
Rockfall in mine.wav http://www.freesound.org/people/Benboncan/sounds/60085/
http://www.freesound.org/people/snotch/sounds/96175/ (mud volcano)
--natural night sounds in Boquete.wav, Attribution License, laurent, http://www.freesound.org/people/laurent/sounds/15851/
http://www.freesound.org/people/Dynamicell/sounds/17553/
http://www.freesound.org/people/juskiddink/sounds/78955/ aspen tree in wind
http://www.freesound.org/people/Benboncan/sounds/69761/ wind in hedge birds animals
ButterflyTea:
Creative Commons : Attribution-Noncommercial-Share Alike 3.0
http://www.jamendo.com/en/track/904012/dance-of-magical-flowers
http://www.jamendo.com/en/track/904013/magic-of-the-seventh-world
http://www.jamendo.com/en/track/904016/in-search-of-the-soul
zero-project

View File

@ -1,18 +0,0 @@
MSYS-1.0.12 Build:2011-07-20 17:52
Exception: STATUS_ACCESS_VIOLATION at eip=68085E34
eax=68560000 ebx=000057BC ecx=000015EF edx=00000000 esi=00000000 edi=68560000
ebp=0022FE48 esp=0022FE3C program=us
cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023
Stack trace:
Frame Function Args
0022FE48 68085E34 (68560000, 00000000, 000057BC, 00000004)
0022FE98 68001CB0 (00552C68, 00000001, 0022FEE8, 680044EA)
0022FEE8 680045C7 (00000000, 00000000, 0022FF28, 00401EF0)
0022FF08 68004C5F (00401068, 00000000, 00000000, 00000000)
0022FF28 68004C98 (00000000, 00000000, 00000000, 00000000)
0022FF58 00401DB8 (00401068, 00000000, 00000000, 00000000)
0022FF88 0040103D (7FFD9000, 0022FFD4, 7725E1C6, 7FFD9000)
0022FF94 75914B29 (7FFD9000, 4DBD3901, 00000000, 00000000)
0022FFD4 7725E1C6 (00401000, 7FFD9000, 00000000, 00000000)
0022FFEC 7725E199 (00401000, 7FFD9000, 00000000, 78746341)
End of stack trace