forked from Sokomine/yl_speak_up
improved quest step management
This commit is contained in:
parent
83f92f1a49
commit
4bcbf8ee0a
@ -118,6 +118,10 @@ yl_speak_up.input_fs_manage_quest_steps = function(player, formname, fields)
|
|||||||
-- TODO: check if the player is allowed to access that quest
|
-- TODO: check if the player is allowed to access that quest
|
||||||
local pname = player:get_player_name()
|
local pname = player:get_player_name()
|
||||||
|
|
||||||
|
if(fields and fields.back) then
|
||||||
|
yl_speak_up.show_fs(player, "manage_quests")
|
||||||
|
return
|
||||||
|
end
|
||||||
local res = yl_speak_up.player_is_working_on_quest(player)
|
local res = yl_speak_up.player_is_working_on_quest(player)
|
||||||
if(not(res.error_msg) and res.current_step) then
|
if(not(res.error_msg) and res.current_step) then
|
||||||
local selected_from = nil
|
local selected_from = nil
|
||||||
@ -194,23 +198,24 @@ yl_speak_up.get_fs_manage_quest_steps = function(player, param)
|
|||||||
return minetest.colorize("#9999FF", text)
|
return minetest.colorize("#9999FF", text)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- TODO: check if the player is allowed to access that quest
|
local res = yl_speak_up.player_is_working_on_quest(player)
|
||||||
local pname = player:get_player_name()
|
if(res.error_msg) then
|
||||||
local formspec = {}
|
return "size[9,2]"..
|
||||||
|
"label[0,0;"..minetest.formspec_escape("Error: "..tostring(res.error_msg)).."]"..
|
||||||
local q_id = yl_speak_up.speak_to[pname].q_id
|
"button[1.5,1.5;2,0.9;back;Back]"
|
||||||
local quest = yl_speak_up.quests[q_id]
|
end
|
||||||
local step_data = quest.step_data
|
local step_data = res.step_data
|
||||||
|
local quest_step_list = yl_speak_up.get_sorted_quest_step_list(res.pname)
|
||||||
local quest_step_list = yl_speak_up.get_sorted_quest_step_list(pname)
|
|
||||||
if(param and param ~= "") then
|
if(param and param ~= "") then
|
||||||
local index = table.indexof(quest_step_list, param)
|
local index = table.indexof(quest_step_list, param)
|
||||||
yl_speak_up.speak_to[pname].tmp_index_general = index + 1
|
yl_speak_up.speak_to[res.pname].tmp_index_general = index + 1
|
||||||
end
|
end
|
||||||
local idx = yl_speak_up.speak_to[pname].tmp_index_general
|
local idx = yl_speak_up.speak_to[res.pname].tmp_index_general
|
||||||
if(idx and idx > 1) then
|
if(idx and idx > 1) then
|
||||||
yl_speak_up.speak_to[pname].quest_step = quest_step_list[idx - 1]
|
yl_speak_up.speak_to[res.pname].quest_step = quest_step_list[idx - 1]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local formspec = {}
|
||||||
table.insert(formspec, "size[30,12]"..
|
table.insert(formspec, "size[30,12]"..
|
||||||
"container[6,0;18.5,12]"..
|
"container[6,0;18.5,12]"..
|
||||||
"label[0.2,1.2;A quest step is a single thing a player may do in a quest - "..
|
"label[0.2,1.2;A quest step is a single thing a player may do in a quest - "..
|
||||||
|
Loading…
Reference in New Issue
Block a user