Advertisement
TheSkibidiOne1

Shinjuku Yuji WIP

Feb 11th, 2025 (edited)
14
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.87 KB | None | 0 0
  1. -- Auto Blackflash
  2. loadstring(game:HttpGet("https://pastebin.com/raw/2cxCR5z3"))()
  3.  
  4. -- yk the deal bud
  5. local Players = game:GetService("Players")
  6. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  7.  
  8. -- Skill Names
  9. local skillOne = game.Players.LocalPlayer.PlayerGui.Main.Moveset['Cursed Strikes'].ItemName
  10. local skillTwo = game.Players.LocalPlayer.PlayerGui.Main.Moveset['Crushing Blow'].ItemName
  11. local skillThree = game.Players.LocalPlayer.PlayerGui.Main.Moveset['Divergent Fist'].ItemName
  12. local skillFour = game.Players.LocalPlayer.PlayerGui.Main.Moveset['Manji Kick'].ItemName
  13. local ultTitle = game.Players.LocalPlayer.PlayerGui.Main.Ultimate.Title
  14.  
  15. -- Set skill names
  16. skillOne.Text = "Crimson Fury"
  17. skillTwo.Text = "Cursed Tanglement"
  18. skillThree.Text = "Spark Of Black"
  19. skillFour.Text = "Manji Counter"
  20. ultTitle.Text = "Sparks Of Black"
  21.  
  22. -- Skill 1 --
  23.  
  24. -- Animation references
  25. local Ravage = ReplicatedStorage.Animations.Itadori.CursedStrike
  26. local RavageStart = ReplicatedStorage.Animations.Heian.Cleave
  27. local RavageMid = ReplicatedStorage.Animations.Choso.WingKing
  28.  
  29. -- VFX references (add your VFX paths here)
  30. local VFX_TEMPLATES = {
  31. groundWave = game.ReplicatedStorage.Utils.Itadori.DivergentFist.BlackFlash.Mid,
  32. }
  33.  
  34. -- Animation storage
  35. local loadedAnimations = {}
  36. local activeVFX = {}
  37.  
  38. -- Prevent multiple triggers
  39. local isAnimationSequenceActive = false
  40.  
  41. -- Function to create VFX
  42. local function createVFX(vfxName, character)
  43. if not VFX_TEMPLATES[vfxName] then
  44. warn("VFX template not found:", vfxName)
  45. return nil
  46. end
  47.  
  48. local hrp = character:WaitForChild("HumanoidRootPart")
  49. local vfx = VFX_TEMPLATES[vfxName]:Clone()
  50. vfx.Parent = hrp
  51. activeVFX[vfxName] = vfx
  52.  
  53. return vfx
  54. end
  55.  
  56. -- Function to play VFX
  57. local function playVFX(vfxName, particleAmount)
  58. local vfx = activeVFX[vfxName]
  59. if not vfx then return end
  60.  
  61. for _, child in ipairs(vfx:GetChildren()) do
  62. child.Color = ColorSequence.new(Color3.new(1, 1, 1))
  63. if child:IsA("ParticleEmitter") then
  64. child:Emit(particleAmount or 15)
  65. child.Enabled = true
  66. end
  67. end
  68. end
  69.  
  70. -- Function to stop VFX
  71. local function stopVFX(vfxName)
  72. local vfx = activeVFX[vfxName]
  73. if not vfx then return end
  74.  
  75. for _, child in ipairs(vfx:GetChildren()) do
  76. if child:IsA("ParticleEmitter") then
  77. child.Enabled = false
  78. end
  79. end
  80. end
  81.  
  82. -- Function to cleanup VFX
  83. local function cleanupVFX(vfxName)
  84. local vfx = activeVFX[vfxName]
  85. if vfx then
  86. vfx:Destroy()
  87. activeVFX[vfxName] = nil
  88. end
  89. end
  90.  
  91. -- Function to load animation
  92. local function loadAnimation(animId, character)
  93. local humanoid = character:FindFirstChildOfClass("Humanoid")
  94. if not humanoid then return nil end
  95.  
  96. local animation = Instance.new("Animation")
  97. animation.AnimationId = animId
  98.  
  99. return humanoid:LoadAnimation(animation)
  100. end
  101.  
  102. -- Function to play animation sequence
  103. local function playAnimationSequence(player)
  104. if isAnimationSequenceActive then return end
  105. isAnimationSequenceActive = true
  106.  
  107. local character = player.Character
  108. if not character then return end
  109.  
  110. -- Load animations if not already loaded
  111. if not loadedAnimations.roughEnergy then
  112. loadedAnimations.RavageStart = loadAnimation(RavageStart.AnimationId, character)
  113. loadedAnimations.RavageMid = loadAnimation(RavageMid.AnimationId, character)
  114. end
  115.  
  116. -- Stop any existing animations
  117. for _, track in pairs(character:FindFirstChildOfClass("Humanoid"):GetPlayingAnimationTracks()) do
  118. track:Stop()
  119. end
  120.  
  121. -- Create VFX instances
  122. createVFX("groundWave", character)
  123.  
  124. -- Custom sequence
  125. task.spawn(function()
  126. loadedAnimations.RavageStart:Play()
  127. task.wait(0.2)
  128. playVFX("groundWave", 10)
  129.  
  130. task.wait(0.2)
  131. loadedAnimations.RavageStart:Stop()
  132. loadedAnimations.RavageMid:Play()
  133. stopVFX("groundWave")
  134.  
  135. task.wait(2)
  136. loadedAnimations.RavageMid:Stop()
  137.  
  138. -- Cleanup
  139. task.wait(0.5)
  140. cleanupVFX("groundWave")
  141.  
  142. isAnimationSequenceActive = false
  143. end)
  144. end
  145.  
  146. -- Event handler for animation played
  147. local function onAnimationPlayed(animationTrack)
  148. if animationTrack.Animation.AnimationId == Ravage.AnimationId then
  149. playAnimationSequence(Players.LocalPlayer)
  150. end
  151. end
  152.  
  153. -- Set up character connections
  154. local function setupCharacter(character)
  155. -- Clear old animations
  156. loadedAnimations = {}
  157.  
  158. -- Clear old VFX
  159. for name, vfx in pairs(activeVFX) do
  160. vfx:Destroy()
  161. end
  162. activeVFX = {}
  163.  
  164. local humanoid = character:WaitForChild("Humanoid")
  165. humanoid.AnimationPlayed:Connect(onAnimationPlayed)
  166. end
  167.  
  168. -- Connect to local player's character
  169. local player = Players.LocalPlayer
  170. setupCharacter(player.Character or player.CharacterAdded:Wait())
  171. player.CharacterAdded:Connect(setupCharacter)
  172.  
  173. -- Skill 2 --
  174.  
  175. -- Animation references
  176. local crushingBlowANIM = ReplicatedStorage.Animations.Itadori.CrushingBlow
  177. local roughEnergyANIM = ReplicatedStorage.Animations.Todo.SwiftKick
  178.  
  179. -- VFX references (add your VFX paths here)
  180. local VFX_TEMPLATES = {
  181. groundWave = game:GetService("ReplicatedStorage").Utils.Megumi.Mahoraga.Parry.Scream,
  182. }
  183.  
  184. -- Animation storage
  185. local loadedAnimations = {}
  186. local activeVFX = {}
  187.  
  188. -- Prevent multiple triggers
  189. local isAnimationSequenceActive = false
  190.  
  191. -- Function to create VFX
  192. local function createVFX(vfxName, character)
  193. if not VFX_TEMPLATES[vfxName] then
  194. warn("VFX template not found:", vfxName)
  195. return nil
  196. end
  197.  
  198. local hrp = character:WaitForChild("HumanoidRootPart")
  199. local vfx = VFX_TEMPLATES[vfxName]:Clone()
  200. vfx.Parent = hrp
  201. activeVFX[vfxName] = vfx
  202.  
  203. return vfx
  204. end
  205.  
  206. -- Function to play VFX
  207. local function playVFX(vfxName, particleAmount)
  208. local vfx = activeVFX[vfxName]
  209. if not vfx then return end
  210.  
  211. for _, child in ipairs(vfx:GetChildren()) do
  212. if child:IsA("ParticleEmitter") then
  213. child:Emit(particleAmount or 15)
  214. child.Enabled = true
  215. end
  216. end
  217. end
  218.  
  219. -- Function to stop VFX
  220. local function stopVFX(vfxName)
  221. local vfx = activeVFX[vfxName]
  222. if not vfx then return end
  223.  
  224. for _, child in ipairs(vfx:GetChildren()) do
  225. if child:IsA("ParticleEmitter") then
  226. child.Enabled = false
  227. end
  228. end
  229. end
  230.  
  231. -- Function to cleanup VFX
  232. local function cleanupVFX(vfxName)
  233. local vfx = activeVFX[vfxName]
  234. if vfx then
  235. vfx:Destroy()
  236. activeVFX[vfxName] = nil
  237. end
  238. end
  239.  
  240. -- Function to load animation
  241. local function loadAnimation(animId, character)
  242. local humanoid = character:FindFirstChildOfClass("Humanoid")
  243. if not humanoid then return nil end
  244.  
  245. local animation = Instance.new("Animation")
  246. animation.AnimationId = animId
  247.  
  248. return humanoid:LoadAnimation(animation)
  249. end
  250.  
  251. -- Function to play animation sequence
  252. local function playAnimationSequence(player)
  253. if isAnimationSequenceActive then return end
  254. isAnimationSequenceActive = true
  255.  
  256. local character = player.Character
  257. if not character then return end
  258.  
  259. -- Load animations if not already loaded
  260. if not loadedAnimations.roughEnergy then
  261. loadedAnimations.roughEnergy = loadAnimation(roughEnergyANIM.AnimationId, character)
  262. end
  263.  
  264. -- Stop any existing animations
  265. for _, track in pairs(character:FindFirstChildOfClass("Humanoid"):GetPlayingAnimationTracks()) do
  266. track:Stop()
  267. end
  268.  
  269. -- Create VFX instances
  270. createVFX("groundWave", character)
  271.  
  272. -- Custom sequence
  273. task.spawn(function()
  274. loadedAnimations.roughEnergy:Play()
  275. task.wait(0.2)
  276. playVFX("groundWave", 15)
  277.  
  278. task.wait(0.5)
  279. loadedAnimations.roughEnergy:Stop()
  280. stopVFX("groundWave")
  281.  
  282. -- Cleanup
  283. task.wait(0.5)
  284. cleanupVFX("groundWave")
  285.  
  286. isAnimationSequenceActive = false
  287. end)
  288. end
  289.  
  290. -- Event handler for animation played
  291. local function onAnimationPlayed(animationTrack)
  292. if animationTrack.Animation.AnimationId == crushingBlowANIM.AnimationId then
  293. playAnimationSequence(Players.LocalPlayer)
  294. end
  295. end
  296.  
  297. -- Set up character connections
  298. local function setupCharacter(character)
  299. -- Clear old animations
  300. loadedAnimations = {}
  301.  
  302. -- Clear old VFX
  303. for name, vfx in pairs(activeVFX) do
  304. vfx:Destroy()
  305. end
  306. activeVFX = {}
  307.  
  308. local humanoid = character:WaitForChild("Humanoid")
  309. humanoid.AnimationPlayed:Connect(onAnimationPlayed)
  310. end
  311.  
  312. -- Connect to local player's character
  313. local player = Players.LocalPlayer
  314. setupCharacter(player.Character or player.CharacterAdded:Wait())
  315. player.CharacterAdded:Connect(setupCharacter)
  316.  
  317. -- Skill 3 --
  318.  
  319. -- Animation references
  320. local divergentFist1 = ReplicatedStorage.Animations.Itadori.Variants.DivergentFist1
  321. local roughEnergyANIM = ReplicatedStorage.Animations.Todo.BruteForce
  322.  
  323.  
  324. -- VFX references (add your VFX paths here)
  325. local VFX_TEMPLATES = {
  326. groundWave = game.ReplicatedStorage.Utils.Mahito.Worms.WormLaunch.groundwaveing,
  327. }
  328.  
  329. -- Animation storage
  330. local loadedAnimations = {}
  331. local activeVFX = {}
  332.  
  333. -- Prevent multiple triggers
  334. local isAnimationSequenceActive = false
  335.  
  336. -- Function to create VFX
  337. local function createVFX(vfxName, character)
  338. if not VFX_TEMPLATES[vfxName] then
  339. warn("VFX template not found:", vfxName)
  340. return nil
  341. end
  342.  
  343. local hrp = character:WaitForChild("HumanoidRootPart")
  344. local vfx = VFX_TEMPLATES[vfxName]:Clone()
  345. vfx.Parent = hrp
  346. activeVFX[vfxName] = vfx
  347.  
  348. return vfx
  349. end
  350.  
  351. -- Function to play VFX
  352. local function playVFX(vfxName, particleAmount)
  353. local vfx = activeVFX[vfxName]
  354. if not vfx then return end
  355.  
  356. for _, child in ipairs(vfx:GetChildren()) do
  357. child.Color = ColorSequence.new(Color3.new(1, 0, 0))
  358. if child:IsA("ParticleEmitter") then
  359. child:Emit(particleAmount or 15)
  360. child.Enabled = true
  361. end
  362. end
  363. end
  364.  
  365. -- Function to stop VFX
  366. local function stopVFX(vfxName)
  367. local vfx = activeVFX[vfxName]
  368. if not vfx then return end
  369.  
  370. for _, child in ipairs(vfx:GetChildren()) do
  371. if child:IsA("ParticleEmitter") then
  372. child.Enabled = false
  373. end
  374. end
  375. end
  376.  
  377. -- Function to cleanup VFX
  378. local function cleanupVFX(vfxName)
  379. local vfx = activeVFX[vfxName]
  380. if vfx then
  381. vfx:Destroy()
  382. activeVFX[vfxName] = nil
  383. end
  384. end
  385.  
  386. -- Function to load animation
  387. local function loadAnimation(animId, character)
  388. local humanoid = character:FindFirstChildOfClass("Humanoid")
  389. if not humanoid then return nil end
  390.  
  391. local animation = Instance.new("Animation")
  392. animation.AnimationId = animId
  393.  
  394. return humanoid:LoadAnimation(animation)
  395. end
  396.  
  397. -- Function to play animation sequence
  398. local function playAnimationSequence(player)
  399. if isAnimationSequenceActive then return end
  400. isAnimationSequenceActive = true
  401.  
  402. local character = player.Character
  403. if not character then return end
  404.  
  405. -- Load animations if not already loaded
  406. if not loadedAnimations.roughEnergy then
  407. loadedAnimations.roughEnergy = loadAnimation(roughEnergyANIM.AnimationId, character)
  408. end
  409.  
  410. -- Stop any existing animations
  411. for _, track in pairs(character:FindFirstChildOfClass("Humanoid"):GetPlayingAnimationTracks()) do
  412. track:Stop()
  413. end
  414.  
  415. -- Create VFX instances
  416. createVFX("groundWave", character)
  417.  
  418. -- Custom sequence
  419. task.spawn(function()
  420. loadedAnimations.roughEnergy:Play()
  421. task.wait(0.2)
  422. playVFX("groundWave", 1)
  423.  
  424. task.wait(0.5)
  425. loadedAnimations.roughEnergy:Stop()
  426. stopVFX("groundWave")
  427.  
  428. -- Cleanup
  429. task.wait(0.5)
  430. cleanupVFX("groundWave")
  431.  
  432. isAnimationSequenceActive = false
  433. end)
  434. end
  435.  
  436. -- Event handler for animation played
  437. local function onAnimationPlayed(animationTrack)
  438. if animationTrack.Animation.AnimationId == divergentFist1.AnimationId then
  439. playAnimationSequence(Players.LocalPlayer)
  440. end
  441. end
  442.  
  443. -- Set up character connections
  444. local function setupCharacter(character)
  445. -- Clear old animations
  446. loadedAnimations = {}
  447.  
  448. -- Clear old VFX
  449. for name, vfx in pairs(activeVFX) do
  450. vfx:Destroy()
  451. end
  452. activeVFX = {}
  453.  
  454. local humanoid = character:WaitForChild("Humanoid")
  455. humanoid.AnimationPlayed:Connect(onAnimationPlayed)
  456. end
  457.  
  458. -- Connect to local player's character
  459. local player = Players.LocalPlayer
  460. setupCharacter(player.Character or player.CharacterAdded:Wait())
  461. player.CharacterAdded:Connect(setupCharacter)
  462.  
  463. -- Skill 4 --
  464.  
  465. -- Animation references
  466. local divergentFist2 = ReplicatedStorage.Animations.Itadori.ManjiKick
  467. local KJCounterANIM = ReplicatedStorage.Animations.Hakari.Luckyvolley
  468.  
  469.  
  470. -- VFX references (add your VFX paths here)
  471. local VFX_TEMPLATES = {
  472. groundWave = game:GetService("ReplicatedStorage").Utils.Damage.Explode.Head.Attachment,
  473. }
  474.  
  475. -- Animation storage
  476. local loadedAnimations = {}
  477. local activeVFX = {}
  478.  
  479. -- Prevent multiple triggers
  480. local isAnimationSequenceActive = false
  481.  
  482. -- Function to create VFX
  483. local function createVFX(vfxName, character)
  484. if not VFX_TEMPLATES[vfxName] then
  485. warn("VFX template not found:", vfxName)
  486. return nil
  487. end
  488.  
  489. local hrp = character:WaitForChild("HumanoidRootPart")
  490. local vfx = VFX_TEMPLATES[vfxName]:Clone()
  491. vfx.Parent = hrp
  492. activeVFX[vfxName] = vfx
  493.  
  494. return vfx
  495. end
  496.  
  497. -- Function to play VFX
  498. local function playVFX(vfxName, particleAmount)
  499. local vfx = activeVFX[vfxName]
  500. if not vfx then return end
  501.  
  502. for _, child in ipairs(vfx:GetChildren()) do
  503. child.Color = ColorSequence.new(Color3.new(1, 0, 0))
  504. if child:IsA("ParticleEmitter") then
  505. child:Emit(particleAmount or 15)
  506. child.Enabled = true
  507. end
  508. end
  509. end
  510.  
  511. -- Function to stop VFX
  512. local function stopVFX(vfxName)
  513. local vfx = activeVFX[vfxName]
  514. if not vfx then return end
  515.  
  516. for _, child in ipairs(vfx:GetChildren()) do
  517. if child:IsA("ParticleEmitter") then
  518. child.Enabled = false
  519. end
  520. end
  521. end
  522.  
  523. -- Function to cleanup VFX
  524. local function cleanupVFX(vfxName)
  525. local vfx = activeVFX[vfxName]
  526. if vfx then
  527. vfx:Destroy()
  528. activeVFX[vfxName] = nil
  529. end
  530. end
  531.  
  532. -- Function to load animation
  533. local function loadAnimation(animId, character)
  534. local humanoid = character:FindFirstChildOfClass("Humanoid")
  535. if not humanoid then return nil end
  536.  
  537. local animation = Instance.new("Animation")
  538. animation.AnimationId = animId
  539.  
  540. return humanoid:LoadAnimation(animation)
  541. end
  542.  
  543. -- Function to play animation sequence
  544. local function playAnimationSequence(player)
  545. if isAnimationSequenceActive then return end
  546. isAnimationSequenceActive = true
  547.  
  548. local character = player.Character
  549. if not character then return end
  550.  
  551. -- Load animations if not already loaded
  552. if not loadedAnimations.roughEnergy then
  553. loadedAnimations.roughEnergy = loadAnimation(KJCounterANIM.AnimationId, character)
  554. end
  555.  
  556. -- Stop any existing animations
  557. for _, track in pairs(character:FindFirstChildOfClass("Humanoid"):GetPlayingAnimationTracks()) do
  558. track:Stop()
  559. end
  560.  
  561. -- Create VFX instances
  562. createVFX("groundWave", character)
  563.  
  564. -- Custom sequence
  565. task.spawn(function()
  566. loadedAnimations.roughEnergy:Play()
  567. task.wait(0.2)
  568. playVFX("groundWave", 1)
  569.  
  570. task.wait(0.3)
  571. loadedAnimations.roughEnergy:Stop()
  572. stopVFX("groundWave")
  573.  
  574. -- Cleanup
  575. task.wait(0.5)
  576. cleanupVFX("groundWave")
  577.  
  578. isAnimationSequenceActive = false
  579. end)
  580. end
  581.  
  582. -- Event handler for animation played
  583. local function onAnimationPlayed(animationTrack)
  584. if animationTrack.Animation.AnimationId == divergentFist2.AnimationId then
  585. playAnimationSequence(Players.LocalPlayer)
  586. end
  587. end
  588.  
  589. -- Set up character connections
  590. local function setupCharacter(character)
  591. -- Clear old animations
  592. loadedAnimations = {}
  593.  
  594. -- Clear old VFX
  595. for name, vfx in pairs(activeVFX) do
  596. vfx:Destroy()
  597. end
  598. activeVFX = {}
  599.  
  600. local humanoid = character:WaitForChild("Humanoid")
  601. humanoid.AnimationPlayed:Connect(onAnimationPlayed)
  602. end
  603.  
  604. -- Connect to local player's character
  605. local player = Players.LocalPlayer
  606. setupCharacter(player.Character or player.CharacterAdded:Wait())
  607. player.CharacterAdded:Connect(setupCharacter)
  608.  
  609. -- Ult --
  610.  
  611. -- Animation references
  612. local KJUltBase = ReplicatedStorage.Animations.Itadori.Ultimate
  613. local KJUltANIM = ReplicatedStorage.Animations.Heian.Dismantle.WCS
  614.  
  615.  
  616. -- VFX references (add your VFX paths here)
  617. local VFX_TEMPLATES = {
  618. groundWave = game:GetService("ReplicatedStorage").Utils.Heian.Sweep.Attachment,
  619. }
  620.  
  621. -- Animation storage
  622. local loadedAnimations = {}
  623. local activeVFX = {}
  624.  
  625. -- Prevent multiple triggers
  626. local isAnimationSequenceActive = false
  627.  
  628. -- Function to create VFX
  629. local function createVFX(vfxName, character)
  630. if not VFX_TEMPLATES[vfxName] then
  631. warn("VFX template not found:", vfxName)
  632. return nil
  633. end
  634.  
  635. local hrp = character:WaitForChild("HumanoidRootPart")
  636. local vfx = VFX_TEMPLATES[vfxName]:Clone()
  637. vfx.Parent = hrp
  638. activeVFX[vfxName] = vfx
  639.  
  640. return vfx
  641. end
  642.  
  643. -- Function to play VFX
  644. local function playVFX(vfxName, particleAmount)
  645. local vfx = activeVFX[vfxName]
  646. if not vfx then return end
  647.  
  648. for _, child in ipairs(vfx:GetChildren()) do
  649. child.Color = ColorSequence.new(Color3.new(1, 0, 0))
  650. if child:IsA("ParticleEmitter") then
  651. child:Emit(particleAmount or 15)
  652. child.Enabled = true
  653. end
  654. end
  655. end
  656.  
  657. -- Function to stop VFX
  658. local function stopVFX(vfxName)
  659. local vfx = activeVFX[vfxName]
  660. if not vfx then return end
  661.  
  662. for _, child in ipairs(vfx:GetChildren()) do
  663. if child:IsA("ParticleEmitter") then
  664. child.Enabled = false
  665. end
  666. end
  667. end
  668.  
  669. -- Function to cleanup VFX
  670. local function cleanupVFX(vfxName)
  671. local vfx = activeVFX[vfxName]
  672. if vfx then
  673. vfx:Destroy()
  674. activeVFX[vfxName] = nil
  675. end
  676. end
  677.  
  678. -- Function to load animation
  679. local function loadAnimation(animId, character)
  680. local humanoid = character:FindFirstChildOfClass("Humanoid")
  681. if not humanoid then return nil end
  682.  
  683. local animation = Instance.new("Animation")
  684. animation.AnimationId = animId
  685.  
  686. return humanoid:LoadAnimation(animation)
  687. end
  688.  
  689. -- Function to play animation sequence
  690. local function playAnimationSequence(player)
  691. if isAnimationSequenceActive then return end
  692. isAnimationSequenceActive = true
  693.  
  694. local character = player.Character
  695. if not character then return end
  696.  
  697. -- Load animations if not already loaded
  698. if not loadedAnimations.roughEnergy then
  699. loadedAnimations.roughEnergy = loadAnimation(KJUltANIM.AnimationId, character)
  700. end
  701.  
  702. -- Stop any existing animations
  703. for _, track in pairs(character:FindFirstChildOfClass("Humanoid"):GetPlayingAnimationTracks()) do
  704. track:Stop()
  705. end
  706.  
  707. -- Create VFX instances
  708. createVFX("groundWave", character)
  709.  
  710. -- Custom sequence
  711. task.spawn(function()
  712. loadedAnimations.roughEnergy:Play()
  713. task.wait(0.2)
  714. playVFX("groundWave", 1)
  715.  
  716. task.wait(0.3)
  717. loadedAnimations.roughEnergy:Stop()
  718. stopVFX("groundWave")
  719.  
  720. -- Cleanup
  721. task.wait(0.5)
  722. cleanupVFX("groundWave")
  723.  
  724. isAnimationSequenceActive = false
  725. end)
  726. end
  727.  
  728. -- Event handler for animation played
  729. local function onAnimationPlayed(animationTrack)
  730. if animationTrack.Animation.AnimationId == KJUltBase.AnimationId then
  731. playAnimationSequence(Players.LocalPlayer)
  732. end
  733. end
  734.  
  735. -- Set up character connections
  736. local function setupCharacter(character)
  737. -- Clear old animations
  738. loadedAnimations = {}
  739.  
  740. -- Clear old VFX
  741. for name, vfx in pairs(activeVFX) do
  742. vfx:Destroy()
  743. end
  744. activeVFX = {}
  745.  
  746. local humanoid = character:WaitForChild("Humanoid")
  747. humanoid.AnimationPlayed:Connect(onAnimationPlayed)
  748. end
  749.  
  750. -- Connect to local player's character
  751. local player = Players.LocalPlayer
  752. setupCharacter(player.Character or player.CharacterAdded:Wait())
  753. player.CharacterAdded:Connect(setupCharacter)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement