Custom Ability: Slide!
Key Required

Custom Ability: Slide!

PURSUITCOREC0lbolt_L0LC0lbolt_L0L 1K views 637 executesUpdated Sep 24, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•128 lines (4040 chars)
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
local Debris = game:GetService("Debris")
local cooldown = false
local immunityTag = "SallyRollImmunity"

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

local rollButton = Instance.new("ImageButton")
rollButton.Size = UDim2.new(0, 80, 0, 80)
rollButton.Position = UDim2.new(1, -210, 0.5, 0)
rollButton.BackgroundTransparency = 1
rollButton.Name = "RollButton"
rollButton.Parent = screenGui
rollButton.Image = "rbxassetid://5743593320"

local imageOff = "rbxassetid://5743593320"
local imageOn = "rbxassetid://5743593320"

local extraImage = Instance.new("ImageLabel")
extraImage.Size = UDim2.new(0, 60, 0, 60)
extraImage.Position = UDim2.new(1, -201, 0.5, -22)
extraImage.BackgroundTransparency = 1
extraImage.Image = ""
extraImage.Parent = screenGui

local circle = Instance.new("Frame")
circle.Size = UDim2.new(0, 60, 0, 60)
circle.Position = UDim2.new(0.86, -30, 0.88, -30)
circle.AnchorPoint = Vector2.new(0.5, 0.5)
circle.BackgroundColor3 = Color3.new(1, 1, 1)
circle.BackgroundTransparency = 1
circle.ZIndex = 2
circle.Parent = rollButton

local circleCorner = Instance.new("UICorner", circle)
circleCorner.CornerRadius = UDim.new(0.5, 0)

local cooldownImage = Instance.new("ImageLabel")
cooldownImage.Size = UDim2.new(1, 0, 1, 0)
cooldownImage.Position = UDim2.new(0, 0, 0, 0)
cooldownImage.BackgroundTransparency = 1
cooldownImage.Image = ""
cooldownImage.Visible = false
cooldownImage.Parent = circle

local function startCooldown()
    cooldown = true
    cooldownImage.Visible = true
    rollButton.Image = imageOff
    circle.BackgroundTransparency = 0.5
    wait(26)
    rollButton.Image = imageOff
    circle.BackgroundTransparency = 1
    cooldownImage.Visible = false
    cooldown = false
end

local function activateRoll()
    if cooldown or not character or not humanoidRootPart then return end
    cooldown = true
    rollButton.Image = imageOn

    local animation = Instance.new("Animation")
    animation.AnimationId = "rbxassetid://131093058595075"
    local animTrack = humanoid:LoadAnimation(animation)
    animTrack:Play()

    local direction1 = humanoidRootPart.CFrame.LookVector * 30
    local velocity1 = Instance.new("BodyVelocity")
    velocity1.Velocity = direction1
    velocity1.MaxForce = Vector3.new(100000, 0, 100000)
    velocity1.P = 5000
    velocity1.Parent = humanoidRootPart
    Debris:AddItem(velocity1, 0.3)
    wait(0.3)

    velocity1:Destroy()

    local direction2 = humanoidRootPart.CFrame.LookVector * 55
    local velocity2 = Instance.new("BodyVelocity")
    velocity2.Velocity = direction2
    velocity2.MaxForce = Vector3.new(100000, 0, 100000)
    velocity2.P = 5000
    velocity2.Parent = humanoidRootPart
    Debris:AddItem(velocity2, 0.7)

    local immuneTag = Instance.new("BoolValue")
    immuneTag.Name = immunityTag
    immuneTag.Parent = character
    Debris:AddItem(immuneTag, 1)

    wait(1)
    startCooldown()
end

-- Detectar tanto el clic como la tecla "Z"
rollButton.MouseButton1Click:Connect(activateRoll)

game:GetService("UserInputService").InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end
    if input.KeyCode == Enum.KeyCode.T then
        activateRoll()
    end
end)

humanoid.Died:Connect(function()
    if screenGui then screenGui:Destroy() end
end)

player.CharacterAdded:Connect(function()
    if screenGui then screenGui:Destroy() end
end)

local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")

humanoid:GetPropertyChangedSignal("Health"):Connect(function()
    if character:FindFirstChild("SallyRollImmunity") then
        humanoid.Health = humanoid.MaxHealth
    end
end)

Features & Information

The name says it all, right? A skill for everyone to use (The animation does not work in Kit or Crafter)
#YahooNyanSlideForAll

Community Comments (1)

C0lbolt_L0LC0lbolt_L0LSep 25, 2026

And if you're going to test it: Yes, it can be used in other games, but it doesn't have the slide animation

More Scripts for PURSUITCORE