-- Services PlayerService = game:GetService('Players') TweenService = game:GetService('TweenService') TeleportService = game:GetService("TeleportService") -- Variables DefaultMessageDelayTime = 4 LetterInvertal = 0.05 MessageWaitSigns = {',', '?', '.'} MessageWaitSignDelay = 1 local NightStatus = game.ReplicatedStorage.NightStatus local ObjectiveValue = game.ReplicatedStorage.Objective local Status = game.ReplicatedStorage.Status local MessageValue = game.ReplicatedStorage.Message local ImageValue = game.ReplicatedStorage.Message.SpeakerImage local SpeakerNameValue = game.ReplicatedStorage.Message.SpeakerName local Cutscene1 = game.ReplicatedStorage.CutscenesEvent.Cutscene local TeleportPoints = game.Workspace.TeleportPoints local TransitionEvent = game.ReplicatedStorage.TransitionEvent -- Setup Player Images local RandomPlayer PlayerImages = {} function MakePlayerImage(Player) local Image = '' local Success,Error = pcall(function() local ID = PlayerService:GetUserIdFromNameAsync(Player.Name)or '' local PlayerImage, IsReady = PlayerService:GetUserThumbnailAsync(ID, Enum.ThumbnailType.AvatarBust, Enum.ThumbnailSize.Size420x420) if IsReady == true then -- Ready to use image Image = tostring(PlayerImage) else -- Use alternative picture Image = ("http://www.roblox.com/Thumbs/Avatar.ashx?x=100&y=100&Format=Png&username=%s"):format(Player.Name) end end) if Success == true then -- Successful else Image = ("http://www.roblox.com/Thumbs/Avatar.ashx?x=100&y=100&Format=Png&username=%s"):format(Player.Name) end PlayerImages[Player.Name] = Image end game.Players.PlayerAdded:Connect(function(Player) MakePlayerImage(Player) end) for _, Player in pairs(game.Players:GetChildren()) do MakePlayerImage(Player) -- This is cause dosent rly activate PlayerAdded event on play testing end -- Functions function BroadcastMessage(Text, MessageDelayTime) -- This makes the message appear like a typewriter for i = 1,#Text,1 do MessageValue.Value = string.sub(Text,1,i) for _, L in pairs(MessageWaitSigns) do if string.sub(Text,i,i) == L then wait(MessageWaitSignDelay) end end wait(LetterInvertal) end if tonumber(MessageDelayTime) ~= nil then wait(MessageDelayTime) else wait(DefaultMessageDelayTime) end MessageValue.Value = 'None' return true end function SetMessageSpeaker(Name) if Name == "Random" then RandomPlayer = game.Players:GetChildren()[math.random(1,#game.Players:GetChildren())] Name = RandomPlayer.Name end ImageValue.Value = PlayerImages[Name] or 'rbxassetid://12325724267' SpeakerNameValue.Value = Name end function SetMessageSpeaker2(Name) ImageValue.Value = 'rbxassetid://12328732473' SpeakerNameValue.Value = Name end function ChangeTime(ToTime, TweenDuration) local Lightning = game.Lighting local TI = TweenInfo.new(TweenDuration,Enum.EasingStyle.Linear) local Tween = TweenService:Create(Lightning, TI, {ClockTime = ToTime}) Tween:Play() end function ChangeFogend(ChangeTo, TweenDuration,ColourOrNone) if ColourOrNone ~= 'None' then game.Lighting.FogColor = ColourOrNone end local FogendValue = Instance.new('IntValue') FogendValue.Value = game.Lighting.FogEnd FogendValue:GetPropertyChangedSignal('Value'):Connect(function() game.Lighting.FogEnd = FogendValue.Value end) local TI = TweenInfo.new(TweenDuration,Enum.EasingStyle.Linear) local Tween = TweenService:Create(FogendValue, TI, {Value = ChangeTo}) Tween:Play() spawn(function() Tween.Completed:Connect(function() FogendValue:Destroy() end) end) end function teleportPlayers(partCFrame) local players = game.Players:getPlayers() for _,player in pairs(players) do if player.Character then if player.Character.HumanoidRootPart.Anchored == false then player.Character.Humanoid.Jump = true end end end wait(.5) for _,player in pairs(players) do if player.Character then if player.Character.HumanoidRootPart.Anchored == false then player.Character:SetPrimaryPartCFrame(partCFrame) end end end end function TopStatus(number) for i = number, 0, -1 do Status.Value = "Waiting For Players("..i..")" wait(1) end Status.Value = "None" end function SetObjective(Text) ObjectiveValue.Value = Text end function ClearObjective() ObjectiveValue.Value = "None" end function ChapterComplete() for _, player in pairs(game.Players:GetPlayers()) do spawn(function() local NewGui = game.ServerStorage:WaitForChild("Assets"):FindFirstChild("ChapterComplete"):Clone() NewGui.Parent = player.PlayerGui wait(5) local TeleportData = { AddWins = true, PlayerName = player.UserId } player.Coins.Value = player.Coins.Value + 100 player.leaderstats.Wins.Value = player.leaderstats.Wins.Value + 1 TeleportService:Teleport(11258969850, player, TeleportData) end) end end function AddCoins(AddCoin) for i, v in pairs(game.Players:GetPlayers()) do spawn(function() v.Coins.Value += AddCoin end) end end -- MainScript --