Coolkid r15
Key RequiredUniversal

Coolkid r15

Universal ScriptJustahackertwinJustahackertwin 3.7K views 3.3K executesUpdated Jan 20, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•231 lines (6326 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UIS = game:GetService("UserInputService")

local player = Players.LocalPlayer

local NORMAL_SPEED = 10
local SPRINT_SPEED = 35
local WSOD_SPEED = 80
local WSOD_TIME = 3
local MAX_HP = 100

local sprinting = false
local wsodActive = false

local gui = Instance.new("ScreenGui")
gui.Name = "ForsakenGUI"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")

local char, hum, root
local idle, walk, run, wsod

local function loadAnim(id, priority)
	local a = Instance.new("Animation")
	a.AnimationId = id
	local t = hum:LoadAnimation(a)
	t.Priority = priority
	return t
end

local function stopAllAnims()
	if idle then idle:Stop() end
	if walk then walk:Stop() end
	if run then run:Stop() end
	if wsod then wsod:Stop() end
end

local toggleFrame = Instance.new("Frame", gui)
toggleFrame.Size = UDim2.fromScale(0.18,0.07)
toggleFrame.Position = UDim2.fromScale(0.05,0.45)
toggleFrame.BackgroundColor3 = Color3.fromRGB(140,0,0)
toggleFrame.Active = true
toggleFrame.Draggable = true

local toggleBtn = Instance.new("TextButton", toggleFrame)
toggleBtn.Size = UDim2.fromScale(1,1)
toggleBtn.TextScaled = true
toggleBtn.Text = "OPEN"
toggleBtn.BackgroundColor3 = toggleFrame.BackgroundColor3
toggleBtn.TextColor3 = Color3.new(1,1,1)

local main = Instance.new("Frame", gui)
main.Size = UDim2.fromScale(0.6,0.45)
main.Position = UDim2.fromScale(0.2,0.25)
main.BackgroundColor3 = Color3.fromRGB(15,15,15)
main.BorderColor3 = Color3.fromRGB(150,0,0)
main.BorderSizePixel = 3
main.Visible = false
main.Active = true
main.Draggable = true

local function mkBtn(text, y)
	local b = Instance.new("TextButton", main)
	b.Size = UDim2.fromScale(0.9,0.22)
	b.Position = UDim2.fromScale(0.05, y)
	b.TextScaled = true
	b.Text = text
	b.BackgroundColor3 = Color3.fromRGB(130,0,0)
	b.TextColor3 = Color3.new(1,1,1)
	return b
end

local punchBtn = mkBtn("Punch [Z]", 0.05)
local wsodBtn = mkBtn("Walk Speed Override [X]", 0.32)
local sprintBtn = mkBtn("Sprint OFF [L]", 0.59)

local hud = Instance.new("Frame", gui)
hud.Size = UDim2.fromScale(0.32,0.11)
hud.Position = UDim2.fromScale(0.02,0.87)
hud.BackgroundTransparency = 1

local hpBack = Instance.new("Frame", hud)
hpBack.Size = UDim2.fromScale(1,0.45)
hpBack.BackgroundColor3 = Color3.fromRGB(30,30,30)

local hpBar = Instance.new("Frame", hpBack)
hpBar.Size = UDim2.fromScale(1,1)
hpBar.BackgroundColor3 = Color3.fromRGB(200,0,0)

local stamBack = Instance.new("Frame", hud)
stamBack.Size = UDim2.fromScale(1,0.45)
stamBack.Position = UDim2.fromScale(0,0.55)
stamBack.BackgroundColor3 = Color3.fromRGB(30,30,30)

local stamBar = Instance.new("Frame", stamBack)
stamBar.Size = UDim2.fromScale(1,1)
stamBar.BackgroundColor3 = Color3.fromRGB(255,255,255)

toggleBtn.MouseButton1Click:Connect(function()
	main.Visible = not main.Visible
	toggleBtn.Text = main.Visible and "CLOSE" or "OPEN"
end)

local function setupCharacter(character)
	char = character
	hum = char:WaitForChild("Humanoid")
	root = char:WaitForChild("HumanoidRootPart")

	hum.MaxHealth = MAX_HP
	hum.Health = MAX_HP
	hum.WalkSpeed = NORMAL_SPEED

	idle = loadAnim("rbxassetid://95203125292023", Enum.AnimationPriority.Idle)
	walk = loadAnim("rbxassetid://131520975704727", Enum.AnimationPriority.Movement)
	run = loadAnim("rbxassetid://70636286183373", Enum.AnimationPriority.Movement)
	wsod = loadAnim("rbxassetid://119380285634530", Enum.AnimationPriority.Action)

	idle:Play()

	hpBack.BackgroundColor3 = Color3.fromRGB(30,30,30)
	hpBar.Size = UDim2.fromScale(1,1)
	hpBar.BackgroundColor3 = Color3.fromRGB(200,0,0)

	hum.Died:Connect(function()
		stopAllAnims()
		sprinting = false
		wsodActive = false
		hpBar.Size = UDim2.fromScale(0,1)
	end)

	hum.HealthChanged:Connect(function(h)
		hpBar.Size = UDim2.fromScale(math.clamp(h / hum.MaxHealth, 0, 1), 1)
	end)
end

player.CharacterAdded:Connect(setupCharacter)
if player.Character then setupCharacter(player.Character) end

local function doPunch()
	if not hum or hum.Health <= 0 then return end
	stopAllAnims()
	local punchAnim = Instance.new("Animation")
	punchAnim.AnimationId = "rbxassetid://129358357219637"
	local punchTrack = hum:LoadAnimation(punchAnim)
	punchTrack.Priority = Enum.AnimationPriority.Action
	punchTrack.Looped = false
	punchTrack:Play()
	punchTrack.Stopped:ConnectOnce(function()
		if hum and hum.Health > 0 then
			idle:Play()
		end
	end)
end
punchBtn.MouseButton1Click:Connect(doPunch)

local function stopWSOD()
	wsodActive = false
	if root then root.AssemblyLinearVelocity = Vector3.zero end
	if hum then hum.AutoRotate = true; hum.WalkSpeed = sprinting and SPRINT_SPEED or NORMAL_SPEED end
	wsod:Stop()
end

local function doWSOD()
	if wsodActive or not hum then return end
	wsodActive = true
	stopAllAnims()
	wsod:Play()
	hum.AutoRotate = false
	local dir = root.CFrame.LookVector
	local start = tick()
	local params = RaycastParams.new()
	params.FilterDescendantsInstances = {char}
	params.FilterType = Enum.RaycastFilterType.Blacklist
	local conn
	conn = RunService.Heartbeat:Connect(function()
		if root then root.AssemblyLinearVelocity = dir * WSOD_SPEED end
		local hit = workspace:Raycast(root.Position, dir * 3, params)
		if hit then
			conn:Disconnect()
			stopWSOD()
		end
		if tick() - start >= WSOD_TIME then
			conn:Disconnect()
			stopWSOD()
		end
	end)
end
wsodBtn.MouseButton1Click:Connect(doWSOD)

local function toggleSprint()
	if not hum then return end
	sprinting = not sprinting
	if sprinting then
		hum.WalkSpeed = SPRINT_SPEED
		stopAllAnims()
		run:Play()
		sprintBtn.Text = "Sprint ON [L]"
	else
		hum.WalkSpeed = NORMAL_SPEED
		run:Stop()
		sprintBtn.Text = "Sprint OFF [L]"
	end
end
sprintBtn.MouseButton1Click:Connect(toggleSprint)

UIS.InputBegan:Connect(function(input, gpe)
	if gpe or not hum or hum.Health <= 0 then return end
	if input.KeyCode == Enum.KeyCode.Z then
		doPunch()
	elseif input.KeyCode == Enum.KeyCode.X then
		doWSOD()
	elseif input.KeyCode == Enum.KeyCode.L then
		toggleSprint()
	end
end)

RunService.Heartbeat:Connect(function()
	if not hum or wsodActive or sprinting then return end
	if hum.MoveDirection.Magnitude > 0 then
		if not walk.IsPlaying then
			stopAllAnims()
			walk:Play()
		end
	else
		if not idle.IsPlaying then
			stopAllAnims()
			idle:Play()
		end
	end
end)

Features & Information

Someone told me to make it in discord

Community Comments (4)

cOOlqaycOOlqayJan 20, 2026

Excellent script :)

cOOlqaycOOlqayJan 20, 2026

I think I'll change the script a little and post it, you won't be offended, will you?

Replying to @cOOlqay
JustahackertwinJustahackertwinSep 13, 2026

@cOOlqay nah its ok

C0okiewareC0okiewareFeb 6, 2026

Nice script dude

More Scripts for Universal Scripts