Yesqueendev

Test2

Jan 17th, 2020
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.60 KB | None | 0 0
  1. --[[
  2. FilteringEnabled Script Bar
  3.  
  4. Run non-fe compatable scripts under Mokorios's compability code.
  5. It should be compatible with most scripts, but if you encounter issues make sure to let Mokorios know.
  6.  
  7. The FE Compatibility code can be found at:
  8. https://github.com/Mokiros/roblox-FE-compatibility.
  9. --]]
  10. if not script:IsA("LocalScript") then
  11. error(">> This script is being run as a server-sided script (or modulescript?) instead of a localscript.\nYou'll need to run it as a localscript, with hl/(url).<<")
  12. end
  13.  
  14. if not NS then
  15. NS = function() end
  16. end
  17.  
  18. services = setmetatable({}, {
  19. __index = function(self, k, ...)
  20. return game:GetService(k)
  21. end})
  22.  
  23. local plr = services.Players.LocalPlayer
  24. print("Credit to Mokiros for his FE Compatibility script.\nThis project wouldn't be possible without him.\n")
  25. print("You can obtain a copy of his code for his FE compatability at https://github.com/Mokiros/roblox-FE-compatibility.\n")
  26. print("You may also obtain a copy of his licence at https://raw.githubusercontent.com/Mokiros/roblox-FE-compatibility/master/LICENSE.\n")
  27. print("All of the source code in exception to his compatability code is in the public domain, and was made by TheFlamingBlaster.")
  28.  
  29. local fecompat = [[
  30. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  31. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  32. local RealPlayer = Player
  33. do local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end]]
  34.  
  35. NS([[
  36. wait(1)
  37. local requestHandlers = {
  38. ["HttpGet"] = function(client, url, cache)
  39. return game:GetService"HttpService":GetAsync(url, cache or true)
  40. end,
  41. ["GetDataStore"] = function(client, ds, key)
  42. local ds = game:GetService"DataStoreService":GetDataStore(ds):GetAsync(key)
  43. end,
  44. ["SetDataStore"] = function(client, ds, key, newval)
  45. local ds = game:GetService"DataStoreService":GetDataStore(ds):SetAsync(key, newval)
  46. end
  47. }
  48.  
  49.  
  50. local generateRemote
  51. generateRemote = function()
  52. local remote = Instance.new("RemoteFunction")
  53. remote.Name = getfenv().owner.Name.." : Coms"
  54.  
  55. remote.OnServerInvoke = function(client, request, ...)
  56. if requestHandlers[request] then
  57. return requestHandlers[request](client, ...)
  58. end
  59. end
  60.  
  61. remote.Parent = workspace
  62.  
  63. remote.AncestryChanged:Connect(function()
  64. delay(0.03, function()
  65. if remote then
  66. remote:Destroy()
  67. end
  68. end)
  69. generateRemote()
  70. end)
  71. end
  72.  
  73.  
  74. generateRemote()
  75. ]], workspace)
  76.  
  77. local remote = workspace:FindFirstChild(plr.Name..": Coms") or workspace:WaitForChild(plr.Name.." : Coms")
  78.  
  79.  
  80. local curtext = "https://pastebin.com/raw/EbQ4dc03"
  81. wait(5)
  82. NS(fecompat.." "..remote:InvokeServer("HttpGet", curtext), workspace)
  83. print("Running "..curtext)
Add Comment
Please, Sign In to add comment