updated npc mod
This commit is contained in:
parent
47a4083ab5
commit
5dfc7567c0
@ -1,2 +1,3 @@
|
||||
default
|
||||
quests
|
||||
dialogue
|
||||
|
@ -31,6 +31,23 @@ function npcs.register_npc(name, def)
|
||||
local name = player:get_player_name()
|
||||
quests.show_text(def.npc_text, name)
|
||||
end
|
||||
elseif def.npc_type == "quests" then
|
||||
def.on_rightclick = function(pos, node, player, itemstack, pt)
|
||||
local d = dialogue.new(def.npc_text)
|
||||
local my_quests = def.npc_get_quests(pos, player)
|
||||
|
||||
|
||||
for i, q in ipairs(my_quests) do
|
||||
print(q.title)
|
||||
if not(quests.has_quest(player:get_player_name(), q.title)) then
|
||||
d:add_option(q.title, function(name)
|
||||
quests.add_quest(name, q)
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
d:show(player:get_player_name())
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_node(name, def)
|
||||
@ -38,12 +55,29 @@ end
|
||||
|
||||
--TEST
|
||||
npcs.register_npc("npcs:farmer", {
|
||||
npc_type = "text",
|
||||
npc_type = "quests",
|
||||
npc_text = "Hi!",
|
||||
npc_quest_title = "Test",
|
||||
npc_get_quest = function(pos, player)
|
||||
local quest = quests.new(nil, "Test", "Test")
|
||||
local goal_1 = quests.add_place_goal(quest, "Place dirt", {"default:dirt"}, 10, "Place some dirt!")
|
||||
local goal_1 = quests.add_place_goal(quest, "Place dirt", {"default:dirt"}, 10, "Place some dirt blocks!")
|
||||
return quest
|
||||
end,
|
||||
npc_get_quests = function(pos, player)
|
||||
local my_quests = {}
|
||||
|
||||
do
|
||||
local quest = quests.new(nil, "Test 1", "Test 1")
|
||||
local goal_1 = quests.add_place_goal(quest, "Place dirt", {"default:dirt"}, 10, "Place some dirt blocks!")
|
||||
table.insert(my_quests, quest)
|
||||
end
|
||||
|
||||
do
|
||||
local quest = quests.new(nil, "Test 2", "Test 2")
|
||||
local goal_1 = quests.add_place_goal(quest, "Place stone", {"default:stone"}, 10, "Place some stone blocks!")
|
||||
table.insert(my_quests, quest)
|
||||
end
|
||||
|
||||
return my_quests
|
||||
end,
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user