Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local tycoons = {
- {true, "tycoonOne"},
- {true, "tycoonTwo"},
- {true, "tycoonThree"},
- {true, "tycoonFour"},
- {true, "tycoonFive"},
- {true, "tycoonSix"},
- {true, "tycoonSeven"},
- {true, "tycoonEight"}
- }
- math.randomseed(tick())
- game.Players.PlayerAdded:Connect(function(Player)
- Player.CharacterAdded:Wait()
- local Folder = Instance.new("Folder", game.ServerStorage.playerData)
- Folder.Name = Player.Name
- local Val = Instance.new("IntValue", Folder)
- Val.Name = "currentTycoon"
- local tycoonNumba = Instance.new("IntValue", Player)
- tycoonNumba.Name = "currentTycoon"
- local cash = Instance.new("IntValue", Folder)
- cash.Name = "Cash"
- teamNameString = Instance.new("StringValue", Folder)
- teamNameString.Name = "teamName"
- -------------------------------------------------------------------------
- -- Looks for an Open tycoon
- repeat
- local Rand = math.random(1,#tycoons)
- currentTycoon = tycoons[Rand]
- Val.Value = Rand
- tycoonNumba.Value = Rand
- until
- currentTycoon[1] == true
- -------------------------------------------------------------------------
- local guiPart = game.ServerStorage.guiPart:Clone()
- guiPart.BillboardGui.TextLabel.Text = Player.Name
- -- Makes tycoon occupied, does tycoon actions... v[1] = availability, v[2] = Name
- for i, v in pairs(tycoons) do
- if v[2] == currentTycoon[2] then
- v[1] = false
- wait()
- guiPart.Position = game.Workspace.Tycoons:FindFirstChild(v[2]).Middle.Position
- guiPart.Parent = game.Workspace.Tycoons:FindFirstChild(v[2]).Middle
- wait(1)
- Player.Character:MoveTo(game.Workspace.Tycoons:FindFirstChild(v[2]).Middle.Position)
- game.ReplicatedStorage.Remotes.teamPrompt:FireClient(Player)
- end
- end
- end)
- ------------------------------------------------------- prompt team name
- local teamColors = {BrickColor.new("Hot pink"), BrickColor.new("Royal purple"), BrickColor.new("Camo"), BrickColor.new("Lavender"), BrickColor.new("Lime green"),
- BrickColor.new("Toothpaste"), BrickColor.new("Teal"), BrickColor.new("Deep orange"), BrickColor.new("Pink"), BrickColor.new("Magenta"), BrickColor.new("Cyan"), BrickColor.new("Deep blue"), BrickColor.new("Navy blue"),
- BrickColor.new("Really blue"), BrickColor.new("New Yeller"), BrickColor.new("Olive"), BrickColor.new("Alder"), BrickColor.new("Really red"), BrickColor.new("Really black"),
- BrickColor.new("Mint"), BrickColor.new("Lilac"), BrickColor.new("Crimson"), BrickColor.new("Bright red")}
- local hasTeam = false
- game.ReplicatedStorage.Remotes.teamPrompt.OnServerEvent:Connect(function(plr)
- if hasTeam == false then
- hasTeam = true
- local team = Instance.new("Team")
- wait()
- team.Name = plr.TycoonName.Value
- local teamColor = teamColors[math.random(#teamColors)]
- team.TeamColor = teamColor
- game.ReplicatedStorage.Remotes.teamPrompt.closeGui:FireClient(plr)
- team.AutoAssignable = false
- team.Parent = game.Teams
- plr.Team = team
- --create spawn at their base]
- local Val = game.ServerStorage.playerData:FindFirstChild(plr.Name).currentTycoon
- local theirTycoon = game.Workspace.Tycoons:FindFirstChild(tycoons[Val.Value][2])
- local spawnPoint = Instance.new("SpawnLocation", game.ReplicatedStorage)
- spawnPoint.Name = plr.Name.."Spawn"
- spawnPoint.CanCollide = false
- spawnPoint.Size = Vector3.new(4, 1, 4)
- spawnPoint.Neutral = false
- spawnPoint.Anchored = true
- spawnPoint.CFrame = CFrame.new(theirTycoon.Middle.Position)
- spawnPoint.Transparency = 1
- spawnPoint.Parent = workspace
- spawnPoint.TeamColor = teamColor
- spawnPoint.Duration = 5
- spawnPoint.Parent = theirTycoon
- teamNameString.Value = plr.TycoonName.Value
- hasTeam = false
- end
- end)
- -------------------------------------------------------
- -------------------------------------------------------------------------
- --Player leaving
- game.Players.PlayerRemoving:Connect(function(Player)
- local Val = game.ServerStorage.playerData:FindFirstChild(Player.Name).currentTycoon
- game.Workspace.Tycoons:FindFirstChild(tycoons[Val.Value][2]).Middle.guiPart:Destroy()
- for i,v in pairs(game.Workspace.Tycoons:FindFirstChild(tycoons[Val.Value][2]):GetDescendants()) do
- if v.Name == "guiPart" then
- v:Destroy()
- end
- if v.Name == "Subject" then
- v:Destroy()
- wait()
- end
- end
- tycoons[Val.Value][1] = true
- local teamName = game.ServerStorage.playerData[Player.Name].teamName
- game.Teams[teamName.Value]:Destroy()
- --probably should add a saving function here fyi
- --do anything with their data above this
- --their data gets destroyed here make sure to save
- game.ServerStorage.playerData[Player.Name]:Destroy()
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement