View difference between Paste ID: PfiS3Wkp and QQaex7iC
SHOW: | | - or go back to the newest paste.
1-
--[[
1+
-- This script has been converted to FE by iPxter
2-
	FilteringEnabled Script Bar
2+
3-
	
3+
4-
	Run non-fe compatable scripts under Mokorios's compability code.
4+
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
5-
	It should be compatible with most scripts, but if you encounter issues make sure to let Mokorios know.
5+
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
6-
	
6+
do
7-
	The FE Compatibility code can be found at:
7+
	print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
8-
	https://github.com/Mokiros/roblox-FE-compatibility.
8+
	script.Parent = Player.Character
9-
--]]
9+
10-
	if not script:IsA("LocalScript") then
10+
	--RemoteEvent for communicating
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).<<")
11+
	local Event = Instance.new("RemoteEvent")
12
	Event.Name = "UserInput_Event"
13-
	
13+
14-
	if not NS then
14+
	--Fake event to make stuff like Mouse.KeyDown work
15-
		NS = function() end
15+
	local function fakeEvent()
16
		local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
17-
	
17+
		t.connect = t.Connect
18-
	services = setmetatable({}, {	
18+
		return t
19-
	__index = function(self, k, ...)
19+
20-
		return game:GetService(k)
20+
21-
	end})
21+
	--Creating fake input objects with fake variables
22-
	
22+
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
23-
	local plr = services.Players.LocalPlayer
23+
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
24-
	print("Credit to Mokiros for his FE Compatibility script.\nThis project wouldn't be possible without him.\n")
24+
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
25-
	print("You can obtain a copy of his code for his FE compatability at https://github.com/Mokiros/roblox-FE-compatibility.\n")
25+
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
26-
	print("You may also obtain a copy of his licence at https://raw.githubusercontent.com/Mokiros/roblox-FE-compatibility/master/LICENSE.\n")
26+
	end}
27-
	print("All of the source code in exception to his compatability code is in the public domain, and was made by TheFlamingBlaster.")
27+
	--Merged 2 functions into one by checking amount of arguments
28-
	
28+
	CAS.UnbindAction = CAS.BindAction
29-
	local fecompat = [[
29+
30-
	if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
30+
	--This function will trigger the events that have been :Connect()'ed
31-
	local Player,Mouse,mouse,UserInputService,ContextActionService = owner
31+
	local function te(self,ev,...)
32-
	local RealPlayer = Player
32+
		local t = m[ev]
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]]
33+
		if t and t._fakeEvent and t.Function then
34-
	
34+
			t.Function(...)
