I am developing a basic tycoon game, which requires the existence of a "PartStorage" for the parts to be stored in until collection. This worked perfectly find for the first few days of development, however once I copied and created 4 tycoons (instead of just having the one I was working on) the partstorage began not working, instead deleting itself. Anyone who knows something about tycoon scripts, any help would be appreciated.
local Tycoons = {} local Teams = game:GetService('Teams') local Settings = require(script.Parent.Settings) local BC = BrickColor local Storage = Instance.new('Folder', game.ServerStorage) Storage.Name = "PlayerMoney" Instance.new('Model', workspace).Name = "PartStorage" function returnColorTaken(color) for i,v in pairs(Teams:GetChildren()) do if v:IsA('Team') then if v.TeamColor == color then return true end end end return false end --run this first so if there is a 'white' team it is switched over if not Settings['AutoAssignTeams'] then local teamHire = Instance.new('Team', Teams) teamHire.TeamColor = BC.new('White') teamHire.Name = "For Hire" end for i,v in pairs(script.Parent:WaitForChild('Tycoons'):GetChildren()) do Tycoons[v.Name] = v:Clone() -- Store the tycoons then make teams depending on the tycoon names if returnColorTaken(v.TeamColor) then --//Handle duplicate team colors local newColor; repeat wait() newColor = BC.Random() until returnColorTaken(newColor) == false v.TeamColor.Value = newColor end --Now that there are for sure no duplicates, make your teams local NewTeam = Instance.new('Team',Teams) NewTeam.Name = v.Name NewTeam.TeamColor = v.TeamColor.Value if not Settings['AutoAssignTeams'] then NewTeam.AutoAssignable = false end v.PurchaseHandler.Disabled = false end function getPlrTycoon(player) for i,v in pairs(script.Parent.Tycoons:GetChildren()) do if v:IsA("Model") then if v.Owner.Value == player then return v end end end return nil end