Fix crashes on quest abort/accept when HUD is hidden

This commit is contained in:
Dorian Wouters 2016-02-05 13:12:43 +01:00
parent 0de375a4ab
commit 8f10e93bc3
1 changed files with 12 additions and 8 deletions

View File

@ -513,12 +513,14 @@ function quests.accept_quest(playername, questname)
quests.successfull_quests[playername][questname] = {count = 1}
end
quests.active_quests[playername][questname].finished = true
if quests.hud[playername].list ~= nil then -- nil when HUD is hidden
for _,quest in ipairs(quests.hud[playername].list) do
if quest.name == questname then
local player = minetest.get_player_by_name(playername)
player:hud_change(quest.id, "number", quests.colors.success)
end
end
end
handle_quest_end(playername, questname)
quests.show_message("success", playername, S("Quest completed:") .. " " .. quests.registered_quests[questname].title)
minetest.after(3, function(playername, questname)
@ -551,12 +553,14 @@ function quests.abort_quest(playername, questname)
end
quests.active_quests[playername][questname].finished = true
if quests.hud[playername].list ~= nil then -- nil when HUD is hidden
for _,quest in ipairs(quests.hud[playername].list) do
if quest.name == questname then
local player = minetest.get_player_by_name(playername)
player:hud_change(quest.id, "number", quests.colors.failed)
end
end
end
local quest = quests.registered_quests[questname]
quest.abortcallback(playername, questname, quests.active_quests[playername][questname].metadata)