Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local tool = script.Parent
- if not tool:isA("HopperBin") then
- tool = Instance.new("HopperBin",game.Players.LocalPlayer.Backpack)
- tool.Name = "Dimensional Powers"
- script.Parent = tool
- end
- local armor = Instance.new("Model")
- local aa1 = {}
- local aa2 = {}
- local aa3 = {}
- local power = false
- local fly,flyCF,flySpd,u,d,f,b,l,r = false,CFrame.new(),0,false,false,false,false,false,false
- local auraN = 10
- local ragePts = 0
- local rage = false
- local overcharge = false
- local cast = false
- local gui = Instance.new("ScreenGui")
- local ragef = Instance.new("Frame",gui)
- ragef.BackgroundColor3 = Color3.new()
- ragef.Transparency = 0.75
- ragef.BorderSizePixel = 0
- ragef.Position = UDim2.new(0,5,1,-85)
- ragef.Size = UDim2.new(0,200,0,30)
- local ragefovercharge = Instance.new("Frame",ragef)
- ragefovercharge.BackgroundColor3 = Color3.new()
- ragefovercharge.Transparency = 0.75
- ragefovercharge.BorderSizePixel = 0
- ragefovercharge.Position = UDim2.new(0,0,0,1)
- ragefovercharge.Size = UDim2.new(1,100,1,-2)
- local rageffill = Instance.new("Frame",ragef)
- rageffill.BackgroundColor3 = Color3.new(1)
- rageffill.Transparency = 0.5
- rageffill.BorderSizePixel = 0
- rageffill.Size = UDim2.new(0,0,1,0)
- local ragefpts = Instance.new("TextLabel",ragef)
- ragefpts.BackgroundTransparency = 1
- ragefpts.Position = UDim2.new(0,10,0.5,0)
- ragefpts.Font = "ArialBold"
- ragefpts.FontSize = "Size18"
- ragefpts.Text = "0"
- ragefpts.TextColor3 = Color3.new()
- ragefpts.TextStrokeColor3 = Color3.new(1,1,1)
- ragefpts.TextStrokeTransparency = 0.5
- ragefpts.TextXAlignment = "Left"
- function getPose(a,b,blend)
- return (a*(1-blend))+(b*blend)
- end
- function getArmor()
- if armor then armor:Remove() end
- aa1 = {}
- aa2 = {}
- aa3 = {}
- armor = Instance.new("Model")
- for i=1,15 do
- local p = Instance.new("Part")
- p.Color = Color3.new()
- p.Material = "Ice"
- p.formFactor = 3
- p.TopSurface = 0
- p.BottomSurface = 0
- p.Anchored = true
- p.CanCollide = false
- p.Locked = true
- p.Elasticity = 0
- p.Friction = 0
- p.Size = Vector3.new()
- p.Parent = armor
- local m = Instance.new("SpecialMesh",p)
- m.MeshType = Enum.MeshType.Brick
- m.Scale = Vector3.new(4,0.625,3)
- table.insert(aa1,p)
- end
- for i=1,15 do
- local p = Instance.new("Part")
- p.Color = Color3.new()
- p.Material = "Ice"
- p.formFactor = 3
- p.TopSurface = 0
- p.BottomSurface = 0
- p.Anchored = true
- p.CanCollide = false
- p.Locked = true
- p.Elasticity = 0
- p.Friction = 0
- p.Size = Vector3.new()
- p.Parent = armor
- local m = Instance.new("SpecialMesh",p)
- m.MeshType = Enum.MeshType.Brick
- m.Scale = Vector3.new(4,0.625,3)
- table.insert(aa2,p)
- end
- for i=1,15 do
- local p = Instance.new("Part")
- p.Color = Color3.new()
- p.Material = "Ice"
- p.formFactor = 3
- p.TopSurface = 0
- p.BottomSurface = 0
- p.Anchored = true
- p.CanCollide = false
- p.Locked = true
- p.Elasticity = 0
- p.Friction = 0
- p.Size = Vector3.new()
- p.Parent = armor
- local m = Instance.new("SpecialMesh",p)
- m.MeshType = Enum.MeshType.Brick
- m.Scale = Vector3.new(4,0.625,3)
- table.insert(aa3,p)
- end
- function joint(a,b,c0)
- local w = Instance.new("Weld",armor)
- w.Part0 = a
- w.Part1 = b
- w.C0 = c0
- end
- local part = Instance.new("Part")
- part.Color = Color3.new()
- part.Material = "Ice"
- part.CanCollide = false
- part.Locked = true
- part.formFactor = 3
- part.Size = Vector3.new()
- part.TopSurface = 0
- part.BottomSurface = 0
- local m = Instance.new("SpecialMesh",part)
- m.MeshType = Enum.MeshType.Brick
- function newPart(scale)
- local p = part:Clone()
- p.Mesh.Scale = scale
- p.Parent = armor
- return p
- end
- joint(game.Players.LocalPlayer.Character.Torso,newPart(Vector3.new(4,1,1)),CFrame.new(0,1,1.06))
- joint(game.Players.LocalPlayer.Character.Torso,newPart(Vector3.new(5,1,1)),CFrame.new(-0.7,1,0.9)*CFrame.fromEulerAnglesXYZ(0,math.pi/-8,0))
- joint(game.Players.LocalPlayer.Character.Torso,newPart(Vector3.new(5,1,1)),CFrame.new(0.7,1,0.9)*CFrame.fromEulerAnglesXYZ(0,math.pi/8,0))
- joint(game.Players.LocalPlayer.Character["Right Arm"],newPart(Vector3.new(5,1,5)),CFrame.new(0.8,1,0)*CFrame.fromEulerAnglesXYZ(0,0,math.pi/-3))
- joint(game.Players.LocalPlayer.Character["Right Arm"],newPart(Vector3.new(1,5,5)),CFrame.new(1,0.2,0))
- joint(game.Players.LocalPlayer.Character["Right Arm"],newPart(Vector3.new(0.625,3.5,3.5)),CFrame.new(1,-0.24,0)*CFrame.fromEulerAnglesXYZ(math.pi/4,0,0))
- joint(game.Players.LocalPlayer.Character["Left Arm"],newPart(Vector3.new(5,1,5)),CFrame.new(-0.8,1,0)*CFrame.fromEulerAnglesXYZ(0,0,math.pi/3))
- joint(game.Players.LocalPlayer.Character["Left Arm"],newPart(Vector3.new(1,5,5)),CFrame.new(-1,0.2,0))
- joint(game.Players.LocalPlayer.Character["Left Arm"],newPart(Vector3.new(0.625,3.5,3.5)),CFrame.new(-1,-0.24,0)*CFrame.fromEulerAnglesXYZ(math.pi/4,0,0))
- joint(game.Players.LocalPlayer.Character["Right Arm"],newPart(Vector3.new(2,0.625,1)),CFrame.new(0.7,1.4,0)*CFrame.fromEulerAnglesXYZ(0,0,math.pi/8))
- joint(game.Players.LocalPlayer.Character["Right Arm"],newPart(Vector3.new(2,0.625,1)),CFrame.new(0.68,1.4,-0.3531)*CFrame.fromEulerAnglesXYZ(0,math.pi/8,math.pi/8))
- joint(game.Players.LocalPlayer.Character["Right Arm"],newPart(Vector3.new(2,0.625,1)),CFrame.new(0.68,1.4,0.3531)*CFrame.fromEulerAnglesXYZ(0,math.pi/-8,math.pi/8))
- joint(game.Players.LocalPlayer.Character["Left Arm"],newPart(Vector3.new(2,0.625,1)),CFrame.new(-0.7,1.4,0)*CFrame.fromEulerAnglesXYZ(0,0,math.pi/-8))
- joint(game.Players.LocalPlayer.Character["Left Arm"],newPart(Vector3.new(2,0.625,1)),CFrame.new(-0.68,1.4,-0.3531)*CFrame.fromEulerAnglesXYZ(0,math.pi/-8,math.pi/-8))
- joint(game.Players.LocalPlayer.Character["Left Arm"],newPart(Vector3.new(2,0.625,1)),CFrame.new(-0.68,1.4,0.3531)*CFrame.fromEulerAnglesXYZ(0,math.pi/8,math.pi/-8))
- armor.Parent = workspace
- end
- function simulate(j,d,m,r,t)
- local joint = j
- for i,v in ipairs(t) do
- local stiff = m.CFrame.lookVector*0.03
- if i > 1 then joint = t[i-1].CFrame*CFrame.new(0,0,d*0.5) end
- local dir = (v.Position-(joint.p+Vector3.new(0,0.2,0)+stiff)).unit
- local dis = (v.Position-(joint.p+Vector3.new(0,0.2,0)+stiff)).magnitude
- local pos = joint.p+(dir*(d*0.5))
- v.CFrame = CFrame.new(pos,pos-(dir*dis))*CFrame.fromEulerAnglesXYZ(r.x,r.y,r.z)
- end
- end
- function aura(frames,scale,color)
- coroutine.resume(coroutine.create(function()
- local p = Instance.new("Part")
- game.Debris:AddItem(p)
- p.Transparency = 0.5
- p.Anchored = true
- p.CanCollide = false
- p.Locked = true
- p.formFactor = 3
- p.Size = Vector3.new()
- p.CFrame = CFrame.new(game.Players.LocalPlayer.Character.Torso.Position-Vector3.new(0,2.5,0))
- p.TopSurface = 0
- p.BottomSurface = 0
- p.Parent = workspace
- local m = Instance.new("SpecialMesh",p)
- m.MeshId = "http://www.roblox.com/asset/?id=20329976"
- m.Scale = Vector3.new()
- m.TextureId = "http://www.roblox.com/asset/?ID=1361097"
- m.VertexColor = color
- for i=1,frames do
- p.CFrame = p.CFrame*CFrame.fromEulerAnglesXYZ(0,math.random()*math.pi,0)
- m.Scale = Vector3.new(i,i/4,i)*scale
- p.Transparency = 0.25+(i/frames*0.75)
- wait()
- end
- p:Remove()
- end))
- end
- script.Parent.Selected:connect(function(mouse)
- gui.Parent = game.Players.LocalPlayer.PlayerGui
- mouse.KeyDown:connect(function(key)
- print(key)
- key = key:lower()
- if key == "q" then
- if power then
- if armor then armor:Remove() end
- aa1 = {}
- aa2 = {}
- aa3 = {}
- armor = Instance.new("Model")
- else getArmor()
- end
- power = not power
- end
- --[[ if key == "0" then
- flyCF = game.Players.LocalPlayer.Character.Torso.CFrame
- fly = not fly
- game.Players.LocalPlayer.Character.Humanoid.PlatformStand = fly
- end]]
- if key == " " then u = true end
- -- if key == "2" then d = true end
- if key == "2" then
- auraN = 1
- rage = true
- end
- if key == "w" then f = true end
- if key == "s" then b = true end
- if key == "a" then l = true end
- if key == "d" then r = true end
- if key == "z" then cast = true end
- end)
- mouse.KeyUp:connect(function(key)
- key = key:lower()
- if key == " " then u = false end
- -- if key == "2" then d = false end
- if key == "2" then rage = false end
- if key == "w" then f = false end
- if key == "s" then b = false end
- if key == "a" then l = false end
- if key == "d" then r = false end
- end)
- end)
- script.Parent.Deselected:connect(function()
- gui.Parent = nil
- end)
- while true do
- if power then
- if rage and not overcharge then
- game.Players.LocalPlayer.Character.Torso.CFrame = game.Players.LocalPlayer.Character.Torso.CFrame+Vector3.new(0,0.1,0)
- ragePts = ragePts+5
- local cam = workspace.CurrentCamera
- local dis = (cam.CoordinateFrame.p-cam.Focus.p).magnitude/410
- cam.CoordinateFrame = cam.CoordinateFrame+(Vector3.new(math.random(-10,10),math.random(-10,10),math.random(-10,10))*dis*1.5)
- for i=1,#aa1 do
- aa1[i].CFrame = aa1[i].CFrame+Vector3.new(0,math.random(1,100)/75,0)-(game.Players.LocalPlayer.Character.Torso.CFrame.lookVector*(math.random(1,100)/50))
- aa2[i].CFrame = aa2[i].CFrame+Vector3.new(0,math.random(1,100)/75,0)-(game.Players.LocalPlayer.Character.Torso.CFrame.lookVector*(math.random(1,100)/50))
- aa3[i].CFrame = aa3[i].CFrame+Vector3.new(0,math.random(1,100)/75,0)-(game.Players.LocalPlayer.Character.Torso.CFrame.lookVector*(math.random(1,100)/50))
- end
- aura(10,1,Vector3.new())
- end
- if overcharge then
- aura(10,1,Vector3.new(2))
- ragePts = ragePts-2
- if ragePts <= 0 then overcharge = false end
- else if ragePts >= 1500 then
- overcharge = true
- ragefpts.TextColor3 = Color3.new(1,0,0)
- coroutine.resume(coroutine.create(function()
- for i=1,5 do
- coroutine.resume(coroutine.create(function()
- local p = Instance.new("Part")
- game.Debris:AddItem(p)
- p.Transparency = 0.5
- p.Anchored = true
- p.CanCollide = false
- p.Locked = true
- p.formFactor = 3
- p.Size = Vector3.new()
- p.CFrame = game.Players.LocalPlayer.Character.Torso.CFrame
- p.TopSurface = 0
- p.BottomSurface = 0
- p.Parent = workspace
- local m = Instance.new("SpecialMesh",p)
- m.MeshId = "http://www.roblox.com/Asset/?id=9856898"
- m.Scale = Vector3.new()
- m.TextureId = "http://www.roblox.com/asset/?ID=1361097"
- m.VertexColor = Vector3.new()
- for i=1,50 do
- local ratio = math.sin((i/100)*math.pi)
- p.CFrame = p.CFrame*CFrame.fromEulerAnglesXYZ(math.random()*math.pi,math.random()*math.pi,math.random()*math.pi)
- m.Scale = Vector3.new(1,1,1)*ratio*200
- p.Transparency = 0.5+(ratio*0.5)
- m.VertexColor = Vector3.new(ratio*2)
- wait()
- end
- p:Remove()
- end))
- wait()
- end
- end))
- coroutine.resume(coroutine.create(function()
- for i=1,5 do
- coroutine.resume(coroutine.create(function()
- local p = Instance.new("Part")
- game.Debris:AddItem(p)
- p.Transparency = 0.5
- p.Anchored = true
- p.CanCollide = false
- p.Locked = true
- p.formFactor = 3
- p.Size = Vector3.new()
- p.CFrame = CFrame.new(game.Players.LocalPlayer.Character.Torso.Position-Vector3.new(0,2.5,0))
- p.TopSurface = 0
- p.BottomSurface = 0
- p.Parent = workspace
- local m = Instance.new("SpecialMesh",p)
- m.MeshId = "http://www.roblox.com/asset/?id=20329976"
- m.Scale = Vector3.new()
- m.TextureId = "http://www.roblox.com/asset/?ID=1361097"
- m.VertexColor = Vector3.new()
- for i=1,50 do
- local ratio = math.sin((i/100)*math.pi)
- p.CFrame = p.CFrame*CFrame.fromEulerAnglesXYZ(0,math.random()*math.pi,0)
- m.Scale = Vector3.new(ratio,ratio/4,ratio)*100
- p.Transparency = 0.5+(ratio*0.5)
- m.VertexColor = Vector3.new(ratio*2)
- wait()
- end
- p:Remove()
- end))
- wait()
- end
- end))
- coroutine.resume(coroutine.create(function()
- for i=1,5 do
- coroutine.resume(coroutine.create(function()
- local p = Instance.new("Part")
- game.Debris:AddItem(p)
- p.Transparency = 0.5
- p.Anchored = true
- p.CanCollide = false
- p.Locked = true
- p.formFactor = 3
- p.Size = Vector3.new()
- p.CFrame = CFrame.new(game.Players.LocalPlayer.Character.Torso.Position-Vector3.new(0,2.5,0))
- p.TopSurface = 0
- p.BottomSurface = 0
- p.Parent = workspace
- local m = Instance.new("SpecialMesh",p)
- m.MeshId = "http://www.roblox.com/asset/?id=20329976"
- m.Scale = Vector3.new()
- m.TextureId = "http://www.roblox.com/asset/?ID=1361097"
- m.VertexColor = Vector3.new()
- for i=1,50 do
- local ratio = math.sin((i/100)*math.pi)
- p.CFrame = p.CFrame*CFrame.fromEulerAnglesXYZ(0,math.random()*math.pi,0)
- m.Scale = Vector3.new(ratio/4,ratio,ratio/4)*100
- p.Transparency = 0.5+(ratio*0.5)
- m.VertexColor = Vector3.new(ratio*2)
- wait()
- end
- p:Remove()
- end))
- wait()
- end
- end))
- end
- if ragePts < 0 then ragePts = 0 end
- if not overcharge then
- if ragePts > 1000 then
- if rage then
- ragefpts.TextColor3 = Color3.new(math.random(0,1),0,0)
- end
- ragePts = ragePts-3
- if ragePts < 1000 then ragePts = 1000 end
- else ragefpts.TextColor3 = Color3.new()
- end
- end
- end
- rageffill.Size = UDim2.new(ragePts/1000,0,1,0)
- ragefpts.Text = ragePts
- if overcharge then
- ragefpts.Text = "RAGE!"
- end
- local torso = game.Players.LocalPlayer.Character.Torso
- --[[ if fly then
- flySpd = flySpd+1
- if flySpd > 100 then flySpd = 100 end
- local dir = Vector3.new()
- if u then
- dir = dir+Vector3.new(0,1,0)
- end
- if d then
- dir = dir-Vector3.new(0,1,0)
- end
- if f then
- dir = dir+workspace.CurrentCamera.CoordinateFrame.lookVector
- end
- if b then
- dir = dir-workspace.CurrentCamera.CoordinateFrame.lookVector
- end
- if l then
- dir = dir+(workspace.CurrentCamera.CoordinateFrame*CFrame.fromEulerAnglesXYZ(0,math.pi/2,0)).lookVector
- end
- if r then
- dir = dir-(workspace.CurrentCamera.CoordinateFrame*CFrame.fromEulerAnglesXYZ(0,math.pi/2,0)).lookVector
- end
- dir = dir.unit*(flySpd/100)
- flyCF = CFrame.new(flyCF.p+dir,(flyCF.p+dir)*2)--*CFrame.fromEulerAnglesXYZ((math.pi/-2.5)*(flySpd/100),0,0)
- game.Players.LocalPlayer.Character.Torso.CFrame = flyCF
- game.Players.LocalPlayer.Character.Torso.Velocity = Vector3.new()
- game.Players.LocalPlayer.Character.Torso.RotVelocity = Vector3.new()
- for i=1,#aa1 do
- aa1[i].CFrame = aa1[i].CFrame+Vector3.new(0,math.random(0,10)/100,0)-game.Players.LocalPlayer.Character.Torso.CFrame.lookVector*(math.random(0,10)/100)
- aa2[i].CFrame = aa2[i].CFrame+Vector3.new(0,math.random(0,10)/100,0)-game.Players.LocalPlayer.Character.Torso.CFrame.lookVector*(math.random(0,10)/100)
- aa3[i].CFrame = aa3[i].CFrame+Vector3.new(0,math.random(0,10)/100,0)-game.Players.LocalPlayer.Character.Torso.CFrame.lookVector*(math.random(0,10)/100)
- end
- end]]
- simulate(torso.CFrame*CFrame.new(0,0.9,1.06),0.45,torso,Vector3.new(),aa1)
- simulate((torso.CFrame*CFrame.new(0.7,0.9,0.9))*CFrame.fromEulerAnglesXYZ(0,math.pi/-8,0),0.45,torso,Vector3.new(0,0,math.pi/-8),aa2)
- simulate((torso.CFrame*CFrame.new(-0.7,0.9,0.9))*CFrame.fromEulerAnglesXYZ(0,math.pi/8,0),0.45,torso,Vector3.new(0,0,math.pi/8),aa3)
- end
- wait()
- end
Add Comment
Please, Sign In to add comment