forked from Sokomine/yl_speak_up
show some quest steps in quest overview
This commit is contained in:
parent
314c637aae
commit
234a18efff
@ -69,7 +69,8 @@ yl_speak_up.get_fs_manage_quests = function(player, param)
|
||||
local index = table.indexof(quest_list, param)
|
||||
yl_speak_up.speak_to[pname].tmp_index_general = index + 1
|
||||
end
|
||||
table.insert(formspec, "size[18,12]"..
|
||||
table.insert(formspec, "size[30,12]"..
|
||||
"container[6,0;18.5,12]"..
|
||||
"label[0.2,1.2;A quest is a linear sequence of quest steps. Quests can "..
|
||||
"depend on and influence other quests.\n"..
|
||||
"Progress for each player is stored in a variable. The name of "..
|
||||
@ -87,6 +88,7 @@ yl_speak_up.get_fs_manage_quests = function(player, param)
|
||||
"If you click here, the selected quest will be deleted.\n"..
|
||||
"This will only be possible if it's not used anywhere.")
|
||||
if(not(selected) or selected == "") then
|
||||
table.insert(formspec, "container_end[]")
|
||||
return table.concat(formspec, "")
|
||||
end
|
||||
local var_name = yl_speak_up.restore_complete_var_name(selected, pname)
|
||||
@ -124,15 +126,13 @@ yl_speak_up.get_fs_manage_quests = function(player, param)
|
||||
|
||||
table.insert(formspec, "button[3.5,6.5;4.0,0.8;save_changes;TODO Save changes]")
|
||||
table.insert(formspec, "scroll_container_end[]")
|
||||
table.insert(formspec, "container_end[]")
|
||||
|
||||
-- TODO: make the content of the fields and textareas more readable (more contrast)
|
||||
-- TODO: actually process and store changed entries
|
||||
--[[
|
||||
-- TODO: entries that are not yet shown:
|
||||
quest.var_name = var_name -- name of the variable where progress is stored for each player
|
||||
quest.step_data = {} -- table containing information about a quest step (=key)
|
||||
-- this may also be information about WHERE a quest step shall
|
||||
-- take place
|
||||
quest.subquests = {} -- list of other quest_ids that contribute to this quest
|
||||
-- -> determined from quests.npcs and quests.locations
|
||||
quest.is_subquest_of = {} -- list of quest_ids this quest contributes to
|
||||
@ -149,6 +149,33 @@ yl_speak_up.get_fs_manage_quests = function(player, param)
|
||||
quest.solved_by = {} -- list of names of players that solved the quest at least once
|
||||
--]]
|
||||
|
||||
-- left side: quest steps
|
||||
-- quest.step_data = {}
|
||||
-- table containing information about a quest step (=key)
|
||||
-- this may also be information about WHERE a quest step shall take place
|
||||
table.insert(formspec, "button[0.1,0.1;5.6,0.8;show_step_list;Show all quest steps]")
|
||||
local lists = yl_speak_up.quest_step_get_start_end_unconnected_lists(quest.step_data or {})
|
||||
yl_speak_up.get_fs_show_list_in_box(formspec,
|
||||
"Start steps:", "select_from_start_steps", lists.start_steps,
|
||||
"0.1", "1.0", "5.6", "3.5", 0, nil, "#AAFFAA",
|
||||
"The quest begins with this (or one of these) steps.\n"..
|
||||
"You need at least one start step.",
|
||||
nil)
|
||||
yl_speak_up.get_fs_show_list_in_box(formspec,
|
||||
"Unconnected steps:", "select_from_unconnected_steps", lists.unconnected_steps,
|
||||
"0.1", "4.5", "5.6", "3.5", 0, nil, "#FFAAAA",
|
||||
"These steps are not used yet. They are not required\n"..
|
||||
"by any other step and do not require steps either.\n"..
|
||||
"Please decide what to do with them!",
|
||||
nil)
|
||||
yl_speak_up.get_fs_show_list_in_box(formspec,
|
||||
"Quest ends with steps:", "select_from_end_steps", lists.end_steps,
|
||||
"0.1", "8.0", "5.6", "3.5", "0.1", nil, "#AAFFAA",
|
||||
"This quest ends with these steps. They are not required\n"..
|
||||
"by any other steps and have no successor.\n"..
|
||||
"Your quest needs at least one end step.",
|
||||
nil)
|
||||
|
||||
-- store the quest ID so that we know what we're working at
|
||||
yl_speak_up.speak_to[pname].q_id = quest.id
|
||||
return table.concat(formspec, "")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user