The problem was in /overworld/overworlds.script
. I’m still not sure what exactly caused the error, but just cleaning up the script seems to have fixed it.
Original
function init(self)
local rendercam = require "rendercam.rendercam"
end
local curarea = "notexist"
local newcurarea = ""
function on_message(self, message_id, message, sender)
if message_id == hash("load_area") then
msg.post("#"..curarea, "disable")
msg.post("#"..curarea, "unload")
msg.post("#"..message.new_area, "load")
msg.post("#"..message.new_area, "enable")
curarea = message.new_area
area = message.new_area
print(curarea)
end
if message_id == hash("load_area2") then
msg.post("#"..curarea, "disable")
msg.post("#"..curarea, "unload")
msg.post("#"..message.new_area, "load")
msg.post("#"..message.new_area, "init")
curarea = message.new_area
area = message.new_area
print(curarea)
end
end
Fixed
local rendercam = require "rendercam.rendercam"
-- This sets curarea to nil
local curarea
local newcurarea = ""
function on_message(self, message_id, message, sender)
if message_id == hash("load_area") or message_id == hash("load_area2") then
-- 'if curarea then' is the same as 'if curarea ~= nil then'
if curarea then
msg.post("#"..curarea, "disable")
msg.post("#"..curarea, "final")
msg.post("#"..curarea, "unload")
end
msg.post("#"..message.new_area, "load")
print("Loading area '" .. message.new_area .. "'")
curarea = message.new_area
elseif message_id == hash("proxy_loaded") then
msg.post(sender, "enable")
end
end
P.S. You should take the time to go through your project and do some cleanup while it’s still relatively small. It really does make everything so much easier down the line.