diff options
Diffstat (limited to 'gamemode/questsystem/component_gather.lua')
| -rw-r--r-- | gamemode/questsystem/component_gather.lua | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gamemode/questsystem/component_gather.lua b/gamemode/questsystem/component_gather.lua index 5647f42..cc7f44f 100644 --- a/gamemode/questsystem/component_gather.lua +++ b/gamemode/questsystem/component_gather.lua @@ -8,6 +8,12 @@ local comp = {} comp.Name = "Quest Component Gather" +--[[ +Update this quest, this is called every time a player +picks up an item. This method removes the items from the player, then +adds them back in (so dropping an item and picking it up x number of times +will not work. +]] function comp:Update() if SERVER then local items = {} @@ -49,6 +55,10 @@ function comp:Init(ply,itemname,itemnumber) log.debug("After initalizing quest, found " .. tostring(self.items) .. " items") end +--[[ +Detour the player's GiveItem(), to check if the quest is +complete after giving the player the item +]] if SERVER then local plymeta = FindMetaTable("Player") local det = plymeta.GiveItem @@ -56,7 +66,7 @@ if SERVER then det(self,tbl) log.debug("Calling component_gather's GiveItem()") for k,v in pairs(quests) do - if v.ItemName == tbl.Name then + if v.Name == comp.Name and v.ItemName == tbl.Name then v:Update() end end |
