forked from mtcontrib/awards
Compare commits
2 Commits
nalc-1.0
...
github/for
Author | SHA1 | Date | |
---|---|---|---|
6530688049 | |||
589837e2f1 |
14
locale/de.po
14
locale/de.po
@ -102,8 +102,8 @@ msgstr[1] "Bauen Sie Blöcke ab: @1×@2"
|
||||
#: triggers.lua
|
||||
msgid "Mine @1 block."
|
||||
msgid_plural "Mine @1 blocks."
|
||||
msgstr[0] "Bauen Sie einen @1 Block ab."
|
||||
msgstr[1] "Bauen Sie @1 Blöcke ab."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: triggers.lua
|
||||
msgid "@1/@2 placed"
|
||||
@ -119,8 +119,8 @@ msgstr[1] "Platzieren Sie Blöcke: @1×@2"
|
||||
#: triggers.lua
|
||||
msgid "Place a block."
|
||||
msgid_plural "Place @1 blocks."
|
||||
msgstr[0] "Platzieren Sie einen Block."
|
||||
msgstr[1] "Platzieren Sie @1 Blöcke."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: triggers.lua
|
||||
msgid "@1/@2 eaten"
|
||||
@ -151,13 +151,13 @@ msgstr[1] "Sterben Sie @1 mal."
|
||||
|
||||
#: triggers.lua
|
||||
msgid "@1/@2 chat messages"
|
||||
msgstr "@1/@2 Chatnachrichten"
|
||||
msgstr ""
|
||||
|
||||
#: triggers.lua
|
||||
msgid "Write something in chat."
|
||||
msgid_plural "Write @1 chat messages."
|
||||
msgstr[0] "Schreiben Sie etwas im Chat."
|
||||
msgstr[1] "Schreiben Sie @1 Chatnachrichten."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: triggers.lua
|
||||
msgid "@1/@2 game joins"
|
||||
|
@ -43,6 +43,10 @@ end
|
||||
-- name - the name of the player
|
||||
-- award - the name of the award to give
|
||||
function awards.unlock(name, award)
|
||||
if not minetest.get_player_by_name(name) or not minetest.get_player_by_name(name):is_player() then
|
||||
return
|
||||
end
|
||||
|
||||
-- Access Player Data
|
||||
local data = awards.player(name)
|
||||
local awdef = awards.registered_awards[award]
|
||||
@ -60,7 +64,7 @@ function awards.unlock(name, award)
|
||||
end
|
||||
|
||||
-- Unlock Award
|
||||
minetest.log("action", name.." has unlocked award "..name)
|
||||
minetest.log("action", name.." has unlocked award "..award)
|
||||
data.unlocked[award] = award
|
||||
awards.save()
|
||||
|
||||
@ -91,7 +95,7 @@ function awards.unlock(name, award)
|
||||
local title = awdef.title or award
|
||||
local desc = awdef.description or ""
|
||||
local background = awdef.background or "awards_bg_default.png"
|
||||
local icon = awdef.icon or "awards_unknown.png"
|
||||
local icon = awdef.icon.."^[resize:16x16" or "awards_unknown.png"
|
||||
local sound = awdef.sound
|
||||
if sound == nil then
|
||||
-- Explicit check for nil because sound could be `false` to disable it
|
||||
@ -122,9 +126,6 @@ function awards.unlock(name, award)
|
||||
end
|
||||
else
|
||||
local player = minetest.get_player_by_name(name)
|
||||
if not (player and player.is_player and player:is_player()) then
|
||||
return
|
||||
end
|
||||
local one = player:hud_add({
|
||||
hud_elem_type = "image",
|
||||
name = "award_bg",
|
||||
|
@ -62,6 +62,9 @@ function awards.register_trigger(tname, tdef)
|
||||
end
|
||||
|
||||
function tdef.notify(player)
|
||||
if not player:is_player() or not minetest.get_player_by_name(player:get_player_name()) then
|
||||
return
|
||||
end
|
||||
assert(player and player.is_player and player:is_player())
|
||||
local name = player:get_player_name()
|
||||
local data = awards.player(name)
|
||||
@ -152,6 +155,10 @@ function awards.register_trigger(tname, tdef)
|
||||
end
|
||||
end
|
||||
|
||||
if not player:is_player() or not minetest.get_player_by_name(player:get_player_name()) then
|
||||
return
|
||||
end
|
||||
|
||||
assert(player and player.is_player and player:is_player() and key)
|
||||
local name = player:get_player_name()
|
||||
local data = awards.player(name)
|
||||
@ -160,8 +167,9 @@ function awards.register_trigger(tname, tdef)
|
||||
data[tname] = data[tname] or {}
|
||||
local currentVal = (data[tname][key] or 0) + n
|
||||
data[tname][key] = currentVal
|
||||
data[tname].__total = (data[tname].__total or 0)
|
||||
if key:sub(1, 6) ~= "group:" then
|
||||
data[tname].__total = (data[tname].__total or 0) + n
|
||||
data[tname].__total = data[tname].__total + n
|
||||
end
|
||||
|
||||
tdef:run_callbacks(player, data, function(entry)
|
||||
@ -173,7 +181,6 @@ function awards.register_trigger(tname, tdef)
|
||||
else
|
||||
return
|
||||
end
|
||||
|
||||
if current >= entry.target then
|
||||
return entry.award
|
||||
end
|
||||
@ -201,7 +208,7 @@ end
|
||||
|
||||
function awards.increment_item_counter(data, field, itemname, count)
|
||||
itemname = minetest.registered_aliases[itemname] or itemname
|
||||
data[field][itemname] = (data[field][itemname] or 0) + 1
|
||||
data[field][itemname] = (data[field][itemname] or 0) + (count or 1)
|
||||
end
|
||||
|
||||
function awards.get_item_count(data, field, itemname)
|
||||
|
@ -2,39 +2,28 @@
|
||||
|
||||
local S = awards.gettext
|
||||
|
||||
minetest.register_privilege("awards_admin", { description = "Can manage awards of given player" })
|
||||
|
||||
minetest.register_chatcommand("awards", {
|
||||
params = "[c|clear|disable|enable] [player_name]",
|
||||
description = "Show, clear, disable or enable player's awards",
|
||||
params = S("[c|clear|disable|enable]"),
|
||||
description = S("Show, clear, disable or enable your awards"),
|
||||
func = function(name, param)
|
||||
if not minetest.check_player_privs(name, { awards_admin = true }) then
|
||||
return false, "You need awards_admin privilege!"
|
||||
end
|
||||
local action, playern = param:split(" ")[1], param:split(" ")[2] or name
|
||||
if action == "clear" then
|
||||
awards.clear_player(playern)
|
||||
minetest.chat_send_player(playern,
|
||||
S("All your awards and statistics have been cleared. You can now start again."))
|
||||
minetest.chat_send_player(name, "All awards and statistics of "..playern.." have been cleared.")
|
||||
elseif action == "disable" then
|
||||
awards.disable(playern)
|
||||
minetest.chat_send_player(playern, "Your awards are disabled.")
|
||||
minetest.chat_send_player(name, "You have disabled awards of "..playern..".")
|
||||
elseif action == "enable" then
|
||||
awards.enable(playern)
|
||||
minetest.chat_send_player(playern, "Your awards are enabled.")
|
||||
minetest.chat_send_player(name, "You have enabled awards of "..playern..".")
|
||||
elseif action == "c" then
|
||||
awards.show_to(playern, name, nil, true)
|
||||
elseif not action then
|
||||
awards.show_to(name, name, nil, false)
|
||||
if param == "clear" then
|
||||
awards.clear_player(name)
|
||||
minetest.chat_send_player(name,
|
||||
S("All your awards and statistics have been cleared. You can now start again."))
|
||||
elseif param == "disable" then
|
||||
awards.disable(name)
|
||||
minetest.chat_send_player(name, S("You have disabled awards."))
|
||||
elseif param == "enable" then
|
||||
awards.enable(name)
|
||||
minetest.chat_send_player(name, S("You have enabled awards."))
|
||||
elseif param == "c" then
|
||||
awards.show_to(name, name, nil, true)
|
||||
else
|
||||
awards.show_to(action, name, nil, true)
|
||||
awards.show_to(name, name, nil, false)
|
||||
end
|
||||
|
||||
if (action == "disable" or action == "enable") and minetest.global_exists("sfinv") and not minetest.get_modpath("unified_inventory") then
|
||||
local player = minetest.get_player_by_name(playern)
|
||||
if (param == "disable" or param == "enable") and minetest.global_exists("sfinv") then
|
||||
local player = minetest.get_player_by_name(name)
|
||||
if player then
|
||||
sfinv.set_player_inventory_formspec(player)
|
||||
end
|
||||
|
@ -168,7 +168,7 @@ function awards.show_to(name, to, sid, text)
|
||||
if name == "" or name == nil then
|
||||
name = to
|
||||
end
|
||||
local data = awards.player(name)
|
||||
local data = awards.player(to)
|
||||
if name == to and data.disabled then
|
||||
minetest.chat_send_player(name, S("You've disabled awards. Type /awards enable to reenable."))
|
||||
return
|
||||
|
@ -109,15 +109,15 @@ awards.register_trigger("craft", {
|
||||
end,
|
||||
key_is_item = true,
|
||||
})
|
||||
--minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv)
|
||||
-- if not player or itemstack:is_empty() then
|
||||
-- return
|
||||
-- end
|
||||
--
|
||||
-- local itemname = itemstack:get_name()
|
||||
-- itemname = minetest.registered_aliases[itemname] or itemname
|
||||
-- awards.notify_craft(player, itemname, itemstack:get_count())
|
||||
--end)
|
||||
minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv)
|
||||
if not player or itemstack:is_empty() then
|
||||
return
|
||||
end
|
||||
|
||||
local itemname = itemstack:get_name()
|
||||
itemname = minetest.registered_aliases[itemname] or itemname
|
||||
awards.notify_craft(player, itemname, itemstack:get_count())
|
||||
end)
|
||||
|
||||
|
||||
awards.register_trigger("eat", {
|
||||
@ -137,5 +137,5 @@ minetest.register_on_item_eat(function(_, _, itemstack, player, _)
|
||||
|
||||
local itemname = itemstack:get_name()
|
||||
itemname = minetest.registered_aliases[itemname] or itemname
|
||||
awards.notify_craft(player, itemname, itemstack:get_count())
|
||||
awards.notify_eat(player, itemname)
|
||||
end)
|
||||
|
Reference in New Issue
Block a user