177 lines
6.1 KiB
Lua
177 lines
6.1 KiB
Lua
--[[
|
|
Mod Macromoney para Minetest
|
|
Copyright (C) 2017 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
|
|
|
|
]]
|
|
|
|
minetest.register_privilege("macromoney", "Manipular contas")
|
|
|
|
-- Definir o nick no forum
|
|
minetest.register_chatcommand("forum", {
|
|
privs = {},
|
|
params = "<nick_no_forum>",
|
|
description = "Informa seu nickname no forum da comunidade minetest brasil",
|
|
func = function(name, param)
|
|
if param then
|
|
if macromoney.definir(name, "forum", param) then
|
|
minetest.chat_send_player(name, "Obrigado por nos informar sua conta no forum")
|
|
else
|
|
minetest.chat_send_player(name, "Falha ao registrar nick. (Erro interno. Avise um administrador)")
|
|
end
|
|
else
|
|
minetest.chat_send_player(name, "Nenhuma conta especificada")
|
|
end
|
|
end
|
|
})
|
|
|
|
-- Registration "macromoney" command.
|
|
minetest.register_chatcommand("macromoney", {
|
|
privs = {macromoney=true},
|
|
params = "[<conta> | tirar/somar/definir <quantia> macros/medalhas <conta>]",
|
|
description = "Operar contas",
|
|
func = function(name, param)
|
|
|
|
-- Consultar propria conta
|
|
if param == "" then --/macromoney
|
|
if macromoney.existe(name) then
|
|
minetest.chat_send_player(name, "Sua conta Conta")
|
|
minetest.chat_send_player(name, "Macros: " .. macromoney.consultar(name, "macros"))
|
|
minetest.chat_send_player(name, "Medalhas: " .. macromoney.consultar(name, "medalhas"))
|
|
minetest.chat_send_player(name, "Registro no forum: " .. macromoney.consultar(name, "forum"))
|
|
return true
|
|
else
|
|
minetest.chat_send_player(name, "Sua conta nao existe (Erro interno)")
|
|
end
|
|
end
|
|
|
|
local m = string.split(param, " ")
|
|
local param1, param2, param3, param4 = m[1], m[2], m[3], m[4]
|
|
|
|
-- Consultar conta de outro
|
|
if param1 and not param2 then --/macromoney <conta>
|
|
-- Verificar se existe
|
|
if macromoney.existe(param1) then
|
|
minetest.chat_send_player(name, "Conta " .. param1)
|
|
minetest.chat_send_player(name, "Macros: " .. macromoney.consultar(param1, "macros"))
|
|
minetest.chat_send_player(name, "Medalhas: " .. macromoney.consultar(param1, "medalhas"))
|
|
minetest.chat_send_player(name, "Registro no forum: " .. macromoney.consultar(param1, "forum"))
|
|
else
|
|
minetest.chat_send_player(name, "Conta inexistente")
|
|
end
|
|
return true
|
|
end
|
|
|
|
if param1 and param2 and param3 and param4 then
|
|
|
|
-- Comando de tirar
|
|
if param1 == "tirar" then
|
|
if macromoney.existe(param4) then
|
|
|
|
if param3 == "macros" then -- Tirar macros
|
|
if tonumber(param2) then
|
|
if macromoney.subtrair(param4, param3, param2) then
|
|
minetest.chat_send_player(name, "Macros tiradas com sucesso.")
|
|
else
|
|
minetest.chat_send_player(name, "O jogador nao tem macros suficientes para tirar tudo isso.")
|
|
end
|
|
else
|
|
minetest.chat_send_player(name, "Voce tem que digitar um valor numerico")
|
|
end
|
|
|
|
elseif param3 == "medalhas" then -- Tirar medalhas
|
|
if tonumber(param2) then
|
|
if macromoney.subtrair(param4, param3, param2) then
|
|
minetest.chat_send_player(name, "Medalhas tiradas com sucesso.")
|
|
else
|
|
minetest.chat_send_player(name, "O jogador nao tem medalhas suficientes para tirar tudo isso.")
|
|
end
|
|
else
|
|
minetest.chat_send_player(name, "Voce tem que digitar um valor numerico")
|
|
end
|
|
else
|
|
minetest.chat_send_player(name, "Pode tirar apenas macros ou medalhas")
|
|
end
|
|
else
|
|
minetest.chat_send_player(name, "Jogador inexistente")
|
|
end
|
|
return true
|
|
|
|
-- Comando de somar
|
|
elseif param1 == "somar" then
|
|
if macromoney.existe(param4) then
|
|
|
|
if param3 == "macros" then -- Somar macros
|
|
if tonumber(param2) then
|
|
if macromoney.somar(param4, param3, param2) then
|
|
minetest.chat_send_player(name, "Macros somados com sucesso.")
|
|
else
|
|
minetest.chat_send_player(name, "Falha ao somar macros. (Erro interno)")
|
|
end
|
|
else
|
|
minetest.chat_send_player(name, "Voce tem que digitar um valor numerico")
|
|
end
|
|
|
|
elseif param3 == "medalhas" then -- Tirar medalhas
|
|
if tonumber(param2) then
|
|
if macromoney.somar(param4, param3, param2) then
|
|
minetest.chat_send_player(name, "Medalhas somados com sucesso.")
|
|
else
|
|
minetest.chat_send_player(name, "Falha ao somar medalhas. (Erro interno)")
|
|
end
|
|
else
|
|
minetest.chat_send_player(name, "Voce tem que digitar um valor numerico")
|
|
end
|
|
else
|
|
minetest.chat_send_player(name, "Pode tirar apenas macros ou medalhas")
|
|
end
|
|
else
|
|
minetest.chat_send_player(name, "Jogador inexistente")
|
|
end
|
|
return true
|
|
|
|
-- Comando de definir
|
|
elseif param1 == "definir" then
|
|
if macromoney.existe(param4) then
|
|
|
|
if param3 == "macros" then -- Definir macros
|
|
if tonumber(param2) then
|
|
if macromoney.definir(param4, param3, param2) then
|
|
minetest.chat_send_player(name, "Macros definidos com sucesso.")
|
|
else
|
|
minetest.chat_send_player(name, "Falha ao definir macros. (Erro interno)")
|
|
end
|
|
else
|
|
minetest.chat_send_player(name, "Voce tem que digitar um valor numerico")
|
|
end
|
|
|
|
elseif param3 == "medalhas" then -- definir medalhas
|
|
if tonumber(param2) then
|
|
if macromoney.definir(param4, param3, param2) then
|
|
minetest.chat_send_player(name, "Medalhas definidas com sucesso.")
|
|
else
|
|
minetest.chat_send_player(name, "Falha ao definir medalhas. (Erro interno)")
|
|
end
|
|
else
|
|
minetest.chat_send_player(name, "Voce tem que digitar um valor numerico")
|
|
end
|
|
else
|
|
minetest.chat_send_player(name, "Pode tirar apenas macros ou medalhas (veja /help macromoney)")
|
|
end
|
|
else
|
|
minetest.chat_send_player(name, "Jogador inexistente")
|
|
end
|
|
return true
|
|
else
|
|
minetest.chat_send_player(name, "Pode apenas tirar, subtrar ou definir (veja /help macromoney)")
|
|
end
|
|
end
|
|
minetest.chat_send_player(name, "Parametros invalidos (veja /help macromoney)")
|
|
end,
|
|
})
|