Advertisement
vL4d_4eVer

Crowbar OP

Apr 26th, 2018
685
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 18.76 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient()then error("Please run as a server script. Use h/ instead of hl/.")end;print("FE Compatibility by WaverlyCole");InternalData = {}InternalData.RealOwner = owner;InternalData.RealObjs = {};InternalData.SoundLoudness = {};
  2. do
  3.     script.Parent = InternalData.RealOwner.Character
  4.     local Event = Instance.new("RemoteEvent");Event.Name = "UserInput";InternalData.Event = Event
  5.     local function createObject (connections, index)
  6.         local proxy = newproxy (true);local meta = getmetatable (proxy);
  7.         local runbind = function (self, i, ...) connections[i]:Fire (...); end;
  8.         while (#connections > 0) do connections[table.remove(connections, 1)] = Instance.new ('BindableEvent');end;
  9.         meta.__index = function (self, i)
  10.             if (i == 'TriggerEvent') then return runbind end;
  11.             return connections[i] and connections[i].Event or index[i];
  12.         end;
  13.         meta.__newindex = index;meta.__metatable = false;return proxy
  14.     end;
  15.     local Mouse = createObject({"KeyUp","KeyDown","Button1Down","Button1Up","Move","Button2Down","Button2Up"},{["Target"] = nil;["Hit"] = CFrame.new()})
  16.     local UserInputService = createObject({"InputBegan","InputEnded"},{})
  17.     local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
  18.         self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
  19.     end};ContextActionService.UnBindAction = ContextActionService.BindAction
  20.     Event.OnServerEvent:Connect(function(FiredBy,Input)
  21.         if FiredBy ~= InternalData.RealOwner then return end
  22.         if Input.MouseEvent then
  23.             Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
  24.             Mouse:TriggerEvent("Move")
  25.         elseif Input.Sound then
  26.             if InternalData.SoundLoudness[Input.Sound] then InternalData.SoundLoudness[Input.Sound] = Input.Loudness end
  27.         else
  28.             local Begin = Input.UserInputState == Enum.UserInputState.Begin
  29.             if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TriggerEvent(Begin and "Button1Down" or "Button1Up") end
  30.             if Input.UserInputType == Enum.UserInputType.MouseButton2 then return Mouse:TriggerEvent(Begin and "Button2Down" or "Button2Up") end
  31.             for _,Action in pairs(ContextActionService.Actions) do
  32.                 for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
  33.             end
  34.             Mouse:TriggerEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower());UserInputService:TriggerEvent(Begin and "InputBegan" or "InputEnded",Input,false)
  35.         end
  36.     end)
  37.     InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
  38.     Event.Parent = NLS([[
  39.         local Player = owner;
  40.         local Sounds = {};
  41.         local Event = script:WaitForChild("UserInput");
  42.         local UserInputService = game:GetService("UserInputService");
  43.         local Mouse = Player:GetMouse();
  44.         local Input = function(Input,gameProcessedEvent)
  45.             if gameProcessedEvent then return end
  46.             Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
  47.         end
  48.         Event.OnClientEvent:connect(function(Args)
  49.             if Args[1] == "NewSound" then table.insert(Sounds,Args[2]) end
  50.         end)
  51.         UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
  52.         local Hit,Target
  53.         while wait(1/30) do
  54.             for x,Sound in pairs(Sounds) do
  55.                 if Sound.Parent then Event:FireServer({["Sound"]=Sound,["Loudness"]=Sound.PlaybackLoudness}) end
  56.             end
  57.             if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
  58.                 Hit = Mouse.Hit;Target = Mouse.Target;
  59.                 Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
  60.             end
  61.         end
  62.     ]],InternalData.RealOwner.Character)
  63. end
  64. InternalData.NewOwner = setmetatable({},{
  65.     __index = function (self,Index)
  66.             local Type = type(InternalData.RealOwner[Index])
  67.             if Type == "function" then
  68.                 if Index:lower() == "getmouse" or Index:lower() == "mouse" then
  69.                 return function (self)return InternalData["Mouse"] end
  70.                 end
  71.             return function (self,...)return InternalData.RealOwner[Index](InternalData.RealOwner,...) end
  72.         elseif Index == "FakePlayer" then
  73.             return true
  74.         end
  75.         return InternalData.RealOwner[Index]
  76.     end;
  77.     __tostring = function(self) return tostring(InternalData.RealOwner) end
  78. })
  79. InternalData.LoadLibrary = LoadLibrary;LoadLibrary = function(Library)
  80.     if Library == "RbxUtility" then
  81.         return setmetatable({},{
  82.             __tostring = function() return "RbxUtility" end;
  83.             __index = function(self, Index)
  84.                 if Index:lower() == "create" then
  85.                     return function(Type)
  86.                         return function(Data)
  87.                             Data = Data or {}
  88.                             local Inst = Instance.new(Type)
  89.                             for x,y in pairs(Data) do
  90.                                 if InternalData.RealObjs[y] then y = InternalData.RealObjs[y] end
  91.                                 if y == owner then y = InternalData.RealOwner end
  92.                                 Inst[x] = y
  93.                             end
  94.                             return Inst
  95.                         end
  96.                     end
  97.                 end
  98.                 return InternalData.LoadLibrary(Library)[Index]
  99.             end
  100.         })
  101.     end
  102.     return InternalData.LoadLibrary(Library)
  103. end
  104. InternalData.RealInstance = Instance;Instance = setmetatable({},{
  105.     __index = function (self,Index)
  106.         if Index:lower() == 'new' then
  107.             return function (Type, Parent)
  108.                 if Parent == owner then Parent = InternalData.RealOwner end
  109.                 if InternalData.RealObjs[Parent] then Parent = InternalData.RealObjs[Parent] end
  110.                 local Real = InternalData.RealInstance.new(Type,Parent)
  111.                 if not Type then return end
  112.                 if Type == "BillboardGui" then
  113.                     local ToReturn = setmetatable({},{
  114.                         __index = function (self,Index)
  115.                             if type(Real[Index]) == "function" then
  116.                                 if Index:lower() == "clone" then
  117.                                     return function (self)
  118.                                         local Real = Real:Clone()
  119.                                         local ToReturn = setmetatable({RealObject = Real},{
  120.                                             __index = function (self,Index)
  121.                                                 if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  122.                                                 return Real[Index]
  123.                                             end;
  124.                                             __newindex = function (self,Index,Value)
  125.                                                 if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  126.                                                 if Value == owner then Value = InternalData.RealOwner end
  127.                                                 Real[Index] = Value
  128.                                             end;
  129.                                             __tostring = function(self) return tostring(Real) end;
  130.                                         })
  131.                                         InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  132.                                     end
  133.                                 end
  134.                                 return function (self,...) return Real[Index](Real,...)end
  135.                             end
  136.                             return Real[Index]
  137.                         end;
  138.                         __newindex = function (self,Index,Value)
  139.                             if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  140.                             if Value == owner then Value = InternalData.RealOwner end
  141.                             Real[Index] = Value
  142.                         end;
  143.                         __tostring = function(self) return tostring(Real) end;
  144.                     })
  145.                     InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  146.                 elseif Type:lower() == "sound" then
  147.                     Real.Parent = owner.Character;
  148.                     local ToReturn = setmetatable({RealObject = Real},{
  149.                         __index = function (self,Index)
  150.                             if Index:lower() == "playbackloudness" then
  151.                                 return InternalData.SoundLoudness[Real] or 0
  152.                             elseif type(Real[Index]) == "function" then
  153.                                 if Index:lower() == "clone" then
  154.                                     return function (self)
  155.                                         local Real = Real:Clone()
  156.                                         local ToReturn = setmetatable({},{
  157.                                             __index = function (self,Index)
  158.                                                 if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  159.                                                 return Real[Index]
  160.                                             end;
  161.                                             __newindex = function (self,Index,Value)
  162.                                                 if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  163.                                                 if Value == owner then Value = InternalData.RealOwner end
  164.                                                 Real[Index] = Value
  165.                                             end;
  166.                                             __tostring = function(self) return tostring(Real) end;
  167.                                         })
  168.                                         InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  169.                                     end
  170.                                 end
  171.                                 return function (self,...) return Real[Index](Real,...)end
  172.                             end
  173.                             return Real[Index]
  174.                         end;
  175.                         __newindex = function (self,Index,Value)
  176.                             if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  177.                             if Value == owner then Value = InternalData.RealOwner end
  178.                             Real[Index] = Value
  179.                         end;
  180.                         __tostring = function(self) return tostring(Real) end;
  181.                     })
  182.                     InternalData.RealObjs[ToReturn] = Real;InternalData.SoundLoudness[Real] = 0;repeat wait() until InternalData.Event.Parent InternalData.Event:FireClient(InternalData.RealOwner,{"NewSound",Real}) return ToReturn;
  183.                 else
  184.                     local ToReturn = setmetatable({RealObject = Real},{
  185.                         __index = function (self,Index)
  186.                             if type(Real[Index]) == "function" then
  187.                                 if Index:lower() == "clone" then
  188.                                     return function (self)
  189.                                         local Real = Real:Clone()
  190.                                         local ToReturn = setmetatable({},{
  191.                                             __index = function (self,Index)
  192.                                                 if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  193.                                                 return Real[Index]
  194.                                             end;
  195.                                             __newindex = function (self,Index,Value)
  196.                                                 if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  197.                                                 if Value == owner then Value = InternalData.RealOwner end
  198.                                                 Real[Index] = Value
  199.                                             end;
  200.                                             __tostring = function(self) return tostring(Real) end;
  201.                                         })
  202.                                         InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  203.                                     end
  204.                                 end
  205.                                 return function (self,...) return Real[Index](Real,...)end
  206.                             end
  207.                             return Real[Index]
  208.                         end;
  209.                         __newindex = function (self,Index,Value)
  210.                             if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  211.                             if Value == owner then Value = InternalData.RealOwner end
  212.                             Real[Index] = Value
  213.                         end;
  214.                         __tostring = function(self) return tostring(Real) end;
  215.                     })
  216.                     InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  217.                 end
  218.             end
  219.         end
  220.         return InternalData.RealInstance[Index]
  221.     end;
  222.     __tostring = function(self) return tostring(InternalData.RealInstance) end;
  223. });
  224. InternalData.RealGame = game;game = setmetatable({},{
  225.     __index = function (self,Index)
  226.         if InternalData.RealGame[Index] then
  227.             local Type = type(InternalData.RealGame[Index])
  228.             if Type == "function" then
  229.                 if Index:lower() == "getservice" or Index:lower() == "service" then
  230.                     return function (self,Service)
  231.                         local FakeServices = {
  232.                             ["players"] = function()
  233.                                 return setmetatable({},{
  234.                                     __index = function (self2,Index2)
  235.                                         local RealService = InternalData.RealGame:GetService(Service)
  236.                                         local Type2 = type(RealService[Index2])
  237.                                         if Type2 == "function" then
  238.                                             return function (self,...) return RealService[Index2](RealService,...)end
  239.                                         else
  240.                                             if Index2:lower() == "localplayer" then return InternalData.NewOwner end
  241.                                             return RealService[Index2]
  242.                                         end
  243.                                     end;
  244.                                     __tostring = function(self) return tostring(InternalData.RealGame:GetService(Service)) end
  245.                                 })
  246.                             end;
  247.                             ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
  248.                             ["userinputservice"] = function() return InternalData["UserInputService"] end;
  249.                             ["debris"] = function()
  250.                                 return setmetatable({},{
  251.                                     __index = function(self2,Index2)
  252.                                         local RealService = InternalData.RealGame:GetService(Service)
  253.                                         local Type2 = type(RealService[Index2])
  254.                                         if Type2 == "function" then
  255.                                             if Index2:lower() == "additem" then
  256.                                                 return function (self,Item,Time)
  257.                                                     if InternalData.RealObjs[Item] then Item = InternalData.RealObjs[Item] end
  258.                                                     return RealService:AddItem(Item,Time)
  259.                                                 end
  260.                                             end
  261.                                             return function (self,...) return RealService[Index2](RealService,...) end
  262.                                         end
  263.                                         return RealService[Index2]
  264.                                     end;
  265.                                     __tostring = function(self) return tostring(InternalData.RealGame:GetService("Debris")) end
  266.                                 })
  267.                             end;
  268.                             ["runservice"] = function()
  269.                                 return setmetatable({},{
  270.                                     __index = function(self2,Index2)
  271.                                         local RealService = InternalData.RealGame:GetService(Service)
  272.                                         local Type2 = type(RealService[Index2])
  273.                                         if Type2 == "function" then
  274.                                             return function (self,...) return RealService[Index2](RealService,...) end
  275.                                         else
  276.                                             local RunServices = {
  277.                                                 ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return InternalData.RealGame:GetService("RunService").Stepped:Connect(Function) end end;
  278.                                                 ["renderstepped"] = function() return RealService["Stepped"] end
  279.                                             }
  280.                                             if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
  281.                                             return RealService[Index2]
  282.                                         end
  283.                                     end;
  284.                                     __tostring = function(self) return tostring(InternalData.RealGame:GetService("RunService")) end
  285.                                 })
  286.                             end
  287.                         }
  288.                         if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
  289.                         return InternalData.RealGame:GetService(Service)
  290.                     end
  291.                 end
  292.                 return function (self,...) return InternalData.RealGame[Index](InternalData.RealGame,...) end
  293.             else
  294.                 if game:GetService(Index) then return game:GetService(Index) end
  295.                 return InternalData.RealGame[Index]
  296.             end
  297.         end
  298.         return nil
  299.     end;
  300.     __tostring = function(self) return tostring(InternalData.game) end
  301. });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete!")
  302.  
  303. --//Paste script below this line.
  304.  
  305. --//--The crowbar by vlad20020--\\--
  306. local ft = tick()
  307. plr = game:GetService("Players").LocalPlayer
  308. char = plr.Character
  309. ra = char["Right Arm"]
  310. la = char["Left Arm"]
  311. rl = char["Right Leg"]
  312. ll = char["Left Leg"]
  313. h = char.Head
  314. t = char.Torso
  315. deb = false
  316. local using = false
  317. mouse = plr:GetMouse()
  318. local derbs = game:GetService("Debris")
  319. local huge = math.huge
  320. local rand = math.random
  321. local v3 = Vector3
  322. local v3n = v3.new
  323. local cf = CFrame
  324. local cfn = cf.new
  325. local cfa = cf.Angles
  326. local bc = BrickColor
  327. local ic = Instance
  328. local icn = ic.new
  329. local co = coroutine
  330. local cor = co.resume
  331. local coc = co.create
  332. --
  333. rs = t["Right Shoulder"]
  334. ls = t["Left Shoulder"]
  335. rh = t["Right Hip"]
  336. lh = t["Left Hip"]
  337. nec = t.Neck
  338. local ff = icn("ForceField",char)
  339. ff.Visible = false
  340. ---
  341. cb = icn("Part", char) cb.Size = Vector3.new(0.5, .5, 4)cb.CanCollide = false cb.Material = "Neon"
  342. wcb = icn("Weld",cb) wcb.Part0 = cb wcb.Part1 = t wcb.C0 = wcb.C0 * CFrame.new(-.3,0,-.5) wcb.C0 = wcb.C0 * cfa(90,90,0)
  343. me = icn("SpecialMesh",cb) me.MeshType = "FileMesh" me.MeshId = "http://www.roblox.com/asset/?id=21426303" me.Scale = v3n(0.7, 0.7, 0.7)
  344. ----
  345. local force = icn("BodyVelocity") force.MaxForce = v3n(huge,huge,huge)
  346. char.Humanoid.WalkSpeed = 70
  347. char.Humanoid.JumpPower = 120
  348. char.Humanoid.MaxHealth = huge
  349. char.Humanoid.Health = huge
  350. function dest(hit,type)
  351.         if hit:IsA("Seat") or hit:IsA("VehicleSeat") then
  352.             hit.Parent = nil
  353.         end
  354.         hit:ClearAllChildren()
  355.         hit.Anchored = false hit.CanCollide = true hit.Parent = workspace
  356.         hit.Name = "Destructed"
  357.         if hit:IsA("Part") then
  358.             hit.FormFactor = "Custom"
  359.         end
  360.         hit.Size = v3n(hit.Size.x/2,hit.Size.y/2,hit.Size.z/2)
  361.         hit.CFrame = hit.CFrame * cfn(hit.Size.x/2,hit.Size.y/2,hit.Size.z/2)
  362.         local clone = hit:Clone() clone.Parent = workspace
  363.         local clone1 = hit:Clone() clone1.Parent = workspace
  364.         local clone2 = hit:Clone() clone2.Parent = workspace
  365.         local clone3 = hit:Clone() clone3.Parent = workspace
  366.         local clone4 = hit:Clone() clone4.Parent = workspace
  367.         local clone5 = hit:Clone() clone5.Parent = workspace
  368.         local clone6 = hit:Clone() clone6.Parent = workspace
  369.         clone.CFrame = hit.CFrame * cfn(0,-hit.Size.y,0)
  370.         clone1.CFrame = hit.CFrame * cfn(-hit.Size.x,-hit.Size.y,0)
  371.         clone2.CFrame = hit.CFrame * cfn(-hit.Size.x,0,0)
  372.         clone3.CFrame = hit.CFrame * cfn(0,0,-hit.Size.z)
  373.         clone4.CFrame = clone.CFrame * cfn(0,0,-clone.Size.z)
  374.         clone5.CFrame = clone1.CFrame * cfn(0,0,-clone1.Size.z)
  375.         clone6.CFrame = clone2.CFrame * cfn(0,0,-clone2.Size.z)
  376.         local parts = {hit,clone,clone1,clone2,clone3,clone4,clone5,clone6}
  377.         return parts
  378. end
  379. function ded(hit)
  380.     cor(coc(function()
  381.     if hit.Name ~= "Base" or hit.Name ~= "Baseplate" and hit.Name ~= "thanos snapped" then
  382.     hit:ClearAllChildren()
  383.     local fors = force:Clone()
  384.     fors.Parent = hit
  385.     hit.Locked = false
  386.     hit:BreakJoints()
  387.     hit.Massless = true
  388.     hit.Name = "thanos snapped"
  389.     hit.Anchored = true hit.CanCollide = false
  390.     hit.BrickColor = bc.Random() hit.Material = "Neon"
  391.     hit.Transparency = 0
  392.     mes = icn("BlockMesh",hit)
  393.     mes.Scale = hit.Size
  394.     hit.Size = v3n(1,1,1)
  395.     fors.Velocity = v3n(math.random(-70,70),100,math.random(-70,70))
  396.     wait(.1)
  397.     hit.Anchored = false
  398.     hit.CanCollide = false
  399.     derbs:AddItem(fors,.15)
  400.     hit.Parent = workspace
  401.     for i = 1,20 do
  402.     hit.CanCollide = false
  403.     hit:BreakJoints()
  404.     hit.Transparency = hit.Transparency + 0.05
  405.     wait(.05)
  406.     end
  407.     derbs:AddItem(hit,0)
  408.     end
  409.     end))
  410. end
  411. cb.Touched:connect(function(hit)
  412. pcall(function()
  413. if hit.Name ~= "thanos snapped" then
  414. spawn(function()
  415. ded(hit)
  416. end)
  417. end
  418. end)
  419. end)
  420. -----
  421. function click()
  422. using = true
  423. wcb.Part1 = ra
  424. deb = true
  425. wcb.C0 = cfa(0,-9.5,-4.7)
  426. wcb.C0 = wcb.C0 * cfn(0,1,0)
  427. wait()
  428. for i = 1,10 do
  429. rs.C0 = rs.C0 * cfa(0,0,.27)
  430. end
  431. wait()
  432. for i = 1,5 do
  433. rs.C0 = rs.C0 * cfa(0,0,-.54)
  434. wait()
  435. end
  436. deb = false
  437. wcb.Part1 = t
  438. wcb.C0 = cfa(90,90,0)
  439. wcb.C0 = wcb.C0 * cfn(-.3,0,-.5)
  440. using = false
  441. end
  442. mouse.Button1Down:connect(click)
  443. mouse.KeyDown:Connect(function(key)
  444. if key == "q" and mouse.Target ~= nil then
  445. if mouse.Target.Parent:IsA("Model") and mouse.Target.Parent ~= workspace then
  446. for i,v in pairs(mouse.Target.Parent:GetDescendants()) do
  447. cor(coc(function()
  448. if v:IsA("Part") or v:IsA("UnionOperation") or v:IsA("MeshPart") or v:IsA("WedgePart") then
  449. spawn(function()
  450. ded(v)
  451. end)
  452. end
  453. end))
  454. end
  455. end
  456. end
  457. if key == "p" and mouse.Target ~= nil then
  458. for i,v in pairs(workspace:GetDescendants()) do
  459. cor(coc(function()
  460. if v:IsA("Part") or v:IsA("UnionOperation") or v:IsA("MeshPart") or v:IsA("WedgePart") then
  461. if v.Parent ~= char and v.Parent.Parent ~= char then
  462. spawn(function()
  463. ded(v)
  464. end)
  465. end
  466. end
  467. end))
  468. end
  469. end
  470. if key == "e" and mouse.Target ~= nil and mouse.Target.Name ~= "Base" then
  471. local parts = dest(mouse.Target)
  472. for i = 1,#parts do
  473. ded(parts[i])
  474. end
  475. end
  476. end)
  477. print("Time spent to run the script: "..tick()-ft)
  478. while wait(.2) do
  479.     cb.BrickColor = bc.Random()
  480. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement