Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- repeat wait() until game.Players.LocalPlayer
- local cs = game:GetService("Chat")
- local plr = game.Players.LocalPlayer
- repeat wait() until plr.Character
- local char = plr.Character
- local mouse = plr:GetMouse()
- local ball = false
- local blackHole = false
- local set = false
- local duration = 0
- local debounce = false
- local keys = {}
- local animations = {
- Instance.new("Animation")
- }
- animations[1].AnimationId = 'http://www.roblox.com/Asset?Id=330064050'
- function destroy()
- p1:Destroy()
- p2:Destroy()
- end
- function attack()
- if ball == false and set == false and plr.PlayerGui.UI.mana.Value > 20 then
- cs:Chat(char.Head, "Sun Meteor!", 2)
- p1 = Instance.new("Part")
- p1.Size = Vector3.new(5, 5, 5)
- p1.Material = "Neon"
- p1.BrickColor = BrickColor.new("Br. yellowish orange")
- p2 = Instance.new("Part")
- p2.Size = Vector3.new(9, 9, 9)
- p2.Material = "Neon"
- p2.BrickColor = BrickColor.new("Deep orange")
- p1.Parent = workspace
- p2.Parent = workspace
- p1.Position = (char.Torso.Position + char.Torso.CFrame.lookVector*5)
- p2.Position = (char.Torso.Position + char.Torso.CFrame.lookVector*5)
- bp = Instance.new("BodyPosition", p1)
- bp2 = Instance.new("BodyPosition", p2)
- local animTrack = char.Humanoid:LoadAnimation(animations[1])
- animTrack:Play()
- char.Humanoid.WalkSpeed = 0
- while keys['q'] == true and wait(0) and set == false and p1.Size ~= Vector3.new(20, 20, 20) do
- if p1.Size == Vector3.new(10, 10, 10) then
- bp.Position = (char.Torso.Position + char.Torso.CFrame.lookVector*10)
- bp2.Position = (char.Torso.Position + char.Torso.CFrame.lookVector*10)
- else
- bp.Position = (char.Torso.Position + char.Torso.CFrame.lookVector*10) + Vector3.new(0, 10, 0)
- bp2.Position = (char.Torso.Position + char.Torso.CFrame.lookVector*10) + Vector3.new(0, 10, 0)
- end
- bp.P = 10000
- bp2.P = 10000
- bp.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- bp2.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- p1.Size = p1.Size + Vector3.new(1, 1, 1)
- p2.Size = p2.Size + Vector3.new(1, 1, 1)
- wait()
- end
- bp2:Destroy()
- local w1 = Instance.new("Weld", p1)
- w1.Part0 = p1
- w1.Part1 = p2
- w1.C0 = CFrame.new(0, 0, 0)
- animTrack:Stop()
- char.Humanoid.WalkSpeed = 16
- ball = true
- plr.PlayerGui.UI.mana.Value = plr.PlayerGui.UI.mana.Value - 20
- plr.Backpack.EXP.Value = plr.Backpack.EXP.Value + 2
- while wait(0) and set == false do
- bp.Position = char.Torso.CFrame:pointToWorldSpace(Vector3.new(0, 18, 0))
- bp.P = 10000
- bp.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- end
- end
- end
- function secondAttack()
- if ball == true and set == false and plr.PlayerGui.UI.mana.Value > 20 then
- cs:Chat(char.Head, 'Black Hole Sun!', 2)
- blackHole = true
- plr.PlayerGui.UI.usingMana.Value = true
- p1.BrickColor = BrickColor.new('Really black')
- p2.BrickColor = BrickColor.new('Black')
- local fire = Instance.new('Fire', p1)
- fire.Heat = -9
- fire.Size = 25
- fire.Color = Color3.new(0, 0, 0)
- fire.SecondaryColor = Color3.new(0, 0, 0)
- for _, v in pairs(game.Players:GetPlayers()) do
- if v.Character and v.Name ~= plr.Name then
- local t = v.Character.Torso
- local mag = (t.Position - p1.Position).magnitude
- if mag < 50 then
- local drag = Instance.new("BodyPosition", t)
- drag.Position = p1.Position
- drag.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- drag.P = 50000
- p1.Touched:connect(function(hit)
- if hit.Parent then
- if hit.Parent:FindFirstChild('Humanoid') then
- hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health - 10
- end
- end
- end)
- while duration < 50 and wait(0.1) do
- drag.Position = p1.Position
- duration = duration + 1
- end
- p1:Destroy()
- p2:Destroy()
- drag:Destroy()
- plr.PlayerGui.UI.usingMana.Value = true
- end
- end
- end
- wait(5)
- p1:Destroy()
- p2:Destroy()
- ball = false
- set = false
- blackHole = false
- end
- end
- function launch()
- if mouse.Target ~= nil and mouse.Target ~= p1 and mouse.Target ~= p2 then
- set = true
- bp.Position = mouse.Hit.p
- p1.Touched:connect(function(hit)
- if hit.Parent ~= workspace and set == true and hit.Parent.Name ~= plr.Name then
- local hum = hit.Parent:FindFirstChild("Humanoid")
- if hum and ball == true and debounce == false then
- debounce = true
- hum.Health = hum.Health - (p1.Size.Y + p1.Size.Y)
- if ball == true and set == true then
- wait(5)
- destroy()
- end
- ball = false
- set = false
- debounce = false
- end
- end
- end)
- repeat wait(0) until math.floor(p1.Position.X) == math.floor(bp.Position.X) and math.floor(p1.Position.Z) == math.floor(bp.Position.Z) and set == true or set == true and wait(5)
- destroy()
- set = false
- ball = false
- end
- end
- mouse.KeyDown:connect(function(key)
- if key == 'q' and ball == false and set == false then
- attack()
- elseif key == 'q' and ball == true and set == false and blackHole == false then
- launch()
- elseif key == 'e' and ball == true and set == false and blackHole == false then
- secondAttack()
- end
- end)
- mouse.KeyDown:connect(function(key) keys[key] = true end)
- mouse.KeyUp:connect(function(key) keys[key] = false end)
- char.Humanoid.Died:connect(function()
- if ball then
- destroy()
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement