Frost Walker Boots R15 But Works For R6 Universal
Key RequiredUniversal

Frost Walker Boots R15 But Works For R6 Universal

Universal ScriptKalanGamesYTKalanGamesYT 852 views 132 executesUpdated Jan 23, 2026
Unrated
00
Lua Script•220 lines (5359 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Debris = game:GetService("Debris")
local UIS = game:GetService("UserInputService")

local player = Players.LocalPlayer
local bootsOn = false
local sneaking = false
local iceCooldown = 0
local lastHealth = nil
local damageCooldown = 1.5
local lastDamageTime = 0

-- TOOL
local tool = Instance.new("Tool")
tool.Name = "FrostWalkerBoots"
tool.TextureId = "rbxassetid://97625418048677"
tool.RequiresHandle = true
tool.CanBeDropped = true

local handle = Instance.new("Part")
handle.Name = "Handle"
handle.Size = Vector3.new(1,1,1)
handle.Transparency = 0.5
handle.Material = Enum.Material.Neon
handle.Color = Color3.fromRGB(0,255,255)
handle.Parent = tool
tool.Parent = player:WaitForChild("Backpack")

-- STUD TEXTURE
local function addStudTexture(part)
	for _,face in ipairs({Enum.NormalId.Top, Enum.NormalId.Bottom}) do
		local t = Instance.new("Texture")
		t.Texture = "rbxassetid://1095708"
		t.Face = face
		t.StudsPerTileU = 4
		t.StudsPerTileV = 4
		t.Parent = part
	end
end

-- STORAGE
local bootParts = {}

local function weld(a,b)
	local w = Instance.new("WeldConstraint")
	w.Part0 = a
	w.Part1 = b
	w.Parent = a
end

-- CREATE BOOT ON LIMB (R15)
local function createBootOnLimb(limb)
	if not limb then return end

	local boot = Instance.new("Part")
	boot.Size = limb.Size + Vector3.new(0.15,0.15,0.15)
	boot.Material = Enum.Material.Plastic
	boot.Color = Color3.fromRGB(50,150,255)
	boot.CanCollide = false
	boot.CFrame = limb.CFrame * CFrame.new(0,-0.1,0)
	addStudTexture(boot)
	boot.Parent = limb.Parent
	weld(boot, limb)
	table.insert(bootParts, boot)

	local glint = Instance.new("Part")
	glint.Size = boot.Size + Vector3.new(0.02,0.02,0.02)
	glint.Material = Enum.Material.ForceField
	glint.Transparency = 0.3
	glint.Color = Color3.fromRGB(160,0,255)
	glint.CanCollide = false
	glint.CFrame = boot.CFrame
	glint.Parent = limb.Parent
	weld(glint, boot)
	table.insert(bootParts, glint)
end

-- CREATE BOOTS
local function createBoots(character)
	local humanoid = character:FindFirstChildOfClass("Humanoid")
	if not humanoid then return end

	-- R6
	if humanoid.RigType == Enum.HumanoidRigType.R6 then
		for _,name in ipairs({"Left Leg","Right Leg"}) do
			local leg = character:FindFirstChild(name)
			if leg then
				createBootOnLimb(leg)
			end
		end
	-- R15
	else
		for _,name in ipairs({
			"LeftLowerLeg","LeftFoot",
			"RightLowerLeg","RightFoot"
		}) do
			createBootOnLimb(character:FindFirstChild(name))
		end
	end
end

local function removeBoots()
	for _,p in ipairs(bootParts) do
		if p then p:Destroy() end
	end
	table.clear(bootParts)
end

-- HEALTH BOOST
local function addHealthBoost(h)
	h.MaxHealth += 40
	h.Health += 40
end
local function removeHealthBoost(h)
	h.MaxHealth -= 40
	if h.Health > h.MaxHealth then
		h.Health = h.MaxHealth
	end
end

-- TOOL TOGGLE
tool.Activated:Connect(function()
	local char = player.Character
	local hum = char and char:FindFirstChildOfClass("Humanoid")
	bootsOn = not bootsOn

	if bootsOn then
		createBoots(char)
		if hum then addHealthBoost(hum) end
	else
		removeBoots()
		if hum then removeHealthBoost(hum) end
	end
end)

-- ICE WALK
RunService.Heartbeat:Connect(function(dt)
	if not bootsOn then return end
	iceCooldown -= dt
	if iceCooldown > 0 then return end

	local char = player.Character
	local root = char and char:FindFirstChild("HumanoidRootPart")
	if not root then return end

	local params = RaycastParams.new()
	params.FilterDescendantsInstances = {char}
	params.FilterType = Enum.RaycastFilterType.Blacklist

	local ray = workspace:Raycast(root.Position, Vector3.new(0,-6,0), params)
	if ray and ray.Instance and not ray.Instance.CanCollide then
		local gx = math.floor(root.Position.X/3)*3
		local gz = math.floor(root.Position.Z/3)*3

		local ice = Instance.new("Part")
		ice.Size = Vector3.new(3,3,3)
		ice.Position = Vector3.new(gx+1.5, ray.Position.Y+1.5, gz+1.5)
		ice.Anchored = true
		ice.CanCollide = true
		ice.Material = Enum.Material.Plastic
		ice.Color = Color3.fromRGB(160,230,255)
		ice.Reflectance = 0.4
		addStudTexture(ice)
		ice.Parent = workspace

		Debris:AddItem(ice,4)
		iceCooldown = 0.2
	end
end)

-- DAMAGE FEEDBACK
RunService.Heartbeat:Connect(function()
	local char = player.Character
	local hum = char and char:FindFirstChildOfClass("Humanoid")
	if not hum then return end

	if not lastHealth then
		lastHealth = hum.Health
		return
	end

	if hum.Health < lastHealth and tick()-lastDamageTime > damageCooldown then
		lastDamageTime = tick()

		local h = Instance.new("Highlight")
		h.FillColor = Color3.new(1,0,0)
		h.FillTransparency = 0.5
		h.OutlineTransparency = 1
		h.Parent = char

		local s = Instance.new("Sound")
		s.SoundId = "rbxassetid://102904154168830"
		s.Volume = 1
		s.Parent = char:FindFirstChild("HumanoidRootPart")
		s:Play()

		Debris:AddItem(h,0.3)
		Debris:AddItem(s,2)
	end

	lastHealth = hum.Health
end)

-- DEATH DROP
player.CharacterAdded:Connect(function(char)
	bootsOn = false
	removeBoots()

	char:WaitForChild("Humanoid").Died:Connect(function()
		tool.Parent = workspace
		handle.CFrame = char.HumanoidRootPart.CFrame
		handle.CanCollide = true

		local spin = Instance.new("BodyAngularVelocity")
		spin.AngularVelocity = Vector3.new(0,6,0)
		spin.MaxTorque = Vector3.new(0,math.huge,0)
		spin.Parent = handle
	end)
end)

Features & Information

Works in most games without an anticheat.

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts