Correção memor e banco de dados

master
Bruno Borges 2022-01-04 10:57:17 -03:00
parent b47e1e7032
commit 4bb134dbf8
4 changed files with 21 additions and 25 deletions

12
api.lua
View File

@ -68,12 +68,12 @@ end
-- Pegar xp de um jogador (informar)
xpro.get_player_xp = function(name)
return xpro.bd.pegar("jogador_"..name, "xp")
return xpro.bd.pegar("player:"..name, "xp")
end
-- Pegar nivel de um jogador (informar)
xpro.get_player_lvl = function(name)
return xpro.bd.pegar("jogador_"..name, "lvl")
return xpro.bd.pegar("player:"..name, "lvl")
end
@ -81,10 +81,10 @@ end
minetest.register_on_joinplayer(function(player)
-- Verifica se jogador ja possui registro no BD
if xpro.bd.verif("jogador_"..player:get_player_name(), "xp") ~= true then
if xpro.bd.verif("player:"..player:get_player_name(), "xp") ~= true then
-- Criar registro
local tb_name = "jogador_"..player:get_player_name()
local tb_name = "player:"..player:get_player_name()
-- XP
xpro.bd.salvar(tb_name, "xp", 0)
@ -107,7 +107,7 @@ end
xpro.add_xp = function(name, xp_add)
-- Nome da tabela referente ao jogador no banco de dados
local tb_name = "jogador_"..name
local tb_name = "player:"..name
local xp_atual = xpro.get_player_xp(name)
@ -142,7 +142,7 @@ end
xpro.rem_xp = function(name, xp_rem)
-- Nome da tabela referente ao jogador no banco de dados
local tb_name = "jogador_"..name
local tb_name = "player:"..name
local xp_atual = xpro.get_player_xp(name)

View File

@ -31,7 +31,7 @@ minetest.register_chatcommand("xpro", {
local param1, param2, param3 = m[1], m[2], m[3]
-- Check account
if xpro.bd.verif("jogador_"..param1, "xp") ~= true then
if xpro.bd.verif("player:"..param1, "xp") ~= true then
return false, S("Jogador inexistente.")
end

View File

@ -253,48 +253,44 @@ end
-- Fim
-- Implementação em mod_storage
local mod_storage = minetest.get_mod_storage()
-- Fim
-- Montagem de banco de dados
bd = {}
-- Inserir dados comuns
bd.salvar = function(tb, index, valor)
return memor.inserir(tb, index, valor)
return mod_storage:set_string("memor."..tb.."."..index, minetest.serialize(valor))
end
-- Inserir textos complexos
bd.salvar_texto = function(tb, index, valor)
return memor.inserir(tb, index, valor, true)
return mod_storage:set_string("memor."..tb.."."..index, valor)
end
-- Consultar dados
bd.pegar = function(tb, index)
return memor.consultar(tb, index)
return minetest.deserialize(mod_storage:get_string("memor."..tb.."."..index))
end
-- Inserir dados
bd.pegar_texto = function(tb, index, valor)
return memor.consultar(tb, index, true)
return mod_storage:get_string("memor."..tb.."."..index)
end
-- Verificar dados
bd.verif = function(tb, index)
return memor.verificar(tb, index)
return mod_storage:contains("memor."..tb.."."..index)
end
-- Remover dados
bd.remover = function(tb, index)
return memor.deletar(tb, index)
end
-- Remover tabela
bd.drop_tb = function(tb)
return memor.deletar_dir(tb)
end
-- Listar dados
bd.listar = function(tb)
return memor.listar(tb)
return mod_storage:set_string("memor."..tb.."."..index, "")
end
return bd

View File

@ -25,7 +25,7 @@ xpro.update_rank = function(name)
local att_name = {}
local rank = xpro.get_rank()
local pontos = 0
if xpro.bd.verif("jogador_"..name, "xp") == true then pontos = xpro.bd.pegar("jogador_"..name, "xp") end
if xpro.bd.verif("player:"..name, "xp") == true then pontos = xpro.bd.pegar("player:"..name, "xp") end
local m1 = {name=name,pontos=pontos}
local m2 = {}
for x=1, 10 do
@ -129,7 +129,7 @@ local update_formspec = function()
for x=1, 10 do
local w = (0.4+(0.5*x))+(0.1*x)
local liga = nil
if xpro.bd.verif("jogador_"..rank[tostring(x)].name, "lvl") == true then liga = xpro.ligas[xpro.bd.pegar("jogador_"..rank[tostring(x)].name, "lvl")] end
if xpro.bd.verif("player:"..rank[tostring(x)].name, "lvl") == true then liga = xpro.ligas[xpro.bd.pegar("player:"..rank[tostring(x)].name, "lvl")] end
if liga ~= nil then
liga = "image[1.75,"..(w*0.995-0.05)..";0.66,0.66;"..liga.img.."]"
else