Added saveQuestProgress function and minor fix

saveQuestProgress serializes the tables quests and currentObjectives to
store into files.
Also, I freed up some memory by setting sourceData table to nil after
all initial looping since it isn't needed any further.
master
Austin Shenk 2013-02-05 12:02:52 -05:00
parent 85f3d05cef
commit 5a0fb7e78e
1 changed files with 9 additions and 0 deletions

View File

@ -65,6 +65,7 @@ minetest.register_on_joinplayer(function(obj)
adventures.storeQuestData(data)
end
end
adventures.sourceData = nil
local file = io.open(minetest.get_worldpath().."/adventures_previousmode", "w")
file:write(adventures.normal)
file:close()
@ -114,6 +115,13 @@ local function savePlayerID()
file:write(str)
file:close()
end
local function adventures.saveQuestProgress()
local file = io.open(minetest.get_worldpath().."adventures_quests", "w")
local str = minetest.serialize(adventures.quests).."\n"..
minetest.serialize(adventures.currentObjectives)
file:write(str)
file:close()
end
minetest.register_globalstep(function(dtime)
for _,player in pairs(minetest.get_connected_players()) do
local id = adventures.checkPoints[adventures.positionToString(adventures.snapPlayerPosition(player:getpos()))]
@ -124,6 +132,7 @@ minetest.register_globalstep(function(dtime)
if(not adventures.autoSave) then return end
if(adventures.currentTime >= adventures.saveTime) then
savePlayerID()
adventures.saveQuestProgress()
end
adventures.currentTime = adventures.currentTime+dtime
end)