forked from Sokomine/yl_speak_up
made trade dialog more consistant for dialog option trades in edit mode or normal mode
This commit is contained in:
parent
33c79b4af0
commit
e6f9dbac67
@ -171,7 +171,7 @@ yl_speak_up.get_fs_add_trade_simple = function(player, trade_id)
|
|||||||
delete_button = ""
|
delete_button = ""
|
||||||
end
|
end
|
||||||
return "size[8.5,8]"..
|
return "size[8.5,8]"..
|
||||||
"label[4.35,0.7;"..minetest.formspec_escape(dialog.n_npc).." sells:]"..
|
"label[4.35,0.8;"..minetest.formspec_escape(dialog.n_npc).." sells:]"..
|
||||||
"list[current_player;main;0.2,3.85;8,1;]"..
|
"list[current_player;main;0.2,3.85;8,1;]"..
|
||||||
"list[current_player;main;0.2,5.08;8,3;8]"..
|
"list[current_player;main;0.2,5.08;8,3;8]"..
|
||||||
-- show the second slot of the setup inventory in the detached player's inv
|
-- show the second slot of the setup inventory in the detached player's inv
|
||||||
@ -554,42 +554,47 @@ yl_speak_up.get_fs_trade_simple = function(player, trade_id)
|
|||||||
|
|
||||||
-- show edit button for the owner if in edit_mode
|
-- show edit button for the owner if in edit_mode
|
||||||
if(yl_speak_up.may_edit_npc(player, trade.n_id)) then
|
if(yl_speak_up.may_edit_npc(player, trade.n_id)) then
|
||||||
-- for trades as part of the results/effects: allow edit
|
|
||||||
if(not(trade.trade_is_trade_list)
|
|
||||||
and (yl_speak_up.edit_mode[pname] == yl_speak_up.speak_to[pname].n_id)) then
|
|
||||||
formspec = formspec..
|
|
||||||
"button[0.2,1.6;1.0,0.9;edit_trade_simple;Edit]"..
|
|
||||||
"tooltip[edit_trade_simple;Edit this trade. You can do so only "..
|
|
||||||
"if you can edit the NPC as such (i.e. own it).]"
|
|
||||||
local dialog = yl_speak_up.speak_to[pname].dialog
|
|
||||||
local tr = dialog.trades[ trade_id ]
|
|
||||||
-- offer button to show the edit options dialog if suitable
|
|
||||||
if( tr and tr.d_id and tr.o_id) then
|
|
||||||
formspec = formspec..
|
|
||||||
"button[0.2,-0.5;4.5,0.9;back_to_edit_options;"..
|
|
||||||
minetest.formspec_escape("Back to edit dialog "..
|
|
||||||
tostring(tr.d_id).." option "..
|
|
||||||
tostring(tr.o_id)).."]"..
|
|
||||||
"tooltip[back_to_edit_options;Go back to editing the option "..
|
|
||||||
"where this trade is located.]"
|
|
||||||
end
|
|
||||||
|
|
||||||
-- for trades in trade list: allow delete (new trades can easily be added)
|
-- for trades in trade list: allow delete (new trades can easily be added)
|
||||||
-- allow delete for trades in trade list even if not in edit mode
|
-- allow delete for trades in trade list even if not in edit mode
|
||||||
-- (entering edit mode for that would be too much work)
|
-- (entering edit mode for that would be too much work)
|
||||||
elseif(trade.trade_is_trade_list) then
|
formspec = formspec..
|
||||||
formspec = formspec..
|
"button[0.2,1.6;1.2,0.9;delete_trade_simple;Delete]"..
|
||||||
"button[0.2,1.6;1.2,0.9;delete_trade_simple;Delete]"..
|
"tooltip[delete_trade_simple;"..
|
||||||
"tooltip[delete_trade_simple;Delete this trade. You can do so only "..
|
"Delete this trade. You can do so only if\n"..
|
||||||
"if you can edit the NPC as such (i.e. own it).]"
|
"you can edit the NPC as such (i.e. own it).]"
|
||||||
else
|
if(not(trade.trade_is_trade_list)) then
|
||||||
|
-- normal back button will lead to the talk dialog or edit option dialog;
|
||||||
|
-- add this second back button to go back to the list of all dialog option trades
|
||||||
formspec = formspec..
|
formspec = formspec..
|
||||||
"button[0.2,1.0;2.0,0.9;show_trade_list_dialog_options;Back to list]"..
|
"button[0.2,1.0;2.0,0.9;show_trade_list_dialog_options;Back to list]"..
|
||||||
"tooltip[show_trade_list_dialog_options;"..
|
"tooltip[show_trade_list_dialog_options;"..
|
||||||
"Click here to get back to the list of all trades\n"..
|
"Click here to get back to the list of all trades\n"..
|
||||||
"associated with dialog options (like this one).]"
|
"associated with dialog options (like this one).]"
|
||||||
|
local dialog = yl_speak_up.speak_to[pname].dialog
|
||||||
|
local tr = dialog.trades[ trade_id ]
|
||||||
|
if( tr and tr.d_id and tr.o_id) then
|
||||||
|
formspec = formspec..
|
||||||
|
"label[0.2,-0.3;This trade belongs to dialog "..
|
||||||
|
minetest.formspec_escape(tostring(tr.d_id)).." option "..
|
||||||
|
minetest.formspec_escape(tostring(tr.o_id))..".]"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
-- the functionality of the back button depends on context
|
||||||
|
if(not(trade.trade_is_trade_list)) then
|
||||||
|
-- go back to the right dialog (or forward to the next one)
|
||||||
|
formspec = formspec..
|
||||||
|
-- "button[6.2,1.6;2.0,0.9;finished_trading;Back to talk]"..
|
||||||
|
"button[0.2,0.0;2.0,0.9;finished_trading;Back to talk]"..
|
||||||
|
"tooltip[finished_trading;Click here once you've traded enough with this "..
|
||||||
|
"NPC and want to get back to talking.]"
|
||||||
|
else
|
||||||
|
-- go back to the trade list
|
||||||
|
formspec = formspec.. "button[0.2,0.0;2.0,0.9;back_to_trade_list;Back to list]"..
|
||||||
|
"tooltip[back_to_trade_list;Click here once you've traded enough with this "..
|
||||||
|
"NPC and want to get back to the trade list.]"
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
local trade_possible_msg = "Status of trade: Unknown."
|
local trade_possible_msg = "Status of trade: Unknown."
|
||||||
-- has the NPC room for the payment?
|
-- has the NPC room for the payment?
|
||||||
@ -640,21 +645,6 @@ yl_speak_up.get_fs_trade_simple = function(player, trade_id)
|
|||||||
"free inventory space to store your purchase.]"
|
"free inventory space to store your purchase.]"
|
||||||
end
|
end
|
||||||
|
|
||||||
-- the functionality of the back button depends on context
|
|
||||||
if(not(trade.trade_is_trade_list)) then
|
|
||||||
-- go back to the right dialog (or forward to the next one)
|
|
||||||
formspec = formspec..
|
|
||||||
-- "button[6.2,1.6;2.0,0.9;finished_trading;Back to talk]"..
|
|
||||||
"button[0.2,0.0;2.0,0.9;finished_trading;Back to talk]"..
|
|
||||||
"tooltip[finished_trading;Click here once you've traded enough with this "..
|
|
||||||
"NPC and want to get back to talking.]"
|
|
||||||
else
|
|
||||||
-- go back to the trade list
|
|
||||||
formspec = formspec.. "button[0.2,0.0;2.0,0.9;back_to_trade_list;Back to list]"..
|
|
||||||
"tooltip[back_to_trade_list;Click here once you've traded enough with this "..
|
|
||||||
"NPC and want to get back to the trade list.]"
|
|
||||||
end
|
|
||||||
|
|
||||||
return formspec..
|
return formspec..
|
||||||
"label[2.5,0.0;Trading with "..minetest.formspec_escape(trade.npc_name).."]"..
|
"label[2.5,0.0;Trading with "..minetest.formspec_escape(trade.npc_name).."]"..
|
||||||
"label[1.5,0.7;You pay:]"..
|
"label[1.5,0.7;You pay:]"..
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user