
Key Required

-- Declare variables for state tracking
local soulSearchActive = false
local soulFlightActive = false
local soulTransfusionActive = false
local highlightInstances = {} -- Store highlight instances to remove later
local labelInstances = {} -- Store label instances to remove later
-- Create "Soul Search" tool in the toolbar
local player = game.Players.LocalPlayer
local backpack = player.Backpack
local soulSearchTool = Instance.new("Tool")
soulSearchTool.Name = "Soul Search"
soulSearchTool.RequiresHandle = false -- No physical handle required
-- Add the Soul Search tool to the player's backpack
soulSearchTool.Parent = backpack
-- Create "Soul Flight" tool in the toolbar
local soulFlightTool = Instance.new("Tool")
soulFlightTool.Name = "Soul Flight"
soulFlightTool.RequiresHandle = false -- No physical handle required
-- Add the Soul Flight tool to the player's backpack
soulFlightTool.Parent = backpack
-- Create "Soul Transfusion" tool in the toolbar
local soulTransfusionTool = Instance.new("Tool")
soulTransfusionTool.Name = "Soul Transfusion"
soulTransfusionTool.RequiresHandle = false -- No physical handle required
-- Add the Soul Transfusion tool to the player's backpack
soulTransfusionTool.Parent = backpack
-- Create GUI to display the text "Soul God moveset made by bacon god" at the top of the screen
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = player.PlayerGui
local textLabel = Instance.new("TextLabel")
textLabel.Parent = screenGui
textLabel.Size = UDim2.new(1, 0, 0, 50) -- Full width and 50px height
textLabel.Position = UDim2.new(0, 0, 0, 0) -- Position at the top
textLabel.Text = "Soul God moveset made by bacon god"
textLabel.TextColor3 = Color3.fromRGB(255, 255, 255) -- White text
textLabel.BackgroundTransparency = 1 -- No background
textLabel.Font = Enum.Font.SourceSansBold
textLabel.TextSize = 24
textLabel.TextStrokeTransparency = 0.8 -- Add text outline
textLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) -- Black outline
-- Function to activate the Soul Search ability
local function activateSoulSearch()
-- Highlight all players in green and show tool names from their backpacks
for _, otherPlayer in pairs(game.Players:GetPlayers()) do
if otherPlayer ~= player then
local character = otherPlayer.Character
if character and character:FindFirstChild("HumanoidRootPart") then
-- Create a highlight
local highlight = Instance.new("Highlight")
highlight.Parent = character
highlight.FillColor = Color3.fromRGB(0, 255, 0) -- Green color
highlight.FillTransparency = 0.5
highlight.OutlineTransparency = 0.5
highlight.OutlineColor = Color3.fromRGB(0, 255, 0)
table.insert(highlightInstances, highlight) -- Store the highlight instance
-- Display the items in their backpack above their head
local head = character:FindFirstChild("Head")
if head then
local toolNameLabel = Instance.new("BillboardGui")
toolNameLabel.Parent = head
toolNameLabel.Adornee = head
toolNameLabel.Size = UDim2.new(0, 200, 0, 50)
toolNameLabel.StudsOffset = Vector3.new(0, 2, 0)
toolNameLabel.AlwaysOnTop = true
local toolNameText = Instance.new("TextLabel")
toolNameText.Parent = toolNameLabel
toolNameText.Size = UDim2.new(1, 0, 1, 0)
toolNameText.TextColor3 = Color3.fromRGB(255, 255, 255)
toolNameText.BackgroundTransparency = 1
toolNameText.Font = Enum.Font.SourceSansBold -- Make text bold
toolNameText.TextStrokeTransparency = 0.8 -- Add an outline to the text
toolNameText.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) -- Black outline
-- Collect the tools from the player's backpack
local toolNames = {}
local backpack = otherPlayer.Backpack
for _, tool in pairs(backpack:GetChildren()) do
if tool:IsA("Tool") then
table.insert(toolNames, tool.Name)
end
end
-- Display the tool names as a comma-separated list
toolNameText.Text = table.concat(toolNames, ", ")
-- Store the label instance
table.insert(labelInstances, toolNameLabel)
end
end
end
end
end
-- Function to deactivate the Soul Search ability
local function deactivateSoulSearch()
-- Remove the highlights and tool name labels
for _, highlight in pairs(highlightInstances) do
highlight:Destroy()
end
highlightInstances = {} -- Clear the stored highlights
for _, label in pairs(labelInstances) do
label:Destroy()
end
labelInstances = {} -- Clear the stored labels
end
-- Function to activate Soul Flight ability (play animation)
local function activateSoulFlight()
-- Check if the player already has a character and humanoid
local character = player.Character
if character and character:FindFirstChild("Humanoid") then
local humanoid = character:FindFirstChild("Humanoid")
-- Load the animation for the flying effect
local animator = character:FindFirstChild("Humanoid").Animator
if not animator then
animator = Instance.new("Animator")
animator.Parent = humanoid
end
-- Create the flying animation (using the provided animation ID)
local flyingAnimation = Instance.new("Animation")
flyingAnimation.AnimationId = "rbxassetid://16597322398" -- Soul Flight Animation ID
local animationTrack = humanoid:LoadAnimation(flyingAnimation)
-- Play the animation
animationTrack:Play()
-- Set the player to float or fly upwards
local bodyVelocity = Instance.new("BodyVelocity")
bodyVelocity.MaxForce = Vector3.new(5000, 5000, 5000)
bodyVelocity.Velocity = Vector3.new(0, 50, 0) -- Adjust velocity for floating
bodyVelocity.Parent = character:FindFirstChild("HumanoidRootPart")
-- End the floating after 5 seconds (or as desired)
game:GetService("Debris"):AddItem(bodyVelocity, 5) -- Remove after 5 seconds
end
end
-- Function to deactivate Soul Flight ability (stop animation)
local function deactivateSoulFlight()
-- Check if the player has a character
local character = player.Character
if character and character:FindFirstChild("HumanoidRootPart") then
-- Stop flying or floating (remove BodyVelocity)
local bodyVelocity = character.HumanoidRootPart:FindFirstChild("BodyVelocity")
if bodyVelocity then
bodyVelocity:Destroy()
end
end
end
-- Function to teleport the player to the nearest player (Soul Transfusion)
local function activateSoulTransfusion()
local closestPlayer = nil
local shortestDistance = math.huge -- Start with a very high value
-- Loop through all players to find the closest one
for _, otherPlayer in pairs(game.Players:GetPlayers()) do
if otherPlayer ~= player and otherPlayer.Character then
local character = otherPlayer.Character
if character and character:FindFirstChild("HumanoidRootPart") then
local distance = (player.Character.HumanoidRootPart.Position - character.HumanoidRootPart.Position).Magnitude
if distance < shortestDistance then
shortestDistance = distance
closestPlayer = otherPlayer
end
end
end
end
-- Teleport to the closest player
if closestPlayer then
player.Character:SetPrimaryPartCFrame(closestPlayer.Character.HumanoidRootPart.CFrame)
end
end
-- Toggle the Soul Search ability on and off when the tool is activated
soulSearchTool.Activated:Connect(function()
soulSearchActive = not soulSearchActive -- Toggle the state
if soulSearchActive then
activateSoulSearch()
else
deactivateSoulSearch()
end
end)
-- Toggle the Soul Flight ability on and off when the SoulFlight tool is activated
soulFlightTool.Activated:Connect(function()
soulFlightActive = not soulFlightActive -- Toggle the state
if soulFlightActive then
activateSoulFlight()
else
deactivateSoulFlight()
end
end)
-- Activate Soul Transfusion when the SoulTransfusion tool is activated
soulTransfusionTool.Activated:Connect(activateSoulTransfusion)
-- atomic
local player = game.Players.LocalPlayer
local playerGui = player.PlayerGui
local hotbar = playerGui:FindFirstChild("Hotbar")
local backpack = hotbar:FindFirstChild("Backpack")
local hotbarFrame = backpack:FindFirstChild("Hotbar")
local baseButton = hotbarFrame:FindFirstChild("1").Base
local ToolName = baseButton.ToolName
ToolName.Text = "Soul Slashes" -- put the name of the base move 1
local player = game.Players.LocalPlayer
local playerGui = player.PlayerGui
local hotbar = playerGui:FindFirstChild("Hotbar")
local backpack = hotbar:FindFirstChild("Backpack")
local hotbarFrame = backpack:FindFirstChild("Hotbar")
local baseButton = hotbarFrame:FindFirstChild("2").Base
local ToolName = baseButton.ToolName
ToolName.Text = "Soul Absorb" -- put the name of the base move 2
local player = game.Players.LocalPlayer
local playerGui = player.PlayerGui
local hotbar = playerGui:FindFirstChild("Hotbar")
local backpack = hotbar:FindFirstChild("Backpack")
local hotbarFrame = backpack:FindFirstChild("Hotbar")
local baseButton = hotbarFrame:FindFirstChild("3").Base
local ToolName = baseButton.ToolName
ToolName.Text = "Soul Pulse" -- put the name of the base move 3
local player = game.Players.LocalPlayer
local playerGui = player.PlayerGui
local hotbar = playerGui:FindFirstChild("Hotbar")
local backpack = hotbar:FindFirstChild("Backpack")
local hotbarFrame = backpack:FindFirstChild("Hotbar")
local baseButton = hotbarFrame:FindFirstChild("4").Base
local ToolName = baseButton.ToolName
ToolName.Text = "Ghostly Counter" -- put the name of the base move 4
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local function findGuiAndSetText()
local screenGui = playerGui:FindFirstChild("ScreenGui")
if screenGui then
local magicHealthFrame = screenGui:FindFirstChild("MagicHealth")
if magicHealthFrame then
local textLabel = magicHealthFrame:FindFirstChild("TextLabel")
if textLabel then
textLabel.Text = "100% SOUL ABSORPTION" -- put the name of the ult name ultimate text
end
end
end
end
-- move 1
playerGui.DescendantAdded:Connect(findGuiAndSetText)
findGuiAndSetText()
local animationId = 15290930205 -- the anim that will get track
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local function onAnimationPlayed(animationTrack)
if animationTrack.Animation.AnimationId == "rbxassetid://" .. animationId then
local p = game.Players.LocalPlayer
local Humanoid = p.Character:WaitForChild("Humanoid")
for _, animTrack in pairs(Humanoid:GetPlayingAnimationTracks()) do
animTrack:Stop()
end
local AnimAnim = Instance.new("Animation")
AnimAnim.AnimationId = "rbxassetid://16719183472" -- the specific anim
local Anim = Humanoid:LoadAnimation(AnimAnim)
local startTime = 1.8 -- speed for specific
Anim:Play()
Anim:AdjustSpeed(0)
Anim.TimePosition = startTime
Anim:AdjustSpeed(1)
end
end
-- end of move 1
-- move 2
humanoid.AnimationPlayed:Connect(onAnimationPlayed)
local animationId = 15145462680 -- the move that it will track
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local function onAnimationPlayed(animationTrack)
if animationTrack.Animation.AnimationId == "rbxassetid://" .. animationId then
local p = game.Players.LocalPlayer
local Humanoid = p.Character:WaitForChild("Humanoid")
for _, animTrack in pairs(Humanoid:GetPlayingAnimationTracks()) do
animTrack:Stop()
end
local AnimAnim = Instance.new("Animation")
AnimAnim.AnimationId = "rbxassetid://15125307874" -- the specific move ur gonna replace
local Anim = Humanoid:LoadAnimation(AnimAnim)
local startTime = 0 -- speed for the specific anim
Anim:Play()
Anim:AdjustSpeed(0)
Anim.TimePosition = startTime
Anim:AdjustSpeed(1.3)
end
end
-- end of move 2
-- move 3
humanoid.AnimationPlayed:Connect(onAnimationPlayed)
local animationId = 15295895753 -- the anim that will track
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local function onAnimationPlayed(animationTrack)
if animationTrack.Animation.AnimationId == "rbxassetid://" .. animationId then
local p = game.Players.LocalPlayer
local Humanoid = p.Character:WaitForChild("Humanoid")
for _, animTrack in pairs(Humanoid:GetPlayingAnimationTracks()) do
animTrack:Stop()
end
local AnimAnim = Instance.new("Animation")
AnimAnim.AnimationId = "rbxassetid://16597912086" -- the specific anim
local Anim = Humanoid:LoadAnimation(AnimAnim)
local startTime = 0.25 -- speed for specific anim
Anim:Play()
Anim:AdjustSpeed(0)
Anim.TimePosition = startTime
Anim:AdjustSpeed(1)
delay(1.8, function()
Anim:Stop()
end)
end
end
-- end of move 3
-- move 3 (aerial)
humanoid.AnimationPlayed:Connect(onAnimationPlayed)
local animationId = 15295336270 -- the anim that will track
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local function onAnimationPlayed(animationTrack)
if animationTrack.Animation.AnimationId == "rbxassetid://" .. animationId then
local p = game.Players.LocalPlayer
local Humanoid = p.Character:WaitForChild("Humanoid")
for _, animTrack in pairs(Humanoid:GetPlayingAnimationTracks()) do
animTrack:Stop()
end
local AnimAnim = Instance.new("Animation")
AnimAnim.AnimationId = "rbxassetid://16597322398" -- the specific anim
local Anim = Humanoid:LoadAnimation(AnimAnim)
local startTime = 0.5 -- speed for specific anim
Anim:Play()
Anim:AdjustSpeed(0)
Anim.TimePosition = startTime
Anim:AdjustSpeed(1)
delay(1.8, function()
Anim:Stop()
end)
end
end
-- end of move 3 (aerial)
-- move 4
humanoid.AnimationPlayed:Connect(onAnimationPlayed)
local animationId = 15311685628 -- the specific anim that will get track
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local function onAnimationPlayed(animationTrack)
if animationTrack.Animation.AnimationId == "rbxassetid://" .. animationId then
local p = game.Players.LocalPlayer
local Humanoid = p.Character:WaitForChild("Humanoid")
for _, animTrack in pairs(Humanoid:GetPlayingAnimationTracks()) do
animTrack:Stop()
end
local AnimAnim = Instance.new("Animation")
AnimAnim.AnimationId = "rbxassetid://18896127525" -- the specific anim
local Anim = Humanoid:LoadAnimation(AnimAnim)
local startTime = 1.8 -- the speed for the specific anim
Anim:Play()
Anim:AdjustSpeed(0)
Anim.TimePosition = startTime
Anim:AdjustSpeed(1)
end
end
-- end of move 4
-- move 4 (landed)
humanoid.AnimationPlayed:Connect(onAnimationPlayed)
local animationId = 15334974550 -- the specific anim that will get track
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local function onAnimationPlayed(animationTrack)
if animationTrack.Animation.AnimationId == "rbxassetid://" .. animationId then
local p = game.Players.LocalPlayer
local Humanoid = p.Character:WaitForChild("Humanoid")
for _, animTrack in pairs(Humanoid:GetPlayingAnimationTracks()) do
animTrack:Stop()
end
local AnimAnim = Instance.new("Animation")
AnimAnim.AnimationId = "rbxassetid://18181589384" -- the specific anim
local Anim = Humanoid:LoadAnimation(AnimAnim)
local startTime = 0.25 -- the speed for the specific anim
Anim:Play()
Anim:AdjustSpeed(0)
Anim.TimePosition = startTime
Anim:AdjustSpeed(1)
end
end
-- end of move 4 (landed)
-- move 4 (finisher)
humanoid.AnimationPlayed:Connect(onAnimationPlayed)
local animationId = 15487418517 -- the specific anim that will get track
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local function onAnimationPlayed(animationTrack)
if animationTrack.Animation.AnimationId == "rbxassetid://" .. animationId then
local p = game.Players.LocalPlayer
local Humanoid = p.Character:WaitForChild("Humanoid")
for _, animTrack in pairs(Humanoid:GetPlayingAnimationTracks()) do
animTrack:Stop()
end
local AnimAnim = Instance.new("Animation")
AnimAnim.AnimationId = "rbxassetid://18464372850" -- the specific anim
local Anim = Humanoid:LoadAnimation(AnimAnim)
local startTime = 2 -- the speed for the specific anim
Anim:Play()
Anim:AdjustSpeed(0)
Anim.TimePosition = startTime
Anim:AdjustSpeed(1)
end
end
-- end of move 4 (finisher)
-- ult move 1
humanoid.AnimationPlayed:Connect(onAnimationPlayed)
local animationId = 15520132233 -- the anim will get track
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local function onAnimationPlayed(animationTrack)
if animationTrack.Animation.AnimationId == "rbxassetid://" .. animationId then
local p = game.Players.LocalPlayer
local Humanoid = p.Character:WaitForChild("Humanoid")
for _, animTrack in pairs(Humanoid:GetPlayingAnimationTracks()) do
animTrack:Stop()
end
local AnimAnim = Instance.new("Animation")
AnimAnim.AnimationId = "rbxassetid://14719290328" -- the specific anim
local Anim = Humanoid:LoadAnimation(AnimAnim)
local startTime = 2 -- speed for specific anim
Anim:Play()
Anim:AdjustSpeed(0)
Anim.TimePosition = startTime
Anim:AdjustSpeed(0.4)
end
end
-- end of ult move 1
-- ult move 2
humanoid.AnimationPlayed:Connect(onAnimationPlayed)
local animationId = 15676072469 -- the anim will get track
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local function onAnimationPlayed(animationTrack)
if animationTrack.Animation.AnimationId == "rbxassetid://" .. animationId then
local p = game.Players.LocalPlayer
local Humanoid = p.Character:WaitForChild("Humanoid")
for _, animTrack in pairs(Humanoid:GetPlayingAnimationTracks()) do
animTrack:Stop()
end
local AnimAnim = Instance.new("Animation")
AnimAnim.AnimationId = "rbxassetid://17860467628" -- the specific anim
local Anim = Humanoid:LoadAnimation(AnimAnim)
local startTime = 2 -- speed for specific anim
Anim:Play()
Anim:AdjustSpeed(0)
Anim.TimePosition = startTime
Anim:AdjustSpeed(0.5)
end
end
-- end of ult move 2
-- ult move 3
humanoid.AnimationPlayed:Connect(onAnimationPlayed)
local animationId = 16062410809 -- the anim will get track
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local function onAnimationPlayed(animationTrack)
if animationTrack.Animation.AnimationId == "rbxassetid://" .. animationId then
local p = game.Players.LocalPlayer
local Humanoid = p.Character:WaitForChild("Humanoid")
for _, animTrack in pairs(Humanoid:GetPlayingAnimationTracks()) do
animTrack:Stop()
end
local AnimAnim = Instance.new("Animation")
AnimAnim.AnimationId = "rbxassetid://18440406788" -- the specific anim
local Anim = Humanoid:LoadAnimation(AnimAnim)
local startTime = 1 -- speed for specific anim
Anim:Play()
Anim:AdjustSpeed(0)
Anim.TimePosition = startTime
Anim:AdjustSpeed(0.5)
end
end
-- end of ult move 3
-- ult move 3 (landed)
humanoid.AnimationPlayed:Connect(onAnimationPlayed)
local animationId = 16062712948 -- the anim will get track
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local function onAnimationPlayed(animationTrack)
if animationTrack.Animation.AnimationId == "rbxassetid://" .. animationId then
local p = game.Players.LocalPlayer
local Humanoid = p.Character:WaitForChild("Humanoid")
for _, animTrack in pairs(Humanoid:GetPlayingAnimationTracks()) do
animTrack:Stop()
end
local AnimAnim = Instance.new("Animation")
AnimAnim.AnimationId = "rbxassetid://12983333733" -- the specific anim
local Anim = Humanoid:LoadAnimation(AnimAnim)
local startTime = 2 -- speed for specific anim
Anim:Play()
Anim:AdjustSpeed(0)
Anim.TimePosition = startTime
Anim:AdjustSpeed(0.5)
end
end
-- end of ult move 3 (landed)
-- ult move 4
humanoid.AnimationPlayed:Connect(onAnimationPlayed)
local animationId = 16082123712 -- the anim will get track
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local function onAnimationPlayed(animationTrack)
if animationTrack.Animation.AnimationId == "rbxassetid://" .. animationId then
local p = game.Players.LocalPlayer
local Humanoid = p.Character:WaitForChild("Humanoid")
for _, animTrack in pairs(Humanoid:GetPlayingAnimationTracks()) do
animTrack:Stop()
end
local AnimAnim = Instance.new("Animation")
AnimAnim.AnimationId = "rbxassetid://15125307874" -- the specific anim
local Anim = Humanoid:LoadAnimation(AnimAnim)
local startTime = 2 -- speed for specific anim
Anim:Play()
Anim:AdjustSpeed(0)
Anim.TimePosition = startTime
Anim:AdjustSpeed(0.25)
end
end
-- end of ult move 4
-- ult move 4 (landed)
humanoid.AnimationPlayed:Connect(onAnimationPlayed)
local animationId = 16057411888 -- the anim will get track
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local function onAnimationPlayed(animationTrack)
if animationTrack.Animation.AnimationId == "rbxassetid://" .. animationId then
local p = game.Players.LocalPlayer
local Humanoid = p.Character:WaitForChild("Humanoid")
for _, animTrack in pairs(Humanoid:GetPlayingAnimationTracks()) do
animTrack:Stop()
end
local AnimAnim = Instance.new("Animation")
AnimAnim.AnimationId = "rbxassetid://18903642853" -- the specific anim
local Anim = Humanoid:LoadAnimation(AnimAnim)
local startTime = 2 -- speed for specific anim
Anim:Play()
Anim:AdjustSpeed(0)
Anim.TimePosition = startTime
Anim:AdjustSpeed(0.1)
end
end
-- end of ult move 4 (landed)
-- wall combo
humanoid.AnimationPlayed:Connect(onAnimationPlayed)
local animationId = 15955393872 -- the anim that will get track
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local function onAnimationPlayed(animationTrack)
if animationTrack.Animation.AnimationId == "rbxassetid://" .. animationId then
local p = game.Players.LocalPlayer
local Humanoid = p.Character:WaitForChild("Humanoid")
for _, animTrack in pairs(Humanoid:GetPlayingAnimationTracks()) do
animTrack:Stop()
end
local AnimAnim = Instance.new("Animation")
AnimAnim.AnimationId = "rbxassetid://18903642853" -- the specific anim
local Anim = Humanoid:LoadAnimation(AnimAnim)
local startTime = 0.05 -- speed for the specific anim
Anim:Play()
Anim:AdjustSpeed(0)
Anim.TimePosition = startTime
Anim:AdjustSpeed(1)
end
end
-- end of wall combo
-- ult anim
humanoid.AnimationPlayed:Connect(onAnimationPlayed)
local animationId = 15391323441 -- the anim will get track
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local function onAnimationPlayed(animationTrack)
if animationTrack.Animation.AnimationId == "rbxassetid://" .. animationId then
local p = game.Players.LocalPlayer
local Humanoid = p.Character:WaitForChild("Humanoid")
for _, animTrack in pairs(Humanoid:GetPlayingAnimationTracks()) do
animTrack:Stop()
end
local AnimAnim = Instance.new("Animation")
AnimAnim.AnimationId = "rbxassetid://14719290328" -- the specific anim
local Anim = Humanoid:LoadAnimation(AnimAnim)
local startTime = 0 -- the specific anim
Anim:Play()
Anim:AdjustSpeed(0)
Anim.TimePosition = startTime
Anim:AdjustSpeed(0.5)
end
end
-- the end of ult anim
-- m1's
humanoid.AnimationPlayed:Connect(onAnimationPlayed)
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
-- the anim that will get track
local animationIdsToStop = {
[10469493270] = true,
[10469630950] = true,
[10469639222] = true,
[10469643643] = true,
}
-- the specific anim
local replacementAnimations = {
["10469643643"] = "rbxassetid://17889290569", -- 4th m1's dont change the [12345678910] change the rbxassetid://123..
["10469639222"] = "rbxassetid://17889471098", -- 3rd m1's dont change the [12345678910] change the rbxassetid://123..
["10469630950"] = "rbxassetid://17889461810", -- 2nd m1's dont change the [12345678910] change the rbxassetid://123..
["10469493270"] = "rbxassetid://17889458563", -- 1st m1's dont change the [12345678910] change the rbxassetid://123..
}
local queue = {}
local isAnimating = false
local function playReplacementAnimation(animationId)
if isAnimating then
table.insert(queue, animationId)
return
end
-- end of m1s
-- ignore
isAnimating = true
local replacementAnimationId = replacementAnimations[tostring(animationId)]
if replacementAnimationId then
local AnimAnim = Instance.new("Animation")
AnimAnim.AnimationId = replacementAnimationId
local Anim = humanoid:LoadAnimation(AnimAnim)
Anim:Play()
Anim.Stopped:Connect(function()
isAnimating = false
if #queue > 0 then
local nextAnimationId = table.remove(queue, 1)
playReplacementAnimation(nextAnimationId)
end
end)
else
isAnimating = false
end
end
local function stopSpecificAnimations()
for _, track in ipairs(humanoid:GetPlayingAnimationTracks()) do
local animationId = tonumber(track.Animation.AnimationId:match("%d+"))
if animationIdsToStop[animationId] then
track:Stop()
end
end
end
local function onAnimationPlayed(animationTrack)
local animationId = tonumber(animationTrack.Animation.AnimationId:match("%d+"))
if animationIdsToStop[animationId] then
stopSpecificAnimations()
animationTrack:Stop()
local replacementAnimationId = replacementAnimations[tostring(animationId)]
if replacementAnimationId then
playReplacementAnimation(animationId)
end
end
end
humanoid.AnimationPlayed:Connect(onAnimationPlayed)
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
local function onBodyVelocityAdded(bodyVelocity)
if bodyVelocity:IsA("BodyVelocity") then
bodyVelocity.Velocity = Vector3.new(bodyVelocity.Velocity.X, 0, bodyVelocity.Velocity.Z)
end
end
character.DescendantAdded:Connect(onBodyVelocityAdded)
for _, descendant in pairs(character:GetDescendants()) do
onBodyVelocityAdded(descendant)
end
player.CharacterAdded:Connect(function(newCharacter)
character = newCharacter
humanoidRootPart = character:WaitForChild("HumanoidRootPart")
character.DescendantAdded:Connect(onBodyVelocityAdded)
for _, descendant in pairs(character:GetDescendants()) do
onBodyVelocityAdded(descendant)
end
end)
what character?
chatgpt moment
@frostyyy its Atomic Samurai
chat bbg
Does it work?
the strongest ai
@yezamaarouf20 this dont work dawg