Advertisement
IHATEMICROWAVEOVEN

acobatic the ocky way

Dec 8th, 2023 (edited)
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.60 KB | None | 0 0
  1. -- EASE OF ACCESS SETTINGS
  2. local aoeColor = Color3.new(0.85, 0.95, 0.9)
  3. local aoeStartTrans = 0.5
  4. local aoeStartSize = Vector3.new(17, 17, 17)
  5. local aoeEndSize = Vector3.new(22, 22, 22)
  6.  
  7. local inColor = Color3.new(0.85, 0.95, 0.9)
  8. local outColor = Color3.new(0.6, 0.6, 0.65)
  9. local inTrans = 0.4
  10. local outTrans = 0.7
  11. local inSize = Vector3.new(7, 7, 7)
  12. local outSize = Vector3.new(8, 8, 8)
  13. local inMaterial = "SmoothPlastic"
  14. local outMaterial = "SmoothPlastic"
  15.  
  16. local aoeDMG = 55
  17. local radius = 20
  18. local meleeDMG = 55
  19. local lifetime = 2.25
  20. local successMSG = {"SPLENDID!", "AMAZING!", "EXCELLENT!", "PERFECT!", "STYLISH!"}
  21.  
  22. local foo = task
  23.  
  24. --[[
  25.  
  26. Below is the attack function.
  27.  
  28. DESC: Begins a countdown, at the end of which the user must be in the air and moving backwards. If they aren't, they are made to sit
  29. and execute a 55 DMG basic melee. If they are, they have increased speed while executing a 110 DMG basic melee.
  30.  
  31. --]]
  32. local function Use(...)
  33. local TweenService = game:GetService("TweenService")
  34. local DamageService = require(game:GetService("ServerScriptService").Libraries.DamageService)
  35. local args = {...}
  36. local char = args[1].Character
  37. local torso = char.Torso
  38. local hum = char.Humanoid
  39. local damageMulti = math.random(1, 10) == 1 and 2 or 1
  40.  
  41. -- Display
  42. local stopper = Instance.new("Part")
  43. stopper.CFrame, stopper.CanCollide, stopper.Anchored, stopper.Transparency =
  44. torso.CFrame, false, true, 1
  45. stopper.Parent = workspace
  46.  
  47. local billboard = Instance.new("BillboardGui")
  48. billboard.Adornee, billboard.MaxDistance, billboard.Size, billboard.StudsOffsetWorldSpace =
  49. stopper, 150, UDim2.new(0, 300, 0, 200), Vector3.new(0, 0, -4)
  50. local text = Instance.new("TextLabel")
  51. text.BackgroundTransparency, text.Size, text.FontFace, text.RichText, text.TextSize =
  52. 1, UDim2.new(1, 0, 1, 0), Font.fromName("HighwayGothic"), true, 40
  53. text.Parent = billboard
  54. billboard.Parent = stopper
  55.  
  56.  
  57.  
  58. -- Jump detection
  59. if hum:GetState() == Enum.HumanoidStateType.Freefall then
  60. text.TextColor3 = Color3.new(1, 0.6, 0.6)
  61. local aoe = Instance.new("Part")
  62. aoe.Material, aoe.Anchored, aoe.CanCollide, aoe.CFrame, aoe.Color, aoe.Transparency, aoe.Size =
  63. "SmoothPlastic", true, false, torso.CFrame, aoeColor, aoeStartTrans, aoeStartSize
  64. aoe.Parent = workspace
  65. local SizeMod = TweenService:Create(aoe, TweenInfo.new(3.7, Enum.EasingStyle.Quint), {Size = aoeEndSize, Transparency = 1})
  66. SizeMod.Completed:Connect(function() aoe:Destroy() end)
  67. SizeMod:Play()
  68. DamageService:RegisterRangeDamage(args[1], radius, aoeDMG*damageMulti)
  69. text.Text = "<i><b>"..successMSG[math.random(1, #successMSG)].."</b></i>"
  70. else
  71. text.TextColor3 = Color3.new(0.3, 0.4, 0.4)
  72. text.Text = "<i><b>Miss...</b></i>"
  73. local text2 = Instance.new("TextLabel")
  74. text2.BackgroundTransparency, text2.Size, text2.FontFace, text2.RichText, text2.TextSize, text2.TextYAlignment, text2.TextColor3 =
  75. 1, UDim2.new(1, 0, 1, 0), Font.fromName("HighwayGothic"), true, 20, Enum.TextYAlignment.Top, Color3.new(0.3, 0.4, 0.4)
  76. text2.Text = "<i>(Jump and attack!)</i>"
  77. text2.Parent = billboard
  78. end
  79.  
  80.  
  81.  
  82. -- Part creation
  83. local inner = Instance.new("Part")
  84. inner.Color, inner.Size, inner.Transparency, inner.Material, inner.Massless, inner.CanCollide, inner.CFrame =
  85. inColor, inSize, inTrans, inMaterial, true, false, torso.CFrame
  86. inner.Parent = workspace
  87. local outer = Instance.new("Part")
  88. outer.Color, outer.Size, outer.Transparency, outer.Material, outer.Massless, outer.CanCollide, outer.CFrame =
  89. outColor, outSize, outTrans, outMaterial, true, false, torso.CFrame
  90. outer.Parent = workspace
  91.  
  92. local oplib = require(game.ServerScriptService.Libraries.Optimalization)
  93. oplib(outer)
  94.  
  95. local weld = Instance.new("Weld")
  96. weld.Part0, weld.Part1 =
  97. torso, inner
  98. weld.Parent = inner
  99. weld = Instance.new("Weld")
  100. weld.Part0, weld.Part1 =
  101. torso, outer
  102. weld.Parent = outer
  103.  
  104.  
  105.  
  106. -- Speed and DMG
  107. local Stats = require(game:GetService("ServerScriptService").Stats)
  108. local myLevel = Stats.GetStat(args[1], char.BaseStat.Value)
  109. local mySpeed = char.BaseSpeed
  110. coroutine.wrap(function()
  111. for i = 0, lifetime * 10 do
  112. hum.WalkSpeed = mySpeed.Value*2 * (myLevel*0.0025 + 0.25)
  113. task.wait(0.1)
  114. end
  115. hum.WalkSpeed = mySpeed.Value * (myLevel*0.0025 + 0.25)
  116. end)()
  117. local Debris = game:GetService("Debris")
  118. local DamageMod = require(game:GetService("ServerScriptService").Libraries.DamageService)
  119. DamageMod:RegisterWeaponPart(args[1], {inner, outer}, meleeDMG*damageMulti)
  120. Debris:AddItem(inner, lifetime)
  121. Debris:AddItem(outer, lifetime)
  122. Debris:AddItem(stopper, 5)
  123. end
  124.  
  125. return Use
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement