From 516297af425e0386c593226a9e9097c33b06a4fd Mon Sep 17 00:00:00 2001 From: Solebull Date: Sun, 30 Dec 2018 20:52:41 +0100 Subject: [PATCH] show_level mod works --- ROADMAP | 14 ++++++++------ TODO | 1 + mods/show_level/init.lua | 14 +++++++------- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/ROADMAP b/ROADMAP index 1631719..fd71222 100644 --- a/ROADMAP +++ b/ROADMAP @@ -226,15 +226,17 @@ It's really fast. May be used on a website, to show the actual map. - see https://github.com/chipgw/minetest-mumble-wrapper *** v0.0.2 **** [feature_showLevel] Our own mod - CLOCK: [2018-12-30 dim. 19:23] + CLOCK: [2018-12-30 dim. 19:23]--[2018-12-30 dim. 20:51] => 1:28 CLOCK: [2018-12-30 dim. 18:06]--[2018-12-30 dim. 18:40] => 0:34 *xpro doesn't show total level ? Maybe write a show_level mod ?* - [X] First create our own mod/nint.lua with depends description etc... -- [ ] Must get xpro mod and register two handler - - [ ] one for add XP - - [ ] One for remove -- [ ] Find a way to permanently print the player's level -- [ ] Maybe using HUD monitor mod : https://forum.minetest.net/viewtopic.php?f=9&t=13795&p=202584 +- [X] Must get xpro mod and register two handler + - [X] one for add XP + - [X] One for remove +- [X] Find a way to permanently print the player's level +- [X] Multiplayer test +- [X] Now remove all errors +- [ ] No XP when digging zinc and lead **** DONE Try an XP+levels mod CLOCK: [2018-12-29 sam. 15:55]--[2018-12-29 sam. 16:17] => 0:22 *level 2 : not showing it! but a cool annoucement with novice etc...* diff --git a/TODO b/TODO index 94ddfae..58c3701 100644 --- a/TODO +++ b/TODO @@ -11,5 +11,6 @@ minetest-solebull - LGPL-2.1 - A PVP/faction game for minetest based on Cobalt. * v0.0.1-4 (29 Dec. 2018 - ???) CLOC ???,??? +- show_level mod works - Printed show_level first text - Trying an XP/level mod diff --git a/mods/show_level/init.lua b/mods/show_level/init.lua index 31e80b3..8eba7dc 100644 --- a/mods/show_level/init.lua +++ b/mods/show_level/init.lua @@ -8,20 +8,18 @@ local update_level = function(playername) if elemid == nil then -- Create HUD element - minetest.log("error", "[show_level] Creating level HUD for "..playername) elemid = player:hud_add({ hud_elem_type = "text", - position = {x = 0.5, y = 1}, + position = {x = 0.5, y = 1}, -- from the screen bottom offset = {x = 0, y = -160}, text = level, - alignment = {x = 0, y = 0}, -- center aligned - scale = {x = 100, y = 30}, -- covered later + alignment = {x = 0, y = 0}, -- center aligned + scale = {x = 100, y = 30}, -- one line of text number = 0x00FF00, }) else -- Update - minetest.log("error", "[show_level] Updating level for "..playername) - player:hud_change(elementid, "text", level) + player:hud_change(elemid, "text", level) end end @@ -31,10 +29,12 @@ minetest.register_on_joinplayer(function(player) update_level(name) end) +-- Update when adding XPs xpro.register_on_add_xp(function(name, xp_added, lvl_changed) update_level(name) end) -xpro.register_on_rem_xp(function(name, xp_added, lvl_changed) +-- Update when removing XPs +xpro.register_on_rem_xp(function(name, xp_removed, lvl_changed) update_level(name) end)