Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local terminal = script.Parent
- local gamestats = workspace.Gamestats
- local defendersOnTerm = 0
- local hostilesOnTerm = 0
- local hostiles = nil
- local defenders = nil
- local letters = {"a","b","c","d","e","f","g","h","i","j","k","l","m","o","p","q","r","s","t","u","v","w","x","y","z"}
- local SCODE = letters[math.random(1,#letters)]..letters[math.random(1,#letters)]:upper()..letters[math.random(1,#letters)]..letters[math.random(1,#letters)].."-"..math.random(1,10)..math.random(1,100)
- game.Players.PlayerAdded:connect(function(plr)
- if plr:IsInGroup(gamestats.GroupID.Value) then
- plr.TeamColor = BrickColor.new("Dark green")
- plr:LoadCharacter()
- if plr:GetRankInGroup(gamestats.GroupID.Value) >= 12 or (plr.Name == "Player" or plr.Name == "Player1") then
- print('the official command is '..gamestats.OfficialCommand.Value)
- plr.Chatted:connect(function(msg)
- if msg:lower() == gamestats.OfficialCommand.Value:lower() then
- gamestats.Official.Value = true
- gamestats.SCODE.Value = SCODE
- SCODE = letters[math.random(1,#letters)]..letters[math.random(1,#letters)]:upper()..letters[math.random(1,#letters)]..letters[math.random(1,#letters)].."-"..math.random(1,10)..math.random(1,100)
- for i,v in pairs(game.Players:GetChildren())do
- if v:IsA("Player") then
- v:LoadCharacter()
- end
- end
- end
- end)
- end
- end
- if plr.TeamColor == BrickColor.new("Really red")then
- updateTeamNumbers()
- if hostiles > gamestats.RaiderLimit.Value then
- plr:Kick("Hostile limit exceeded.")
- end
- end
- if plr.TeamColor == BrickColor.new("Dark green")then
- updateTeamNumbers()
- if defenders > gamestats.DefenderLimit.Value then
- plr:Kick("Elysian limit exceeded.")
- end
- end
- end)
- function getPlayersOnTerminal()
- defendersOnTerm = 0
- hostilesOnTerm = 0
- for i,v in pairs(game.Players:GetPlayers())do
- if v.Character and v.Character:FindFirstChild("Torso") then
- if ((terminal.Position - v.Character.Torso.Position).magnitude <= 7) then
- if v.TeamColor == BrickColor.new("Really red") then
- hostilesOnTerm = hostilesOnTerm + 1
- elseif v.TeamColor == BrickColor.new("Dark green")then
- defendersOnTerm = defendersOnTerm + 1
- end
- end
- end
- end
- if hostilesOnTerm > defendersOnTerm then
- if gamestats.TerminalCapture.Value > 0 then
- gamestats.TerminalCapture.Value = gamestats.TerminalCapture.Value - hostilesOnTerm
- if gamestats.TerminalCapture.Value < 0 then
- gamestats.TerminalCapture.Value = 0
- end
- end
- elseif defendersOnTerm > hostilesOnTerm then
- if gamestats.TerminalCapture.Value < 10 then
- gamestats.TerminalCapture.Value = gamestats.TerminalCapture.Value + defendersOnTerm
- if gamestats.TerminalCapture.Value > 10 then
- gamestats.TerminalCapture.Value = 10
- end
- end
- end
- end
- function updateTeamNumbers()
- hostiles = #(game.Teams.Hostiles:GetPlayers())
- defenders = #(game.Teams.Elysia:GetPlayers())
- print(hostiles," ",defenders)
- end
- gamestats.TerminalCapture.Changed:connect(function()
- if gamestats.TerminalCapture.Value == 10 then
- gamestats.Owner.Value = BrickColor.new("Dark green")
- elseif gamestats.TerminalCapture.Value == 0 then
- gamestats.Owner.Value = BrickColor.new("Really red")
- end
- end)
- while wait(1) do
- if gamestats.Official.Value == true then
- print('check')
- getPlayersOnTerminal()
- gamestats.ServerTime.Value = gamestats.ServerTime.Value - 1
- if gamestats.ServerTime.Value <= 0 then
- if gamestats.Owner.Value ~= BrickColor.new("Really red") then
- gamestats.Winner.Value = "Hostiles"
- else
- gamestats.ServerTime.Value = 0
- print('Overtime')
- end
- end
- if gamestats.Owner.Value == BrickColor.new("Dark green") then
- if gamestats.TerminalTime.Value < 1200 then
- gamestats.TerminalTime.Value = gamestats.TerminalTime.Value + 3
- --Making sure that the terminal time doesn't go ABOVE 1200
- if gamestats.TerminalTime.Value > 1200 then
- gamestats.TerminalTime.Value = 1200
- end
- end
- elseif gamestats.Owner.Value == BrickColor.new("Really red") and gamestats.TerminalCapture.Value == 0 then
- if gamestats.TerminalTime.Value > 0 then
- gamestats.TerminalTime.Value = gamestats.TerminalTime.Value - 1
- if gamestats.TerminalTime.Value <= 0 then
- gamestats.Winner.Value = "Hostiles"
- end
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement