diff --git a/README-pt_BR.md b/README-pt_BR.md new file mode 100644 index 0000000..467aaa4 --- /dev/null +++ b/README-pt_BR.md @@ -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 (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 (CC BY-SA 3.0) + diff --git a/README.md b/README.md index 9a02b64..8145a06 100644 --- a/README.md +++ b/README.md @@ -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 (LGPL 3.0) +### Authors of the source code +Originally by BrunoMine, Bruno Borges (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 (CC BY-SA 3.0) diff --git a/depends.txt b/depends.txt index 1e29fa8..c16b534 100644 --- a/depends.txt +++ b/depends.txt @@ -6,3 +6,4 @@ beds? farming? wool? carts? +unified_inventory? diff --git a/init.lua b/init.lua index fbcd886..1919f83 100644 --- a/init.lua +++ b/init.lua @@ -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") diff --git a/inventory.lua b/inventory.lua new file mode 100644 index 0000000..2aaeb7c --- /dev/null +++ b/inventory.lua @@ -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 . + + 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 + + + + + + + + + + + + diff --git a/locale/Arquivos para traduzir.txt b/locale/Arquivos para traduzir.txt index 45308a2..73ff81f 100644 --- a/locale/Arquivos para traduzir.txt +++ b/locale/Arquivos para traduzir.txt @@ -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 diff --git a/locale/en.mo b/locale/en.mo index 302534a..481fb0a 100644 Binary files a/locale/en.mo and b/locale/en.mo differ diff --git a/locale/en.po b/locale/en.po index 686fe10..29bdea3 100644 --- a/locale/en.po +++ b/locale/en.po @@ -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" diff --git a/locale/en.po~ b/locale/en.po~ index 184e72f..686fe10 100644 --- a/locale/en.po~ +++ b/locale/en.po~ @@ -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" diff --git a/locale/pt.mo b/locale/pt.mo index 1094596..d9fbf2b 100644 Binary files a/locale/pt.mo and b/locale/pt.mo differ diff --git a/locale/pt.po b/locale/pt.po index 9614974..3a64f01 100644 --- a/locale/pt.po +++ b/locale/pt.po @@ -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" diff --git a/locale/pt.po~ b/locale/pt.po~ index 61616c6..9614974 100644 --- a/locale/pt.po~ +++ b/locale/pt.po~ @@ -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" diff --git a/locale/template.pot b/locale/template.pot index edffd15..08f4cf6 100644 --- a/locale/template.pot +++ b/locale/template.pot @@ -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 \n" "Language-Team: LANGUAGE \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 "" diff --git a/locale/xpro..tr b/locale/xpro..tr index 075a9ad..c78d06a 100644 --- a/locale/xpro..tr +++ b/locale/xpro..tr @@ -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 diff --git a/locale/xpro.en.tr b/locale/xpro.en.tr index 075a9ad..c78d06a 100644 --- a/locale/xpro.en.tr +++ b/locale/xpro.en.tr @@ -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 diff --git a/locale/xpro.pt.tr b/locale/xpro.pt.tr index 712a0ae..7b74a1e 100644 --- a/locale/xpro.pt.tr +++ b/locale/xpro.pt.tr @@ -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 diff --git a/mods_suportados/minetest_game.lua b/mods_suportados/minetest_game.lua index 2d2641b..c37bd7c 100644 --- a/mods_suportados/minetest_game.lua +++ b/mods_suportados/minetest_game.lua @@ -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 diff --git a/ranking.lua b/ranking.lua index 0fce0d9..34ff445 100644 --- a/ranking.lua +++ b/ranking.lua @@ -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) diff --git a/settingtypes.txt b/settingtypes.txt index 432f29c..87da5c9 100644 --- a/settingtypes.txt +++ b/settingtypes.txt @@ -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 diff --git a/sfinv.lua b/sfinv.lua index a093e90..5c2082e 100644 --- a/sfinv.lua +++ b/sfinv.lua @@ -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 diff --git a/shop.lua b/shop.lua index c0288d7..e8d140c 100644 --- a/shop.lua +++ b/shop.lua @@ -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 diff --git a/unified_inventory.lua b/unified_inventory.lua new file mode 100644 index 0000000..4e2df67 --- /dev/null +++ b/unified_inventory.lua @@ -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 . + + 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 + + + + + + + + + +