From ad728d580ea64797f7bcd02894f18cc4d1072d97 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Wed, 30 Dec 2015 21:38:28 -0500 Subject: Changed research table and fix bird spawning --- entities/entities/ws_researchtable/init.lua | 67 +++-------------------------- 1 file changed, 5 insertions(+), 62 deletions(-) (limited to 'entities') diff --git a/entities/entities/ws_researchtable/init.lua b/entities/entities/ws_researchtable/init.lua index 9f09365..64596e4 100644 --- a/entities/entities/ws_researchtable/init.lua +++ b/entities/entities/ws_researchtable/init.lua @@ -3,11 +3,6 @@ AddCSLuaFile("shared.lua") include('shared.lua') --[[An item to give hints to players that are just starting out]] -local ResurrectionTable = { - ["Wood"] = 10, - ["Rock"] = 10, - ["Sap"] = 10, -} local PossibleRecipies = { [1] = { [0]="Arrow", @@ -46,73 +41,21 @@ function ENT:Initialize() end self:SetHealth(30) - - self.StoredItems = {} end function ENT:Think() - local HasItems = {} - if(!self.StoredItems) then return end - for k,v in pairs(self.StoredItems) do - if (ResurrectionTable[v.Name] and v.Quantity >= ResurrectionTable[v.Name]) then - HasItems[v.Name] = {k,ResurrectionTable[v.Name]} - end - end - - if (table.Count(HasItems) >= table.Count(ResurrectionTable)) then - local randomrecipie = PossibleRecipies[math.random(1,10)] - for k,v in pairs(player.GetAll()) do - if (v:Alive() and v:GetPos():Distance(self:GetPos()) < 200) then - v:ChatPrint("Perhaps you can make a " .. randomrecipie[0] .. " with " .. randomrecipie[1]) - - for a,b in pairs(HasItems) do - if (self.StoredItems[b[1]].Quantity == b[2]) then table.remove(self.StoredItems,b[1]) - else self.StoredItems[b[1]].Quantity = self.StoredItems[b[1]].Quantity-b[2] end - end - break - end + local randomrecipie = PossibleRecipies[math.random(1,10)] + for k,v in pairs(player.GetAll()) do + if (v:Alive() and v:GetPos():Distance(self:GetPos()) < 200) then + v:ChatPrint("Perhaps you can make a " .. randomrecipie[0] .. " with " .. randomrecipie[1]) end end - self:NextThink(CurTime()+10) + self:NextThink(CurTime()+30) return true end -function ENT:AddItem(item,quantity) - for k,v in pairs(self.StoredItems) do - if (v.Name == item) then - v.Quantity = v.Quantity + quantity - return - end - end - - table.insert(self.StoredItems,{Name = item, Quantity = quantity}) -end - -function ENT:TakeItem(pl,item,quantity) - for k,v in pairs(self.StoredItems) do - if (v.Name == item) then - quantity = math.min(quantity,v.Quantity) - v.Quantity = v.Quantity - quantity - - pl:AddItem(item,quantity) - - if (v.Quantity <= 0) then table.remove(self.StoredItems,k) end - break - end - end -end - -function ENT:GetItems() - return self.StoredItems -end - -function ENT:Use(pl) - if (pl:IsPigeon()) then return end - OpenLootventory(pl,self.StoredItems,self) -end - function ENT:OnTakeDamage(dmg) self:SetHealth(self:Health()-dmg) -- cgit v1.2.3-70-g09d2