- Code: Select all
minetest.register_on_dieplayer(function(player)
IList = player:get_inventory():get_list(player:get_wield_list())
for num, item in pairs(IList) do
item:clear() -- this line crashes
end
end)
However, it crashes abrubtly. Error log:
- Code: Select all
18:57:54: INFO[ServerThread]: Server::DiePlayer(): Player singleplayer dies
18:57:54: ERROR[ServerThread]: ERROR: An unhandled exception occurred: LuaError: error: .../c55/bin/../games/minequest/mods/give_stuff/init.lua:13: attempt to call method 'clear' (a nil value)
18:57:54: ERROR[ServerThread]: stack traceback:
In thread b45ffb70:
/home/wokste/projects/minetest/c55/src/server.cpp:118: virtual void* ServerThread::Thread(): Assertion '0' failed.
Debug stacks:
DEBUG STACK FOR THREAD b1376b70:
#0 virtual void* MeshUpdateThread::Thread()
DEBUG STACK FOR THREAD b27fab70:
#0 virtual void* EmergeThread::Thread()
#1 MapBlock* ServerMap::loadBlock(v3s16)
#2 void ServerMap::loadBlock(std::string*, v3s16, MapSector*, bool)
DEBUG STACK FOR THREAD b45ffb70:
#0 virtual void* ServerThread::Thread()
(Leftover data: #1 void Server::Receive())
(Leftover data: #2 void Server::ProcessData(irr::u8*, irr::u32, irr::u16))
(Leftover data: #3 void ItemStack::serialize(std::ostream&) const)
(Leftover data: #4 void BlockEmergeQueue::addBlock(irr::u16, v3s16, irr::u8))
DEBUG STACK FOR THREAD b5b26720:
#0 int main(int, char**)
(Leftover data: #1 void ClientMap::renderMap(irr::video::IVideoDriver*, irr::s32))
(Leftover data: #2 void Client::sendDamage(irr::u8))
(Leftover data: #3 void Client::Receive())
(Leftover data: #4 void Client::ProcessData(irr::u8*, irr::u32, irr::u16))
(Leftover data: #5 void MeshUpdateQueue::addBlock(v3s16, MeshMakeData*, bool, bool))
How can I fix my script?
