Hi, I'm watching a tutorial on how to make a tycoon, but the script I'm using is for some reason broken. It says that Event is nil, which shouldn't be the case. Do you guys have any fixes? Error is on line 76.
--credit to B Ricey for the script, as the one i tried to make was broken. local CollectionService = game:GetService("CollectionService") local template = game:GetService("ServerStorage").Template local componentFolder = script.Parent.Components local tycoonStorage = game:GetService("ServerStorage").TycoonStorage local function NewModel(model, cframe) local newModel = model:Clone() newModel:SetPrimaryPartCFrame(cframe) newModel.Parent = workspace return newModel end local Tycoon = {} Tycoon.__index = Tycoon function Tycoon.new(player) local self = setmetatable({}, Tycoon) self.Owner = player self._topicEvent = Instance.new("BindableEvent") return self end function Tycoon:Init() self.Model = NewModel(template, CFrame.new(50, 0.5, 0)) self:LockAll() wait(7) self:PublishTopic("Button", "BasicPart") end function Tycoon:LockAll() for _, instance in ipairs(self.Model:GetDescendants()) do if CollectionService:HasTag(instance, "Unlockable") then self:Lock(instance) else self:AddComponents(instance) end end end function Tycoon:Lock(instance) instance.Parent = tycoonStorage self:CreateComponent(instance, componentFolder.Unlockable) end function Tycoon:Unlock(instance, id) CollectionService:RemoveTag(instance, "Unlockable") self:AddComponents(instance) instance.Parent = self.Model end function Tycoon:AddComponents(instance) for _, tag in ipairs(CollectionService:GetTags(instance)) do local component = componentFolder:FindFirstChild(tag) if component then self:CreateComponent(instance, component) end end end function Tycoon:CreateComponent(instance, componentScript) local compModule = require(componentScript) local newComp = compModule.new(self, instance) newComp:Init() end function Tycoon:PublishTopic(topicName, ...) self._topicEvent:Fire(topicName, ...) end function Tycoon:SubscribeTopic(topicName, callback) local connection = self._topicEvent.Event:Connect(function(name, ...) if name == topicName then callback(...) end end) return connection end function Tycoon:Destroy() self.Model:Destroy() self._topicEvent:Destroy() end return Tycoon