show formspec instead of chat message in case of wrong inventory placement of dammaged tools etc
This commit is contained in:
parent
a2e11f5fb6
commit
ba96bf6975
@ -36,6 +36,11 @@ yl_speak_up.input_inventory = function(player, formname, fields)
|
|||||||
-- after closing the inventory formspec:
|
-- after closing the inventory formspec:
|
||||||
-- ..save the (very probably) modified inventory
|
-- ..save the (very probably) modified inventory
|
||||||
yl_speak_up.save_npc_inventory(n_id)
|
yl_speak_up.save_npc_inventory(n_id)
|
||||||
|
-- show inventory again?
|
||||||
|
if(fields.back_from_error_msg) then
|
||||||
|
yl_speak_up.show_fs(player, "inventory")
|
||||||
|
return
|
||||||
|
end
|
||||||
-- show the trade list?
|
-- show the trade list?
|
||||||
if(fields.inventory_show_tradelist) then
|
if(fields.inventory_show_tradelist) then
|
||||||
yl_speak_up.show_fs(player, "trade_list")
|
yl_speak_up.show_fs(player, "trade_list")
|
||||||
@ -133,17 +138,22 @@ yl_speak_up.load_npc_inventory = function(n_id)
|
|||||||
if(not(yl_speak_up.may_edit_npc(player, n_id))) then
|
if(not(yl_speak_up.may_edit_npc(player, n_id))) then
|
||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
|
local error_msg = nil
|
||||||
if(stack:get_wear() > 0) then
|
if(stack:get_wear() > 0) then
|
||||||
minetest.chat_send_player(player:get_player_name(),
|
error_msg = "Your NPC accepts only undammaged items.\n"..
|
||||||
"Your NPC accepts only undammaged items. "..
|
"Trading dammaged items would be unfair."
|
||||||
"Trading dammaged items would be unfair.")
|
|
||||||
return 0
|
|
||||||
end
|
|
||||||
-- items with metadata cannot be traded
|
-- items with metadata cannot be traded
|
||||||
if(yl_speak_up.check_stack_has_meta(player, stack)) then
|
elseif(yl_speak_up.check_stack_has_meta(player, stack)) then
|
||||||
minetest.chat_send_player(player:get_player_name(),
|
error_msg = "Your NPC cannot sell items that contain\n"..
|
||||||
"Your NPC cannot sell items that contain "..
|
"additional (meta-) data."
|
||||||
"additional (meta-) data.")
|
end
|
||||||
|
if(error_msg) then
|
||||||
|
yl_speak_up.show_fs(player, "msg", {
|
||||||
|
input_to = "yl_speak_up:inventory",
|
||||||
|
formspec = "size[6,2]"..
|
||||||
|
"label[0.2,-0.2;"..tostring(error_msg).."]"..
|
||||||
|
"button[2,1.5;1,0.9;back_from_error_msg;"..
|
||||||
|
"OK]"})
|
||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
return stack:get_count()
|
return stack:get_count()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user