
Key Required VerifiedUniversal

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
local CoreGui = game:GetService("CoreGui")
local Lighting = game:GetService("Lighting")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local hrp = character:FindFirstChild("HumanoidRootPart")
local screenGui = nil
local abilityLabel = nil
local catLogo = nil
local allConnections = {}
local walkSpeedState = 0
local isSuperVisionActive = false
local superVisionEffect = nil
local abilities = {
{name = "VELOCIDAD GATUNA", key = "speed"},
{name = "SUPER VISTA GATUNA", key = "vision"}
}
local currentAbilityIndex = 1
local currentAbility = abilities[1]
local clickTimer = nil
local clickCount = 0
local DOUBLE_CLICK_TIME = 0.3
local ANIMATION_IDS = {
Speed8 = 97847888500780,
Speed16 = 106767496454996,
Speed30 = 118320322718866,
Speed48 = 82598234841035,
Idle = 101845046666732,
Jump = 10921242013,
Fall = 10921241244,
Climb = 10921241244,
Swim = 119798419586960,
SwimIdle = 119798419586960
}
local function updateAnimateScript(animationId)
local animate = character:FindFirstChild("Animate")
if not animate then return end
local idStr = "rbxassetid://" .. tostring(animationId)
local runAnim = animate:FindFirstChild("run")
if runAnim then
local runTrack = runAnim:FindFirstChild("RunAnim")
if runTrack then runTrack.AnimationId = idStr end
end
local walkAnim = animate:FindFirstChild("walk")
if walkAnim then
local walkTrack = walkAnim:FindFirstChild("WalkAnim")
if walkTrack then walkTrack.AnimationId = idStr end
end
animate.Enabled = false
task.wait(0.01)
animate.Enabled = true
for _, track in ipairs(humanoid:GetPlayingAnimationTracks()) do
track:Stop(0)
end
end
local function applySpeedState()
local targetSpeed = 8
local targetAnim = ANIMATION_IDS.Speed8
if walkSpeedState == 0 then
targetSpeed = 8
targetAnim = ANIMATION_IDS.Speed8
elseif walkSpeedState == 1 then
targetSpeed = 16
targetAnim = ANIMATION_IDS.Speed16
elseif walkSpeedState == 2 then
targetSpeed = 30
targetAnim = ANIMATION_IDS.Speed30
elseif walkSpeedState == 3 then
targetSpeed = 48
targetAnim = ANIMATION_IDS.Speed48
end
humanoid.WalkSpeed = targetSpeed
updateAnimateScript(targetAnim)
end
local function createUI()
if screenGui then screenGui:Destroy() end
screenGui = Instance.new("ScreenGui")
screenGui.Name = "CatAbilitiesUI"
screenGui.ResetOnSpawn = false
screenGui.Parent = CoreGui
local container = Instance.new("Frame")
container.Size = UDim2.new(0, 180, 0, 40)
container.Position = UDim2.new(0, 5, 0, 5)
container.BackgroundTransparency = 1
container.Parent = screenGui
catLogo = Instance.new("ImageButton")
catLogo.Image = "rbxassetid://8182010365"
catLogo.Size = UDim2.new(0, 35, 0, 35)
catLogo.BackgroundTransparency = 1
catLogo.Parent = container
local textContainer = Instance.new("Frame")
textContainer.Size = UDim2.new(0, 140, 0, 40)
textContainer.Position = UDim2.new(0, 40, 0, 0)
textContainer.BackgroundTransparency = 1
textContainer.Parent = container
local titleLabel = Instance.new("TextLabel")
titleLabel.Text = "FE MOD LULU"
titleLabel.Size = UDim2.new(1, 0, 0, 18)
titleLabel.BackgroundTransparency = 1
titleLabel.TextColor3 = Color3.fromRGB(255, 200, 0)
titleLabel.TextSize = 12
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.Parent = textContainer
abilityLabel = Instance.new("TextLabel")
abilityLabel.Text = currentAbility.name
abilityLabel.Size = UDim2.new(1, 0, 0, 18)
abilityLabel.Position = UDim2.new(0, 0, 0, 20)
abilityLabel.BackgroundTransparency = 1
abilityLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
abilityLabel.TextSize = 11
abilityLabel.Font = Enum.Font.Gotham
abilityLabel.TextXAlignment = Enum.TextXAlignment.Left
abilityLabel.Parent = textContainer
catLogo.MouseButton1Down:Connect(function()
clickCount = clickCount + 1
if clickCount == 1 then
clickTimer = task.delay(DOUBLE_CLICK_TIME, function()
if clickCount == 1 then
if currentAbility.key == "speed" then
walkSpeedState = walkSpeedState + 1
if walkSpeedState > 3 then walkSpeedState = 0 end
applySpeedState()
elseif currentAbility.key == "vision" then
if isSuperVisionActive then
if superVisionEffect then superVisionEffect:Destroy() end
isSuperVisionActive = false
else
superVisionEffect = Instance.new("ColorCorrectionEffect")
superVisionEffect.TintColor = Color3.fromRGB(0, 255, 0)
superVisionEffect.Parent = Lighting
isSuperVisionActive = true
end
end
end
clickCount = 0
end)
elseif clickCount == 2 then
if clickTimer then task.cancel(clickTimer) end
currentAbilityIndex = currentAbilityIndex + 1
if currentAbilityIndex > #abilities then currentAbilityIndex = 1 end
currentAbility = abilities[currentAbilityIndex]
abilityLabel.Text = currentAbility.name
clickCount = 0
end
end)
end
local function setupAnimations()
local animate = character:WaitForChild("Animate", 10)
if not animate then return end
local function set(folder, animName, id)
local f = animate:FindFirstChild(folder)
if f then
local a = f:FindFirstChild(animName)
if a then a.AnimationId = "rbxassetid://" .. tostring(id) end
end
end
set("idle", "Animation1", ANIMATION_IDS.Idle)
set("idle", "Animation2", ANIMATION_IDS.Idle)
set("jump", "JumpAnim", ANIMATION_IDS.Jump)
set("fall", "FallAnim", ANIMATION_IDS.Fall)
set("climb", "ClimbAnim", ANIMATION_IDS.Climb)
set("swim", "Swim", ANIMATION_IDS.Swim)
set("swimidle", "SwimIdle", ANIMATION_IDS.SwimIdle)
end
local function cleanup()
if screenGui then screenGui:Destroy() end
if superVisionEffect then superVisionEffect:Destroy() end
for _, conn in ipairs(allConnections) do
if conn.Connected then conn:Disconnect() end
end
end
player.CharacterAdded:Connect(function(newChar)
cleanup()
character = newChar
humanoid = character:WaitForChild("Humanoid")
createUI()
setupAnimations()
walkSpeedState = 0
applySpeedState()
end)
createUI()
setupAnimations()
walkSpeedState = 0
applySpeedState()



Cool, make a aura farming animation