35-
	NS([[
35+
36-
		wait(1)
36+
37-
		local requestHandlers = {
37+
	m.TrigEvent = te
38-
			["HttpGet"] = function(client, url, cache) 
38+
	UIS.TrigEvent = te
39-
				return game:GetService"HttpService":GetAsync(url, cache or true)
39+
40-
			end,
40+
	Event.OnServerEvent:Connect(function(plr,io)
41-
			["GetDataStore"] = function(client, ds, key)
41+
	    if plr~=Player then return end
42-
				local ds = game:GetService"DataStoreService":GetDataStore(ds):GetAsync(key)
42+
		if io.isMouse then
43-
			end,
43+
			m.Target = io.Target
44-
			["SetDataStore"] = function(client, ds, key, newval)
44+
			m.Hit = io.Hit
45-
				local ds = game:GetService"DataStoreService":GetDataStore(ds):SetAsync(key, newval)
45+
		else
46
			local b = io.UserInputState == Enum.UserInputState.Begin
47-
		}
47+
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
48-
		
48+
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
49-
		
49+
50-
		local generateRemote
50+
			for _,t in pairs(CAS.Actions) do
51-
		generateRemote = function()
51+
				for _,k in pairs(t.Keys) do
52-
			local remote = Instance.new("RemoteFunction")
52+
					if k==io.KeyCode then
53-
			remote.Name = getfenv().owner.Name.." : Coms"
53+
						t.Function(t.Name,io.UserInputState,io)
54-
			
54+
55-
			remote.OnServerInvoke = function(client, request, ...) 
55+
56-
				if requestHandlers[request] then
56+
57-
					return requestHandlers[request](client, ...)
57+
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
58
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
59
	    end
60-
			
60+
61-
			remote.Parent = workspace
61+
	Event.Parent = NLS([==[
62-
			
62+
	local Player = game:GetService("Players").LocalPlayer
63-
			remote.AncestryChanged:Connect(function() 
63+
	local Event = script:WaitForChild("UserInput_Event")
64-
				delay(0.03, function() 
64+
65-
					if remote then
65+
	local UIS = game:GetService("UserInputService")
66-
						remote:Destroy()
66+
	local input = function(io,a)
67
		if a then return end
68-
				end)
68+
		--Since InputObject is a client-side instance, we create and pass table instead
69-
				generateRemote()
69+
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
70-
			end)
70+
71
	UIS.InputBegan:Connect(input)
72-
		
72+
	UIS.InputEnded:Connect(input)
73-
		
73+
74-
		generateRemote()
74+
	local Mouse = Player:GetMouse()
75-
	]], workspace)
75+
	local h,t
76-
	
76+
	--Give the server mouse data 30 times every second, but only if the values changed
77-
	local remote = workspace:FindFirstChild(plr.Name..": Coms") or workspace:WaitForChild(plr.Name.." : Coms")
77+
	--If player is not moving their mouse, client won't fire events
78-
	
78+
	while wait(1/30) do
79-
	-- Objects
79+
		if h~=Mouse.Hit or t~=Mouse.Target then
80-
	
80+
			h,t=Mouse.Hit,Mouse.Target
81-
	local FEBar = Instance.new("ScreenGui")
81+
			Event:FireServer({isMouse=true,Target=t,Hit=h})
82-
	local BG = Instance.new("Frame")
82+
83-
	local TextLabel = Instance.new("TextLabel")
83+
	end]==],Player.Character)
84-
	local Exit = Instance.new("TextButton")
84+
	Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
85-
	local UrlBar = Instance.new("TextBox")
85+
86-
	local TextLabel_2 = Instance.new("TextLabel")
86+
87
--ffghjkgh67
88-
	-- Properties
88+
89-
	
89+
90-
	FEBar.Name = "FEBar"
90+
91-
	
91+
92-
	BG.Name = "BG"
92+
93-
	BG.Parent = FEBar
93+
94-
	BG.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
94+
95-
	BG.BorderSizePixel = 0
95+
96-
	BG.Position = UDim2.new(0.720785916, 0, 0.897717714, 0)
96+
97-
	BG.Size = UDim2.new(0.279214054, 0, 0.10228233, 0)
97+
98-
	
98+
99-
	TextLabel.Parent = BG
99+
100-
	TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
100+
101-
	TextLabel.BackgroundTransparency = 1
101+
102-
	TextLabel.Size = UDim2.new(0.683333337, 0, 0.201834857, 0)
102+
103-
	TextLabel.Font = Enum.Font.SourceSansSemibold
103+
104-
	TextLabel.FontSize = Enum.FontSize.Size14
104+
105-
	TextLabel.Text = "FE Command Bar"
105+
106-
	TextLabel.TextColor3 = Color3.new(1, 1, 1)
106+
107-
	TextLabel.TextScaled = true
107+
108-
	TextLabel.TextWrapped = true
108+
109-
	TextLabel.TextXAlignment = Enum.TextXAlignment.Left
109+
110-
	
110+
111-
	Exit.Name = "Exit"
111+
112-
	Exit.Parent = BG
112+
113-
	Exit.BackgroundColor3 = Color3.new(1, 1, 1)
113+
114-
	Exit.BackgroundTransparency = 1
114+
115-
	Exit.Position = UDim2.new(0.899999976, 0, 0, 0)
115+
116-
	Exit.Size = UDim2.new(0.100000001, 0, 0.206422016, 0)
116+
117-
	Exit.Font = Enum.Font.SourceSans
117+
118-
	Exit.FontSize = Enum.FontSize.Size14
118+
119-
	Exit.Text = "X"
119+
120-
	Exit.TextColor3 = Color3.new(1, 0, 0)
120+
121-
	Exit.TextScaled = true
121+
122-
	Exit.TextWrapped = true
122+
123-
	
123+
124-
	UrlBar.Name = "UrlBar"
124+
125-
	UrlBar.Parent = BG
125+
126-
	UrlBar.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647)
