77 lines
1.9 KiB
Lua
77 lines
1.9 KiB
Lua
--[[
|
|
Mod Xpro para Minetest
|
|
Copyright (C) 2020 BrunoMine (https://github.com/BrunoMine)
|
|
|
|
Recebeste uma cópia da GNU Lesser General
|
|
Public License junto com esse software,
|
|
se não, veja em <http://www.gnu.org/licenses/>.
|
|
|
|
Comandos
|
|
]]
|
|
|
|
local S = xpro.S
|
|
|
|
|
|
-- Administrador XPro
|
|
minetest.register_privilege("xpro_admin", S("Administrador XPro"))
|
|
|
|
-- Comando "xpro"
|
|
minetest.register_chatcommand("xpro", {
|
|
privs = {xpro_admin = true},
|
|
params = S("[<jogador> | <add/subtract> <xp>]"),
|
|
description = S("Administrar XP dos jogadores"),
|
|
func = function(name, param)
|
|
|
|
-- Consult self account
|
|
if param == "" then
|
|
return false
|
|
end
|
|
|
|
local m = string.split(param, " ")
|
|
local param1, param2, param3 = m[1], m[2], m[3]
|
|
|
|
-- Check account
|
|
if xpro.bd.verif("player:"..param1, "xp") ~= true then
|
|
return false, S("Jogador inexistente.")
|
|
end
|
|
|
|
-- Consultar conta
|
|
if param1 and not param2 then
|
|
local my_xp = xpro.get_player_xp(param1)
|
|
minetest.chat_send_player(name, "***** ".. param1 .." *****")
|
|
minetest.chat_send_player(name, S("XP: @1", my_xp))
|
|
minetest.chat_send_player(name, S("Nivel: @1", xpro.get_player_lvl(param1)))
|
|
minetest.chat_send_player(name, S("Liga: @1", xpro.ligas[xpro.get_player_lvl(param1)].name))
|
|
return
|
|
end
|
|
|
|
if param2 and param3 then
|
|
|
|
-- Check and adjust numeric value
|
|
if not tonumber(param3) then
|
|
return false, S("Valor não numérico '@1'.", param3)
|
|
end
|
|
param3 = tonumber(param3)
|
|
|
|
-- Substract
|
|
if param2 == "subtract" then
|
|
local my_xp = xpro.get_player_xp(param1)
|
|
|
|
xpro.rem_xp(param1, param3)
|
|
|
|
return true, S("XP subtraído. Novo montante é @1.", xpro.get_player_xp(param1))
|
|
end
|
|
|
|
-- Add
|
|
if param2 == "add" then
|
|
|
|
xpro.add_xp(param1, param3)
|
|
|
|
return true, S("XP adicionado. Novo montante é @1.", xpro.get_player_xp(param1))
|
|
end
|
|
|
|
end
|
|
return false
|
|
end,
|
|
})
|