
Key RequiredUniversal

--[[ Made by MRGLUCKINGBALL & R_MP6
█▀ ▀█▀ █▀█ █▀▀ ▀█▀ █▀▀ █░█ █▀▀ █▀▄
▄█ ░█░ █▀▄ ██▄ ░█░ █▄▄ █▀█ ██▄ █▄▀
]]
------------------- SETTINGS -------------------
local KEY_MOVESET1 = Enum.KeyCode.Z
local BUTTON1_IMAGE_ON = "rbxassetid://93088560418548" -- when custom animations active
local BUTTON1_IMAGE_OFF = "rbxassetid://132573142038191" -- when custom animations disabled
local IdleAnimId = "rbxassetid://91348372558295"
local WalkAnimId = "rbxassetid://134010853417610"
local Move1AnimId = "rbxassetid://129469072457859"
local Move1Cooldown = 3
-- Move1 timing
local MOVE1_START_TIME = 6 -- seconds
local MOVE1_FIRST_DURATION = 2 -- first press
local MOVE1_SECOND_DURATION = 6 -- second press
------------------------------------------------
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
------------------------------------------------
-- SETUP FUNCTION
------------------------------------------------
local function Setup(char)
local humanoid = char:WaitForChild("Humanoid")
task.wait(0.2)
local animate = char:FindFirstChild("Animate")
if animate then animate.Disabled = true end
------------------------------------------------
-- BASE ANIMATIONS
------------------------------------------------
local idle = Instance.new("Animation")
idle.AnimationId = IdleAnimId
local idleTrack = humanoid:LoadAnimation(idle)
idleTrack.Looped = true
idleTrack.Priority = Enum.AnimationPriority.Movement
local walk = Instance.new("Animation")
walk.AnimationId = WalkAnimId
local walkTrack = humanoid:LoadAnimation(walk)
walkTrack.Looped = true
walkTrack.Priority = Enum.AnimationPriority.Movement
local customMovementEnabled = true
------------------------------------------------
-- BUTTON IMAGE UPDATE
------------------------------------------------
local btn -- will store mobile button
local function UpdateButtonImage()
if btn then
if customMovementEnabled then
btn.Image = BUTTON1_IMAGE_ON
else
btn.Image = BUTTON1_IMAGE_OFF
end
end
end
------------------------------------------------
-- CUSTOM MOVEMENT FUNCTIONS
------------------------------------------------
local function enableCustomMovement()
customMovementEnabled = true
idleTrack:Play()
if animate then animate.Disabled = true end
UpdateButtonImage()
end
local function disableCustomMovement()
customMovementEnabled = false
idleTrack:Stop()
walkTrack:Stop()
if animate then animate.Disabled = false end
UpdateButtonImage()
end
enableCustomMovement()
humanoid.Running:Connect(function(speed)
if not customMovementEnabled then return end
if speed > 1 then
if not walkTrack.IsPlaying then
idleTrack:Stop()
walkTrack:Play()
end
else
if not idleTrack.IsPlaying then
walkTrack:Stop()
idleTrack:Play()
end
end
end)
------------------------------------------------
-- MOVE1 ANIMATION
------------------------------------------------
local move1 = Instance.new("Animation")
move1.AnimationId = Move1AnimId
local move1Track = humanoid:LoadAnimation(move1)
move1Track.Priority = Enum.AnimationPriority.Action
local move1Ready = true
local move1Toggled = false
local isUsingMove = false
local function PlayMove1()
if not move1Ready or isUsingMove then return end
isUsingMove = true
move1Ready = false
task.delay(Move1Cooldown, function()
move1Ready = true
end)
move1Track:Stop()
move1Track:Play()
RunService.Heartbeat:Wait()
if not move1Toggled then
-- FIRST PRESS: start at 6s, play 2s
move1Track.TimePosition = MOVE1_START_TIME
disableCustomMovement()
move1Toggled = true
task.delay(MOVE1_FIRST_DURATION, function()
if move1Track.IsPlaying then
move1Track:Stop()
end
isUsingMove = false
end)
else
-- SECOND PRESS: start at 0s, play 6s
move1Track.TimePosition = 0
task.delay(0.05, function()
enableCustomMovement()
move1Toggled = false
end)
task.delay(MOVE1_SECOND_DURATION, function()
if move1Track.IsPlaying then
move1Track:Stop()
end
isUsingMove = false
end)
end
end
------------------------------------------------
-- INPUT
------------------------------------------------
UIS.InputBegan:Connect(function(input, gp)
if gp then return end
if input.KeyCode == KEY_MOVESET1 then
PlayMove1()
end
end)
PlayMove1Global = PlayMove1
------------------------------------------------
-- MOBILE BUTTON
------------------------------------------------
local function CreateButton(imageId, position, callback)
local gui = player.PlayerGui:FindFirstChild("ScreenGui")
if not gui then
gui = Instance.new("ScreenGui")
gui.Name = "ScreenGui"
gui.ResetOnSpawn = false
gui.Parent = player.PlayerGui
end
btn = Instance.new("ImageButton")
btn.Size = UDim2.new(0, 90, 0, 90)
btn.Position = position
btn.Image = imageId
btn.BackgroundTransparency = 1
btn.Parent = gui
btn.MouseButton1Click:Connect(callback)
end
CreateButton(BUTTON1_IMAGE_ON, UDim2.new(0.05, 0, 0.75, 0), function()
if PlayMove1Global then PlayMove1Global() end
end)
end
------------------------------------------------
-- CHARACTER LOAD
------------------------------------------------
player.CharacterAdded:Connect(Setup)
if player.Character then Setup(player.Character) end



Btw this is *FE
Fire script bro
W Script, 1 thing tho, i think there should be a jump fall and return to normal animation,.
I feel like the animations should be more aggressive and also taller to moreso match flowers Good script though
Это визуальный эффект? Или его видят другие игроки
W
can you make it taller