126+
127-
	UrlBar.BorderSizePixel = 0
127+
128-
	UrlBar.Position = UDim2.new(0, 0, 0.247933879, 0)
128+
129-
	UrlBar.Size = UDim2.new(1, 0, 0.504132211, 0)
129+
130-
	UrlBar.Font = Enum.Font.SourceSans
130+
131-
	UrlBar.FontSize = Enum.FontSize.Size14
131+
132-
	UrlBar.Text = ""
132+
133-
	UrlBar.TextColor3 = Color3.new(0, 0, 0)
133+
134-
	UrlBar.TextScaled = true
134+
135-
	UrlBar.TextWrapped = true
135+
136-
	UrlBar.TextXAlignment = Enum.TextXAlignment.Left
136+
137-
	
137+
138-
	TextLabel_2.Parent = BG
138+
139-
	TextLabel_2.BackgroundColor3 = Color3.new(1, 0, 0)
139+
140-
	TextLabel_2.BackgroundTransparency = 1
140+
141-
	TextLabel_2.Position = UDim2.new(0, 0, 0.834710777, 0)
141+
142-
	TextLabel_2.Size = UDim2.new(1, 0, 0.165289253, 0)
142+
143-
	TextLabel_2.Font = Enum.Font.SourceSansSemibold
143+
144-
	TextLabel_2.FontSize = Enum.FontSize.Size14
144+
145-
	TextLabel_2.Text = "Click the  black box above, paste in your link and press \"Enter\" to run your script."
145+
146-
	TextLabel_2.TextColor3 = Color3.new(1, 0, 0)
146+
147-
	TextLabel_2.TextScaled = true
147+
148-
	TextLabel_2.TextWrapped = true
148+
149-
	TextLabel_2.TextXAlignment = Enum.TextXAlignment.Left
149+
150-
	
150+
151-
	Exit.MouseButton1Click:Connect(function()
151+
152-
		FEBar:Destroy()
152+
153-
		script.Disabled = true
153+
154
local stipb = Instance.new("TextBox",frame)
155-
	
155+
156-
	local curtext = ""
156+
157-
	
157+
158-
	UrlBar.Changed:Connect(function()
158+
159-
		if not UrlBar.Text:match("#") then
159+
160-
			curtext = UrlBar.Text
160+
161
stipb.TextColor3 = Color3.new(255,255,255)
162
stipb.TextScaled = true
163-
	
163+
164-
	UrlBar.FocusLost:Connect(function(e)
164+
165-
		if e == true then
165+
166-
			if curtext:sub(1, 3) == "hl/" then
166+
167-
				UrlBar.Text = curtext:sub(3)
167+
168
label.TextColor3 = Color3.new(255,255,255)
169-
			if curtext:sub(1, 2) == "h/" then
169+
170-
				UrlBar.Text = curtext:sub(2)
170+
171
172-
			NS(fecompat.." "..remote:InvokeServer("HttpGet", curtext), workspace)
172+
173-
			print("Running "..curtext)
173+
174
stipb.Changed:connect(function()
175
	sound.SoundId = "rbxassetid://" .. stipb.Text
176-
	
176+
177-
	FEBar.Parent = plr:FindFirstChildOfClass"PlayerGui"
177+
178
playb.MouseButton1Click:connect(function()
179
	sound:Play()
180
	Playing = true
181
end)
182
183
stopb.MouseButton1Click:connect(function()
184
	sound:Stop()
185
	Playing = false
186
end)
187
188
while true do
189
	if Playing then
190
		mesh.Scale = Vector3.new(1.1,1.1,1.1)
191
		wait(.2)
192
		mesh.Scale = Vector3.new(1,1,1)
193
	end
194
	wait(.2)
195
end