carlosname

Untitled

May 3rd, 2020
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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 & Fireboltofdeath");print("https://github.com/WaverlyCole/FE-Compatibility-VoidSb-")
  2. local Wrapper = {};Wrapper.Fake = {};Wrapper.Real = {};Wrapper.Data = {};
  3. local sGame = game;local sScript = script;local sOwner = owner;local sInstance = Instance;local sLoadLibrary = LoadLibrary
  4. Wrapper.Event = Instance.new("RemoteEvent");Wrapper.Event.Name = "UserInput";
  5. Wrapper.CreateObject = function(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. Wrapper.Mouse = Wrapper.CreateObject({"KeyUp","KeyDown","Button1Down","Button1Up","Move","Button2Down","Button2Up"},{["Target"] = nil;["Hit"] = CFrame.new()})
  16. Wrapper.UserInputService = Wrapper.CreateObject({"InputBegan","InputEnded"},{})
  17. Wrapper.ContextActionService = {Actions={};BindAction = function(self,actionName,Func,touch,...)self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil end;UnBindAction = function(self,actionName,Func,touch,...)self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil end};
  18. Wrapper.Sandbox = function(...)
  19.   local Unwrap = {...};
  20.   for obi = 1,#Unwrap do
  21.     local Object = Unwrap[obi];
  22.     if (Wrapper.Fake[Object] == nil and Wrapper.Real[Object] == nil) then
  23.       local Type = typeof(Object);local Replacement = Object;
  24.       if (Type == "function") then
  25.         Replacement = function(...)
  26.             local IsRoblox = not (pcall(function() string.dump(Object) end))
  27.             if IsRoblox then
  28.                 return Object(Wrapper.Unsandbox(...))
  29.             end
  30.             return Object(Wrapper.Sandbox(...))
  31.         end
  32.       elseif (Type == "table") then
  33.         Replacement = {};
  34.         setmetatable(Replacement, {
  35.             __index = function(self, i)
  36.                 return Wrapper.Sandbox(Object[Wrapper.Unsandbox(i)])
  37.             end,
  38.             __newindex = function(self,i,v)
  39.                 Object[Wrapper.Unsandbox(i)] = Wrapper.Unsandbox(v)
  40.             end;
  41.        })
  42.       elseif (Type == "Instance") then
  43.         Replacement = newproxy(true);
  44.         local Mt = getmetatable(Replacement);
  45.         Mt.__namecall = function(self, ...)
  46.             local Pack = {...};local Name = Pack[#Pack];table.remove(Pack, #Pack);
  47.             local Rest = nil;pcall(function()Rest = Object[Name];end);
  48.             for g, x in pairs (Wrapper.InstanceMT["GET"]) do
  49.                 if (Object:IsA(g) or g == "Global") then
  50.                     for t, v in pairs(x) do
  51.                         for str in string.gmatch(t .. ",", "(%w+),")  do
  52.                             if (Name == str) then
  53.                                 if typeof(v) == "function" then
  54.                                     return Wrapper.Sandbox(v(Wrapper.Unsandbox(self), Wrapper.Unsandbox(unpack(Pack))))
  55.                                 else
  56.                                     return v;
  57.                                 end
  58.                             end
  59.                         end
  60.                     end
  61.                 end
  62.             end
  63.             if (Rest == nil) then
  64.                 if Wrapper.Sandbox(sGame):GetService(unpack(Pack)) then return Wrapper.Sandbox(sGame):GetService(unpack(Pack))end;
  65.                 return Wrapper.Sandbox(Object[Name]);
  66.             elseif (typeof(Rest) == "function") then
  67.                 return Wrapper.Sandbox(Rest(Wrapper.Unsandbox(self), Wrapper.Unsandbox(unpack(Pack))))
  68.             end
  69.             return Wrapper.Sandbox(Object[Name]);
  70.         end
  71.         Mt.__index = function(self, i)
  72.             local Rest = nil;pcall(function()Rest = Object[i];end)
  73.             for g, x in pairs (Wrapper.InstanceMT["GET"]) do
  74.                 if (Object:IsA(g) or g == "Global") then
  75.                     for t, v in pairs(x) do
  76.                         for str in string.gmatch(t .. ",", "(%w+),")  do
  77.                             if (i == str) then
  78.                                 if typeof(v) == "function" then
  79.                                     return function(...)return Wrapper.Sandbox(v(Wrapper.Unsandbox(self), Wrapper.Unsandbox(...)))end;
  80.                                 else
  81.                                     return v;
  82.                                 end
  83.                             end
  84.                         end
  85.                     end
  86.                 end
  87.             end
  88.             if (Object:IsA("Sound") and i == "PlaybackLoudness") then return Wrapper.SoundLoudness[Wrapper.Unsandbox(Object)];end;
  89.             if (Rest == nil) then
  90.                 if Wrapper.Sandbox(sGame):GetService(i) then return Wrapper.Sandbox(sGame):GetService(i)end;
  91.                 return Wrapper.Sandbox(Object[i]);
  92.             elseif (typeof(Rest) == "function") then
  93.                 local isService,Service = pcall(function() return sGame:GetService(i) end)
  94.                 if isService and Service then return Wrapper.Sandbox(Service) end
  95.                 return function(self, ...)
  96.                     return Wrapper.Sandbox(Rest(Wrapper.Unsandbox(self), Wrapper.Unsandbox(...)))
  97.                 end
  98.             end
  99.             return Wrapper.Sandbox(Object[i]);
  100.         end
  101.         Mt.__newindex = function(self, i, v)
  102.             for g,x in pairs (Wrapper.InstanceMT["SET"]) do
  103.                 if (Object:IsA(g)) then
  104.                     for t, v in pairs(x) do
  105.                         for str in string.gmatch( t .. ",", "(%w+),") do
  106.                             if v(Wrapper.Unsandbox(self, i, v)) == true then
  107.                                 Object[Wrapper.Unsandbox(i)] = Wrapper.Unsandbox(v);return
  108.                             end
  109.                         end
  110.                     end
  111.                 end
  112.             end
  113.             Object[Wrapper.Unsandbox(i)] = Wrapper.Unsandbox(v);
  114.         end
  115.         Mt.__tostring = function(self) return tostring(Object) end
  116.       --elseif (Type == "") then -- Etc
  117.       end
  118.       Wrapper.Fake[Object] = Replacement;Wrapper.Real[Replacement] = Object;Unwrap[obi] = Replacement;
  119.     else
  120.       return Wrapper.Fake[Object] or Object;
  121.     end
  122.   end
  123.   return unpack(Unwrap);
  124. end
  125. Wrapper.Unsandbox = function(...)
  126.   local Unsandbox = {...};
  127.   for i,v in pairs (Unsandbox) do Unsandbox[i] = Wrapper.Real[v] or Unsandbox[i]end;
  128.   return unpack(Unsandbox)
  129. end
  130. Wrapper.Services = {
  131.     ['contextactionservice'] = Wrapper.ContextActionService;
  132.     ["userinputservice"]  = Wrapper.UserInputService;
  133. }
  134. Wrapper.InstanceMT = {
  135.     ["GET"] = {
  136.         ["Global"] = {
  137.             ["IsFake,isFake"] = function(self)return true;end;
  138.         };
  139.         ["Player"] = {
  140.             ["mouse,Mouse,getMouse,GetMouse"] = function(self)return Wrapper.Mouse;end;
  141.         };
  142.         ["Players"] = {
  143.             ["localPlayer,LocalPlayer"] = Wrapper.Sandbox(owner)
  144.         };
  145.         ["DataModel"] = {
  146.             ["getService,GetService"] = function(self,service)
  147.                 if Wrapper.Services[service:lower()] then return Wrapper.Sandbox(Wrapper.Services[service:lower()])end;
  148.                 return Wrapper.Sandbox(sGame:GetService(service))
  149.             end
  150.         };
  151.         ["RunService"] = {
  152.             ["renderstepped,renderStepped,RenderStepped"] =  sGame:GetService("RunService").Stepped;
  153.         }
  154.   };
  155.     ["SET"] = {
  156.   }
  157. }
  158. Wrapper.SoundLoudness = {};
  159. Wrapper.Event.OnServerEvent:Connect(function(FiredBy,Input)
  160.     if FiredBy ~= sOwner then return end
  161.     if Input.MouseEvent then
  162.         Wrapper.Mouse.Target = Input.Target;Wrapper.Mouse.Hit = Input.Hit;Wrapper.Mouse:TriggerEvent("Move")
  163.     elseif Input.Sound then
  164.         if Wrapper.SoundLoudness[Input.Sound] then Wrapper.SoundLoudness[Input.Sound] = Input.Loudness end
  165.     else
  166.         local Begin = Input.UserInputState == Enum.UserInputState.Begin
  167.         if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Wrapper.Mouse:TriggerEvent(Begin and "Button1Down" or "Button1Up") end
  168.         if Input.UserInputType == Enum.UserInputType.MouseButton2 then return Wrapper.Mouse:TriggerEvent(Begin and "Button2Down" or "Button2Up") end
  169.         for _,Action in pairs(Wrapper.ContextActionService.Actions) do
  170.             for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
  171.         end
  172.         Wrapper.Mouse:TriggerEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower());Wrapper.UserInputService:TriggerEvent(Begin and "InputBegan" or "InputEnded",Input,false)
  173.     end
  174. end);
  175. Wrapper.Event.Parent = NLS([[
  176.         local Player = owner;local Sounds = {};local Event = script:WaitForChild("UserInput");local UserInputService = game:GetService("UserInputService");local Mouse = Player:GetMouse();
  177.         local Input = function(Input,gameProcessedEvent)
  178.             if gameProcessedEvent then return end;
  179.             Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
  180.         end
  181.         Event.OnClientEvent:connect(function(Args)
  182.             if Args[1] == "NewSound" and Args[2]:IsA("Sound") then table.insert(Sounds,Args[2]) end
  183.         end)
  184.         UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
  185.         local Hit,Target;while wait(1/30) do
  186.             for x,Sound in pairs(Sounds) do if Sound.Parent then Event:FireServer({["Sound"]=Sound,["Loudness"]=Sound.PlaybackLoudness}) end; end;
  187.             if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
  188.                 Hit = Mouse.Hit;Target = Mouse.Target;Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
  189.             end
  190.         end]],sOwner.Character)
  191. Instance = {
  192.     ["new"] = function(Type,Parent)
  193.         local Real = sInstance.new(Type,Wrapper.Unsandbox(Parent))
  194.         if Type:lower() == "sound" then
  195.             if not Parent then
  196.                 Parent = sOwner.Character
  197.             end
  198.             Wrapper.SoundLoudness[Real] = 0;Wrapper.Event:FireClient(sOwner,{"NewSound",Real})
  199.         end
  200.         return Wrapper.Sandbox(Real)
  201.     end
  202. }
  203. LoadLibrary = function(Library)
  204.     if Library == "RbxUtility" then
  205.         return setmetatable({},{
  206.             __tostring = function() return "RbxUtility" end;
  207.             __index = function(self, Index)
  208.                 if Index:lower() == "create" then
  209.                     return function(Type) return function(Data)
  210.                             Data = Data or {};local Inst = Instance.new(Type)
  211.                             for x,y in pairs(Data) do Inst[x] = y end
  212.                             return Inst
  213.                     end;end;
  214.                 end
  215.             return sLoadLibrary(Library)[Index]
  216.         end})
  217.     end
  218.     return sLoadLibrary(Library)
  219. end
  220. owner = Wrapper.Sandbox(owner);game = Wrapper.Sandbox(game)workspace = Wrapper.Sandbox(workspace)
  221. Game= game;Workspace = workspace;
  222.  
  223.  
  224. --By Rufus14, works on r6 aswell on r15 (WORKS ON EVERY SERVER), press z to die (RUN AS LOCAL)
  225. character = game:GetService("Players").LocalPlayer.Character
  226. humanoid = character:findFirstChildOfClass("Humanoid")
  227. mouse = game:GetService("Players").LocalPlayer:GetMouse()
  228. canuncollide = true
  229. function die()
  230.     print("dead")
  231.     local rootcframe = character.HumanoidRootPart.CFrame
  232.     local deadsign = Instance.new("BoolValue", character)
  233.     deadsign.Name = "ImDead"
  234.     character.HumanoidRootPart:destroy()
  235.     for i,v in pairs(character:GetChildren()) do
  236.         if v.ClassName == "MeshPart" or v.ClassName == "Part" then
  237.             local position = Instance.new("CFrameValue", v)
  238.             position.Name = "LimbPosition"
  239.             position.Value = v.CFrame
  240.         end
  241.     end
  242.     if character:findFirstChild("UpperTorso") then
  243.         wait(1)
  244.     elseif character:findFirstChild("Torso") then
  245.         wait(3)
  246.     end
  247.     local function uncollide()
  248.         while game:GetService("RunService").Stepped:wait() and canuncollide do
  249.             if canuncollide then
  250.                 if character:findFirstChild("Torso") then
  251.                     character.Torso.CanCollide = false
  252.                 end
  253.             end
  254.         end
  255.     end
  256.     for i,v in pairs(character:GetChildren()) do
  257.         if v.ClassName == "MeshPart" or v.ClassName == "Part" and v:findFirstChild("LimbPosition") then
  258.             local gyro = Instance.new("BodyGyro", v)
  259.             gyro.CFrame = v.LimbPosition.Value
  260.             if v.Name == "Torso" then
  261.                 spawn(uncollide)
  262.             end
  263.             for i = 0,0.7 , 0.08 do
  264.                 v.CFrame = v.CFrame:lerp(v.LimbPosition.Value, i)
  265.                 game:GetService("RunService").RenderStepped:wait()
  266.             end
  267.             local bodypos = Instance.new("BodyPosition", v)
  268.             bodypos.Position = v.LimbPosition.Value.p
  269.             bodypos.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
  270.         end
  271.     end
  272.     while game:GetService("Players").LocalPlayer.Character:findFirstChild("ImDead") do
  273.         game:GetService("RunService").RenderStepped:wait()
  274.     end
  275.     canuncollide = false
  276.     print("teleporting")
  277.     game:GetService("Players").LocalPlayer.Character:WaitForChild("HumanoidRootPart")
  278.     if game:GetService("Players").LocalPlayer.Character:findFirstChild("ForceField") then
  279.         game:GetService("Players").LocalPlayer.Character:findFirstChild("ForceField"):destroy()
  280.     end
  281.     for i = 1,8 do
  282.         game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame = rootcframe
  283.         wait()
  284.     end
  285. end
  286. function press(key)
  287.     key = key:lower()
  288.     if key == "z" and canuncollide then
  289.         humanoid.Health = 0
  290.     end
  291. end
  292. mouse.KeyDown:connect(press)
  293. humanoid.Died:connect(die)
Add Comment
Please, Sign In to add comment