Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Roblox.LUA | Earth Shaker, WIP. | Made by Cass.
- print[[
- click = smash
- Q = dash
- E = slow dash
- R = ride part you're standing on
- T = spawn large cloud
- ]]
- antig=193
- bforce = 100
- cloudcolors = {353,354,1002,358,194,208,1,311}
- function cloud(a)
- a.BrickColor = BrickColor.new(cloudcolors[math.random(1,#cloudcolors)])
- end
- base = nil
- game:GetService'RunService'.Stepped:connect(function()
- if workspace:FindFirstChild'Base' ~= nil then base = workspace.Base else base = nil end
- end)
- function dash(a,b,d)
- local c = Instance.new('BodyVelocity',a)
- game:GetService'Debris':AddItem(c,.1)
- c.Velocity = Vector3.new(0,20,0) + ((a.CFrame * CFrame.Angles(math.random(-2e9,2e9),math.random(-2e9,2e9),math.random(-2e9,2e9))).lookVector * 100)
- end
- function fragment(a,todash)
- if a.Size.Y ~= .2 and a.Size.X ~= .2 and a.Size.Z ~= .2 then
- local model = a.Parent
- --[[local cf = a.CFrame
- a.Size = a.Size + Vector3.new(1,1,1)
- a.CFrame = cf]]--
- a:Destroy()
- a.CanCollide = true
- local ofs = 2
- local psize = Vector3.new(a.Size.X / ofs,a.Size.Y / ofs,a.Size.Z / ofs)
- local sizex = a.Size.X
- local sizez = a.Size.Z
- local offset1 = 0
- local offset2 = 0
- local offset3 = 0
- local start = a.CFrame * CFrame.new(a.Size.X / -2,a.Size.Y / -2,a.Size.Z / -2)
- for i=1,a.Size.Y / psize.Y,1 do
- for i=1,sizez / psize.Z,1 do
- for i=1,sizex / psize.X,1 do
- local b = a:Clone()
- if model:FindFirstChild'Humanoid' then
- b.Material = 'Neon'
- b.BrickColor = BrickColor.new(cloudcolors[math.random(1,#cloudcolors)])
- spawn(function()
- for i=0,1,.0025 do
- wait()
- b.Transparency = i
- end
- b:Destroy()
- end)
- end
- b.Parent = workspace
- if not todash then
- b.Velocity = (b.CFrame * CFrame.Angles(math.random(),math.random(),math.random())).lookVector*bforce
- end
- b:ClearAllChildren()
- b.Name = 'fragmentDelayed'
- if a.Name == 'cloud' then cloud(b) end
- if not model:FindFirstChild'Humanoid' then spawn(function() wait(.6) b.Name = 'fragment'
- if a.Name == 'cloud' then b.Name = 'cloud' end end) end
- b.Size = psize
- Instance.new('BodyForce',b).Force = Vector3.new(0,b:GetMass()*antig,0)
- b.CFrame = start * CFrame.new(offset1,offset3,offset2)
- b:BreakJoints()
- b.Anchored = false
- offset1 = offset1 + psize.X
- end
- offset1 = 0
- offset2 = offset2 + psize.Z
- end
- offset1 = 0
- offset2 = 0
- offset3 = offset3 + psize.Y
- end
- end
- end
- plr = game:GetService'Players'.LocalPlayer
- char = plr.Character
- mouse = plr:GetMouse()
- dhit = false
- qdeb = false
- handle = Instance.new('Part',script) handle.Material = 'Wood'
- handle.Size = Vector3.new(.2,.2,.2) handle.BrickColor = BrickColor.new(364)
- handle.CanCollide = false
- Instance.new('BlockMesh',handle).Scale = Vector3.new(1,1,20)
- function weightless(a)
- Instance.new('BodyForce',a).Force = Vector3.new(0,a:GetMass(),0)
- end
- mcf = CFrame.new(0,0,2)
- for i=1,10,1 do
- local a = Instance.new('Part',script)
- a.Material = 'Concrete'
- a.CanCollide = false
- a.BrickColor = BrickColor.new('Flint')
- a.Size = Vector3.new(.2,.2,.2)
- Instance.new('BlockMesh',a).Scale = Vector3.new(1.1,1.1,1)
- local b = Instance.new('Weld',a)
- b.Part0 = handle
- b.Part1 = a
- b.C0 = mcf
- mcf = mcf * CFrame.new(0,0,-.4)
- weightless(a)
- end
- met = Instance.new('Part',script) met.Material = 'Concrete'
- met.BrickColor = BrickColor.new(363) met.Size = Vector3.new(0,0,0)
- Instance.new('BlockMesh',met).Scale = Vector3.new(10,15,10)
- met.CanCollide = false
- met.Name = 'met'
- hitbox = met:Clone() hitbox.Parent = script
- hitbox.Size = Vector3.new(2.5,2.5,2.5) hitbox.Mesh:Destroy()
- hitbox.BrickColor = BrickColor.new(363)
- des = hitbox:Clone() des.Parent = script des.Size = Vector3.new(1.5,3,1.5)
- dw = Instance.new('Weld',des) dw.Part0 = hitbox dw.Part1 = des
- dw.C0 = CFrame.new(0,-.25,0)
- hbw = Instance.new('Weld',hitbox) hbw.Part0 = met hbw.Part1 = hitbox hbw.C0 = CFrame.new(0,0,0) * CFrame.Angles(0,math.rad(45),0)
- function weld(a,b,c,d)
- local e = Instance.new('Weld',b) e.Part0 = a e.Part1 = b
- e.C1 = c e.C0 = d
- return e
- end
- function move(a,b,c)
- a.C0 = a.C0:lerp(b,c)
- end
- weightless(hitbox)
- ra = weld(char.HumanoidRootPart,char['Right Arm'],CFrame.new(0,.5,0),CFrame.new(1.5,.5,0) * CFrame.Angles(math.rad(230),math.rad(-45),math.rad(-25)))
- hw = Instance.new('Weld',handle) hw.Part0 = char['Right Arm']
- hw.Part1 = handle
- hw.C0 = CFrame.new(0,-1,0) * CFrame.Angles(0,math.rad(90),0)
- mw = Instance.new('Weld',met) mw.Part0 = handle mw.Part1 = met
- mw.C0 = CFrame.new(0,0,-3)
- weightless(handle)
- weightless(met)
- on = false
- function blur(ma,ofs)
- local a = ma:Clone()
- a.CanCollide = false
- a.Parent = script
- a.Size = ma.Size + Vector3.new(ofs,ofs,ofs)
- a.BrickColor = BrickColor.new(cloudcolors[math.random(1,#cloudcolors)])
- a.Material = 'SmoothPlastic'
- if a.Name == 'Torso' then
- a:ClearAllChildren()
- end
- a.Name = 'fragmentDelayed'
- if a:FindFirstChild'Mesh' then
- a.Mesh.Scale = a.Mesh.Scale - Vector3.new(.1,.1,.1)
- end
- a.CFrame = ma.CFrame
- a:BreakJoints()
- a.Anchored = true
- local done = false game:GetService'RunService'.Stepped:connect(function() if done == false then done = true
- for i=0,1,.2 do
- wait()
- a.Transparency = i
- end
- a:Destroy()
- end end)
- return a
- end
- mouse.Button1Down:connect(function()
- if on == false then
- on = true
- dhit = true
- local s2 = Instance.new('Sound',met)
- s2.SoundId = 'rbxassetid://145486992'
- s2.Pitch = math.random(7,10) * .1
- s2:Play()
- game:GetService('Debris'):AddItem(s2,s2.TimeLength)
- for i=0,1,.1 do wait()
- move(ra,CFrame.new(1.5,.5,0) * CFrame.Angles(math.rad(70),0,0),.5)
- move(hw,CFrame.new(0,-2,0) * CFrame.Angles(math.rad(-90),0,0),.9)
- blur(met)
- end
- dhit = false
- for i=0,1,.1 do wait()
- move(ra,CFrame.new(1.5,.5,0) * CFrame.Angles(math.rad(230),math.rad(-45),math.rad(-25)),.3)
- move(hw,CFrame.new(0,-1,0) * CFrame.Angles(0,math.rad(90),0),.9)
- end
- on = false
- end
- end)
- welded = false
- footweld = nil
- cdeb = false
- edeb = false
- mouse.KeyDown:connect(function(key)
- if key == 't' and cdeb == false then
- cdeb = true
- local a = Instance.new('Part',workspace)
- a.Material = 'SmoothPlastic'
- a.Name = 'cloud'
- a.BrickColor = BrickColor.new(1002)
- a.Size = Vector3.new(0,0,0)
- a.Anchored = true
- a.CFrame = char.Torso.CFrame * CFrame.new(0,-3,0)
- a.Velocity = Vector3.new(0,2,0)
- a:BreakJoints()
- a.Transparency = 1
- cloud(a)
- local rsize = math.random(100,250)
- spawn(function()
- for i=1,.3,-.01 do
- wait()
- a.Transparency = i
- end
- end)
- local origcf = a.CFrame
- for i=0,rsize,.5 do
- wait()
- a.Size = Vector3.new(i,i,i)
- a.CFrame = origcf * CFrame.new(0,.5*i,0)
- end
- cdeb = false
- a.Anchored = false
- Instance.new('BodyForce',a).Force = Vector3.new(0,a:GetMass()*antig,0)
- end
- if key == 'e' and qdeb == false then
- qdeb = true
- local s2 = Instance.new('Sound',char.Torso)
- s2.Pitch = math.random(7,10) * .1
- s2.SoundId = 'rbxassetid://134012322'
- s2:Play()
- game:GetService('Debris'):AddItem(s2,s2.TimeLength)
- local spd = 50
- local c = Instance.new('BodyVelocity',char.Torso)
- c.Velocity = CFrame.new(char.Torso.Position,mouse.hit.p).lookVector * spd
- c.P = 100
- c.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
- game:GetService'Debris':AddItem(c,.1)
- spawn(function()
- for i=1,10,1 do wait()
- blur(char.Torso,-1)
- c.Velocity = c.Velocity + CFrame.new(char.Torso.Position,mouse.hit.p).lookVector * spd
- end
- end)
- wait(.2)
- qdeb = false
- end
- if key == 'q' and qdeb == false then
- qdeb = true
- local s2 = Instance.new('Sound',char.Torso)
- s2.SoundId = 'rbxassetid://154723542'
- s2.Pitch = math.random(7,10) * .1
- s2:Play()
- game:GetService('Debris'):AddItem(s2,s2.TimeLength)
- local spd = 125
- local c = Instance.new('BodyVelocity',char.Torso)
- c.Velocity = CFrame.new(char.Torso.Position,mouse.hit.p).lookVector * spd
- c.P = 100
- c.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
- game:GetService'Debris':AddItem(c,.1)
- spawn(function()
- for i=1,10,1 do wait()
- blur(char.Torso,2)
- c.Velocity = c.Velocity + CFrame.new(char.Torso.Position,mouse.hit.p).lookVector * spd
- end
- end)
- wait(.2)
- qdeb = false
- end
- if key == 'r' then
- if welded == false then
- local ray = Ray.new(char['Left Leg'].Position, ((char['Left Leg'].Position - Vector3.new(0,4,0)) - char['Left Leg'].Position).unit * 4)
- local hit = workspace:FindPartOnRay(ray)
- if hit then
- local w = Instance.new('Weld',char.Torso)
- w.C0 = char.Torso.CFrame:toObjectSpace(hit.CFrame)
- w.Part0 = char.Torso
- w.Part1 = hit
- footweld = w
- welded = true
- end
- else
- footweld.Parent = nil
- welded = false
- end
- end
- end)
- hitbox.Touched:connect(function(hit)
- if hit.Name ~= 'fragmentDelayed' and hit.Name ~= 'hitshockwave' and hit.Size.X+hit.Size.Y+hit.Size.Z > .2 then
- if dhit == true and hit ~= base and hit.Name ~='Base' then
- fragment(hit)
- if met:FindFirstChild'fragSound' == nil then
- local s1 = Instance.new('Sound',met)
- s1.Name = 'fragSound'
- s1.SoundId = 'rbxassetid://558640653'
- s1.Pitch = math.random(7,10) * .1
- s1:Play()
- game:GetService('Debris'):AddItem(s1,.5)
- end
- if script:FindFirstChild'hitshockwave' == nil then
- local a = Instance.new('Part',script)
- a.Name = 'hitshockwave'
- a.Anchored = true
- a.CanCollide = false
- a.Material = 'SmoothPlastic'
- a.BrickColor = BrickColor.new(1)
- a.Size = Vector3.new(0,0,0)
- a.CFrame = met.CFrame
- a.Shape = 'Ball'
- local origcfa = a.CFrame
- for i=0,1,.2 do
- wait()
- a.Transparency = i
- a.Size = a.Size + Vector3.new(5,5,5)
- a.CFrame = origcfa
- end
- a:Destroy()
- end
- end
- end
- end)
- game:GetService'RunService'.Stepped:connect(function()
- char:WaitForChild('Humanoid').WalkSpeed = 30
- if welded == true then
- char.Humanoid.PlatformStand = true
- char.Humanoid.WalkSpeed = 0
- else
- char.Humanoid.PlatformStand = false
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement