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:
parent
6d63e415b1
commit
c1c56f37df
22
mods/ambience_modpack/.gitattributes
vendored
22
mods/ambience_modpack/.gitattributes
vendored
@ -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
|
|
163
mods/ambience_modpack/.gitignore
vendored
163
mods/ambience_modpack/.gitignore
vendored
@ -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
|
|
@ -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.
|
|
Binary file not shown.
@ -1,2 +0,0 @@
|
|||||||
default
|
|
||||||
soundset
|
|
@ -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, })
|
|
||||||
]]
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -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
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -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
|
|
Loading…
Reference in New Issue
Block a user