Advertisement
Guest User

Untitled

a guest
Jun 18th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.91 KB | None | 0 0
  1. local tycoons = {
  2.    
  3.     {true, "tycoonOne"},
  4.     {true, "tycoonTwo"},
  5.     {true, "tycoonThree"},
  6.     {true, "tycoonFour"},
  7.     {true, "tycoonFive"},
  8.     {true, "tycoonSix"},
  9.     {true, "tycoonSeven"},
  10.     {true, "tycoonEight"}
  11.    
  12. }
  13.  
  14. math.randomseed(tick())
  15.  
  16. game.Players.PlayerAdded:Connect(function(Player)
  17.     Player.CharacterAdded:Wait()
  18.    
  19.     local Folder = Instance.new("Folder", game.ServerStorage.playerData)
  20.     Folder.Name = Player.Name
  21.  
  22.     local Val = Instance.new("IntValue", Folder)
  23.     Val.Name = "currentTycoon"
  24.  
  25.     local tycoonNumba = Instance.new("IntValue", Player)
  26.     tycoonNumba.Name = "currentTycoon"
  27.    
  28.     local cash = Instance.new("IntValue", Folder)
  29.     cash.Name = "Cash"
  30.    
  31.     teamNameString = Instance.new("StringValue", Folder)
  32.     teamNameString.Name = "teamName"
  33.    
  34.    
  35.  
  36. -------------------------------------------------------------------------  
  37.     -- Looks for an Open tycoon
  38.     repeat
  39.        
  40.     local Rand = math.random(1,#tycoons)
  41.     currentTycoon = tycoons[Rand]
  42.     Val.Value = Rand
  43.     tycoonNumba.Value = Rand
  44.    
  45.     until
  46.     currentTycoon[1] == true
  47.    
  48. -------------------------------------------------------------------------
  49.    
  50.     local guiPart = game.ServerStorage.guiPart:Clone()
  51.     guiPart.BillboardGui.TextLabel.Text = Player.Name
  52.    
  53.     -- Makes tycoon occupied, does tycoon actions...                            v[1] = availability, v[2] = Name
  54.     for i, v in pairs(tycoons) do
  55.        
  56.         if v[2] == currentTycoon[2] then
  57.             v[1] = false
  58.                
  59.                 wait()
  60.                 guiPart.Position = game.Workspace.Tycoons:FindFirstChild(v[2]).Middle.Position
  61.                 guiPart.Parent = game.Workspace.Tycoons:FindFirstChild(v[2]).Middle
  62.                 wait(1)
  63.                 Player.Character:MoveTo(game.Workspace.Tycoons:FindFirstChild(v[2]).Middle.Position)
  64.                 game.ReplicatedStorage.Remotes.teamPrompt:FireClient(Player)
  65.  
  66.  
  67.            
  68.         end
  69.     end
  70.  
  71. end)
  72.  
  73. ------------------------------------------------------- prompt team name
  74.  
  75. local teamColors = {BrickColor.new("Hot pink"), BrickColor.new("Royal purple"), BrickColor.new("Camo"), BrickColor.new("Lavender"), BrickColor.new("Lime green"),
  76.     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"),
  77.     BrickColor.new("Really blue"), BrickColor.new("New Yeller"), BrickColor.new("Olive"), BrickColor.new("Alder"), BrickColor.new("Really red"), BrickColor.new("Really black"),
  78.     BrickColor.new("Mint"), BrickColor.new("Lilac"), BrickColor.new("Crimson"), BrickColor.new("Bright red")}
  79.  
  80. local hasTeam = false
  81.  
  82.  
  83. game.ReplicatedStorage.Remotes.teamPrompt.OnServerEvent:Connect(function(plr)
  84.     if hasTeam == false then
  85.        
  86.         hasTeam = true
  87.         local team = Instance.new("Team")
  88.         wait()
  89.         team.Name = plr.TycoonName.Value
  90.         local teamColor = teamColors[math.random(#teamColors)]
  91.         team.TeamColor = teamColor
  92.         game.ReplicatedStorage.Remotes.teamPrompt.closeGui:FireClient(plr)
  93.         team.AutoAssignable = false
  94.        
  95.         team.Parent = game.Teams
  96.         plr.Team = team
  97.        
  98.         --create spawn at their base]
  99.        
  100.         local Val = game.ServerStorage.playerData:FindFirstChild(plr.Name).currentTycoon       
  101.         local theirTycoon = game.Workspace.Tycoons:FindFirstChild(tycoons[Val.Value][2])
  102.        
  103.         local spawnPoint = Instance.new("SpawnLocation", game.ReplicatedStorage)
  104.         spawnPoint.Name = plr.Name.."Spawn"
  105.         spawnPoint.CanCollide = false
  106.         spawnPoint.Size = Vector3.new(4, 1, 4)
  107.         spawnPoint.Neutral = false
  108.         spawnPoint.Anchored = true
  109.         spawnPoint.CFrame = CFrame.new(theirTycoon.Middle.Position)
  110.         spawnPoint.Transparency = 1
  111.         spawnPoint.Parent = workspace
  112.         spawnPoint.TeamColor = teamColor
  113.         spawnPoint.Duration = 5
  114.         spawnPoint.Parent = theirTycoon
  115.        
  116.         teamNameString.Value = plr.TycoonName.Value
  117.        
  118.         hasTeam = false
  119.     end
  120. end)
  121.  
  122. -------------------------------------------------------
  123.  
  124. -------------------------------------------------------------------------  
  125. --Player leaving
  126.  
  127. game.Players.PlayerRemoving:Connect(function(Player)
  128.    
  129.    
  130.     local Val = game.ServerStorage.playerData:FindFirstChild(Player.Name).currentTycoon
  131.  
  132.     game.Workspace.Tycoons:FindFirstChild(tycoons[Val.Value][2]).Middle.guiPart:Destroy()
  133.  
  134.     for i,v in pairs(game.Workspace.Tycoons:FindFirstChild(tycoons[Val.Value][2]):GetDescendants()) do
  135.        
  136.         if v.Name == "guiPart" then
  137.             v:Destroy()
  138.         end
  139.        
  140.         if v.Name == "Subject" then
  141.             v:Destroy()
  142.             wait()
  143.         end
  144.    
  145.     end
  146.  
  147.    
  148.     tycoons[Val.Value][1] = true
  149.  
  150.  
  151.    
  152.     local teamName = game.ServerStorage.playerData[Player.Name].teamName
  153.    
  154.     game.Teams[teamName.Value]:Destroy()   
  155.    
  156.    
  157.    
  158.     --probably should add a saving function here fyi
  159.     --do anything with their data above this
  160.     --their data gets destroyed here make sure to save
  161.     game.ServerStorage.playerData[Player.Name]:Destroy()
  162.    
  163. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement