Crash when mining iron ore #36

Closed
opened 2016-07-05 20:49:52 -07:00 by BadToad2000 · 0 comments
BadToad2000 commented 2016-07-05 20:49:52 -07:00 (Migrated from github.com)

Server crashes with following error when digging iron (and I presume other ores):

> 2016-07-05 03:35:48: ACTION[Server]: Jameson digs default:stone_with_iron at (-600,-19,151)
> 2016-07-05 03:35:48: WARNING[Server]: Undeclared global variable "name" accessed at .../adventuretest/mods/adventuretest/register_functions.lua:66
> 2016-07-05 03:35:49: ACTION[Main]: Saving player data...
> 2016-07-05 03:35:49: ACTION[Main]: Writing vendor log queue to file 
> 2016-07-05 03:35:49: ACTION[Main]: Saving player affects
> 2016-07-05 03:35:49: ERROR[Main]: ServerError: Lua: Runtime error from mod 'builtin_item' in callback node_on_dig(): ...meson/.minetest/games/adventuretest/mods/skills/init.lua:63: attempt to index local 'l' (a nil value)
> 2016-07-05 03:35:49: ERROR[Main]: stack traceback:
> 2016-07-05 03:35:49: ERROR[Main]:       ...meson/.minetest/games/adventuretest/mods/skills/init.lua:63: in function 'add_exp'
> 2016-07-05 03:35:49: ERROR[Main]:       .../adventuretest/mods/adventuretest/register_functions.lua:66: in function 'callback'
> 2016-07-05 03:35:49: ERROR[Main]:       /usr/local/share/minetest/builtin/game/item.lua:513: in function </usr/local/share/minetest/builtin/game/item.lua:441>

Really trivial fix in mods/adventuretest/register_functions.lua. Move the "EXPERIENCE code" (lines 62-69), into the "if digger" check, where "name" is defined. It should read:


  if digger ~= nil and digger ~= "" then
    local name= digger:get_player_name()

    -- EXPERIENCE
    if minetest.registered_nodes[node.name] ~= nil then
      if minetest.registered_nodes[node.name]["skill"] ~= nil then
         default.drop_item(pos,"experience:1_exp")
         skills.add_exp(name,5)
      end
    end

    -- ENERGY

Server crashes with following error when digging iron (and I presume other ores): ``` > 2016-07-05 03:35:48: ACTION[Server]: Jameson digs default:stone_with_iron at (-600,-19,151) > 2016-07-05 03:35:48: WARNING[Server]: Undeclared global variable "name" accessed at .../adventuretest/mods/adventuretest/register_functions.lua:66 > 2016-07-05 03:35:49: ACTION[Main]: Saving player data... > 2016-07-05 03:35:49: ACTION[Main]: Writing vendor log queue to file > 2016-07-05 03:35:49: ACTION[Main]: Saving player affects > 2016-07-05 03:35:49: ERROR[Main]: ServerError: Lua: Runtime error from mod 'builtin_item' in callback node_on_dig(): ...meson/.minetest/games/adventuretest/mods/skills/init.lua:63: attempt to index local 'l' (a nil value) > 2016-07-05 03:35:49: ERROR[Main]: stack traceback: > 2016-07-05 03:35:49: ERROR[Main]: ...meson/.minetest/games/adventuretest/mods/skills/init.lua:63: in function 'add_exp' > 2016-07-05 03:35:49: ERROR[Main]: .../adventuretest/mods/adventuretest/register_functions.lua:66: in function 'callback' > 2016-07-05 03:35:49: ERROR[Main]: /usr/local/share/minetest/builtin/game/item.lua:513: in function </usr/local/share/minetest/builtin/game/item.lua:441> ``` Really trivial fix in mods/adventuretest/register_functions.lua. Move the "EXPERIENCE code" (lines 62-69), into the "if digger" check, where "name" is defined. It should read: ``` if digger ~= nil and digger ~= "" then local name= digger:get_player_name() -- EXPERIENCE if minetest.registered_nodes[node.name] ~= nil then if minetest.registered_nodes[node.name]["skill"] ~= nil then default.drop_item(pos,"experience:1_exp") skills.add_exp(name,5) end end -- ENERGY ```
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: minenux/minetest-game-adventuretest#36
There is no content yet.