Add notification sound

License of default sound: CC-0
Source: https://www.freesound.org/people/Kastenfrosch/sounds/162482/
This commit is contained in:
Wuzzy 2016-09-01 16:05:42 +02:00 committed by rubenwardy
parent 0e48cd8675
commit 90bf9b061a
3 changed files with 16 additions and 1 deletions

14
api.lua

@ -227,6 +227,11 @@ function awards.unlock(name, award)
local desc = awdef.description or ""
local background = awdef.background or "awards_bg_default.png"
local icon = awdef.icon or "awards_unknown.png"
local sound = awdef.sound
if sound == nil then
-- Explicit check for nil because sound could be `false` to disable it
sound = {name="awards_got_generic", gain=0.25}
end
local custom_announce = awdef.custom_announce
if not custom_announce then
if awdef.secret then
@ -237,6 +242,15 @@ function awards.unlock(name, award)
end
-- Do Notification
if sound then
-- Enforce sound delay to prevent sound spamming
local lastsound = awards.players[name].lastsound
if lastsound == nil or os.difftime(os.time(), lastsound) >= 1 then
minetest.sound_play(sound, {to_player=name})
awards.players[name].lastsound = os.time()
end
end
if awards.show_mode == "formspec" then
-- use a formspec to send it
minetest.show_formspec(name, "achievements:unlocked", "size[4,2]"..

@ -13,7 +13,8 @@ old fork in Carbone, under same license.
* awards.register_achievement(name, def)
* name
* desciption
* sound [optional]
* sound [optional] - set a custom sound (SimpleSoundSpec) or `false` to play no sound.
If not specified, a default sound is played
* image [optional] - texture name, eg: award_one.png
* background [optional] - texture name, eg: award_one.png
* trigger [optional] [table]

Binary file not shown.