AsyncErr: ServerThread::run Lua: Runtime error from mod 'deathrun' in callback on_respawnplayer(): /home/debiankaios/.minetest/mods/deathrun/auto.lua:8: attempt to call method 'set_pos' (a nil value)
stack traceback:
/home/debiankaios/.minetest/mods/deathrun/auto.lua:8: in function </home/debiankaios/.minetest/mods/deathrun/auto.lua:5>
/usr/share/games/minetest/builtin/game/register.lua:429: in function </usr/share/games/minetest/builtin/game/register.lua:413>
minetest.register_on_respawnplayer(function(player, pos)
if not arena_lib.is_player_in_arena(player:get_player_name(), "deathrun") then return end
local object = player:get_player_name()
object:set_pos(checkpoint)
end)
minetest.register_on_respawnplayer(function(player, pos)
if not arena_lib.is_player_in_arena(player:get_player_name(), "deathrun") then return end
local object = player:get_player_name()
object:set_pos(checkpoint)
end)
This line stores the player name into the object variable. Player names are text - strings - and so don't have a set_pos method. Player names are also not ObjectRefs.
You need to call set_pos() on the ObjectRef, not on the player name. You already have an ObjectRef available - player.
minetest.register_on_respawnplayer(function(player, pos)
if not arena_lib.is_player_in_arena(player:get_player_name(), "deathrun") then return end
player:set_pos(checkpoint)
end)
minetest.register_on_respawnplayer(function(player, pos)
if not arena_lib.is_player_in_arena(player:get_player_name(), "deathrun") then return end
local object = player:get_player_name()
object:set_pos(checkpoint)
end)
This line stores the player name into the object variable. Player names are text - strings - and so don't have a set_pos method. Player names are also not ObjectRefs.
You need to call set_pos() on the ObjectRef, not on the player name. You already have an ObjectRef available - player.
minetest.register_on_respawnplayer(function(player, pos)
if not arena_lib.is_player_in_arena(player:get_player_name(), "deathrun") then return end
player:set_pos(checkpoint)
end)
minetest.register_on_respawnplayer(function(player, pos)
if not arena_lib.is_player_in_arena(player:get_player_name(), "deathrun") then return end
local object = player:get_player_name()
object:set_pos(checkpoint)
end)
This line stores the player name into the object variable. Player names are text - strings - and so don't have a set_pos method. Player names are also not ObjectRefs.
You need to call set_pos() on the ObjectRef, not on the player name. You already have an ObjectRef available - player.
minetest.register_on_respawnplayer(function(player, pos)
if not arena_lib.is_player_in_arena(player:get_player_name(), "deathrun") then return end
player:set_pos(checkpoint)
end)
AsyncErr: ServerThread::run Lua: Runtime error from mod 'deathrun' in callback on_respawnplayer(): Invalid position coordinate 'x' (expected number got nil).
stack traceback:
[C]: in function 'set_pos'