-- Sungmingamerpro13 -- Services PlayerService = game:GetService('Players') TweenService = game:GetService('TweenService') local BroadCastMessageEvent = game.ReplicatedStorage.DialogueRemotes.BroadCastMessage local SetMessageSpeakerEvent = game.ReplicatedStorage.DialogueRemotes.SetMessageSpeaker local HideMessageSpeakerEvent = game.ReplicatedStorage.DialogueRemotes.HideMessageSpeaker -- Other Useful Functions DefaultMessageDelayTime = 4 MessageWaitSigns = {',', '?', '.'} local randomPlayer local randomPlayerName local randomPlayerId local function getPlayerImage(player_id) local content, isReady = game:GetService("Players"):GetUserThumbnailAsync(player_id, Enum.ThumbnailType.AvatarBust, Enum.ThumbnailSize.Size420x420) return content end local function getRandomPlayer() local players = game.Players:getPlayers() local number = math.random(1,#players) local randomPlayer = players[number] randomPlayerName = randomPlayer.Name randomPlayerId = randomPlayer.UserId 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 Teleport(TeleportPosition) for i, players in pairs(game.Players:GetChildren()) do players.Character:FindFirstChild("HumanoidRootPart").CFrame = TeleportPosition end end function BroadCastMessage(Text, MessageDelayTime) for i = 1,#Text,1 do BroadCastMessageEvent:FireAllClients(string.sub(Text,1,i)) for _, L in pairs(MessageWaitSigns) do if string.sub(Text,i,i) == L then end end end if tonumber(MessageDelayTime) ~= nil then wait(MessageDelayTime) else wait(DefaultMessageDelayTime) end HideMessageSpeakerEvent:FireAllClients() return true end function SetMessageSpeaker(Name, Image) SetMessageSpeakerEvent:FireAllClients(Name, Image) end -- NPCS -- local Leader_Image = "rbxassetid://10602727357" local NPC_Image = "rbxassetid://" local Monster_Image = "rbxassetid://" -- MainScript --