Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- keys = {["z"] = true;["x"] = true;["c"] = true;["v"] = true;["b"] = true;["n"] = true}
- excludedparts = {["BasePlate"] = true}
- run = game:GetService("RunService")
- plr = script.Parent.Parent
- mouse = plr:GetMouse()
- game:GetService("Chat")
- debounce = false
- area = 0
- half1 = 0
- half2 = 0
- operoomcframe = 0
- holdtime = 0
- opearm = false
- glow = 0
- f1 = false
- function CreateFalseSpike()
- local Spaike = Instance.new("Part")
- Spaike.Anchored = true
- Spaike.CanCollide = false
- Spaike.FormFactor = "Custom"
- Spaike.Size = Vector3.new(8.898, 4.768, 4.768)
- Spaike.Transparency = 1
- Spaike.TopSurface = 0
- Spaike.BottomSurface = 0
- Spaike.Material = "Concrete"
- return Spaike
- end
- spike = game:GetService("InsertService"):LoadAsset(238152126).Spike:Clone()
- spike = spike or CreateFalseSpike()
- spike.Parent = workspace.CurrentCamera
- spike.CFrame = CFrame.new(math.huge,100,math.huge)
- char = plr.Character or plr.CharacterAdded:wait()
- function waits()
- char:WaitForChild("Torso")
- char.Torso:WaitForChild("Right Shoulder")
- wait()
- end
- function pcal()
- pcall(waits)
- local checks = 0
- repeat pcall(waits) checks = checks+1 wait() until char:FindFirstChild("Torso") or checks == 20
- checks = 0
- repeat pcall(waits) checks = checks+1 wait() until char.Torso:FindFirstChild("Right Shoulder") or checks == 20
- end
- pcall(pcal)
- char = game.Workspace[plr.Name]
- origarm = script["Right Shoulder"].C0
- function MPositionCheck(start,position,limit)
- if (start-position).Magnitude <= limit then
- return true
- end
- return false
- end
- function Exclude(part)
- if excludedparts[part.Name] then
- return true
- end
- return false
- end
- function Zmove()
- print("Finding Operoom")
- if char.Torso:FindFirstChild("OpeRoom") == nil then
- print("Not Found")
- game:GetService("Chat"):Chat(char, "Ope Ope no mi: Room")
- print("Chatted")
- local room = Instance.new("Part", char.Torso)
- room.BrickColor = BrickColor.new("Bright bluish green")
- room.Material = "SmoothPlastic"
- room.Reflectance = 0.7
- room.Transparency = 0.6
- room.Name = "OpeRoom"
- room.Anchored = true
- room.CanCollide = false
- room.Elasticity = 0
- room.Friction = 1
- room.Shape = "Ball"
- room.Size = Vector3.new(1,1,1)
- room.TopSurface = 0
- room.BottomSurface = 0
- room.CFrame = char["Right Arm"].CFrame+Vector3.new(0,-1,0)
- for i = 1, 3 do
- room.Size = room.Size+Vector3.new(10*holdtime,10*holdtime,10*holdtime)
- room.CFrame = char["Right Arm"].CFrame+Vector3.new(0,-1,0)
- run.Stepped:wait()
- end
- local opelight = Instance.new("PointLight")
- opelight.Range = room.Size.Y/2
- opelight.Name = "OpeLight"
- opelight.Parent = room
- area = room.Size.Y
- half1 = Vector3.new(-room.Size.X/2,-room.Size.Y/2,-room.Size.Z/2)
- half2 = Vector3.new(room.Size.X/2,room.Size.Y/2,room.Size.Z/2)
- operoomcframe = room.CFrame
- else
- print("Found")
- game:GetService("Chat"):Chat(char, "Ope Ope no mi: Room Collapse")
- for i = 1, char.Torso.OpeRoom.Size.Y-1 do
- if char.Torso:FindFirstChild("OpeRoom") == nil then debounce = false return end
- char.Torso.OpeRoom.Size = char.Torso.OpeRoom.Size+Vector3.new(-1,-1,-1)
- char.Torso.OpeRoom.CFrame = operoomcframe
- char.Torso.OpeRoom.OpeLight.Range = char.Torso.OpeRoom.Size.Y/2
- run.Stepped:wait()
- end
- area = 0
- half1 = 0
- half2 = 0
- operoomcframe = 0
- char.Torso.OpeRoom:Destroy()
- end
- debounce = false
- end
- function Xmove()
- if opearm == false then
- game:GetService("Chat"):Chat(char, "Ope Ope no mi: Mes")
- opearm = true
- char.Torso["Right Shoulder"].C0 = char.Torso["Right Shoulder"].C0*CFrame.Angles(0,0,1.5)
- local touch = false
- local heartgrab
- heartgrab = char["Right Arm"].Touched:connect(function(hit)
- if opearm == false then
- heartgrab:disconnect()
- return
- end
- if hit.Parent:FindFirstChild("Humanoid") and touch == false then
- if hit.Parent.Humanoid ~= char.Humanoid then
- touch = true
- local heart = Instance.new("Tool")
- heart.Name = hit.Parent.Name.."'s heart"
- local hearthandle = Instance.new("Part",heart)
- hearthandle.Name = "Handle"
- hearthandle.FormFactor = "Custom"
- hearthandle.Size = Vector3.new(1.2,1.2,1.2)
- hearthandle.BrickColor = BrickColor.new("Medium blue")
- hearthandle.Reflectance = 0.5
- hearthandle.Transparency = 0.3
- hearthandle.Material = "SmoothPlastic"
- hearthandle.BackSurface = "SmoothNoOutlines"
- hearthandle.BottomSurface = "SmoothNoOutlines"
- hearthandle.FrontSurface = "SmoothNoOutlines"
- hearthandle.LeftSurface = "SmoothNoOutlines"
- hearthandle.RightSurface = "SmoothNoOutlines"
- hearthandle.TopSurface = "SmoothNoOutlines"
- local heartdecor = Instance.new("Part",heart)
- heartdecor.Name = "HeartDecoration"
- heartdecor.FormFactor = "Custom"
- heartdecor.Size = Vector3.new(1.2,1.2,1.2)
- heartdecor.BrickColor = BrickColor.new("Pink")
- heartdecor.Reflectance = 0.3
- heartdecor.CanCollide = false
- heartdecor.Material = "SmoothPlastic"
- local decormesh = Instance.new("SpecialMesh",heartdecor)
- decormesh.Name = "HeartMesh"
- decormesh.MeshType = "FileMesh"
- decormesh.MeshId = "http://www.roblox.com/asset/?id=105992239"
- decormesh.TextureId = ""
- decormesh.Scale = Vector3.new(2.5,2.5,2.5)
- local heartweld = Instance.new("Weld",hearthandle)
- heartweld.Name = "HeartWeld"
- heartweld.Part0 = hearthandle
- heartweld.Part1 = heartdecor
- heartweld.C0 = CFrame.new(0,0,-0.25)
- local heartscript = script.HeartTool:Clone()
- heartscript.Parent = heart
- heartscript.Heart.Value = hit.Parent.Humanoid
- heartscript.Disabled = false
- heart.Parent = plr.Backpack
- opearm = false
- char.Torso["Right Shoulder"].C0 = origarm
- heartgrab:disconnect()
- end
- end
- end)
- else
- opearm = false
- char.Torso["Right Shoulder"].C0 = origarm
- end
- wait()
- debounce = false
- end
- function Cmove()
- if char.Torso:FindFirstChild("OpeRoom") == nil then debounce = false return end
- if holdtime > 0.5 then
- if mouse.Target ~= nil then
- local object = mouse.Target
- if not MPositionCheck(char.Torso.OpeRoom.Position,object.Position,area/2) and object.Anchored == true then debounce = false return end
- game:GetService("Chat"):Chat(char, "Ope Ope no mi: Takt;Levitate")
- object.CFrame = object.CFrame+Vector3.new(0,object.Size.Y,0)
- if object.Parent:FindFirstChild("Humanoid") then
- object.Parent.Humanoid:TakeDamage(15)
- object.Parent.Humanoid.Sit = true
- end
- if object.Parent:IsA("Model") then
- for _,part in pairs(object.Parent:GetChildren()) do
- if part:IsA("BasePart") then
- local levitate = Instance.new("BodyForce",part)
- levitate.Name = "OpeForce"
- levitate.force = Vector3.new(0,196.2*object:GetMass(),0)
- local debris = script.Debris:Clone()
- debris.Parent = levitate
- debris.Time.Value = 2
- debris.Disabled = false
- end
- end
- end
- end
- elseif holdtime <= 0.5 then
- local cfpoint = mouse.Hit
- local point = mouse.Hit.p
- print("mpos")
- if not MPositionCheck(char.Torso.OpeRoom.Position,point,area/2) then debounce = false return end
- print("mpos done")
- game:GetService("Chat"):Chat(char, "Ope Ope no mi: Takt;Thorn")
- local touch = false
- local spikeclone = spike:Clone()
- spikeclone.Parent = char.Torso
- local spikeconnect
- spikeconnect = spikeclone.Touched:connect(function(hit)
- if touch == false and hit.Name ~= "OpeRoom" then
- touch = true
- spikeclone.Material = hit.Material
- spikeclone.BrickColor = hit.BrickColor
- spikeclone.Transparency = hit.Transparency
- spikeclone.Reflectance = hit.Reflectance
- spikeclone.Anchored = true
- elseif hit.Parent:FindFirstChild("Humanoid") then
- if hit.Parent.Humanoid ~= char.Humanoid then
- hit.Parent.Humanoid:TakeDamage(10)
- end
- end
- end)
- spikeclone.CFrame = cfpoint
- spikeclone.CFrame = spikeclone.CFrame*CFrame.Angles(0,0,-1.5)
- spikeclone.Anchored = false
- local debris = script.Debris:Clone()
- debris.Parent = spikeclone
- debris.Time.Value = 3
- debris.Disabled = false
- wait(1)
- end
- wait()
- debounce = false
- end
- function Vmove()
- local enhancepart = char["Right Arm"]
- local holdheart = false
- local heart
- for _,c in pairs(char:GetChildren()) do
- if c:IsA("Tool") and c:FindFirstChild("Handle") then
- if c:FindFirstChild("HeartTool") then
- holdheart = true
- heart = c
- else
- enhancepart = c.Handle
- end
- f1 = true
- break
- end
- end
- if opearm == false then
- opearm = true
- if f1 == false then
- char.Torso["Right Shoulder"].C0 = char.Torso["Right Shoulder"].C0*CFrame.Angles(0,0,1.5)
- end
- if holdheart == false then
- if enhancepart.Name ~= "Handle" then
- game:GetService("Chat"):Chat(char, "Ope Ope no mi: Counter Shock")
- else
- game:GetService("Chat"):Chat(char, "Ope Ope no mi: Radio Knife")
- end
- glow = Instance.new("PointLight",char["Right Arm"])
- glow.Brightness = 100000000
- glow.Color = Color3.new(0,170/255,1)
- local touch = false
- local countershock
- countershock = enhancepart.Touched:connect(function(hit)
- if opearm == false then
- countershock:disconnect()
- return
- end
- if hit.Parent:FindFirstChild("Humanoid") then
- if hit.Parent.Humanoid ~= char.Humanoid then
- hit.Parent.Humanoid:TakeDamage(45)
- hit.Parent.Humanoid.Sit = true
- hit.Velocity = char.Torso.CFrame.lookVector*100
- for _,part in pairs(hit.Parent:GetChildren()) do
- if part:IsA("BasePart") then
- for i = 1, math.random(5,13) do
- local surge = Instance.new("Part",char.Torso)
- surge.BrickColor = BrickColor.new("Bright bluish green")
- surge.Transparency = 0.3
- surge.Anchored = true
- surge.FormFactor = "Custom"
- surge.Size = Vector3.new(0.2,math.random(1,3),0.2)
- surge.CFrame = part.CFrame*CFrame.new(math.random(-2,2),math.random(-2,2),math.random(-2,2))*CFrame.Angles(math.random(-10,10)*0.1,math.random(-10,10)*0.1,math.random(-10,10)*0.1)
- local debris = script.Debris:Clone()
- debris.Parent = surge
- debris.Time.Value = .3
- debris.Disabled = false
- end
- end
- end
- opearm = false
- char.Torso["Right Shoulder"].C0 = origarm
- if glow ~= nil then
- glow:Destroy()
- end
- countershock:disconnect()
- end
- end
- end)
- else
- if heart.HeartTool.Heart.Value ~= nil then
- game:GetService("Chat"):Chat(char, "Ope Ope no mi: Electrocution")
- for i = 1, math.random(9,16) do
- local surge = Instance.new("Part",heart.Handle)
- surge.BrickColor = BrickColor.new("Bright bluish green")
- surge.Transparency = 0.3
- surge.Anchored = true
- surge.FormFactor = "Custom"
- surge.CanCollide = false
- surge.Size = Vector3.new(0.2,math.random(1,3),0.2)
- surge.CFrame = heart.Handle.CFrame*CFrame.new(math.random(-2,2),math.random(-2,2),math.random(-2,2))*CFrame.Angles(math.random(-10,10)*0.1,math.random(-10,10)*0.1,math.random(-10,10)*0.1)
- local debris = script.Debris:Clone()
- debris.Parent = surge
- debris.Time.Value = .4
- debris.Disabled = false
- end
- for _,part in pairs(heart.HeartTool.Heart.Value.Parent:GetChildren()) do
- if part:IsA("BasePart") then
- for i = 1, math.random(8,14) do
- local surge = Instance.new("Part",char.Torso)
- surge.BrickColor = BrickColor.new("Bright bluish green")
- surge.Transparency = 0.3
- surge.Anchored = true
- surge.FormFactor = "Custom"
- surge.CanCollide = false
- surge.Size = Vector3.new(0.2,math.random(1,3),0.2)
- surge.CFrame = part.CFrame*CFrame.new(math.random(-2,2),math.random(-2,2),math.random(-2,2))*CFrame.Angles(math.random(-10,10)*0.1,math.random(-10,10)*0.1,math.random(-10,10)*0.1)
- local debris = script.Debris:Clone()
- debris.Parent = surge
- debris.Time.Value = .3
- debris.Disabled = false
- end
- end
- end
- heart.HeartTool.Heart.Value.Parent.Humanoid:TakeDamage(50)
- end
- end
- wait(4)
- else
- opearm = false
- if f1 == false then
- char.Torso["Right Shoulder"].C0 = origarm
- end
- if glow ~= nil then
- glow:Destroy()
- end
- end
- wait()
- enhancepart = char["Right Arm"]
- debounce = false
- end
- function Bmove()
- if char.Torso:FindFirstChild("OpeRoom") == nil then debounce = false return end
- if holdtime > 0.5 then
- game:GetService("Chat"):Chat(char, "Ope Ope no mi: Shambles")
- local objects = {}
- local detector = char.Torso.OpeRoom:Clone()
- detector.Transparency = 1
- detector.CFrame = char.Torso.OpeRoom.CFrame
- local partgrab
- local same = false
- partgrab = detector.Touched:connect(function(hit)
- if hit.Parent ~= char and hit.Name ~= "Handle" and not Exclude(hit) then
- for _,obj in pairs(objects) do
- if obj == hit then
- same = true
- break
- end
- end
- if same == false then
- table.insert(objects,hit)
- end
- end
- end)
- detector.Parent = char.Torso
- detector.Anchored = false
- wait(.25)
- partgrab:disconnect()
- detector:Destroy()
- if #objects > 0 then
- for _,part in pairs(objects) do
- if part.Parent ~= char and part.Name ~= "Handle" then
- if part.Anchored == false then
- if MPositionCheck(char.Torso.OpeRoom.Position,part.Position,area/2) then
- if part.Parent:FindFirstChild("Humanoid") then
- part.Parent.Humanoid:TakeDamage(25/6)
- part.Parent.Humanoid.Sit = true
- else
- part:BreakJoints()
- end
- local levitate = Instance.new("BodyForce",part)
- levitate.Name = "OpeForce"
- if math.random(1,2) == 1 then
- levitate.force = Vector3.new((196.2+math.random(-30,30))*part:GetMass(),(196.2+math.random(-30,30))*part:GetMass(),(196.2+math.random(-30,30))*part:GetMass())
- else
- levitate.force = Vector3.new((-196.2+math.random(-30,30))*part:GetMass(),(-196.2+math.random(-30,30))*part:GetMass(),(-196.2+math.random(-30,30))*part:GetMass())
- end
- local debris = script.Debris:Clone()
- debris.Parent = levitate
- debris.Time.Value = .5
- debris.Disabled = false
- part.Velocity = Vector3.new()
- end
- end
- end
- end
- end
- elseif holdtime <= 0.5 then
- if mouse.Target == nil then debounce = false return end
- local target = mouse.Target
- if not MPositionCheck(char.Torso.OpeRoom.Position,target.Position,area/2) then debounce = false return end
- if Exclude(target) then debounce = false return end
- if target.Anchored == true and target.Name ~= "Handle" then debounce = false return end
- game:GetService("Chat"):Chat(char, "Ope Ope no mi: Shambles;Teleport")
- local targetclone = target:Clone()
- targetclone.Parent = char.Torso
- targetclone.Anchored = true
- targetclone.CanCollide = false
- if targetclone.ClassName ~= "TrussPart" then
- targetclone.FormFactor = "Custom"
- targetclone.Size = targetclone.Size+Vector3.new(0.5,0.5,0.5)
- end
- targetclone.Transparency = 0.3
- targetclone.CFrame = target.CFrame
- targetclone.BrickColor = BrickColor.Green()
- local weld = Instance.new("Weld",targetclone)
- weld.Part0 = targetclone
- weld.Part1 = target
- weld.C0 = CFrame.new()
- local debris = script.Debris:Clone()
- debris.Parent = targetclone
- debris.Time.Value = 5
- debris.Disabled = false
- wait(.2)
- targetclone.BrickColor = BrickColor.Yellow()
- wait(.2)
- targetclone.BrickColor = BrickColor.Red()
- wait(.2)
- targetclone:Destroy()
- if (mouse.Hit.p-target.Position).Magnitude <= area then
- if target ~= nil then
- if target.Parent:FindFirstChild("Torso") and target.Parent:FindFirstChild("Humanoid") then
- target.Parent.Humanoid.PlatformStand = true
- target.Parent.Torso.CFrame = mouse.Hit
- target.Parent.Humanoid.PlatformStand = false
- else
- target:BreakJoints()
- target.CFrame = mouse.Hit
- end
- end
- end
- end
- wait()
- debounce = false
- end
- function Nmove()
- if char.Torso:FindFirstChild("OpeRoom") == nil then debounce = false return end
- if not MPositionCheck(char.Torso.OpeRoom.Position,char.Torso.Position,area/2) then debounce = false return end
- local tooltf
- local tool
- for _,obj in pairs(char:GetChildren()) do
- if obj:IsA("Tool") then
- if obj:FindFirstChild("Handle") then
- tooltf = true
- tool = obj
- break
- end
- end
- end
- if tooltf == false then debounce = false return end
- if tool == nil then debounce = false return end
- game:GetService("Chat"):Chat(char, "Ope Ope no mi: Injection Shot")
- local convert = Instance.new("IntValue")
- convert.Value = holdtime
- local holdtimeint
- if convert.Value == 0 then
- holdtimeint = 1
- else
- holdtimeint = convert.Value*2
- game:GetService("Chat"):Chat(char, "Ope Ope no mi: Injection Shot;Barrage")
- end
- convert:Destroy()
- for i = 1, holdtimeint do
- local shot = Instance.new("Part",char.Torso)
- shot.CanCollide = false
- shot.Transparency = 0.6
- shot.BrickColor = BrickColor.new("White")
- shot.FormFactor = "Custom"
- shot.Size = Vector3.new(area - (char.Torso.Position-char.Torso.OpeRoom.Position).Magnitude/2,0,0)
- shot.CFrame = tool.Handle.CFrame*CFrame.new((-(area-(char.Torso.Position-char.Torso.OpeRoom.Position).Magnitude/4)/2)+4,0,0)*CFrame.Angles(0,math.random(-10,10)*0.0010,math.random(-10,10)*0.0010)
- shot.TopSurface = 0
- shot.BottomSurface = 0
- shot.Material = "SmoothPlastic"
- shot.BackSurface = "SmoothNoOutlines"
- shot.BottomSurface = "SmoothNoOutlines"
- shot.FrontSurface = "SmoothNoOutlines"
- shot.LeftSurface = "SmoothNoOutlines"
- shot.RightSurface = "SmoothNoOutlines"
- shot.TopSurface = "SmoothNoOutlines"
- local shotgrav = Instance.new("BodyForce",shot)
- shotgrav.force = Vector3.new(0,196.2*shot:GetMass(),0)
- local debris = script.Debris:Clone()
- debris.Parent = shot
- debris.Time.Value = .5
- debris.Disabled = false
- local shotted
- local counter = 0
- local lasthumanoid
- shotted = shot.Touched:connect(function(hit)
- if hit.Parent:FindFirstChild("Humanoid") and hit.Parent ~= char and counter <= 4 then
- if hit.Parent.Humanoid ~= lasthumanoid then
- counter = counter+1
- hit.Parent.Humanoid:TakeDamage(8)
- hit.Parent.Humanoid.Sit = true
- lasthumanoid = hit.Parent.Humanoid
- end
- elseif counter == 5 then
- shotted:disconnect()
- end
- end)
- end
- wait(2)
- debounce = false
- end
- function DFability(move)
- if move == "z" then
- print("z")
- Zmove()
- elseif move == "x" then
- print("x")
- Xmove()
- elseif move == "c" then
- print("c")
- Cmove()
- elseif move == "v" then
- print("v")
- Vmove()
- elseif move == "b" then
- print("b")
- Bmove()
- elseif move == "n" then
- Nmove()
- end
- if wait(5) then
- debounce = false
- end
- end
- mouse.KeyDown:connect(function(originalkeydown)
- local key1 = originalkeydown:lower()
- if debounce == false then
- if keys[key1]then
- debounce = true
- holdtime = 0
- local keyu = mouse.KeyUp:connect(function(originalkeyup)
- key2 = originalkeyup:lower()
- end)
- repeat wait() holdtime = holdtime + 0.03 until key2 == key1 or holdtime > 5
- print(holdtime)
- DFability(key1)
- keyu:disconnect()
- key2 = nil
- end
- end
- end)
- print("tbnj123")
Advertisement
Advertisement