Soul God Moveset
Key Required

Soul God Moveset

The Strongest BattlegroundsBacongod112Bacongod112 22.2K views 352 executesUpdated Nov 29, 2024
3.8/ 5(4 votes)
3175% Positive
Lua Script•1356 lines (29167 chars)
-- 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)

Features & Information

(DISCLAIMER!!!:NOT BASED ON ANY ANIME CHARACTER) For now all scrips will have my name to show its mine incase anyone puts my moveset in videos and you can see the new moves when you execute the script btw the lua file i had was named soul eater
#Tsbg#Tsb#The strongest battlegrounds#Soul god#Atomic samurai

Community Comments (7)

frostyyyfrostyyyNov 30, 2024(edited)

what character?

rayzeedrayzeedNov 30, 2024(edited)

chatgpt moment

yezamaarouf20yezamaarouf20Nov 30, 2024(edited)

@frostyyy its Atomic Samurai

AegisAegisNov 30, 2024(edited)

chat bbg

gaminga*a16gaminga*a16Dec 1, 2024(edited)

Does it work?

skibidisigma125skibidisigma125Dec 3, 2024(edited)

the strongest ai

frostyyyfrostyyyDec 5, 2024(edited)

@yezamaarouf20 this dont work dawg

More Scripts for The Strongest Battlegrounds