local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local Lighting = game:GetService("Lighting") local LocalPlayer = Players.LocalPlayer local Variant = "Tenna" --'Tenna' or 'Break' local HatMeshID = "rbxassetid://138977266310225" local HatTextureID = "rbxassetid://81342655410546" local fightMusicPlaying = false local altMusicId = 135016968989292 --retro type music idk i dont like it but its here local fightMusicId = 95455387850059 local fightSound = Instance.new("Sound") fightSound.Parent = game:GetService("SoundService") fightSound.Looped = true fightSound.Volume = 0.7 local musicEnabled = true --turn this off if you dont want music 2 play during -80 health local selectedMusic = "main" --change to 'alt' if you want the alt song local Variants = { ["Tenna"] = { Shirt = "rbxassetid://102716611187263", Pants = "rbxassetid://122608700035056", BodyColor = BrickColor.new("White") }, ["Break"] = { Shirt = "rbxassetid://86496387284917", Pants = "rbxassetid://115381306417030", BodyColor = BrickColor.new("White") }, } local function createMeshPart(name, meshId, textureId, scale) local part = Instance.new("Part") part.Name = name part.Size = Vector3.new(1,1,1) part.CanCollide = false part.Anchored = false part.Transparency = 0 local mesh = Instance.new("SpecialMesh") mesh.MeshType = Enum.MeshType.FileMesh mesh.MeshId = meshId mesh.TextureId = textureId mesh.Scale = scale or Vector3.new(1,1,1) mesh.Parent = part return part end local function MorphPlayer() local character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local variantData = Variants[Variant] if not variantData then return end for _, item in ipairs(character:GetChildren()) do if item:IsA("Accessory") or item:IsA("Hat") or item:IsA("Shirt") or item:IsA("Pants") or item:IsA("ShirtGraphic") then item:Destroy() end end local head = character:FindFirstChild("Head") if head then for _, d in ipairs(head:GetChildren()) do if d:IsA("Decal") then d:Destroy() end end end for _, part in ipairs(character:GetChildren()) do if part:IsA("BasePart") then part.BrickColor = variantData.BodyColor end end local shirt = Instance.new("Shirt") shirt.ShirtTemplate = variantData.Shirt shirt.Parent = character local pants = Instance.new("Pants") pants.PantsTemplate = variantData.Pants pants.Parent = character if head then local hat = createMeshPart("Hat", HatMeshID, HatTextureID, Vector3.new(1,1,1)) hat.Parent = character local weld = Instance.new("Weld") weld.Part0 = head weld.Part1 = hat weld.C0 = CFrame.new(-0.10, 0.9, -0.2) weld.Parent = hat end end local function playSelectedMusic() if not musicEnabled then return end if fightMusicPlaying then return end fightMusicPlaying = true if selectedMusic == "main" then fightSound.SoundId = "rbxassetid://"..fightMusicId elseif selectedMusic == "alt" then fightSound.SoundId = "rbxassetid://"..altMusicId end fightSound:Play() end local function stopFightMusic() if fightMusicPlaying then fightSound:Stop() fightMusicPlaying = false end end local function onHealthChanged(current) if current <= 80 and not fightMusicPlaying then playSelectedMusic() end if current <= 1 and fightMusicPlaying then stopFightMusic() end end local humanoid = LocalPlayer.Character:WaitForChild("Humanoid") humanoid.HealthChanged:Connect(onHealthChanged) LocalPlayer.CharacterAdded:Connect(function() task.wait(1) MorphPlayer() end) if LocalPlayer.Character then task.wait(1) MorphPlayer() end local player = LocalPlayer local gui = Instance.new("ScreenGui") gui.Name = "dialoguesys" gui.IgnoreGuiInset = true gui.ResetOnSpawn = false gui.Parent = player:WaitForChild("PlayerGui") local box = Instance.new("ImageLabel") box.Name = "dbox" box.AnchorPoint = Vector2.new(0.5, 1) box.Position = UDim2.new(0.5,0,0.95,0) box.Size = UDim2.new(0.66,0,0.24,0) box.BackgroundTransparency = 1 box.Image = "rbxassetid://76371994936176" box.ScaleType = Enum.ScaleType.Fit box.Visible = false box.Parent = gui local inner = Instance.new("Frame") inner.Name = "inner" inner.BackgroundTransparency = 1 inner.Size = UDim2.new(0.9,0,0.7,0) inner.Position = UDim2.new(0.05,0,0.15,0) inner.Parent = box local textLabel = Instance.new("TextLabel") textLabel.Name = "text" textLabel.BackgroundTransparency = 1 textLabel.Size = UDim2.new(1,-20,1,0) textLabel.Position = UDim2.new(0,200,0,0) textLabel.TextColor3 = Color3.fromRGB(255,255,255) textLabel.TextXAlignment = Enum.TextXAlignment.Left textLabel.TextYAlignment = Enum.TextYAlignment.Top textLabel.TextWrapped = true textLabel.Font = Enum.Font.Arcade textLabel.TextSize = 25 textLabel.Text = "" textLabel.Parent = inner local blipA = Instance.new("Sound") blipA.SoundId = "rbxassetid://117236105724823" blipA.Looped = true blipA.Volume = 1 blipA.Parent = box local blipB = Instance.new("Sound") blipB.SoundId = "rbxassetid://98035287592527" blipB.Looped = true blipB.Volume = 1 blipB.Parent = box local function pickBlipLoop() return (math.random() < 0.5) and blipA or blipB end local function ShowDialogue(message, specialSoundId) if not message or message == "" then return end box.Visible = true textLabel.Text = "" box.Position = UDim2.new(0.5,0,1.2,0) local inTween = TweenService:Create(box,TweenInfo.new(0.28,Enum.EasingStyle.Sine,Enum.EasingDirection.Out),{Position=UDim2.new(0.5,0,0.95,0)}) inTween:Play() inTween.Completed:Wait() local fullText = "* "..tostring(message) local blipLoop = pickBlipLoop() if not specialSoundId then blipLoop:Play() end for i=1,#fullText do textLabel.Text = string.sub(fullText,1,i) task.wait(0.03) end if specialSoundId then if blipA.IsPlaying then blipA:Stop() end if blipB.IsPlaying then blipB:Stop() end local s = Instance.new("Sound") s.SoundId = "rbxassetid://"..tostring(specialSoundId) s.Volume = 1 s.Looped = false s.Parent = box s:Play() local ended=false local conn conn = s.Ended:Connect(function() ended=true conn:Disconnect() end) local elapsed=0 local dur=s.TimeLength or 10 while not ended and elapsed < (dur+0.6) do task.wait(0.7) elapsed += 0.1 end if s.IsPlaying then pcall(function() s:Stop() end) end s:Destroy() else task.wait(0.06) if blipLoop.IsPlaying then blipLoop:Stop() end end task.wait(1.6) local outTween = TweenService:Create(box,TweenInfo.new(0.28,Enum.EasingStyle.Sine,Enum.EasingDirection.In),{Position=UDim2.new(0.5,0,1.2,0)}) outTween:Play() outTween.Completed:Wait() box.Visible=false end player.Chatted:Connect(function(msg) ShowDialogue(msg) end) ShowDialogue("Coming Straight From Your House!",80840335076210) ShowDialogue("Coming!",103256925970549) ShowDialogue("IT'S T V TIME!",97121173785008) local function PlayerDied(character) local guiOverlay = Instance.new("ImageLabel") guiOverlay.Name = "DeathOverlay" guiOverlay.Size = UDim2.new(1,0,1,0) guiOverlay.Position = UDim2.new(0,0,0,0) guiOverlay.BackgroundTransparency = 1 guiOverlay.Image = "rbxassetid://1024792661" guiOverlay.Parent = player:WaitForChild("PlayerGui") local deathSound = Instance.new("Sound") deathSound.SoundId = "rbxassetid://72483746820321" deathSound.Volume = 2 deathSound.Parent = player:WaitForChild("PlayerGui") deathSound:Play() local flashEffect = Instance.new("ColorCorrectionEffect") flashEffect.Name = "flashbang" flashEffect.Brightness = 3 flashEffect.Contrast = 5 flashEffect.Saturation = 1 flashEffect.Parent = Lighting local highlight = Instance.new("Highlight") highlight.Adornee = character highlight.FillColor = Color3.new(0,0,0) highlight.OutlineColor = Color3.new(0,0,0) highlight.FillTransparency = 0 highlight.OutlineTransparency = 0 highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = character local function clearEffects() guiOverlay:Destroy() flashEffect:Destroy() highlight:Destroy() end LocalPlayer.CharacterAdded:Connect(function() task.wait(0.5) clearEffects() end) end LocalPlayer.CharacterAdded:Connect(function(char) char:WaitForChild("Humanoid").Died:Connect(function() PlayerDied(char) end) end) if LocalPlayer.Character then local humanoid = LocalPlayer.Character:FindFirstChild("Humanoid") if humanoid then humanoid.Died:Connect(function() PlayerDied(LocalPlayer.Character) end) end end