--- Sungmingamerpro13 -- Services PlayerService = game:GetService('Players') TweenService = game:GetService('TweenService') -- Variables DefaultMessageDelayTime = 4 LetterInvertal = 0.05 MessageWaitSigns = {',', '?', '.'} MessageWaitSignDelay = 1 MessageValue = game.ReplicatedStorage.Message SpeakerEvent = game.ReplicatedStorage.Message.SpeakerEvent ObjectiveEvent = game.ReplicatedStorage.ObjectiveEvent HideObjectiveEvent = game.ReplicatedStorage.ObjectiveEvent.HideObjectiveEvent TimerEvent = game.ReplicatedStorage.TimerEvent HideTimerEvent = game.ReplicatedStorage.TimerEvent.HideTimerEvent -- Setup Player Images local randomCharacter local randomCharacterName local function getRandomCharacter() local players = PlayerService:GetPlayers() repeat local number = math.random(1, #players) local randomPlayer = players[number] randomCharacter = randomPlayer.Character until randomCharacter randomCharacterName = randomCharacter.Name randomCharacter.Archivable = true 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 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 SetObjectives(Objective) ObjectiveEvent:FireAllClients(Objective) end function ClearObjectives() HideObjectiveEvent:FireAllClients() end function TopText(Text, Time) for i = Time,0,-1 do TimerEvent:FireAllClients(Text.." ("..i..")") wait(1) end HideTimerEvent:FireAllClients() end function TransitionScreen() for _, player in pairs(game.Players:GetChildren()) do spawn(function() local NewGui = game.ServerStorage.Assets.TransitionScreen:Clone() NewGui.Parent = player.PlayerGui end) end end --- MainScript of Story ---