Run it
Copy the script and paste it into your executor.
Players = :()
player = Players.LocalPlayer
backpack = player:()
(config)
tool = .()
tool.Name = config.name
tool.RequiresHandle =
tool.CanBeDropped =
gui = .()
gui.Name = config.name ..
gui.ResetOnSpawn =
gui.Enabled =
gui.Parent = player:()
button = .()
button.Size = .(, , , )
button.Position = .(, -, , )
button.BackgroundColor3 = .(, , )
button.TextColor3 = .(, , )
button.Text = config.buttonText
button.Font = .Font.GothamBold
button.TextSize =
button.Parent = gui
active =
cooldown =
animPlaying =
button.MouseButton1Click:(()
active cooldown
config.animationId
active =
cooldown =
char = player.Character
char
hrp = char:()
humanoid = char:()
hrp humanoid
anim = .()
anim.AnimationId = .. config.animationId
track = humanoid:(anim)
track:()
start = ()
() - start < config.duration
speed = .((() - start) / config.duration, , ) *
hrp.Velocity = config.(hrp) * speed
.()
track:()
active =
.(config.cooldown, ()
cooldown =
)
config.punchAnimation
animPlaying
animPlaying =
char = player.Character
char
humanoid = char:()
humanoid
anim = .()
anim.AnimationId = .. config.punchAnimation
track = humanoid:(anim)
track:()
track.Stopped:(()
animPlaying =
)
)
tool.Equipped:(()
gui.Enabled =
)
tool.Unequipped:(()
gui.Enabled =
)
(duration)
.(duration)
config.name ==
button.MouseButton1Click:(()
cooldown
.(, () () )
)
config.name ==
button.MouseButton1Click:(()
cooldown
.(, () () )
)
config.name ==
button.MouseButton1Click:(()
cooldown
.(, () () )
)
tool.Parent = backpack
({
name = ,
buttonText = ,
animationId = ,
duration = ,
cooldown = ,
velocity = (hrp)
hrp.CFrame.LookVector
})
({
name = ,
buttonText = ,
animationId = ,
duration = ,
cooldown = ,
velocity = (hrp)
-hrp.CFrame.LookVector
})
({
name = ,
buttonText = ,
punchAnimation =
})

Universal