Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Auto Blackflash
- loadstring(game:HttpGet("https://pastebin.com/raw/2cxCR5z3"))()
- -- yk the deal bud
- local Players = game:GetService("Players")
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- -- Skill Names
- local skillOne = game.Players.LocalPlayer.PlayerGui.Main.Moveset['Cursed Strikes'].ItemName
- local skillTwo = game.Players.LocalPlayer.PlayerGui.Main.Moveset['Crushing Blow'].ItemName
- local skillThree = game.Players.LocalPlayer.PlayerGui.Main.Moveset['Divergent Fist'].ItemName
- local skillFour = game.Players.LocalPlayer.PlayerGui.Main.Moveset['Manji Kick'].ItemName
- local ultTitle = game.Players.LocalPlayer.PlayerGui.Main.Ultimate.Title
- -- Set skill names
- skillOne.Text = "Machine Gun Blows"
- skillTwo.Text = "Jet Dive"
- skillThree.Text = "Ignition Burst"
- skillFour.Text = "Blitz Kick"
- ultTitle.Text = "No ult sadly"
- -- Skill 1 --
- -- Animation references
- local Ravage = ReplicatedStorage.Animations.Itadori.CursedStrike
- local RavageStart = ReplicatedStorage.Animations.Heian.Cleave
- local RavageMid = ReplicatedStorage.Animations.Locust.Clever
- -- VFX references (add your VFX paths here)
- local VFX_TEMPLATES = {
- groundWave = game.ReplicatedStorage.Utils.Itadori.DivergentFist.BlackFlash.Mid
- }
- -- Animation storage
- local loadedAnimations = {}
- local activeVFX = {}
- -- Prevent multiple triggers
- local isAnimationSequenceActive = false
- -- Function to create VFX
- local function createVFX(vfxName, character)
- if not VFX_TEMPLATES[vfxName] then
- warn("VFX template not found:", vfxName)
- return nil
- end
- local hrp = character:WaitForChild("HumanoidRootPart")
- local vfx = VFX_TEMPLATES[vfxName]:Clone()
- vfx.Parent = hrp
- activeVFX[vfxName] = vfx
- return vfx
- end
- -- Function to play VFX
- local function playVFX(vfxName, particleAmount)
- local vfx = activeVFX[vfxName]
- if not vfx then return end
- for _, child in ipairs(vfx:GetChildren()) do
- child.Color = ColorSequence.new(Color3.new(1, 1, 1))
- if child:IsA("ParticleEmitter") then
- child:Emit(particleAmount or 15)
- child.Enabled = true
- end
- end
- end
- -- Function to stop VFX
- local function stopVFX(vfxName)
- local vfx = activeVFX[vfxName]
- if not vfx then return end
- for _, child in ipairs(vfx:GetChildren()) do
- if child:IsA("ParticleEmitter") then
- child.Enabled = false
- end
- end
- end
- -- Function to cleanup VFX
- local function cleanupVFX(vfxName)
- local vfx = activeVFX[vfxName]
- if vfx then
- vfx:Destroy()
- activeVFX[vfxName] = nil
- end
- end
- -- Function to load animation
- local function loadAnimation(animId, character)
- local humanoid = character:FindFirstChildOfClass("Humanoid")
- if not humanoid then return nil end
- local animation = Instance.new("Animation")
- animation.AnimationId = animId
- return humanoid:LoadAnimation(animation)
- end
- -- Function to play animation sequence
- local function playAnimationSequence(player)
- if isAnimationSequenceActive then return end
- isAnimationSequenceActive = true
- local character = player.Character
- if not character then return end
- -- Load animations if not already loaded
- if not loadedAnimations.roughEnergy then
- loadedAnimations.RavageStart = loadAnimation(RavageStart.AnimationId, character)
- loadedAnimations.RavageMid = loadAnimation(RavageMid.AnimationId, character)
- end
- -- Stop any existing animations
- for _, track in pairs(character:FindFirstChildOfClass("Humanoid"):GetPlayingAnimationTracks()) do
- track:Stop()
- end
- -- Create VFX instances
- createVFX("groundWave", character)
- -- Custom sequence
- task.spawn(function()
- loadedAnimations.RavageStart:Play()
- task.wait(0.2)
- playVFX("groundWave", 10)
- task.wait(0.2)
- loadedAnimations.RavageStart:Stop()
- loadedAnimations.RavageMid:Play()
- stopVFX("groundWave")
- task.wait(2)
- loadedAnimations.RavageMid:Stop()
- -- Cleanup
- task.wait(0.5)
- cleanupVFX("groundWave")
- isAnimationSequenceActive = false
- end)
- end
- -- Event handler for animation played
- local function onAnimationPlayed(animationTrack)
- if animationTrack.Animation.AnimationId == Ravage.AnimationId then
- playAnimationSequence(Players.LocalPlayer)
- end
- end
- -- Set up character connections
- local function setupCharacter(character)
- -- Clear old animations
- loadedAnimations = {}
- -- Clear old VFX
- for name, vfx in pairs(activeVFX) do
- vfx:Destroy()
- end
- activeVFX = {}
- local humanoid = character:WaitForChild("Humanoid")
- humanoid.AnimationPlayed:Connect(onAnimationPlayed)
- end
- -- Connect to local player's character
- local player = Players.LocalPlayer
- setupCharacter(player.Character or player.CharacterAdded:Wait())
- player.CharacterAdded:Connect(setupCharacter)
- -- SKILL 2 --
- local Players = game:GetService("Players")
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- -- Animation references
- local divergentFist1ANIM = ReplicatedStorage.Animations.Itadori.Variants.DivergentFist1
- local divergentFist2ANIM = ReplicatedStorage.Animations.Itadori.Variants.DivergentFist2
- local divergentFist3ANIM = ReplicatedStorage.Animations.Itadori.Variants.DivergentFist3
- local chosoHairpinANIM = ReplicatedStorage.Animations.Choso.Variants.CursedStrikes2
- -- Prevent multiple triggers
- local lastTriggerTime = 0
- local TRIGGER_COOLDOWN = 1 -- Prevent retriggering within 1 second
- local isReplacing = false
- local function replaceAnimation(player)
- -- Prevent multiple simultaneous replacements
- if isReplacing then return end
- local currentTime = os.clock()
- -- Check if enough time has passed since last trigger
- if currentTime - lastTriggerTime < TRIGGER_COOLDOWN then return end
- lastTriggerTime = currentTime
- local character = player.Character
- if not character then return end
- local humanoid = character:FindFirstChildOfClass("Humanoid")
- if not humanoid then return end
- -- Set replacement flag
- isReplacing = true
- -- Create Choso Hairpin animation instance
- local chosoHairpinAnimation = Instance.new("Animation")
- chosoHairpinAnimation.AnimationId = chosoHairpinANIM.AnimationId
- -- Stop any existing animations
- for _, track in pairs(humanoid:GetPlayingAnimationTracks()) do
- track:Stop()
- end
- -- Load and play Choso Hairpin animation
- local chosoHairpinTrack = humanoid:LoadAnimation(chosoHairpinAnimation)
- chosoHairpinTrack:Play()
- -- Reset flag after animation completes
- task.delay(chosoHairpinTrack.Length, function()
- isReplacing = false
- end)
- end
- -- Event handler for animation played
- local function onAnimationPlayed(animationTrack)
- -- Check if the animation matches any of the DivergentFist variants
- local animationId = animationTrack.Animation.AnimationId
- if animationId == divergentFist1ANIM.AnimationId or
- animationId == divergentFist2ANIM.AnimationId or
- animationId == divergentFist3ANIM.AnimationId then
- replaceAnimation(Players.LocalPlayer)
- end
- end
- -- Connect to local player's character
- local player = Players.LocalPlayer
- local character = player.Character or player.CharacterAdded:Wait()
- local humanoid = character:WaitForChild("Humanoid")
- -- Connect animation played event
- humanoid.AnimationPlayed:Connect(onAnimationPlayed)
- -- Skill 3 --
- -- Animation references
- local divergentFist1 = ReplicatedStorage.Animations.Mahito.FocusStrike
- local roughEnergyANIM = ReplicatedStorage.Animations.Mahito.BodyRepel
- -- VFX references (add your VFX paths here)
- local VFX_TEMPLATES = {
- groundWave = game.ReplicatedStorage.Utils.Mahito.Worms.WormLaunch.groundwaveing,
- }
- -- Animation storage
- local loadedAnimations = {}
- local activeVFX = {}
- -- Prevent multiple triggers
- local isAnimationSequenceActive = false
- -- Function to create VFX
- local function createVFX(vfxName, character)
- if not VFX_TEMPLATES[vfxName] then
- warn("VFX template not found:", vfxName)
- return nil
- end
- local hrp = character:WaitForChild("HumanoidRootPart")
- local vfx = VFX_TEMPLATES[vfxName]:Clone()
- vfx.Parent = hrp
- activeVFX[vfxName] = vfx
- return vfx
- end
- -- Function to play VFX
- local function playVFX(vfxName, particleAmount)
- local vfx = activeVFX[vfxName]
- if not vfx then return end
- for _, child in ipairs(vfx:GetChildren()) do
- child.Color = ColorSequence.new(Color3.new(1, 0, 0))
- if child:IsA("ParticleEmitter") then
- child:Emit(particleAmount or 15)
- child.Enabled = true
- end
- end
- end
- -- Function to stop VFX
- local function stopVFX(vfxName)
- local vfx = activeVFX[vfxName]
- if not vfx then return end
- for _, child in ipairs(vfx:GetChildren()) do
- if child:IsA("ParticleEmitter") then
- child.Enabled = false
- end
- end
- end
- -- Function to cleanup VFX
- local function cleanupVFX(vfxName)
- local vfx = activeVFX[vfxName]
- if vfx then
- vfx:Destroy()
- activeVFX[vfxName] = nil
- end
- end
- -- Function to load animation
- local function loadAnimation(animId, character)
- local humanoid = character:FindFirstChildOfClass("Humanoid")
- if not humanoid then return nil end
- local animation = Instance.new("Animation")
- animation.AnimationId = animId
- return humanoid:LoadAnimation(animation)
- end
- -- Function to play animation sequence
- local function playAnimationSequence(player)
- if isAnimationSequenceActive then return end
- isAnimationSequenceActive = true
- local character = player.Character
- if not character then return end
- -- Load animations if not already loaded
- if not loadedAnimations.roughEnergy then
- loadedAnimations.roughEnergy = loadAnimation(roughEnergyANIM.AnimationId, character)
- end
- -- Stop any existing animations
- for _, track in pairs(character:FindFirstChildOfClass("Humanoid"):GetPlayingAnimationTracks()) do
- track:Stop()
- end
- -- Create VFX instances
- createVFX("groundWave", character)
- -- Custom sequence
- task.spawn(function()
- loadedAnimations.roughEnergy:Play()
- task.wait(0.2)
- playVFX("groundWave", 1)
- task.wait(0.5)
- loadedAnimations.roughEnergy:Stop()
- stopVFX("groundWave")
- -- Cleanup
- task.wait(0.5)
- cleanupVFX("groundWave")
- isAnimationSequenceActive = false
- end)
- end
- -- Event handler for animation played
- local function onAnimationPlayed(animationTrack)
- if animationTrack.Animation.AnimationId == divergentFist1.AnimationId then
- playAnimationSequence(Players.LocalPlayer)
- end
- end
- -- Set up character connections
- local function setupCharacter(character)
- -- Clear old animations
- loadedAnimations = {}
- -- Clear old VFX
- for name, vfx in pairs(activeVFX) do
- vfx:Destroy()
- end
- activeVFX = {}
- local humanoid = character:WaitForChild("Humanoid")
- humanoid.AnimationPlayed:Connect(onAnimationPlayed)
- end
- -- Connect to local player's character
- local player = Players.LocalPlayer
- setupCharacter(player.Character or player.CharacterAdded:Wait())
- player.CharacterAdded:Connect(setupCharacter)
- -- Skill 4 --
- -- Animation references
- local divergentFist2 = ReplicatedStorage.Animations.Itadori.ManjiKick
- local KJCounterANIM = ReplicatedStorage.Animations.Hakari.Luckyvolley
- -- VFX references (add your VFX paths here)
- local VFX_TEMPLATES = {
- groundWave = game:GetService("ReplicatedStorage").Utils.Damage.Explode.Head.Attachment,
- }
- -- Animation storage
- local loadedAnimations = {}
- local activeVFX = {}
- -- Prevent multiple triggers
- local isAnimationSequenceActive = false
- -- Function to create VFX
- local function createVFX(vfxName, character)
- if not VFX_TEMPLATES[vfxName] then
- warn("VFX template not found:", vfxName)
- return nil
- end
- local hrp = character:WaitForChild("HumanoidRootPart")
- local vfx = VFX_TEMPLATES[vfxName]:Clone()
- vfx.Parent = hrp
- activeVFX[vfxName] = vfx
- return vfx
- end
- -- Function to play VFX
- local function playVFX(vfxName, particleAmount)
- local vfx = activeVFX[vfxName]
- if not vfx then return end
- for _, child in ipairs(vfx:GetChildren()) do
- child.Color = ColorSequence.new(Color3.new(1, 0, 0))
- if child:IsA("ParticleEmitter") then
- child:Emit(particleAmount or 15)
- child.Enabled = true
- end
- end
- end
- -- Function to stop VFX
- local function stopVFX(vfxName)
- local vfx = activeVFX[vfxName]
- if not vfx then return end
- for _, child in ipairs(vfx:GetChildren()) do
- if child:IsA("ParticleEmitter") then
- child.Enabled = false
- end
- end
- end
- -- Function to cleanup VFX
- local function cleanupVFX(vfxName)
- local vfx = activeVFX[vfxName]
- if vfx then
- vfx:Destroy()
- activeVFX[vfxName] = nil
- end
- end
- -- Function to load animation
- local function loadAnimation(animId, character)
- local humanoid = character:FindFirstChildOfClass("Humanoid")
- if not humanoid then return nil end
- local animation = Instance.new("Animation")
- animation.AnimationId = animId
- return humanoid:LoadAnimation(animation)
- end
- -- Function to play animation sequence
- local function playAnimationSequence(player)
- if isAnimationSequenceActive then return end
- isAnimationSequenceActive = true
- local character = player.Character
- if not character then return end
- -- Load animations if not already loaded
- if not loadedAnimations.roughEnergy then
- loadedAnimations.roughEnergy = loadAnimation(KJCounterANIM.AnimationId, character)
- end
- -- Stop any existing animations
- for _, track in pairs(character:FindFirstChildOfClass("Humanoid"):GetPlayingAnimationTracks()) do
- track:Stop()
- end
- -- Create VFX instances
- createVFX("groundWave", character)
- -- Custom sequence
- task.spawn(function()
- loadedAnimations.roughEnergy:Play()
- task.wait(0.2)
- playVFX("groundWave", 1)
- task.wait(0.3)
- loadedAnimations.roughEnergy:Stop()
- stopVFX("groundWave")
- -- Cleanup
- task.wait(0.5)
- cleanupVFX("groundWave")
- isAnimationSequenceActive = false
- end)
- end
- -- Event handler for animation played
- local function onAnimationPlayed(animationTrack)
- if animationTrack.Animation.AnimationId == divergentFist2.AnimationId then
- playAnimationSequence(Players.LocalPlayer)
- end
- end
- -- Set up character connections
- local function setupCharacter(character)
- -- Clear old animations
- loadedAnimations = {}
- -- Clear old VFX
- for name, vfx in pairs(activeVFX) do
- vfx:Destroy()
- end
- activeVFX = {}
- local humanoid = character:WaitForChild("Humanoid")
- humanoid.AnimationPlayed:Connect(onAnimationPlayed)
- end
- -- Connect to local player's character
- local player = Players.LocalPlayer
- setupCharacter(player.Character or player.CharacterAdded:Wait())
- player.CharacterAdded:Connect(setupCharacter)
- -- Ult --
- -- Animation references
- local KJUltBase = ReplicatedStorage.Animations.Itadori.Ultimate
- local KJUltANIM = ReplicatedStorage.Animations.Heian.Dismantle.WCS
- -- VFX references (add your VFX paths here)
- local VFX_TEMPLATES = {
- groundWave = game:GetService("ReplicatedStorage").Utils.Heian.Sweep.Attachment,
- }
- -- Animation storage
- local loadedAnimations = {}
- local activeVFX = {}
- -- Prevent multiple triggers
- local isAnimationSequenceActive = false
- -- Function to create VFX
- local function createVFX(vfxName, character)
- if not VFX_TEMPLATES[vfxName] then
- warn("VFX template not found:", vfxName)
- return nil
- end
- local hrp = character:WaitForChild("HumanoidRootPart")
- local vfx = VFX_TEMPLATES[vfxName]:Clone()
- vfx.Parent = hrp
- activeVFX[vfxName] = vfx
- return vfx
- end
- -- Function to play VFX
- local function playVFX(vfxName, particleAmount)
- local vfx = activeVFX[vfxName]
- if not vfx then return end
- for _, child in ipairs(vfx:GetChildren()) do
- child.Color = ColorSequence.new(Color3.new(1, 0, 0))
- if child:IsA("ParticleEmitter") then
- child:Emit(particleAmount or 15)
- child.Enabled = true
- end
- end
- end
- -- Function to stop VFX
- local function stopVFX(vfxName)
- local vfx = activeVFX[vfxName]
- if not vfx then return end
- for _, child in ipairs(vfx:GetChildren()) do
- if child:IsA("ParticleEmitter") then
- child.Enabled = false
- end
- end
- end
- -- Function to cleanup VFX
- local function cleanupVFX(vfxName)
- local vfx = activeVFX[vfxName]
- if vfx then
- vfx:Destroy()
- activeVFX[vfxName] = nil
- end
- end
- -- Function to load animation
- local function loadAnimation(animId, character)
- local humanoid = character:FindFirstChildOfClass("Humanoid")
- if not humanoid then return nil end
- local animation = Instance.new("Animation")
- animation.AnimationId = animId
- return humanoid:LoadAnimation(animation)
- end
- -- Function to play animation sequence
- local function playAnimationSequence(player)
- if isAnimationSequenceActive then return end
- isAnimationSequenceActive = true
- local character = player.Character
- if not character then return end
- -- Load animations if not already loaded
- if not loadedAnimations.roughEnergy then
- loadedAnimations.roughEnergy = loadAnimation(KJUltANIM.AnimationId, character)
- end
- -- Stop any existing animations
- for _, track in pairs(character:FindFirstChildOfClass("Humanoid"):GetPlayingAnimationTracks()) do
- track:Stop()
- end
- -- Create VFX instances
- createVFX("groundWave", character)
- -- Custom sequence
- task.spawn(function()
- loadedAnimations.roughEnergy:Play()
- task.wait(0.2)
- playVFX("groundWave", 1)
- task.wait(0.3)
- loadedAnimations.roughEnergy:Stop()
- stopVFX("groundWave")
- -- Cleanup
- task.wait(0.5)
- cleanupVFX("groundWave")
- isAnimationSequenceActive = false
- end)
- end
- -- Event handler for animation played
- local function onAnimationPlayed(animationTrack)
- if animationTrack.Animation.AnimationId == KJUltBase.AnimationId then
- playAnimationSequence(Players.LocalPlayer)
- end
- end
- -- Set up character connections
- local function setupCharacter(character)
- -- Clear old animations
- loadedAnimations = {}
- -- Clear old VFX
- for name, vfx in pairs(activeVFX) do
- vfx:Destroy()
- end
- activeVFX = {}
- local humanoid = character:WaitForChild("Humanoid")
- humanoid.AnimationPlayed:Connect(onAnimationPlayed)
- end
- -- Connect to local player's character
- local player = Players.LocalPlayer
- setupCharacter(player.Character or player.CharacterAdded:Wait())
- player.CharacterAdded:Connect(setupCharacter)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement