Update to v1.2.0

- Minimum level to awards store
- support to unified_inventory
master
BrunoMine 2019-01-11 18:28:55 -02:00
parent 9e02de53af
commit 017460eaf4
22 changed files with 468 additions and 171 deletions

26
README-pt_BR.md Normal file
View File

@ -0,0 +1,26 @@
# XPro v1.2.0
[![download](https://img.shields.io/github/tag/BrunoMine/xpro.svg?style=flat-square&label=release)](https://github.com/BrunoMine/xpro/archive/v1.1.0.zip)
[![git](https://img.shields.io/badge/git-project-green.svg?style=flat-square)](https://github.com/BrunoMine/xpro)
[![forum](https://img.shields.io/badge/minetest-mod-green.svg?style=flat-square)](https://forum.minetest.net/viewtopic.php?f=9&t=20499&p=325793#p325793)
[![bower](https://img.shields.io/badge/bower-mod-green.svg?style=flat-square)](https://minetest-bower.herokuapp.com/mods/xpro)
## Descrição
Sistema de niveis e experiencia
## Requisitos
* Minetest 0.4.17 ou superior
* default mod
* sfinv mod (opicional)
* unified_inventory mod (opicional)
* intllib mod (opicional)
## Licença
Veja LICENSE.txt para informações detalhadas da licença LGPL 3.0
### Autores do código fonte
Originalmente por BrunoMine, Bruno Borges <borgesdossantosbruno@gmail.com> (LGPL 3.0)
### Autores de mídias (texturas, modelos and sons)
Todas que não estão descritas aqui são de autoria de
BrunoMine, Bruno Borges <borgesdossantosbruno@gmail.com> (CC BY-SA 3.0)

View File

@ -1,26 +1,26 @@
# XPro v1.1.0
# XPro v1.2.0
[![download](https://img.shields.io/github/tag/BrunoMine/xpro.svg?style=flat-square&label=release)](https://github.com/BrunoMine/xpro/archive/v1.1.0.zip)
[![git](https://img.shields.io/badge/git-project-green.svg?style=flat-square)](https://github.com/BrunoMine/xpro)
[![forum](https://img.shields.io/badge/minetest-mod-green.svg?style=flat-square)](https://forum.minetest.net/viewtopic.php?f=9&t=20499&p=325793#p325793)
[![bower](https://img.shields.io/badge/bower-mod-green.svg?style=flat-square)](https://minetest-bower.herokuapp.com/mods/xpro)
## Descrição _Description_
Sistema de niveis e experiencia
## Description
System of XP and levels
## Requisitos _(Requirements)_
## Requirements
* Minetest 0.4.17 ou superior
* Mod default
* Mod sfinv
* Mod intllib (opicional)
* default mod
* sfinv mod (optional)
* unified_inventory mod (optional)
* intllib mod (optional)
## Licença _(License)_
Veja LICENSE.txt para informações detalhadas da licença LGPL 3.0
## License
See LICENSE.txt for more info about LGPL 3.0 license
### Autores do código fonte
Originalmente por BrunoMine, Bruno Borges <borgesdossantosbruno@gmail.com> (LGPL 3.0)
### Authors of the source code
Originally by BrunoMine, Bruno Borges <borgesdossantosbruno@gmail.com> (LGPL 3.0)
### Autores de mídias (texturas, modelos and sons)
Todas que não estão descritas aqui são de autoria de
### Authors of media (textures, models and sonds)
All that are not described here are authored by
BrunoMine, Bruno Borges <borgesdossantosbruno@gmail.com> (CC BY-SA 3.0)

View File

@ -6,3 +6,4 @@ beds?
farming?
wool?
carts?
unified_inventory?

View File

@ -38,10 +38,11 @@ dofile(modpath.."/tradutor.lua")
dofile(modpath.."/api.lua")
dofile(modpath.."/ligas.lua")
dofile(modpath.."/shop.lua")
dofile(modpath.."/sfinv.lua")
dofile(modpath.."/progresso.lua")
dofile(modpath.."/ranking.lua")
dofile(modpath.."/hud.lua")
dofile(modpath.."/inventory.lua")
-- Metodos para evoluir
dofile(modpath.."/metodos/die.lua")

44
inventory.lua Normal file
View File

@ -0,0 +1,44 @@
--[[
Mod Xpro para Minetest
Copyright (C) 2018 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/>.
Inventario do jogador
]]
local modpath = minetest.get_modpath("xpro")
-- Atualizar inventario (por padrão não executa nada)
-- Refresh inventory (by default it does not execute anything)
xpro.update_inventory_formspec = function(player)
return
end
-- Abrir inventario na aba do niveis (por padrão não executa nada)
xpro.show_inventory_formspec = function(player)
return
end
-- Metodos de acesso pelo inventario
xpro.var.inv_mode = minetest.settings:get("xpro_inventory") or "sfinv"
if xpro.var.inv_mode == "unified_inventory" then
dofile(modpath.."/unified_inventory.lua")
else
xpro.var.inv_mode = "sfinv"
dofile(modpath.."/sfinv.lua")
end

View File

@ -1 +1 @@
api.lua hud.lua ligas.lua progresso.lua ranking.lua sfinv.lua shop.lua
api.lua hud.lua ligas.lua progresso.lua ranking.lua sfinv.lua shop.lua inventory.lua unified_inventory.lua

Binary file not shown.

View File

@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-17 10:28-0300\n"
"PO-Revision-Date: 2018-07-17 10:28-0300\n"
"POT-Creation-Date: 2019-01-11 18:04-0200\n"
"PO-Revision-Date: 2019-01-11 18:08-0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.6\n"
"X-Generator: Poedit 2.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: hud.lua
@ -26,11 +26,11 @@ msgstr "XP"
msgid "+@1XP"
msgstr "+@1XP"
#: hud.lua sfinv.lua
#: hud.lua sfinv.lua unified_inventory.lua
msgid "Liga @1"
msgstr "League @1"
#: hud.lua sfinv.lua
#: hud.lua sfinv.lua unified_inventory.lua
msgid "Nivel @1"
msgstr "Level @1"
@ -194,6 +194,10 @@ msgstr "Diamond V"
msgid "Diamante VI"
msgstr "Diamond VI"
#: ranking.lua shop.lua
msgid "Voltar"
msgstr "Return"
#: ranking.lua
msgid "Pontos"
msgstr "Score"
@ -202,27 +206,27 @@ msgstr "Score"
msgid "Jogador"
msgstr "Player"
#: sfinv.lua
#: sfinv.lua unified_inventory.lua
msgid "Nivel"
msgstr "Level"
#: sfinv.lua
#: sfinv.lua unified_inventory.lua
msgid "Pontos: @1"
msgstr "Score: @1"
#: sfinv.lua shop.lua
#: sfinv.lua shop.lua unified_inventory.lua
msgid "Cash XP: @1"
msgstr "XP Cash: @1"
#: sfinv.lua
#: sfinv.lua unified_inventory.lua
msgid "Loja de Premios"
msgstr "Awards Store"
#: sfinv.lua
#: sfinv.lua unified_inventory.lua
msgid "Ranking Global"
msgstr "Global Ranking"
#: sfinv.lua
#: sfinv.lua unified_inventory.lua
msgid "Progresso"
msgstr "Progress"
@ -238,6 +242,10 @@ msgstr "Choose an item"
msgid "Custo: @1 CashXP"
msgstr "Cost: @1 XPCash"
#: shop.lua
msgid "Nivel mínimo: @1"
msgstr "Minimum level: @1"
#: shop.lua
msgid "Unidades: @1"
msgstr "Units: @1"
@ -250,6 +258,10 @@ msgstr "Buy"
msgid "Cash XP insuficiente"
msgstr "Insufficient XPCash"
#: shop.lua
msgid "Precisa estar no nivel @1"
msgstr "Must be at level @1"
#: shop.lua
msgid "Inventario lotado"
msgstr "Full inventory"
@ -258,10 +270,8 @@ msgstr "Full inventory"
msgid "Adiquirido"
msgstr "Acquired"
#: shop.lua
msgid "Pedras"
msgstr "Stones"
#~ msgid "Pedras"
#~ msgstr "Stones"
#: shop.lua
msgid "Pedregulho"
msgstr "Cobble"
#~ msgid "Pedregulho"
#~ msgstr "Cobble"

View File

@ -7,16 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-16 23:14-0300\n"
"PO-Revision-Date: 2018-07-16 23:34-0300\n"
"POT-Creation-Date: 2018-07-17 10:28-0300\n"
"PO-Revision-Date: 2018-07-17 10:28-0300\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.6\n"
"Last-Translator: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: en\n"
#: hud.lua
msgid "XP"
@ -126,6 +126,26 @@ msgstr "Steel V"
msgid "Ferro VI"
msgstr "Steel VI"
#: ligas.lua
msgid "Bronze II"
msgstr "Bronze II"
#: ligas.lua
msgid "Bronze III"
msgstr "Bronze III"
#: ligas.lua
msgid "Bronze IV"
msgstr "Bronze IV"
#: ligas.lua
msgid "Bronze V"
msgstr "Bronze V"
#: ligas.lua
msgid "Bronze VI"
msgstr "Bronze VI"
#: ligas.lua
msgid "Mese I"
msgstr "Mese I"

Binary file not shown.

View File

@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-17 10:28-0300\n"
"PO-Revision-Date: 2018-07-17 10:28-0300\n"
"POT-Creation-Date: 2019-01-11 18:04-0200\n"
"PO-Revision-Date: 2019-01-11 18:04-0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.6\n"
"X-Generator: Poedit 2.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: hud.lua
@ -26,11 +26,11 @@ msgstr "XP"
msgid "+@1XP"
msgstr "+@1XP"
#: hud.lua sfinv.lua
#: hud.lua sfinv.lua unified_inventory.lua
msgid "Liga @1"
msgstr "Liga @1"
#: hud.lua sfinv.lua
#: hud.lua sfinv.lua unified_inventory.lua
msgid "Nivel @1"
msgstr "Nivel @1"
@ -194,6 +194,10 @@ msgstr "Diamante V"
msgid "Diamante VI"
msgstr "Diamante VI"
#: ranking.lua shop.lua
msgid "Voltar"
msgstr "Voltar"
#: ranking.lua
msgid "Pontos"
msgstr "Pontos"
@ -202,27 +206,27 @@ msgstr "Pontos"
msgid "Jogador"
msgstr "Jogador"
#: sfinv.lua
#: sfinv.lua unified_inventory.lua
msgid "Nivel"
msgstr "Nivel"
#: sfinv.lua
#: sfinv.lua unified_inventory.lua
msgid "Pontos: @1"
msgstr "Pontos: @1"
#: sfinv.lua shop.lua
#: sfinv.lua shop.lua unified_inventory.lua
msgid "Cash XP: @1"
msgstr "Cash XP: @1"
#: sfinv.lua
#: sfinv.lua unified_inventory.lua
msgid "Loja de Premios"
msgstr "Loja de Premios"
#: sfinv.lua
#: sfinv.lua unified_inventory.lua
msgid "Ranking Global"
msgstr "Ranking Global"
#: sfinv.lua
#: sfinv.lua unified_inventory.lua
msgid "Progresso"
msgstr "Progresso"
@ -238,6 +242,10 @@ msgstr "Escolha um Item"
msgid "Custo: @1 CashXP"
msgstr "Custo: @1 CashXP"
#: shop.lua
msgid "Nivel mínimo: @1"
msgstr "Nivel mínimo: @1"
#: shop.lua
msgid "Unidades: @1"
msgstr "Unidades: @1"
@ -250,6 +258,10 @@ msgstr "Comprar"
msgid "Cash XP insuficiente"
msgstr "Cash XP insuficiente"
#: shop.lua
msgid "Precisa estar no nivel @1"
msgstr "Precisa estar no nivel @1"
#: shop.lua
msgid "Inventario lotado"
msgstr "Inventario lotado"
@ -258,10 +270,8 @@ msgstr "Inventario lotado"
msgid "Adiquirido"
msgstr "Adiquirido"
#: shop.lua
msgid "Pedras"
msgstr "Pedras"
#~ msgid "Pedras"
#~ msgstr "Pedras"
#: shop.lua
msgid "Pedregulho"
msgstr "Pedregulho"
#~ msgid "Pedregulho"
#~ msgstr "Pedregulho"

View File

@ -7,16 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-16 23:14-0300\n"
"PO-Revision-Date: 2018-07-16 23:16-0300\n"
"POT-Creation-Date: 2018-07-17 10:28-0300\n"
"PO-Revision-Date: 2018-07-17 10:28-0300\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.6\n"
"Last-Translator: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: pt\n"
#: hud.lua
msgid "XP"
@ -126,6 +126,26 @@ msgstr "Ferro V"
msgid "Ferro VI"
msgstr "Ferro VI"
#: ligas.lua
msgid "Bronze II"
msgstr "Bronze II"
#: ligas.lua
msgid "Bronze III"
msgstr "Bronze III"
#: ligas.lua
msgid "Bronze IV"
msgstr "Bronze IV"
#: ligas.lua
msgid "Bronze V"
msgstr "Bronze V"
#: ligas.lua
msgid "Bronze VI"
msgstr "Bronze VI"
#: ligas.lua
msgid "Mese I"
msgstr "Mese I"

View File

@ -8,13 +8,13 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-17 10:28-0300\n"
"POT-Creation-Date: 2019-01-11 18:04-0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hud.lua
@ -25,11 +25,11 @@ msgstr ""
msgid "+@1XP"
msgstr ""
#: hud.lua sfinv.lua
#: hud.lua sfinv.lua unified_inventory.lua
msgid "Liga @1"
msgstr ""
#: hud.lua sfinv.lua
#: hud.lua sfinv.lua unified_inventory.lua
msgid "Nivel @1"
msgstr ""
@ -193,6 +193,10 @@ msgstr ""
msgid "Diamante VI"
msgstr ""
#: ranking.lua shop.lua
msgid "Voltar"
msgstr ""
#: ranking.lua
msgid "Pontos"
msgstr ""
@ -201,27 +205,27 @@ msgstr ""
msgid "Jogador"
msgstr ""
#: sfinv.lua
#: sfinv.lua unified_inventory.lua
msgid "Nivel"
msgstr ""
#: sfinv.lua
#: sfinv.lua unified_inventory.lua
msgid "Pontos: @1"
msgstr ""
#: sfinv.lua shop.lua
#: sfinv.lua shop.lua unified_inventory.lua
msgid "Cash XP: @1"
msgstr ""
#: sfinv.lua
#: sfinv.lua unified_inventory.lua
msgid "Loja de Premios"
msgstr ""
#: sfinv.lua
#: sfinv.lua unified_inventory.lua
msgid "Ranking Global"
msgstr ""
#: sfinv.lua
#: sfinv.lua unified_inventory.lua
msgid "Progresso"
msgstr ""
@ -237,6 +241,10 @@ msgstr ""
msgid "Custo: @1 CashXP"
msgstr ""
#: shop.lua
msgid "Nivel mínimo: @1"
msgstr ""
#: shop.lua
msgid "Unidades: @1"
msgstr ""
@ -249,6 +257,10 @@ msgstr ""
msgid "Cash XP insuficiente"
msgstr ""
#: shop.lua
msgid "Precisa estar no nivel @1"
msgstr ""
#: shop.lua
msgid "Inventario lotado"
msgstr ""
@ -256,11 +268,3 @@ msgstr ""
#: shop.lua
msgid "Adiquirido"
msgstr ""
#: shop.lua
msgid "Pedras"
msgstr ""
#: shop.lua
msgid "Pedregulho"
msgstr ""

View File

@ -4,60 +4,61 @@ Steel IV=Steel IV
Mese I=Mese I
Stone III=Stone III
Units: @1=Units: @1
Must be at level @1=Must be at level @1
Global Ranking=Global Ranking
Steel V=Steel V
Awards Store=Awards Store
Score: @1=Score: @1
+@1XP=+@1XP
Novice III=Novice III
Mese V=Mese V
Full inventory=Full inventory
Diamond VI=Diamond VI
Stone V=Stone V
-@1XP=-@1XP
Cost: @1 XPCash=Cost: @1 XPCash
Stone I=Stone I
Novice I=Novice I
Diamond II=Diamond II
Player=Player
Mese VI=Mese VI
Stone II=Stone II
Bronze VI=Bronze VI
Diamond IV=Diamond IV
Player=Player
Bronze IV=Bronze IV
Stones=Stones
Awards Store=Awards Store
Wood VI=Wood VI
Mese II=Mese II
Bronze V=Bronze V
Stone VI=Stone VI
Bronze III=Bronze III
Bronze IV=Bronze IV
Steel III=Steel III
Buy=Buy
Choose an item=Choose an item
Wood VI=Wood VI
Minimum level: @1=Minimum level: @1
Bronze III=Bronze III
Mese III=Mese III
Score=Score
Cobble=Cobble
Progress=Progress
Wood VII=Wood VII
Diamond V=Diamond V
Level @1=Level @1
XP Cash: @1=XP Cash: @1
XP=XP
Diamond V=Diamond V
Insufficient XPCash=Insufficient XPCash
Wood III=Wood III
Diamond I=Diamond I
Steel I=Steel I
Level=Level
Mese II=Mese II
Diamond II=Diamond II
Stone IV=Stone IV
Level @1=Level @1
XP=XP
Acquired=Acquired
Bronze II=Bronze II
Return=Return
Diamond III=Diamond III
Novice II=Novice II
Score: @1=Score: @1
Wood II=Wood II
Steel VI=Steel VI
Mese III=Mese III
Choose an item=Choose an item
League @1=League @1
Mese IV=Mese IV
Steel II=Steel II
Wood V=Wood V
Wood IV=Wood IV
Wood I=Wood I
Cost: @1 XPCash=Cost: @1 XPCash
-@1XP=-@1XP

View File

@ -4,60 +4,61 @@ Steel IV=Steel IV
Mese I=Mese I
Stone III=Stone III
Units: @1=Units: @1
Must be at level @1=Must be at level @1
Global Ranking=Global Ranking
Steel V=Steel V
Awards Store=Awards Store
Score: @1=Score: @1
+@1XP=+@1XP
Novice III=Novice III
Mese V=Mese V
Full inventory=Full inventory
Diamond VI=Diamond VI
Stone V=Stone V
-@1XP=-@1XP
Cost: @1 XPCash=Cost: @1 XPCash
Stone I=Stone I
Novice I=Novice I
Diamond II=Diamond II
Player=Player
Mese VI=Mese VI
Stone II=Stone II
Bronze VI=Bronze VI
Diamond IV=Diamond IV
Player=Player
Bronze IV=Bronze IV
Stones=Stones
Awards Store=Awards Store
Wood VI=Wood VI
Mese II=Mese II
Bronze V=Bronze V
Stone VI=Stone VI
Bronze III=Bronze III
Bronze IV=Bronze IV
Steel III=Steel III
Buy=Buy
Choose an item=Choose an item
Wood VI=Wood VI
Minimum level: @1=Minimum level: @1
Bronze III=Bronze III
Mese III=Mese III
Score=Score
Cobble=Cobble
Progress=Progress
Wood VII=Wood VII
Diamond V=Diamond V
Level @1=Level @1
XP Cash: @1=XP Cash: @1
XP=XP
Diamond V=Diamond V
Insufficient XPCash=Insufficient XPCash
Wood III=Wood III
Diamond I=Diamond I
Steel I=Steel I
Level=Level
Mese II=Mese II
Diamond II=Diamond II
Stone IV=Stone IV
Level @1=Level @1
XP=XP
Acquired=Acquired
Bronze II=Bronze II
Return=Return
Diamond III=Diamond III
Novice II=Novice II
Score: @1=Score: @1
Wood II=Wood II
Steel VI=Steel VI
Mese III=Mese III
Choose an item=Choose an item
League @1=League @1
Mese IV=Mese IV
Steel II=Steel II
Wood V=Wood V
Wood IV=Wood IV
Wood I=Wood I
Cost: @1 XPCash=Cost: @1 XPCash
-@1XP=-@1XP

View File

@ -4,60 +4,61 @@ Steel IV=Ferro IV
Mese I=Mese I
Stone III=Pedra III
Units: @1=Unidades: @1
Must be at level @1=Precisa estar no nivel @1
Global Ranking=Ranking Global
Steel V=Ferro V
Awards Store=Loja de Premios
Score: @1=Pontos: @1
+@1XP=+@1XP
Novice III=Novato III
Mese V=Mese V
Full inventory=Inventario lotado
Diamond VI=Diamante VI
Stone V=Pedra V
-@1XP=-@1XP
Cost: @1 XPCash=Custo: @1 CashXP
Stone I=Pedra I
Novice I=Novato I
Diamond II=Diamante II
Player=Jogador
Mese VI=Mese VI
Stone II=Pedra II
Bronze VI=Bronze VI
Diamond IV=Diamante IV
Player=Jogador
Bronze IV=Bronze IV
Stones=Pedras
Awards Store=Loja de Premios
Wood VI=Madeira VI
Mese II=Mese II
Bronze V=Bronze V
Stone VI=Pedra VI
Bronze III=Bronze III
Bronze IV=Bronze IV
Steel III=Ferro III
Buy=Comprar
Choose an item=Escolha um Item
Wood VI=Madeira VI
Minimum level: @1=Nivel mínimo: @1
Bronze III=Bronze III
Mese III=Mese III
Score=Pontos
Cobble=Pedregulho
Progress=Progresso
Wood VII=Madeira VII
Diamond V=Diamante V
Level @1=Nivel @1
XP Cash: @1=Cash XP: @1
XP=XP
Diamond V=Diamante V
Insufficient XPCash=Cash XP insuficiente
Wood III=Madeira III
Diamond I=Diamante I
Steel I=Ferro I
Level=Nivel
Mese II=Mese II
Diamond II=Diamante II
Stone IV=Pedra IV
Level @1=Nivel @1
XP=XP
Acquired=Adiquirido
Bronze II=Bronze II
Return=Voltar
Diamond III=Diamante III
Novice II=Novato II
Score: @1=Pontos: @1
Wood II=Madeira II
Steel VI=Ferro VI
Mese III=Mese III
Choose an item=Escolha um Item
League @1=Liga @1
Mese IV=Mese IV
Steel II=Ferro II
Wood V=Madeira V
Wood IV=Madeira IV
Wood I=Madeira I
Cost: @1 XPCash=Custo: @1 CashXP
-@1XP=-@1XP

View File

@ -98,29 +98,29 @@ end
-- Premios basicos
for _,dados in ipairs({
{name=nil, item="default:mese_crystal", qtd=3, custo=180},
{name=nil, item="default:diamond", qtd=3, custo=250},
{name=nil, item="default:gold_ingot", qtd=5, custo=400},
{name=nil, item="default:steel_ingot", qtd=10, custo=250},
{name=nil, item="default:coal_lump", qtd=30, custo=100},
{name=nil, item="default:brick", qtd=30, custo=180},
{name=nil, item="default:clay", qtd=40, custo=180},
{name=nil, item="default:glass", qtd=50, custo=130},
{name=nil, item="default:stone", qtd=50, custo=150},
{name=nil, item="default:desert_stone", qtd=50, custo=150},
{name=nil, item="default:sand", qtd=50, custo=100},
{name=nil, item="default:desert_sand", qtd=50, custo=100},
{name=nil, item="default:silver_sand", qtd=50, custo=100},
{name=nil, item="default:sandstone", qtd=50, custo=150},
{name=nil, item="default:desert_sandstone", qtd=50, custo=150},
{name=nil, item="default:silver_sandstone", qtd=50, custo=150},
{name=nil, item="default:tree", qtd=50, custo=200},
{name=nil, item="default:jungletree", qtd=50, custo=200},
{name=nil, item="default:aspen_tree", qtd=50, custo=200},
{name=nil, item="default:acacia_tree", qtd=50, custo=200},
{name=nil, item="default:pine_tree", qtd=50, custo=200},
{name=nil, item="wool:white", qtd=35, custo=180},
{name=nil, item="default:obsidian", qtd=35, custo=180},
{name=nil, item="default:mese_crystal", qtd=3, custo=180, min_level=10},
{name=nil, item="default:diamond", qtd=3, custo=250, min_level=15},
{name=nil, item="default:gold_ingot", qtd=5, custo=400, min_level=8},
{name=nil, item="default:steel_ingot", qtd=10, custo=250, min_level=6},
{name=nil, item="default:coal_lump", qtd=30, custo=100, min_level=3},
{name=nil, item="default:brick", qtd=30, custo=180, min_level=7},
{name=nil, item="default:clay", qtd=40, custo=180, min_level=1},
{name=nil, item="default:glass", qtd=50, custo=130, min_level=1},
{name=nil, item="default:stone", qtd=50, custo=150, min_level=1},
{name=nil, item="default:desert_stone", qtd=50, custo=150, min_level=1},
{name=nil, item="default:sand", qtd=50, custo=100, min_level=1},
{name=nil, item="default:desert_sand", qtd=50, custo=100, min_level=1},
{name=nil, item="default:silver_sand", qtd=50, custo=100, min_level=1},
{name=nil, item="default:sandstone", qtd=50, custo=150, min_level=1},
{name=nil, item="default:desert_sandstone", qtd=50, custo=150, min_level=1},
{name=nil, item="default:silver_sandstone", qtd=50, custo=150, min_level=1},
{name=nil, item="default:tree", qtd=50, custo=200, min_level=1},
{name=nil, item="default:jungletree", qtd=50, custo=200, min_level=1},
{name=nil, item="default:aspen_tree", qtd=50, custo=200, min_level=1},
{name=nil, item="default:acacia_tree", qtd=50, custo=200, min_level=1},
{name=nil, item="default:pine_tree", qtd=50, custo=200, min_level=1},
{name=nil, item="wool:white", qtd=35, custo=180, min_level=5},
{name=nil, item="default:obsidian", qtd=35, custo=180, min_level=8},
}) do
-- Registrar apenas premios existentes
if minetest.registered_items[dados.item]
@ -135,6 +135,7 @@ for _,dados in ipairs({
item=dados.item,
qtd=dados.qtd,
custo=dados.custo,
min_level=dados.min_level,
})
end
end

View File

@ -120,6 +120,7 @@ local update_formspec = function()
xpro.ranking_formspec = "size[7,7]"
..default.gui_bg
..default.gui_bg_img
.."button[5,-0.2;2,1;back;"..S("Voltar").."]"
.."label[0.6,0.4;"..S("Pontos").."]"
.."label[2.4,0.4;"..S("Jogador").."]"
@ -142,6 +143,14 @@ local update_formspec = function()
end
update_formspec()
minetest.register_on_player_receive_fields(function(player, formname, fields)
if formname == "xpro:ranking" then
if fields.back then
xpro.show_inventory_formspec(player)
end
end
end)
xpro.register_on_add_xp(function(name, xp_added)
--if xpro.ranking
xpro.update_rank(name)

View File

@ -1,4 +1,15 @@
# Configurações aplicaveis para o menu gráfico
# Settings applicable from Minetest GUI
# Inventário usado para acessar o painel de niveis
# Inventory used to access the level panel
#
# Diponiveis|Available:
#
# * sfinv
# - Depends: sfinv
#
# * unified_inventory
# - Depends: unified_inventory
xpro_inventory (Inventario | Inventory) enum sfinv sfinv,unified_inventory

View File

@ -71,8 +71,15 @@ xpro.register_on_rem_xp(function(name, xp_removed)
sfinv.set_player_inventory_formspec(minetest.get_player_by_name(name))
end)
-- Atualizar inventário
xpro.update_inventory_formspec = function(player)
sfinv.set_player_inventory_formspec(player)
end
-- Abrir inventario na aba de niveis
xpro.show_inventory_formspec = function(player)
minetest.show_formspec(player:get_player_name(), player:get_inventory_formspec(), "")
end

View File

@ -55,15 +55,16 @@ xpro.acessar_shop = function(name, aviso)
local xp_disp = my_xp-xp_gasto
if xp_disp < 0 then xp_disp = 0 end
local formspec = "size[8,5]"
local formspec = "size[8,6]"
..default.gui_bg
..default.gui_bg_img
.."button[6,0;2,1;back;"..S("Voltar").."]"
.."label[0,0;"..S("Loja de Itens por XP").."]"
.."label[0,0.5;"..S("Cash XP: @1", xp_disp).."]"
.."textlist[3.2,0;4.5,5;menu;"..string_menu_shop.."]"
.."textlist[3.2,1;4.5,5;menu;"..string_menu_shop.."]"
if aviso then
formspec = formspec .. "textarea[0.26,1;3.2,1.2;;"..aviso..";]"
formspec = formspec .. "textarea[0.26,1;3.2,1.7;;"..aviso..";]"
end
-- Nenhum item escolhido
@ -73,9 +74,10 @@ xpro.acessar_shop = function(name, aviso)
-- Exibir item escolhido
else
local escolha = xpro.premios[acesso.escolha]
formspec = formspec .. "label[0,2;"..S("Custo: @1 CashXP", escolha.custo).."]"
.."label[0,2.5;"..S("Unidades: @1", escolha.qtd).."]"
.."item_image_button[0,3;2.1,2.1;"..escolha.item..";comprar;"..S("Comprar").."]"
formspec = formspec .. "label[0,2.5;"..S("Custo: @1 CashXP", escolha.custo).."]"
.."label[0,3;"..S("Nivel mínimo: @1", escolha.min_level).."]"
.."label[0,3.5;"..S("Unidades: @1", escolha.qtd).."]"
.."item_image_button[0,4;2.1,2.1;"..escolha.item..";comprar;"..S("Comprar").."]"
end
minetest.show_formspec(name, "xpro:shop", formspec)
@ -105,18 +107,25 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
-- Tenta trocar
if xp_disp < escolha.custo then
xpro.acessar_shop(name, S("Cash XP insuficiente"))
elseif xpro.get_player_lvl(name) < escolha.min_level then
xpro.acessar_shop(name, S("Precisa estar no nivel @1", escolha.min_level))
else
if xpro.tror.trocar_plus(player, nil, {escolha.item.." "..escolha.qtd}) == false then
xpro.acessar_shop(name, S("Inventario lotado"))
else
player:set_attribute("xpro_xp_gasto", (xp_gasto+escolha.custo))
xpro.acessar_shop(name, minetest.colorize("#0C0", S("Adiquirido")))
-- Limpa o inventario para exibir novo cash disponivel
if sfinv then
sfinv.set_player_inventory_formspec(minetest.get_player_by_name(name))
end
-- Atualiza formspec do inventario com novo XP Cash disponivel
xpro.update_inventory_formspec(minetest.get_player_by_name(name))
end
end
-- Retornar ao inventario
-- Return to inventory
elseif fields.back then
xpro.show_inventory_formspec(player)
end
end
end)
@ -124,14 +133,34 @@ end)
-- Registrar premios
xpro.registrar_premio = function(name, def)
table.insert(xpro.premios,
{
name=name,
item=def.item,
qtd=def.qtd,
custo=def.custo,
}
)
-- Verifica em que parte da tabela inserir para manter ordem dos niveis
local insert = false
for n,p in ipairs(xpro.premios) do
if (def.min_level or 1) <= p.min_level then
table.insert(xpro.premios, n,
{
name=name,
item=def.item,
qtd=def.qtd,
custo=def.custo,
min_level=def.min_level or 1,
}
)
insert = true
break
end
end
if insert == false then
table.insert(xpro.premios,
{
name=name,
item=def.item,
qtd=def.qtd,
custo=def.custo,
min_level=def.min_level or 1,
}
)
end
-- Atualiza lista de exibição
atualizar_string_menu_shop()
end

101
unified_inventory.lua Normal file
View File

@ -0,0 +1,101 @@
--[[
Mod Xpro para Minetest
Copyright (C) 2018 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/>.
Inventario unified_inventory
]]
if unified_inventory == nil then return end
-- Traduções
local S = xpro.S
unified_inventory.register_page("xpro:info", {
get_formspec = function(player)
local name = player:get_player_name()
local my_xp = xpro.get_player_xp(name)
local my_lvl = xpro.get_player_lvl(name)
local xp_gasto = player:get_attribute("xpro_xp_gasto")
local xp_disp = my_xp-xp_gasto
if xp_disp < 0 then xp_disp = 0 end
-- Calcula progresso da barra
local progresso = 1
if xpro.niveis[my_lvl+1] ~= nil then
local xp = xpro.niveis[my_lvl] - my_xp
local xp_t = xpro.niveis[my_lvl] - xpro.niveis[my_lvl+1]
progresso = xp/xp_t
end
local formspec = "label[0,0;"..S("Nivel @1", my_lvl).."]"
.."label[0,0.5;"..S("Pontos: @1", my_xp).."]"
.."label[0,1;"..S("Cash XP: @1", xp_disp).."]"
.."button[0,1.5;3,1;xpro:shop;"..S("Loja de Premios").."]"
.."button[0,2.5;3,1;xpro:ranking;"..S("Ranking Global").."]"
-- Liga
.."image[3.8,0.34;4,4;xpro_liga_bg.png]"
.."label[3,0;"..S("Liga @1", xpro.ligas[my_lvl].name).."]"
.."image[4.17,0.7;3.2,3.2;"..xpro.ligas[my_lvl].img.."]"
-- Barra de progresso
.."label[0,3.3;"..S("Progresso").."]"
.."image[0,3.7;9.65,0.8;xpro_xp_bar_grade.png^[transformR90^[lowpart:"..math.ceil(progresso*100)..":xpro_xp_bar.png^[transformR270]"
.."image[0,3.7;9.65,0.8;xpro_xp_bar_grade.png]"
return {formspec=formspec}
end,
})
-- Receber chamadas
minetest.register_on_player_receive_fields(function(player, formname, fields)
if fields["xpro:ranking"] then
minetest.show_formspec(player:get_player_name(), "xpro:ranking", xpro.ranking_formspec)
elseif fields["xpro:shop"] then
xpro.acessar_shop(player:get_player_name())
end
end)
unified_inventory.register_button("xpro:info", {
type = "image",
image = "xpro_hudbars_icon_xp.png",
tooltip = S("Nivel"),
hide_lite=true
})
-- Atualização do painel ao adicionar ou remover pontos
xpro.register_on_add_xp(function(name, xp_added)
if unified_inventory.current_page[name] == "xpro:info" then
unified_inventory.set_inventory_formspec(minetest.get_player_by_name(name), "xpro:info")
end
end)
xpro.register_on_rem_xp(function(name, xp_removed)
if unified_inventory.current_page[name] == "xpro:info" then
unified_inventory.set_inventory_formspec(minetest.get_player_by_name(name), "xpro:info")
end
end)
-- Atualizar inventario
xpro.update_inventory_formspec = function(player)
unified_inventory.set_inventory_formspec(player, "xpro:info")
end
-- Abrir inventario na aba de niveis
xpro.show_inventory_formspec = function(player)
minetest.show_formspec(player:get_player_name(), "", player:get_inventory_formspec())
end