Fix a nil digger bug in xpro

master
Solebull 2019-01-15 17:40:57 +01:00
parent 5524289292
commit 11acfb548f
2 changed files with 19 additions and 9 deletions

View File

@ -259,6 +259,12 @@ It's really fast. May be used on a website, to show the actual map.
**** Try mumble-link
- see https://github.com/chipgw/minetest-mumble-wrapper
**** Some crashes
- [ ] 2019-01-15 17:35:29: ERROR[Main]: ServerError: AsyncErr: ServerThread::run Lua: Runtime error from mod '*builtin*' in callback luaentity_Step(): ...netest/games/minetest-pvp/mods/xpro/metodos/dig_node.lua:21: attempt to index local 'digger' (a nil value)
2019-01-15 17:35:29: ERROR[Main]: stack traceback:
2019-01-15 17:35:29: ERROR[Main]: ...netest/games/minetest-pvp/mods/xpro/metodos/dig_node.lua:21: in function 'callback'
2019-01-15 17:35:29: ERROR[Main]: /usr/local/share/minetest/builtin/game/falling.lua:103: in function </usr/local/share/minetest/builtin/game/falling.lua:53>
**** DONE Another server fails
*These ones are important : the game is broken*
- [X] Another villagers spawn-related

View File

@ -14,15 +14,19 @@ xpro.dig_node_xp_list = {}
-- Chamada global
minetest.register_on_dignode(function(pos, oldnode, digger)
-- Verifica se node gera XP
if xpro.dig_node_xp_list[oldnode.name] then
if xpro.dig_node_xp_list[oldnode.name] > 0 then
xpro.add_xp(digger:get_player_name(), xpro.dig_node_xp_list[oldnode.name])
else
xpro.rem_xp(digger:get_player_name(), math.abs(xpro.dig_node_xp_list[oldnode.name]))
end
end
if digger == nil then
return
end
-- Verifica se node gera XP
if xpro.dig_node_xp_list[oldnode.name] then
if xpro.dig_node_xp_list[oldnode.name] > 0 then
xpro.add_xp(digger:get_player_name(), xpro.dig_node_xp_list[oldnode.name])
else
xpro.rem_xp(digger:get_player_name(), math.abs(xpro.dig_node_xp_list[oldnode.name]))
end
end
end)
-- Registrar item para o evento