command reset; default values
parent
c8aa6276b4
commit
05c0724041
16
api.lua
16
api.lua
|
@ -67,12 +67,26 @@ M.register_experience=function(name,indata)
|
|||
M.experiences[name]=tid
|
||||
end
|
||||
|
||||
xpfw.player_reset_attributes(player)
|
||||
for i,att_def in ipairs(xpfw.attributes) do
|
||||
local setval=att_def.min or 0
|
||||
if att_def.default ~= nil then
|
||||
setval=att_def.default
|
||||
end
|
||||
player:set_attribute(xpfw.prefix.."_"..att_def.name,setval)
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_on_joinplayer(function(player)
|
||||
local playername = player:get_player_name()
|
||||
|
||||
for i,att_def in ipairs(xpfw.attributes) do
|
||||
if player:get_attribute(xpfw.prefix.."_"..att_def.name) == nil then
|
||||
player:set_attribute(xpfw.prefix.."_"..att_def.name,att_def.min or 0)
|
||||
local defval=att_def.min or 0
|
||||
if att_def.default ~= nil then
|
||||
defval=att_def.default
|
||||
end
|
||||
player:set_attribute(xpfw.prefix.."_"..att_def.name,defval)
|
||||
end
|
||||
end
|
||||
if M.player[playername]==nil then
|
||||
|
|
|
@ -20,6 +20,17 @@ minetest.register_chatcommand("xpset", {
|
|||
end
|
||||
})
|
||||
|
||||
minetest.register_chatcommand("xpreset", {
|
||||
privs = {
|
||||
xpfwset = true
|
||||
},
|
||||
description = "Reset the statistics/experience for yourself",
|
||||
func = function(name, param)
|
||||
xpfw.player_reset_attribute(player)
|
||||
minetest.chat_send_player(name, "All Attributs resetted")
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_chatcommand("xpfw", {
|
||||
privs = {
|
||||
server = true
|
||||
|
|
|
@ -14,8 +14,9 @@ xpfw.experience_max=minetest.settings:get("xpfw.experience_max") or 20
|
|||
|
||||
for i,attr in ipairs({"walked","distance","login","dug","build","deaths","spoke","killed_mobs","killed_player",
|
||||
"lastlogin","logon"}) do
|
||||
xpfw.register_attribute(attr,{min=0,max=math.huge})
|
||||
xpfw.register_attribute(attr,{min=0,max=math.huge,default=0})
|
||||
end
|
||||
xpfw.register_attribute("meanlight",{min=0,max=default.LIGHT_MAX,
|
||||
moving_average_factor=minetest.settings:get("xpfw.light_mean_weight") or 500
|
||||
default=math.min(default.LIGHT_MAX,minetest.settings:get("xpfw.default")) or 11
|
||||
})
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
xpfw.prefix (Prefix for variable name) string "xp"
|
||||
xpfw.light_mean_weight (Weight factor for light value) int 5000 1 10000
|
||||
xpfw.light_mean_default (Weight factor for light value) int 11 0 14
|
||||
xpfw.mean_weight (Weight factor for calculating mean value) int 5000 1 10000
|
||||
xpfw.experience_max (Normal max value for experiences) int 20 10 100
|
||||
|
|
Loading…
Reference in New Issue