SHARE
TWEET

Untitled

a guest Jan 20th, 2020 77 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,game,owner = owner,game
  4. local RealPlayer = Player
  5. do
  6.     print("FE Compatibility code V2 by Mokiros")
  7.     local RealPlayer = RealPlayer
  8.     script.Parent = RealPlayer.Character
  9.  
  10.     --Fake event to make stuff like Mouse.KeyDown work
  11.     local Disconnect_Function = function(this)
  12.         this[1].Functions[this[2]] = nil
  13.     end
  14.     local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
  15.     local FakeEvent_Metatable = {__index={
  16.         Connect = function(this,f)
  17.             local i = tostring(math.random(0,10000))
  18.             while this.Functions[i] do
  19.                 i = tostring(math.random(0,10000))
  20.             end
  21.             this.Functions[i] = f
  22.             return setmetatable({this,i},Disconnect_Metatable)
  23.         end
  24.     }}
  25.     FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
  26.     local function fakeEvent()
  27.         return setmetatable({Functions={}},FakeEvent_Metatable)
  28.     end
  29.  
  30.     --Creating fake input objects with fake variables
  31.     local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  32.     FakeMouse.keyUp = FakeMouse.KeyUp
  33.     FakeMouse.keyDown = FakeMouse.KeyDown
  34.     local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  35.     local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  36.         CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  37.     end}
  38.     --Merged 2 functions into one by checking amount of arguments
  39.     CAS.UnbindAction = CAS.BindAction
  40.  
  41.     --This function will trigger the events that have been :Connect()'ed
  42.     local function TriggerEvent(self,ev,...)
  43.         for _,f in pairs(self[ev].Functions) do
  44.             f(...)
  45.         end
  46.     end
  47.     FakeMouse.TriggerEvent = TriggerEvent
  48.     UIS.TriggerEvent = TriggerEvent
  49.  
  50.     --Client communication
  51.     local Event = Instance.new("RemoteEvent")
  52.     Event.Name = "UserInput_Event"
  53.     Event.OnServerEvent:Connect(function(plr,io)
  54.         if plr~=RealPlayer then return end
  55.         FakeMouse.Target = io.Target
  56.         FakeMouse.Hit = io.Hit
  57.         if not io.isMouse then
  58.             local b = io.UserInputState == Enum.UserInputState.Begin
  59.             if io.UserInputType == Enum.UserInputType.MouseButton1 then
  60.                 return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
  61.             end
  62.             if io.UserInputType == Enum.UserInputType.MouseButton2 then
  63.                 return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
  64.             end
  65.             for _,t in pairs(CAS.Actions) do
  66.                 for _,k in pairs(t.Keys) do
  67.                     if k==io.KeyCode then
  68.                         t.Function(t.Name,io.UserInputState,io)
  69.                     end
  70.                 end
  71.             end
  72.             FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  73.             UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
  74.         end
  75.     end)
  76.     Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
  77.     local Mouse = owner:GetMouse()
  78.     local UIS = game:GetService("UserInputService")
  79.     local input = function(io,RobloxHandled)
  80.         if RobloxHandled then return end
  81.         --Since InputObject is a client-side instance, we create and pass table instead
  82.         Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  83.     end
  84.     UIS.InputBegan:Connect(input)
  85.     UIS.InputEnded:Connect(input)
  86.     local h,t
  87.     --Give the server mouse data every second frame, but only if the values changed
  88.     --If player is not moving their mouse, client won't fire events
  89.     local HB = game:GetService("RunService").Heartbeat
  90.     while true do
  91.         if h~=Mouse.Hit or t~=Mouse.Target then
  92.             h,t=Mouse.Hit,Mouse.Target
  93.             Event:FireServer({isMouse=true,Target=t,Hit=h})
  94.         end
  95.         --Wait 2 frames
  96.         for i=1,2 do
  97.             HB:Wait()
  98.         end
  99.     end]==],script)
  100.  
  101.     ----Sandboxed game object that allows the usage of client-side methods and services
  102.     --Real game object
  103.     local RealGame = game
  104.  
  105.     --Metatable for fake service
  106.     local FakeService_Metatable = {
  107.         __index = function(self,k)
  108.             local s = rawget(self,"_RealService")
  109.             if s then
  110.                 return typeof(s[k])=="function"
  111.                 and function(_,...)return s[k](s,...)end or s[k]
  112.             end
  113.         end,
  114.         __newindex = function(self,k,v)
  115.             local s = rawget(self,"_RealService")
  116.             if s then s[k]=v end
  117.         end
  118.     }
  119.     local function FakeService(t,RealService)
  120.         t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
  121.         return setmetatable(t,FakeService_Metatable)
  122.     end
  123.  
  124.     --Fake game object
  125.     local FakeGame = {
  126.         GetService = function(self,s)
  127.             return rawget(self,s) or RealGame:GetService(s)
  128.         end,
  129.         Players = FakeService({
  130.             LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
  131.         },"Players"),
  132.         UserInputService = FakeService(UIS,"UserInputService"),
  133.         ContextActionService = FakeService(CAS,"ContextActionService"),
  134.         RunService = FakeService({
  135.             _btrs = {},
  136.             RenderStepped = RealGame:GetService("RunService").Heartbeat,
  137.             BindToRenderStep = function(self,name,_,fun)
  138.                 self._btrs[name] = self.Heartbeat:Connect(fun)
  139.             end,
  140.             UnbindFromRenderStep = function(self,name)
  141.                 self._btrs[name]:Disconnect()
  142.             end,
  143.         },"RunService")
  144.     }
  145.     rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
  146.     FakeGame.service = FakeGame.GetService
  147.     FakeService(FakeGame,game)
  148.     --Changing owner to fake player object to support owner:GetMouse()
  149.     game,owner = FakeGame,FakeGame.Players.LocalPlayer
  150. end
  151.  
  152. --[[
  153.     Explosion God script made by EliteShadow @ V3rm aka Crimsonal @ Roblox 
  154. --]]
  155.  
  156. local Player = game.Players.LocalPlayer
  157. local Mouse = Player:GetMouse()
  158. repeat wait() until Player.Character
  159. local Character = Player.Character
  160. local Humanoid = Character.Humanoid
  161. local Torso = Character.Torso
  162. local Head = Character.Head
  163. local RightArm = Character["Right Arm"]
  164. local LeftArm = Character["Left Arm"]
  165. local RightLeg = Character["Right Leg"]
  166. local LeftLeg = Character["Left Leg"]
  167. local Head = Character.Head
  168. local RightShoulder = Torso["Right Shoulder"]
  169. local LeftShoulder = Torso["Left Shoulder"]
  170. local Neck = Torso["Neck"]
  171. local RightHip = Torso["Right Hip"]
  172. local LeftHip = Torso["Left Hip"]
  173. wait(1)
  174. Instance.new("ForceField", Character)
  175.  
  176. local NeckC0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
  177. local NeckC1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
  178. local LeftShoulderC0 = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  179. local LeftShoulderC1 = CFrame.new(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  180. local RightShoulderC0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  181. local RightShoulderC1 = CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  182. local LeftHipC0 = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  183. local LeftHipC1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  184. local RightHipC0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  185. local RightHipC1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198. local Player = game.Players.LocalPlayer
  199. local Character = Player.Character
  200. local Humanoid = Character.Humanoid
  201. local Torso = Character.Torso
  202. local Head = Character.Head
  203. local mouse = Player:GetMouse()
  204. local Root = Character.HumanoidRootPart
  205. local RunService = game:GetService("RunService").RenderStepped
  206. local Lighting = game:GetService("Lighting")
  207.  
  208.  
  209. Player:ClearCharacterAppearance()
  210. wait(0.1)
  211. Player.Character.Head.BrickColor = BrickColor.new("Really black")
  212. Player.Character.Torso.BrickColor = BrickColor.new("Really black")
  213. Player.Character["Right Arm"].BrickColor = BrickColor.new("Really black")
  214. Player.Character["Right Leg"].BrickColor = BrickColor.new("Really black")
  215. Player.Character["Left Leg"].BrickColor = BrickColor.new("Really black")
  216. Player.Character["Left Arm"].BrickColor = BrickColor.new("Really black")
  217. pcall(function() Player.Character.Torso.roblox:Destroy() end)
  218.  
  219. z = Instance.new("Sound", Character)
  220. z.SoundId = "rbxassetid://301463006"--301463006
  221. z.Looped = true
  222. z.Pitch = 1
  223. z.Volume = 1
  224. wait(.1)
  225. z:Play()
  226.  
  227.  
  228.  
  229. local HandCF = CFrame.new(Root.Position - Vector3.new(0,3,0)) * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0))
  230.         local wave = Instance.new("Part", Torso)
  231.         wave.BrickColor = BrickColor.new("Maroon")
  232.         wave.Anchored = true
  233.         wave.CanCollide = false
  234.         wave.Locked = true
  235.         wave.Size = Vector3.new(1, 1, 1)
  236.         wave.TopSurface = "Smooth"
  237.         wave.BottomSurface = "Smooth"
  238.         wave.Transparency = 0.35
  239.         wave.CFrame = HandCF
  240.         wm = Instance.new("SpecialMesh", wave)
  241.         wm.MeshId = "rbxassetid://3270017"
  242.         coroutine.wrap(function()
  243.         for i = 1, 14, 1 do
  244.         wm.Scale = Vector3.new(1 + i*1.1, 1 + i*1.1, 1)
  245.         wave.Size = wm.Scale
  246.         wave.CFrame = HandCF
  247.         wave.Transparency = i/14
  248.         wait()
  249.         end
  250.         wait()
  251.         wave:Destroy()
  252. end)()
  253.  
  254.    
  255. local function RefreshWelds()
  256.     Neck.C0 = NeckC0
  257.     Neck.C1 = NeckC1
  258.     RightShoulder.C0 = RightShoulderC0
  259.     RightShoulder.C1 = RightShoulderC1
  260.     LeftShoulder.C0 = LeftShoulderC0
  261.     LeftShoulder.C1 = LeftShoulderC1
  262.     RightHip.C0 = RightHipC0
  263.     RightHip.C1 = RightHipC1
  264.     LeftHip.C0 = LeftHipC0
  265.     LeftHip.C1 = LeftHipC1
  266. end
  267.  
  268. local LastArm = "Left"
  269. local Active = false
  270. game:GetService("UserInputService").InputBegan:connect(function(Key, Gpe)
  271.     if not Gpe then
  272.         if Key.KeyCode == Enum.KeyCode.F and not Active then
  273.             Active=true
  274.             RefreshWelds()
  275.             Torso.CFrame = CFrame.new(Torso.Position, Vector3.new(Mouse.hit.p.x, Torso.Position.Y, Mouse.hit.p.z))
  276.             Torso.Anchored=true
  277.             Humanoid.PlatformStand = true
  278.             for i = 1,3 do
  279.                 RightShoulder.C0 = RightShoulder.C0 * CFrame.Angles(0,-0.2,0.55)
  280.                 LeftShoulder.C0 = LeftShoulder.C0 * CFrame.Angles(0, 0.2, -0.55)
  281.             end
  282.             local last1
  283.             local last2
  284.             local explosion = Instance.new("Sound", Character)
  285.             explosion.Name="explosion"
  286.             explosion.SoundId = "rbxassetid://2248511"
  287.             explosion:Play()
  288.             game.Debris:AddItem(explosion,10)
  289.             spawn(function()
  290.                 for i = 1,15 do
  291.                     local p = Instance.new("Part", Character)
  292.                     p.Anchored=true
  293.                     p.CanCollide=false
  294.                     p.Transparency=1
  295.                     p.Size=Vector3.new(.1,.1,.1)
  296.                     p.Shape = "Ball"
  297.                     p.BrickColor = BrickColor.new("Really black")
  298.                     game.Debris:AddItem(p,1)
  299.                     if not last1 then
  300.                         p.CFrame = Torso.CFrame * CFrame.Angles(0, math.rad(45), 0) * CFrame.new(0,0,-10)
  301.                         last1=p
  302.                     else
  303.                         p.CFrame = last1.CFrame * CFrame.new(0, 0,-i*5)
  304.                         last1=p
  305.                     end
  306.                     local explo = Instance.new("Explosion", workspace)
  307.                     explo.Position=p.Position
  308.                     explo.BlastPressure = 700000
  309.                     explo.BlastRadius=10
  310.                     wait()
  311.                 end
  312.             end)
  313.             spawn(function()
  314.                 for i = 1,15 do
  315.                     local p = Instance.new("Part", Character)
  316.                     p.Anchored=true
  317.                     p.CanCollide=false
  318.                     p.Transparency=1
  319.                     p.Size=Vector3.new(.1,.1,.1)
  320.                     p.Shape = "Ball"
  321.                     p.BrickColor = BrickColor.new("Really black")
  322.                     game.Debris:AddItem(p,1)
  323.                     if not last2 then
  324.                         p.CFrame = Torso.CFrame * CFrame.Angles(0, math.rad(-45), 0) * CFrame.new(0,0,-10)
  325.                         last2=p
  326.                     else
  327.                         p.CFrame = last2.CFrame * CFrame.new(0,0 ,-i*5)
  328.                         last2=p
  329.                     end
  330.                     local explo = Instance.new("Explosion", workspace)
  331.                     explo.Position=p.Position
  332.                     explo.BlastPressure = 700000
  333.                     explo.BlastRadius=10
  334.                     wait()
  335.                 end
  336.             end)
  337.             wait(1)
  338.             Torso.Anchored=false
  339.             Humanoid.PlatformStand = false
  340.             RefreshWelds()
  341.             Active=false
  342.         elseif Key.KeyCode == Enum.KeyCode.C and not Active then
  343.             Active = true
  344.             RefreshWelds()
  345.             Torso.CFrame = CFrame.new(Torso.Position, Vector3.new(Mouse.hit.p.x, Torso.Position.Y, Mouse.hit.p.z))
  346.             Torso.Anchored=true
  347.             Humanoid.PlatformStand = true
  348.             for i = 1,3 do
  349.                 RightShoulder.C0 = RightShoulder.C0 * CFrame.Angles(0,0,0.5)
  350.                 LeftShoulder.C0 = LeftShoulder.C0 * CFrame.Angles(0, 0, -0.5)
  351.                 wait()
  352.             end
  353.             local last1
  354.             local last2
  355.             local explosion = Instance.new("Sound", Character)
  356.             explosion.Name="explosion"
  357.             explosion.SoundId = "rbxassetid://2248511"
  358.             explosion:Play()
  359.             game.Debris:AddItem(explosion,10)
  360.             spawn(function()
  361.                 for i = 1,15 do
  362.                     local p = Instance.new("Part", Character)
  363.                     p.Anchored=true
  364.                     p.CanCollide=false
  365.                     p.Transparency=1
  366.                     p.Size=Vector3.new(.1,.1,.1)
  367.                     p.Shape = "Ball"
  368.                     p.BrickColor = BrickColor.new("Really black")
  369.                     game.Debris:AddItem(p,1)
  370.                     if not last1 then
  371.                         p.CFrame = Torso.CFrame * CFrame.new(0,0 ,-i*10)
  372.                         last1=p
  373.                     else
  374.                         p.CFrame = last1.CFrame * CFrame.new(0,0 ,-i*5)
  375.                         last1=p
  376.                     end
  377.                     local explo = Instance.new("Explosion", workspace)
  378.                     explo.Position=p.Position
  379.                     explo.BlastPressure = 700000
  380.                     explo.BlastRadius=10
  381.                     wait()
  382.                 end
  383.             end)
  384.             spawn(function()
  385.                 for i = 1,15 do
  386.                     local p = Instance.new("Part", Character)
  387.                     p.Anchored=true
  388.                     p.CanCollide=false
  389.                     p.Transparency=1
  390.                     p.Size=Vector3.new(.1,.1,.1)
  391.                     p.Shape = "Ball"
  392.                     p.BrickColor = BrickColor.new("Really black")
  393.                     game.Debris:AddItem(p,1)
  394.                     if not last2 then
  395.                         p.CFrame = Torso.CFrame * CFrame.new(0,0 ,-i*10)
  396.                         last2=p
  397.                     else
  398.                         p.CFrame = last2.CFrame * CFrame.new(0,0 ,-i*5)
  399.                         last2=p
  400.                     end
  401.                     local explo = Instance.new("Explosion", workspace)
  402.                     explo.Position=p.Position
  403.                     explo.BlastPressure = 700000
  404.                     explo.BlastRadius=10
  405.                     wait()
  406.                 end
  407.             end)
  408.             wait(1)
  409.             for i = 1,3 do
  410.                 RightShoulder.C0 = RightShoulder.C0 * CFrame.Angles(0,0,-0.5)
  411.                 LeftShoulder.C0 = LeftShoulder.C0 * CFrame.Angles(0, 0, 0.5)
  412.                 wait()
  413.             end
  414.             Torso.Anchored=false
  415.             Humanoid.PlatformStand = false
  416.             RefreshWelds()
  417.             Active=false
  418.         elseif Key.KeyCode == Enum.KeyCode.E and not Active
  419.             then Active = true
  420.             RefreshWelds()
  421.             Torso.Anchored=true
  422.             Humanoid.PlatformStand=true
  423.             if LastArm == "Left" then
  424.                 LastArm="Right"
  425.                 Torso.CFrame = Torso.CFrame * CFrame.Angles(0, math.rad(-45), 0)
  426.                 for i = 1,3 do
  427.                     RightShoulder.C0 = RightShoulder.C0 * CFrame.Angles(0,0,-0.5)
  428.                     wait()
  429.                 end
  430.                 wait(0.5)
  431.                 RefreshWelds()
  432.                 for i = 1,3 do
  433.                     RightShoulder.C0 = RightShoulder.C0 * CFrame.Angles(0,0,0.5)
  434.                 end
  435.                 Torso.CFrame = Torso.CFrame * CFrame.Angles(0, math.rad(45), 0)
  436.                 local p = Instance.new("Part", Character)
  437.                 p.Anchored=true
  438.                 p.CanCollide=false
  439.                 p.Transparency=1
  440.                 p.Size=Vector3.new(.1,.1,.1)
  441.                 p.Shape = "Ball"
  442.                 p.BrickColor = BrickColor.new("Really black")
  443.                 p.CFrame = Torso.CFrame * CFrame.new(1.5, 0, -2)
  444.                 game.Debris:AddItem(p,3)
  445.                 local explosion = Instance.new("Sound", Character)
  446.                 explosion.Name="explosion"
  447.                 explosion.SoundId = "rbxassetid://2248511"
  448.                 explosion:Play()
  449.                 game.Debris:AddItem(explosion, 10)
  450.                 local explo = Instance.new("Explosion", workspace)
  451.                 explo.BlastPressure = 700000
  452.                 explo.BlastRadius=10
  453.                 explo.Position=p.Position
  454.             elseif LastArm == "Right" then
  455.                 LastArm = "Left"
  456.                 Torso.CFrame = Torso.CFrame * CFrame.Angles(0, math.rad(45), 0)
  457.                 for i = 1,3 do
  458.                     LeftShoulder.C0 = LeftShoulder.C0 * CFrame.Angles(0,0,0.5)
  459.                     wait()
  460.                 end
  461.                 wait(0.5)
  462.                 RefreshWelds()
  463.                 for i = 1,3 do
  464.                     LeftShoulder.C0 = LeftShoulder.C0 * CFrame.Angles(0,0,-0.5)
  465.                 end
  466.                 Torso.CFrame = Torso.CFrame * CFrame.Angles(0, math.rad(-45), 0)
  467.                 local p = Instance.new("Part", Character)
  468.                 p.Anchored=true
  469.                 p.CanCollide=false
  470.                 p.Transparency=1
  471.                 p.Size=Vector3.new(.1,.1,.1)
  472.                 p.Shape = "Ball"
  473.                 p.BrickColor = BrickColor.new("Really black")
  474.                 p.CFrame = Torso.CFrame * CFrame.new(-1.5, 0, -2)
  475.                 game.Debris:AddItem(p,3)
  476.                 local explosion = Instance.new("Sound", Character)
  477.                 explosion.Name="explosion"
  478.                 explosion.SoundId = "rbxassetid://2248511"
  479.                 explosion:Play()
  480.                 game.Debris:AddItem(explosion, 10)
  481.                 local explo = Instance.new("Explosion", workspace)
  482.                 explo.BlastPressure = 700000
  483.                 explo.BlastRadius=10
  484.                 explo.Position=p.Position
  485.             end
  486.             wait(0.5)
  487.             Active = false
  488.             RefreshWelds()
  489.             Torso.Anchored=false
  490.             Humanoid.PlatformStand=false
  491.         end
  492.     end
  493. end)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top