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
