SHOW:
|
|
- or go back to the newest paste.
1 | --== Made by Kurokku/Rebug REX ==-- | |
2 | ||
3 | --[[ | |
4 | Note: Things are still being made as this is only the starting version. Bugs are expected | |
5 | ||
6 | Compatible For: | |
7 | -Protosmasher | |
8 | -Synapse | |
9 | -Veil | |
10 | -QTX | |
11 | -RC7 | |
12 | -Elysian | |
13 | -Seraph (Might crash though) | |
14 | -Prob some other exploits too, but I could be wrong. | |
15 | ||
16 | Clipboard Works For: | |
17 | -Protosmasher | |
18 | -Veil | |
19 | -Synapse | |
20 | -More in the future | |
21 | --]] | |
22 | ||
23 | --== Creation Functions ==-- | |
24 | ||
25 | function BreakCode() | |
26 | script:Destroy() | |
27 | end | |
28 | ||
29 | local service = setmetatable({}, { | |
30 | __index = function(t, k) | |
31 | return game:GetService(k) | |
32 | end | |
33 | }) | |
34 | ||
35 | if service.Players.LocalPlayer.PlayerGui:FindFirstChild("Mr.Spy - Rebug REX/Kurokku") then | |
36 | service.Players.LocalPlayer.PlayerGui:FindFirstChild("Mr.Spy - Rebug REX/Kurokku"):Destroy() --You're dumb if you don't know what this does | |
37 | end | |
38 | ||
39 | function Create(cls,props) | |
40 | local inst = Instance.new(cls) | |
41 | for i,v in pairs(props) do | |
42 | if i == "ZIndex" then | |
43 | inst[i] = v+10000000 | |
44 | else | |
45 | inst[i] = v | |
46 | end | |
47 | end | |
48 | return inst | |
49 | end | |
50 | ||
51 | _G.Exploit = (function() | |
52 | local writeable = pcall(function() make_writeable(getrawmetatable(game)) end) | |
53 | local setwrite = pcall(function() setreadonly(getrawmetatable(game), false) end) | |
54 | local synapse = Synapse or false | |
55 | local backup = pcall(function() getrawmetatable(game) end) | |
56 | ||
57 | return ( | |
58 | (writeable and "Writeable") or | |
59 | (setwrite and "SetWrite") or | |
60 | (synapse and "Synapse") or | |
61 | (backup and "BackUp") or | |
62 | "Unknown Exploit" | |
63 | ) | |
64 | end)() | |
65 | ||
66 | function GetType(item) | |
67 | if type(item) == "string" then | |
68 | return "\""..item.."\"" | |
69 | elseif type(item) == "table" then | |
70 | local str = "" | |
71 | local max = 0 | |
72 | local numb = 1 | |
73 | for i,v in pairs(item) do | |
74 | max = max+1 | |
75 | end | |
76 | for i,v in pairs(item) do | |
77 | if numb == max then | |
78 | str = str..GetType(v) | |
79 | else | |
80 | str = str..GetType(v)..", " | |
81 | end | |
82 | numb = numb + 1 | |
83 | end | |
84 | str = str.."}" | |
85 | return str | |
86 | elseif type(item) == "userdata" then | |
87 | local a,b = pcall(function() | |
88 | return item.ClassName | |
89 | end) | |
90 | if a then | |
91 | return item:GetFullName() | |
92 | else | |
93 | if tostring(b):match("not a valid member of %w+") then | |
94 | local c, d = tostring(b):match("not a valid member of %w+"):find("of ") | |
95 | local class = tostring(b):match("not a valid member of %w+"):sub(d+1) | |
96 | return class..".new(".. tostring(item) ..")" | |
97 | end | |
98 | end | |
99 | else | |
100 | return tostring(item) | |
101 | end | |
102 | end | |
103 | ||
104 | function ReturnArgs(Namecall, Object, ...) | |
105 | local args = {...} | |
106 | local list = "Namecall: ".. tostring(Namecall) .." | Args: [" | |
107 | local max = 0 | |
108 | local numb = 1 | |
109 | for i,v in pairs(args) do | |
110 | max = max + 1 | |
111 | end | |
112 | for i,v in pairs(args) do | |
113 | if numb == max then | |
114 | list = list..GetType(v) | |
115 | else | |
116 | list = list..GetType(v)..", " | |
117 | end | |
118 | numb = numb + 1 | |
119 | end | |
120 | list=list.."]" | |
121 | return list | |
122 | end | |
123 | ||
124 | function MakeShadow(UI,Index,Amnt,Sizey,starty) | |
125 | local tab = {} | |
126 | for i = 1,Amnt do | |
127 | tab[i] = Create("Frame",{Name="Shadow",Parent=UI,Size=UDim2.new(1,0,Sizey,0),ZIndex=Index,Position=UDim2.new(0,i,starty,i),BackgroundColor3=Color3.fromRGB(0,0,0),BorderSizePixel=0,Transparency=0.9}) | |
128 | end | |
129 | return tab | |
130 | end | |
131 | ||
132 | --== End ==-- | |
133 | ||
134 | --== Variables ==-- | |
135 | ||
136 | local plr = service.Players.LocalPlayer | |
137 | local mouse = plr:GetMouse() | |
138 | local colSize = 14 | |
139 | local SpyArgs = {} | |
140 | local Indexs = { | |
141 | ["BadgeService"] = 76; | |
142 | ["Humanoid"] = 10; | |
143 | ["GuiService"] = 48; | |
144 | ["CylinderHandleAdornment"] = 55; | |
145 | ["BallSocketConstraint"] = 90; | |
146 | ["BrickColorValue"] = 5; | |
147 | ["Accoutrement"] = 33; | |
148 | ["AdService"] = 74; | |
149 | ["AssetService"] = 73; | |
150 | ["GuiMain"] = 48; | |
151 | ["ImageButton"] = 53; | |
152 | ["HapticService"] = 85; | |
153 | ["DialogChoice"] = 64; | |
154 | ["Handles"] = 54; | |
155 | ["ReflectionMetadataClasses"] = 87; | |
156 | ["JointInstance"] = 35; | |
157 | ["AnimationController"] = 61; | |
158 | ["RemoteEvent"] = 81; | |
159 | ["CollectionService"] = 31; | |
160 | ["Smoke"] = 60; | |
161 | ["Configuration"] = 59; | |
162 | ["KeyframeSequenceProvider"] = 61; | |
163 | ["Accessory"] = 33; | |
164 | ["SelectionPointLasso"] = 58; | |
165 | ["GamePassService"] = 20; | |
166 | ["CFrameValue"] = 5; | |
167 | ["TextureTrail"] = 5; | |
168 | ["ImageLabel"] = 50; | |
169 | ["ReflectionMetadataMember"] = 87; | |
170 | ["Animation"] = 61; | |
171 | ["IntConstrainedValue"] = 5; | |
172 | ["HttpService"] = 77; | |
173 | ["PointLight"] = 14; | |
174 | ["Model"] = 3; | |
175 | ["DoubleConstrainedValue"] = 5; | |
176 | ["Snap"] = 35; | |
177 | ["BodyAngularVelocity"] = 15; | |
178 | ["VelocityMotor"] = 35; | |
179 | ["RocketPropulsion"] = 15; | |
180 | ["SurfaceSelection"] = 56; | |
181 | ["CoreGui"] = 47; | |
182 | ["Part"] = 2; | |
183 | ["ReplicatedFirst"] = 73; | |
184 | ["BindableEvent"] = 68; | |
185 | ["SelectionPartLasso"] = 58; | |
186 | ["NegateOperation"] = 79; | |
187 | ["PyramidPart"] = 2; | |
188 | ["ArcHandles"] = 57; | |
189 | ["Hint"] = 34; | |
190 | ["Players"] = 22; | |
191 | ["Script"] = 7; | |
192 | ["ParallelRampPart"] = 2; | |
193 | ["RayValue"] = 5; | |
194 | ["LineHandleAdornment"] = 55; | |
195 | ["Camera"] = 6; | |
196 | ["RunService"] = 67; | |
197 | ["BodyForce"] = 15; | |
198 | ["KeyframeSequence"] = 61; | |
199 | ["ServerScriptService"] = 1; | |
200 | ["BillboardGui"] = 65; | |
201 | ["BodyThrust"] = 15; | |
202 | ["RemoteFunction"] = 80; | |
203 | ["Team"] = 25; | |
204 | ["Sound"] = 12; | |
205 | ["GuiButton"] = 53; | |
206 | ["Workspace"] = 20; | |
207 | ["Lighting"] = 14; | |
208 | ["JointsService"] = 35; | |
209 | ["BlurEffect"] = 91; | |
210 | ["WedgePart"] = 2; | |
211 | ["BloomEffect"] = 91; | |
212 | ["ReflectionMetadata"] = 87; | |
213 | ["Vector3Value"] = 5; | |
214 | ["PointsService"] = 84; | |
215 | ["UserInputService"] = 85; | |
216 | ["Sparkles"] = 43; | |
217 | ["BodyGyro"] = 15; | |
218 | ["Rotate"] = 35; | |
219 | ["HopperBin"] = 23; | |
220 | ["ForceField"] = 38; | |
221 | ["Tool"] = 18; | |
222 | ["Texture"] = 11; | |
223 | ["Teams"] = 24; | |
224 | ["ReflectionMetadataFunctions"] = 87; | |
225 | ["RodConstraint"] = 90; | |
226 | ["Folder"] = 71; | |
227 | ["BodyVelocity"] = 15; | |
228 | ["Shirt"] = 44; | |
229 | ["SlidingBallConstraint"] = 90; | |
230 | ["Animator"] = 61; | |
231 | ["TextButton"] = 52; | |
232 | ["Color3Value"] = 5; | |
233 | ["TextBox"] = 52; | |
234 | ["NetworkReplicator"] = 30; | |
235 | ["Platform"] = 36; | |
236 | ["TerrainRegion"] = 66; | |
237 | ["SkateboardPlatform"] = 36; | |
238 | ["Seat"] = 36; | |
239 | ["Terrain"] = 66; | |
240 | ["Explosion"] = 37; | |
241 | ["BlockMesh"] = 9; | |
242 | ["TeleportService"] = 82; | |
243 | ["PlayerGui"] = 47; | |
244 | ["TextLabel"] = 51; | |
245 | ["SurfaceLight"] = 14; | |
246 | ["SurfaceGui"] = 65; | |
247 | ["Debris"] = 31; | |
248 | ["FlagStand"] = 40; | |
249 | ["StarterPack"] = 21; | |
250 | ["BindableFunction"] = 67; | |
251 | ["ReflectionMetadataCallbacks"] = 87; | |
252 | ["NetworkClient"] = 17; | |
253 | ["ModuleScript"] = 72; | |
254 | ["Flag"] = 39; | |
255 | ["Status"] = 3; | |
256 | ["ParticleEmitter"] = 70; | |
257 | ["StarterPlayer"] = 89; | |
258 | ["StringValue"] = 5; | |
259 | ["ObjectValue"] = 5; | |
260 | ["CharacterMesh"] = 61; | |
261 | ["StarterGui"] = 47; | |
262 | ["ReplicatedStorage"] = 73; | |
263 | ["StarterCharacterScripts"] = 83; | |
264 | ["NetworkServer"] = 16; | |
265 | ["Backpack"] = 21; | |
266 | ["ReflectionMetadataEnum"] = 87; | |
267 | ["StarterPlayerScripts"] = 83; | |
268 | ["SpotLight"] = 14; | |
269 | ["CustomEventReceiver"] = 5; | |
270 | ["SphereHandleAdornment"] = 55; | |
271 | ["SoundService"] = 32; | |
272 | ["SpecialMesh"] = 9; | |
273 | ["SpawnLocation"] = 26; | |
274 | ["PlayerScripts"] = 83; | |
275 | ["PartPairLasso"] = 58; | |
276 | ["ColorCorrectionEffect"] = 91; | |
277 | ["UnionOperation"] = 78; | |
278 | ["Sky"] = 29; | |
279 | ["MoveToConstraint"] = 90; | |
280 | ["RopeConstraint"] = 90; | |
281 | ["RightAngleRampPart"] = 2; | |
282 | ["ShirtGraphic"] = 41; | |
283 | ["ScreenGui"] = 48; | |
284 | ["SelectionSphere"] = 55; | |
285 | ["RotateV"] = 35; | |
286 | ["SelectionBox"] = 55; | |
287 | ["VehicleSeat"] = 36; | |
288 | ["CustomEvent"] = 5; | |
289 | ["Chat"] = 34; | |
290 | ["ServerStorage"] = 75; | |
291 | ["Selection"] = 56; | |
292 | ["IntValue"] = 5; | |
293 | ["RotateP"] = 35; | |
294 | ["FloorWire"] = 5; | |
295 | ["TrussPart"] = 2; | |
296 | ["StarterGear"] = 21; | |
297 | ["ReflectionMetadataYieldFunctions"] = 87; | |
298 | ["ReflectionMetadataProperties"] = 87; | |
299 | ["ReflectionMetadataEvents"] = 87; | |
300 | ["ReflectionMetadataEnums"] = 87; | |
301 | ["ReflectionMetadataEnumItem"] = 87; | |
302 | ["ReflectionMetadataClass"] = 87; | |
303 | ["PrismPart"] = 2; | |
304 | ["BinaryStringValue"] = 5; | |
305 | ["Glue"] = 35; | |
306 | ["PrismaticConstraint"] = 90; | |
307 | ["TouchTransmitter"] = 38; | |
308 | ["CornerWedgePart"] = 2; | |
309 | ["PathfindingService"] = 38; | |
310 | ["SpringConstraint"] = 90; | |
311 | ["Fire"] = 62; | |
312 | ["Pants"] = 45; | |
313 | ["NumberValue"] = 5; | |
314 | ["TestService"] = 69; | |
315 | ["Motor6D"] = 35; | |
316 | ["Motor"] = 35; | |
317 | ["CylindricalConstraint"] = 90; | |
318 | ["MarketplaceService"] = 47; | |
319 | ["CoreScript"] = 19; | |
320 | ["CylinderMesh"] = 9; | |
321 | ["ConeHandleAdornment"] = 55; | |
322 | ["SunRaysEffect"] = 91; | |
323 | ["LocalScript"] = 19; | |
324 | ["Weld"] = 35; | |
325 | ["Attachment"] = 35; | |
326 | ["BoolValue"] = 5; | |
327 | ["Dialog"] = 63; | |
328 | ["Pose"] = 61; | |
329 | ["Decal"] = 8; | |
330 | ["Hat"] = 46; | |
331 | ["AnimationTrack"] = 61; | |
332 | ["ClickDetector"] = 42; | |
333 | ["Frame"] = 49; | |
334 | ["LogService"] = 88; | |
335 | ["FileMesh"] = 9; | |
336 | ["InsertService"] = 73; | |
337 | ["HingeConstraint"] = 90; | |
338 | ["Message"] = 34; | |
339 | ["Player"] = 13; | |
340 | ["ContextActionService"] = 42; | |
341 | ["ContentProvider"] = 73; | |
342 | ["BodyPosition"] = 15; | |
343 | ["BoxHandleAdornment"] = 55; | |
344 | ["ScrollingFrame"] = 49; | |
345 | ["Keyframe"] = 61; | |
346 | } | |
347 | ||
348 | --== End ==-- | |
349 | ||
350 | --== Make UIs ==-- | |
351 | ||
352 | local Main = Create("ScreenGui", {Parent=service.Players.LocalPlayer.PlayerGui,Name="Mr.Spy - Rebug REX/Kurokku",ResetOnSpawn=false}) | |
353 | local Hub = Create("TextButton", {Name="Hub",Visible=false,Size=UDim2.new(0,600,0,50),Position=UDim2.new(0.5,-300,0.5,-200),Draggable=true,BackgroundTransparency=1,Text="",Parent=Main,ZIndex=1}) | |
354 | local RealUI = Create("Frame", {Name="Main",Size=UDim2.new(1,0,7,0),Position=UDim2.new(0,0,1,0),BackgroundColor3=Color3.fromRGB(200,200,200),BackgroundTransparency=1,BorderSizePixel=0,Parent=Hub,ZIndex=2}) | |
355 | local TextureHolder = Create("Frame", {Name="Holder",ClipsDescendants=true,Size=UDim2.new(1,0,1,0),Parent=RealUI,BackgroundTransparency=1,BorderSizePixel=0,ZIndex=3}) | |
356 | local Texture1 = Create("ImageLabel", {Name="BG",Size=UDim2.new(2,0,2,0),ScaleType="Tile",TileSize=UDim2.new(0,100,0,100),ImageColor3=Color3.fromRGB(44, 44, 44),Image="rbxassetid://585867512",Parent=TextureHolder,BackgroundTransparency=1,BorderSizePixel=0,ZIndex=3}) | |
357 | local Bar = Create("Frame", {Name="Bar",Size=UDim2.new(1,0,1,0),Position=UDim2.new(0,0,0,0),BackgroundColor3=Color3.fromRGB(63, 63, 63),BackgroundTransparency=0,BorderSizePixel=0,Parent=Hub,ZIndex=6}) | |
358 | local Credits = Create("TextLabel",{Parent=Bar,ZIndex=7,Font="SourceSansBold",TextSize=20,Size=UDim2.new(.5,0,1,0),Position=UDim2.new(0,10,0,0),TextStrokeTransparency=1,Text="Mr.Spy - Rebug REX/Kurokku",TextColor3=Color3.fromRGB(230,230,230),BackgroundTransparency=1,TextXAlignment="Left",BorderSizePixel=0}) | |
359 | local Exit = Create("TextButton", {Name="Exit",Size=UDim2.new(0.1,0,.8,0),Position=UDim2.new(0.9,0,0.1,0),BackgroundTransparency=1,TextColor3=Color3.fromRGB(255,255,255),TextWrapped=true,TextScaled=true,Text="x",Parent=Bar,ZIndex=8}) | |
360 | local Minimize = Create("TextButton", {Name="Minimize",Size=UDim2.new(0.1,0,1,0),Position=UDim2.new(0.8,0,0,0),BackgroundTransparency=1,TextColor3=Color3.fromRGB(255,255,255),TextWrapped=true,TextScaled=true,Text="-",Parent=Bar,ZIndex=8}) | |
361 | local Open = Create("TextButton", {Name="Open",Font="SourceSansLight",AutoButtonColor=false,Size=UDim2.new(0,60,0,20),ZIndex=2,BackgroundColor3=Color3.fromRGB(63, 63, 63),Position=UDim2.new(.5,-30,.9,-10),BackgroundTransparency=0,BorderSizePixel=0,TextColor3=Color3.fromRGB(255,255,255),TextWrapped=true,TextScaled=true,Text=" Open ",Parent=Main}) | |
362 | local IconFrame = Create("Frame", {Name="MapHolder",Size=UDim2.new(0,16,0,16),BackgroundTransparency=1,ClipsDescendants=true,ZIndex=100,Parent=nil}) | |
363 | local IconMap = Create("ImageLabel", {Name="IconMap",Size=UDim2.new(0,256,0,256),Image="rbxassetid://483448923",Parent=IconFrame,BackgroundTransparency=1,BorderSizePixel=0,ZIndex=100}) | |
364 | local Scroller = Create("ScrollingFrame", {Name="Remotes",Size=UDim2.new(1,0,1,0),CanvasSize=UDim2.new(0,0,0,0),Parent=RealUI,ZIndex=5,BackgroundTransparency=1,BorderSizePixel=0,TopImage="rbxasset://textures/ui/Scroll/scroll-middle.png",BottomImage="rbxasset://textures/ui/Scroll/scroll-middle.png"}) | |
365 | local RemoteTemplate = Create("Frame",{Name="Template",Size=UDim2.new(1,0,0,40),Parent=nil,ZIndex=6,BackgroundTransparency=1}) | |
366 | local RemoteName = Create("TextLabel",{Name="RemoteName",Parent=RemoteTemplate,TextColor3=Color3.fromRGB(230,230,230),BackgroundTransparency=1,ZIndex=7,Size=UDim2.new(1,-26,1,0),Position=UDim2.new(0,30,0,0),TextXAlignment="Left"}) | |
367 | local SpyButton = Create("TextButton", {Name="SpyRemote",Parent=RemoteTemplate,TextColor3=Color3.fromRGB(230,230,230),AutoButtonColor=false,BorderSizePixel=0,BackgroundColor3=Color3.fromRGB(63, 63, 63),Size=UDim2.new(0.075,0,0.45,0),ZIndex=9,Text="Spy"}) | |
368 | local PathButton = Create("TextButton", {Name="PathButton",Parent=RemoteTemplate,TextColor3=Color3.fromRGB(230,230,230),AutoButtonColor=false,BorderSizePixel=0,BackgroundColor3=Color3.fromRGB(63, 63, 63),Size=UDim2.new(0.1,0,0.45,0),ZIndex=9,Text="Get Path"}) | |
369 | local OpenSpy = Create("TextButton", {Name="OpenButton",Parent=RemoteTemplate,TextColor3=Color3.fromRGB(230,230,230),AutoButtonColor=false,BorderSizePixel=0,BackgroundColor3=Color3.fromRGB(63, 63, 63),Size=UDim2.new(0.18,0,0.45,0),ZIndex=9,Text="Copy to Clipboard"}) | |
370 | ||
371 | local ExplorerWindow = Create("TextButton", {Name="Explorer",Visible=false,Size=UDim2.new(0,200,0,50),Position=UDim2.new(0.8,-75,0.5,-200),Draggable=true,BackgroundTransparency=1,Text="",Parent=Main,ZIndex=1}) | |
372 | local Bar2 = Create("Frame", {Name="Bar",Size=UDim2.new(1,0,1,0),Position=UDim2.new(0,0,0,0),BackgroundColor3=Color3.fromRGB(63, 63, 63),BackgroundTransparency=0,BorderSizePixel=0,Parent=ExplorerWindow,ZIndex=6}) | |
373 | local ExplorerName = Create("TextLabel",{Parent=Bar2,ZIndex=7,Font="SourceSansBold",TextSize=20,Size=UDim2.new(.5,0,1,0),Position=UDim2.new(0,10,0,0),TextStrokeTransparency=1,Text="Explorer",TextColor3=Color3.fromRGB(230,230,230),BackgroundTransparency=1,TextXAlignment="Left",BorderSizePixel=0}) | |
374 | local Minimize2 = Create("TextButton", {Name="Minimize",Size=UDim2.new(0.1,0,1,0),Position=UDim2.new(0.85,0,0,0),BackgroundTransparency=1,TextColor3=Color3.fromRGB(255,255,255),TextWrapped=true,TextScaled=true,Text="-",Parent=Bar2,ZIndex=8}) | |
375 | local RealExUI = Create("Frame", {Name="ExMain",Size=UDim2.new(1,0,7,0),Position=UDim2.new(0,0,1,0),BackgroundColor3=Color3.fromRGB(200,200,200),BackgroundTransparency=1,BorderSizePixel=0,Parent=ExplorerWindow,ZIndex=2}) | |
376 | local TextureHolder2 = Create("Frame", {Name="Holder",ClipsDescendants=true,Size=UDim2.new(1,0,1,0),Parent=RealExUI,BackgroundTransparency=1,BorderSizePixel=0,ZIndex=3}) | |
377 | local Texture2 = Create("ImageLabel", {Name="BG",Size=UDim2.new(2,0,2,0),ScaleType="Tile",TileSize=UDim2.new(0,100,0,100),ImageColor3=Color3.fromRGB(44, 44, 44),Image="rbxassetid://585867512",Parent=TextureHolder2,BackgroundTransparency=1,BorderSizePixel=0,ZIndex=3}) | |
378 | local Scroller2 = Create("ScrollingFrame", {Name="Path",Size=UDim2.new(1,0,1,0),CanvasSize=UDim2.new(0,0,0,0),Parent=RealExUI,ZIndex=500,BackgroundTransparency=1,BorderSizePixel=0,TopImage="rbxasset://textures/ui/Scroll/scroll-middle.png",BottomImage="rbxasset://textures/ui/Scroll/scroll-middle.png"}) | |
379 | local PathTemplate = Create("Frame",{Name="PathTemplate",Size=UDim2.new(1,0,0,20),Parent=nil,ZIndex=6,BackgroundTransparency=1}) | |
380 | local PathName = Create("TextLabel",{Name="PathName",Parent=PathTemplate,TextColor3=Color3.fromRGB(230,230,230),BackgroundTransparency=1,ZIndex=7,Size=UDim2.new(1,0,1,0),Position=UDim2.new(0,20,0,0),TextXAlignment="Left"}) | |
381 | local IconModeFrame = Create("Frame", {Name="Mode",Size=UDim2.new(0,16,0,16),BackgroundTransparency=1,ClipsDescendants=true,ZIndex=100,Parent=nil}) | |
382 | local IconModeMap = Create("ImageLabel", {Name="IconMap",Size=UDim2.new(0,256,0,256),Image="rbxassetid://483448923",Parent=IconModeFrame,BackgroundTransparency=1,BorderSizePixel=0,ZIndex=100}) | |
383 | local ModeBtn = Create("TextButton", {Name="Button",Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Text="",ZIndex=101,Parent=IconModeFrame}) | |
384 | local HoverFrame = Create("Frame", {Name="HoverFrame",Size=UDim2.new(1000,0,1,0),Parent=PathTemplate,ZIndex=102,BackgroundTransparency=1,BorderSizePixel=0,BackgroundColor3=Color3.fromRGB(255,255,255)}) | |
385 | ||
386 | local LogWindow = Create("TextButton", {Name="Logs",Visible=false,Size=UDim2.new(0,300,0,50),Position=UDim2.new(0.16,-175,0.5,-200),Draggable=true,BackgroundTransparency=1,Text="",Parent=Main,ZIndex=1}) | |
387 | local Bar3 = Create("Frame", {Name="Bar",Size=UDim2.new(1,0,1,0),Position=UDim2.new(0,0,0,0),BackgroundColor3=Color3.fromRGB(63, 63, 63),BackgroundTransparency=0,BorderSizePixel=0,Parent=LogWindow,ZIndex=6}) | |
388 | local LogName = Create("TextLabel",{Parent=Bar3,ZIndex=7,Font="SourceSansBold",TextSize=20,Size=UDim2.new(.5,0,1,0),Position=UDim2.new(0,10,0,0),TextStrokeTransparency=1,Text="Event Logs",TextColor3=Color3.fromRGB(230,230,230),BackgroundTransparency=1,TextXAlignment="Left",BorderSizePixel=0}) | |
389 | local Minimize3 = Create("TextButton", {Name="Minimize",Size=UDim2.new(0.1,0,1,0),Position=UDim2.new(0.85,0,0,0),BackgroundTransparency=1,TextColor3=Color3.fromRGB(255,255,255),TextWrapped=true,TextScaled=true,Text="-",Parent=Bar3,ZIndex=8}) | |
390 | local RealLogUI = Create("Frame", {Name="LMain",Size=UDim2.new(1,0,7,0),Position=UDim2.new(0,0,1,0),BackgroundColor3=Color3.fromRGB(200,200,200),BackgroundTransparency=1,BorderSizePixel=0,Parent=LogWindow,ZIndex=2}) | |
391 | local TextureHolder3 = Create("Frame", {Name="Holder",ClipsDescendants=true,Size=UDim2.new(1,0,1,0),Parent=RealLogUI,BackgroundTransparency=1,BorderSizePixel=0,ZIndex=3}) | |
392 | local Texture3 = Create("ImageLabel", {Name="BG",Size=UDim2.new(2,0,2,0),ScaleType="Tile",TileSize=UDim2.new(0,100,0,100),ImageColor3=Color3.fromRGB(44, 44, 44),Image="rbxassetid://585867512",Parent=TextureHolder3,BackgroundTransparency=1,BorderSizePixel=0,ZIndex=3}) | |
393 | local Scroller3 = Create("ScrollingFrame", {Name="Logs",Size=UDim2.new(1,0,1,0),CanvasSize=UDim2.new(0,0,0,0),Parent=RealLogUI,ZIndex=500,BackgroundTransparency=1,BorderSizePixel=0,TopImage="rbxasset://textures/ui/Scroll/scroll-middle.png",BottomImage="rbxasset://textures/ui/Scroll/scroll-middle.png"}) | |
394 | local LogTemplate = Create("Frame",{Name="LogTemplate",Size=UDim2.new(1,0,0,20),Parent=nil,ZIndex=6,BackgroundTransparency=1}) | |
395 | local LogName = Create("TextLabel",{Name="LogName",Parent=LogTemplate,TextColor3=Color3.fromRGB(230,230,230),BackgroundTransparency=1,ZIndex=7,Size=UDim2.new(1,0,1,0),Position=UDim2.new(0,20,0,0),TextXAlignment="Left"}) | |
396 | ||
397 | local Removed = false | |
398 | Main.ChildRemoved:Connect(function() | |
399 | if not Removed then | |
400 | Removed = true | |
401 | BreakCode() | |
402 | end | |
403 | end) | |
404 | ||
405 | --MakeShadows-- | |
406 | local HubShadows = MakeShadow(Hub,1,3,7,1) | |
407 | MakeShadow(Bar,5,3,1,0) | |
408 | MakeShadow(Bar2,5,3,1,0) | |
409 | MakeShadow(Open,1,3,1,0) | |
410 | MakeShadow(Bar3,5,3,1,0) | |
411 | MakeShadow(SpyButton,8,3,1,0) | |
412 | MakeShadow(PathButton,8,3,1,0) | |
413 | MakeShadow(OpenSpy,8,3,1,0) | |
414 | local ExplorerShadows = MakeShadow(ExplorerWindow,1,3,7,1) | |
415 | local LogShadows = MakeShadow(LogWindow,1,3,7,1) | |
416 | --== End ==-- | |
417 | ||
418 | --== UI Functions ==-- | |
419 | ||
420 | function LoadIcon(service, frame, numb) | |
421 | if Indexs[service] or numb then | |
422 | local row = 1 | |
423 | local col = 0 | |
424 | if numb then | |
425 | for i = 1,numb do | |
426 | if i > colSize*row then | |
427 | col = 1 | |
428 | row = row+1 | |
429 | else | |
430 | col = col+1 | |
431 | end | |
432 | end | |
433 | else | |
434 | for i = 1,Indexs[service] do | |
435 | if i > colSize*row then | |
436 | col = 1 | |
437 | row = row+1 | |
438 | else | |
439 | col = col+1 | |
440 | end | |
441 | end | |
442 | end | |
443 | frame.IconMap.Position = UDim2.new(0,(-3+(-18*col))+18,0,(-3+(-18*row))+18) | |
444 | end | |
445 | end | |
446 | ||
447 | spawn(function() | |
448 | local suc,er = pcall(function() | |
449 | while true do | |
450 | Texture1:TweenPosition(UDim2.new(-1,0,-1,0),"Out","Linear",30,true) | |
451 | wait(30) | |
452 | Texture1.Position = UDim2.new(0,0,0,0) | |
453 | end | |
454 | end) | |
455 | end) | |
456 | ||
457 | spawn(function() | |
458 | local suc,er = pcall(function() | |
459 | while true do | |
460 | Texture2:TweenPosition(UDim2.new(-1,0,-1,0),"Out","Linear",30,true) | |
461 | wait(30) | |
462 | Texture2.Position = UDim2.new(0,0,0,0) | |
463 | end | |
464 | end) | |
465 | end) | |
466 | ||
467 | spawn(function() | |
468 | local suc,er = pcall(function() | |
469 | while true do | |
470 | Texture3:TweenPosition(UDim2.new(-1,0,-1,0),"Out","Linear",30,true) | |
471 | wait(30) | |
472 | Texture3.Position = UDim2.new(0,0,0,0) | |
473 | end | |
474 | end) | |
475 | end) | |
476 | ||
477 | local ExitDB=false | |
478 | ||
479 | Open.MouseButton1Down:Connect(function() | |
480 | if not ExitDB then | |
481 | ExitDB = true | |
482 | Hub.Position = UDim2.new(0,-600,0.5,-200) | |
483 | ExplorerWindow.Position = UDim2.new(0.875,-75,-0.35,-200) | |
484 | LogWindow.Position = UDim2.new(0.16,-175,1,200) | |
485 | Hub.Visible = true | |
486 | ExplorerWindow.Visible = true | |
487 | LogWindow.Visible = true | |
488 | Open.Visible = false | |
489 | Hub:TweenPosition(UDim2.new(0.535,-300,0.5,-200),"Out","Elastic",0.5,true) | |
490 | wait(0.15) | |
491 | ExplorerWindow:TweenPosition(UDim2.new(0.875,-75,0.5,-200),"Out","Elastic",0.5,true) | |
492 | wait(0.15) | |
493 | LogWindow:TweenPosition(UDim2.new(0.16,-175,0.5,-200),"Out","Elastic",0.5,true) | |
494 | wait() | |
495 | game:GetService("TweenService"):Create(Open,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(63, 63, 63);}):Play() | |
496 | ExitDB = false | |
497 | end | |
498 | end) | |
499 | ||
500 | Bar.MouseEnter:Connect(function() | |
501 | game:GetService("TweenService"):Create(Bar,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(80, 80, 80);}):Play() | |
502 | end) | |
503 | ||
504 | Bar.MouseLeave:Connect(function() | |
505 | game:GetService("TweenService"):Create(Bar,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(63, 63, 63);}):Play() | |
506 | end) | |
507 | ||
508 | Bar2.MouseEnter:Connect(function() | |
509 | game:GetService("TweenService"):Create(Bar2,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(80, 80, 80);}):Play() | |
510 | end) | |
511 | ||
512 | Bar2.MouseLeave:Connect(function() | |
513 | game:GetService("TweenService"):Create(Bar2,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(63, 63, 63);}):Play() | |
514 | end) | |
515 | ||
516 | Bar3.MouseEnter:Connect(function() | |
517 | game:GetService("TweenService"):Create(Bar3,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(80, 80, 80);}):Play() | |
518 | end) | |
519 | ||
520 | Bar3.MouseLeave:Connect(function() | |
521 | game:GetService("TweenService"):Create(Bar3,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(63, 63, 63);}):Play() | |
522 | end) | |
523 | ||
524 | Open.MouseEnter:Connect(function() | |
525 | game:GetService("TweenService"):Create(Open,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(80, 80, 80);}):Play() | |
526 | end) | |
527 | ||
528 | Open.MouseLeave:Connect(function() | |
529 | game:GetService("TweenService"):Create(Open,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(63, 63, 63);}):Play() | |
530 | end) | |
531 | ||
532 | Exit.MouseEnter:Connect(function() | |
533 | game:GetService("TweenService"):Create(Exit,TweenInfo.new(0.25),{TextColor3=Color3.fromRGB(170, 46, 46);}):Play() | |
534 | wait() | |
535 | game:GetService("TweenService"):Create(Bar,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(63, 63, 63);}):Play() | |
536 | end) | |
537 | ||
538 | Exit.MouseLeave:Connect(function() | |
539 | game:GetService("TweenService"):Create(Exit,TweenInfo.new(0.25),{TextColor3=Color3.fromRGB(255, 255, 255);}):Play() | |
540 | game:GetService("TweenService"):Create(Bar,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(80, 80, 80);}):Play() | |
541 | end) | |
542 | ||
543 | Minimize.MouseEnter:Connect(function() | |
544 | game:GetService("TweenService"):Create(Minimize,TweenInfo.new(0.25),{TextColor3=Color3.fromRGB(150, 150, 150);}):Play() | |
545 | wait() | |
546 | game:GetService("TweenService"):Create(Bar,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(63, 63, 63);}):Play() | |
547 | end) | |
548 | ||
549 | Minimize.MouseLeave:Connect(function() | |
550 | game:GetService("TweenService"):Create(Minimize,TweenInfo.new(0.25),{TextColor3=Color3.fromRGB(255, 255, 255);}):Play() | |
551 | game:GetService("TweenService"):Create(Bar,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(80, 80, 80);}):Play() | |
552 | end) | |
553 | ||
554 | Minimize2.MouseEnter:Connect(function() | |
555 | game:GetService("TweenService"):Create(Minimize2,TweenInfo.new(0.25),{TextColor3=Color3.fromRGB(150, 150, 150);}):Play() | |
556 | wait() | |
557 | game:GetService("TweenService"):Create(Bar2,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(63, 63, 63);}):Play() | |
558 | end) | |
559 | ||
560 | Minimize2.MouseLeave:Connect(function() | |
561 | game:GetService("TweenService"):Create(Minimize2,TweenInfo.new(0.25),{TextColor3=Color3.fromRGB(255, 255, 255);}):Play() | |
562 | game:GetService("TweenService"):Create(Bar2,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(80, 80, 80);}):Play() | |
563 | end) | |
564 | ||
565 | Minimize3.MouseEnter:Connect(function() | |
566 | game:GetService("TweenService"):Create(Minimize3,TweenInfo.new(0.25),{TextColor3=Color3.fromRGB(150, 150, 150);}):Play() | |
567 | wait() | |
568 | game:GetService("TweenService"):Create(Bar3,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(63, 63, 63);}):Play() | |
569 | end) | |
570 | ||
571 | Minimize3.MouseLeave:Connect(function() | |
572 | game:GetService("TweenService"):Create(Minimize3,TweenInfo.new(0.25),{TextColor3=Color3.fromRGB(255, 255, 255);}):Play() | |
573 | game:GetService("TweenService"):Create(Bar3,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(80, 80, 80);}):Play() | |
574 | end) | |
575 | ||
576 | local minDB1 = false | |
577 | Minimize.MouseButton1Down:Connect(function() | |
578 | if not minDB1 then | |
579 | minDB1 = true | |
580 | if RealUI.Visible then | |
581 | RealUI.Visible = false | |
582 | for i,v in pairs(HubShadows) do | |
583 | v.Visible = false | |
584 | end | |
585 | else | |
586 | RealUI.Visible = true | |
587 | for i,v in pairs(HubShadows) do | |
588 | v.Visible = true | |
589 | end | |
590 | end | |
591 | minDB1 = false | |
592 | end | |
593 | end) | |
594 | ||
595 | local minDB2 = false | |
596 | Minimize2.MouseButton1Down:Connect(function() | |
597 | if not minDB2 then | |
598 | minDB2 = true | |
599 | if RealExUI.Visible then | |
600 | RealExUI.Visible = false | |
601 | for i,v in pairs(ExplorerShadows) do | |
602 | v.Visible = false | |
603 | end | |
604 | else | |
605 | RealExUI.Visible = true | |
606 | for i,v in pairs(ExplorerShadows) do | |
607 | v.Visible = true | |
608 | end | |
609 | end | |
610 | minDB2 = false | |
611 | end | |
612 | end) | |
613 | ||
614 | local minDB3 = false | |
615 | Minimize3.MouseButton1Down:Connect(function() | |
616 | if not minDB3 then | |
617 | minDB3 = true | |
618 | if RealLogUI.Visible then | |
619 | RealLogUI.Visible = false | |
620 | for i,v in pairs(LogShadows) do | |
621 | v.Visible = false | |
622 | end | |
623 | else | |
624 | RealLogUI.Visible = true | |
625 | for i,v in pairs(LogShadows) do | |
626 | v.Visible = true | |
627 | end | |
628 | end | |
629 | minDB3 = false | |
630 | end | |
631 | end) | |
632 | ||
633 | Exit.MouseButton1Down:Connect(function() | |
634 | if not ExitDB then | |
635 | ExitDB = true | |
636 | Open.Visible = true | |
637 | Hub:TweenPosition(UDim2.new(-0.2,-600,-1,0),"In","Quart",0.5,true) | |
638 | wait(0.15) | |
639 | ExplorerWindow:TweenPosition(UDim2.new(1,200,-1,0),"In","Quart",0.5,true) | |
640 | wait(0.15) | |
641 | LogWindow:TweenPosition(UDim2.new(-0.5,-300,1,0),"In","Quart",0.5,true) | |
642 | wait(0.5) | |
643 | game:GetService("TweenService"):Create(Bar,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(63, 63, 63);}):Play() | |
644 | game:GetService("TweenService"):Create(Minimize,TweenInfo.new(0.25),{TextColor3=Color3.fromRGB(255, 255, 255);}):Play() | |
645 | game:GetService("TweenService"):Create(Exit,TweenInfo.new(0.25),{TextColor3=Color3.fromRGB(255, 255, 255);}):Play() | |
646 | Hub.Visible = false | |
647 | ExplorerWindow.Visible = false | |
648 | LogWindow.Visible = false | |
649 | Open.Visible = true | |
650 | ExitDB = false | |
651 | end | |
652 | end) | |
653 | ||
654 | local classMethods = { | |
655 | BindableEvent = "Fire"; | |
656 | BindableFunction = "Invoke"; | |
657 | RemoteEvent = "FireServer"; | |
658 | RemoteFunction = "InvokeServer"; | |
659 | } | |
660 | ||
661 | local realMethods = {} | |
662 | local pseudoEnv = {} | |
663 | ||
664 | local Spying = {} | |
665 | local SpyedNumb = 1 | |
666 | ||
667 | for i,v in pairs(classMethods) do | |
668 | realMethods[v] = Instance.new(i)[classMethods[i]] | |
669 | end | |
670 | local BiggestX = 0 | |
671 | function AddUI(args) | |
672 | local NewUI = LogTemplate:Clone() | |
673 | local mapp = IconFrame:Clone() | |
674 | LoadIcon(args[1].ClassName, mapp) | |
675 | mapp.Position = UDim2.new(0,0,0.5,-8) | |
676 | NewUI.LogName.Text = "Name: \""..args[1].Name .. "\" | "..args[2] | |
677 | NewUI.Position = UDim2.new(0,0,0,SpyedNumb*20) | |
678 | NewUI.Parent = Scroller3 | |
679 | mapp.Parent = NewUI | |
680 | SpyedNumb = SpyedNumb + 1 | |
681 | if BiggestX < NewUI.LogName.TextBounds.X then | |
682 | BiggestX = NewUI.LogName.TextBounds.X | |
683 | end | |
684 | Scroller3.CanvasSize = UDim2.new(0,BiggestX+20,0,20*#Scroller3:GetChildren()+20) | |
685 | end | |
686 | ||
687 | function GetNameCall(obj) | |
688 | if obj.ClassName == "RemoteEvent" then | |
689 | return "FireServer" | |
690 | elseif obj.ClassName == "RemoteFunction" then | |
691 | return "InvokeServer" | |
692 | elseif obj.ClassName == "BindableEvent" then | |
693 | return "Fire" | |
694 | elseif obj.ClassName == "BindabledFunction" then | |
695 | return "Invoke" | |
696 | end | |
697 | end | |
698 | ||
699 | function LoadRemoteSpy() | |
700 | if tostring(_G.Exploit) == "Synapse" then | |
701 | local function hook(methodname, self, ...) | |
702 | local args = {...} | |
703 | local ret = {realMethods[methodname](self,...)} | |
704 | if not realMethods[methodname] then return unpack(ret) end | |
705 | if not Spying[self] then return unpack(ret) end | |
706 | SpyArgs[SpyedNumb] = {self,ReturnArgs(GetNameCall(self),self,...)} | |
707 | AddUI(SpyArgs[SpyedNumb]) | |
708 | return unpack(ret) | |
709 | end | |
710 | Synapse:SetNamecallHook("FireServer", function(self, ...) | |
711 | if self:IsA("RemoteEvent") then | |
712 | hook(GetNameCall(self), self, ...) | |
713 | end | |
714 | end) | |
715 | Synapse:SetNamecallHook("InvokeServer", function(self, ...) | |
716 | if self:IsA("RemoteFunction") then | |
717 | hook(GetNameCall(self), self, ...) | |
718 | end | |
719 | end) | |
720 | Synapse:SetNamecallHook("Fire", function(self, ...) | |
721 | if self:IsA("BindableEvent") then | |
722 | hook(GetNameCall(self), self, ...) | |
723 | end | |
724 | end) | |
725 | Synapse:SetNamecallHook("Invoke", function(self, ...) | |
726 | if self:IsA("BindableFunction") then | |
727 | hook(GetNameCall(self), self, ...) | |
728 | end | |
729 | end) | |
730 | elseif tostring(_G.Exploit) == "SetWrite" then | |
731 | setreadonly(getrawmetatable(game), false) | |
732 | local pseudoEnv = {} | |
733 | local gameMeta = getrawmetatable(game) | |
734 | for key, value in next, gameMeta do pseudoEnv[key] = value end | |
735 | gameMeta.__index, gameMeta.__namecall = function(self, key) | |
736 | if not realMethods[key] then return pseudoEnv.__index(self, key) end | |
737 | if not Spying[self] then return pseudoEnv.__index(self, key) end | |
738 | return function(_, ...) | |
739 | local returnValues = {realMethods[key](self, ...)} | |
740 | SpyArgs[SpyedNumb] = {self,ReturnArgs(GetNameCall(self),self,...)} | |
741 | AddUI(SpyArgs[SpyedNumb]) | |
742 | return unpack(returnValues) | |
743 | end | |
744 | end | |
745 | elseif tostring(_G.Exploit) == "Writeable" then | |
746 | make_writeable(getrawmetatable(game)) | |
747 | local pseudoEnv = {} | |
748 | local gameMeta = getrawmetatable(game) | |
749 | for key, value in next, gameMeta do pseudoEnv[key] = value end | |
750 | gameMeta.__index, gameMeta.__namecall = function(self, key) | |
751 | if not realMethods[key] then return pseudoEnv.__index(self, key) end | |
752 | if not Spying[self] then return pseudoEnv.__index(self, key) end | |
753 | return function(_, ...) | |
754 | local returnValues = {realMethods[key](self, ...)} | |
755 | SpyArgs[SpyedNumb] = {self,ReturnArgs(GetNameCall(self),self,...)} | |
756 | AddUI(SpyArgs[SpyedNumb]) | |
757 | return unpack(returnValues) | |
758 | end | |
759 | end | |
760 | elseif tostring(_G.Exploit) == "BackUp" then | |
761 | local pseudoEnv = {} | |
762 | local gameMeta = getrawmetatable(game) | |
763 | for key, value in next, gameMeta do pseudoEnv[key] = value end | |
764 | gameMeta.__index, gameMeta.__namecall = function(self, key) | |
765 | if not realMethods[key] then return pseudoEnv.__index(self, key) end | |
766 | if not Spying[self] then return pseudoEnv.__index(self, key) end | |
767 | return function(_, ...) | |
768 | local returnValues = {realMethods[key](self, ...)} | |
769 | SpyArgs[SpyedNumb] = {self,ReturnArgs(GetNameCall(self),self,...)} | |
770 | AddUI(SpyArgs[SpyedNumb]) | |
771 | return unpack(returnValues) | |
772 | end | |
773 | end | |
774 | else | |
775 | print("Mr.Spy does not support your script executer due to it might not have a way to run \"getrawmetatable\"") | |
776 | end | |
777 | end | |
778 | LoadRemoteSpy() | |
779 | ||
780 | local RemoteIgnores = { | |
781 | ["CharacterSoundEvent"] = true; | |
782 | ["MovementUpdate"] = true; | |
783 | ["FollowRelationshipChange"] = true; | |
784 | ["OnMessageDoneFiltering"] = true; | |
785 | ["SendNotification"] = true; | |
786 | ["SetDialogInUse"] = true; | |
787 | ["OnUnmuted"] = true; | |
788 | ["MutePlayerRequested"] = true; | |
789 | ["OnChannelJoined"] = true; | |
790 | ["OnNewMessage"] = true; | |
791 | ["SendNotificationInfo"] = true; | |
792 | ["GetFollowRelationships"] = true; | |
793 | ["GuiInsetChanged"] = true; | |
794 | ["NewFollower"] = true; | |
795 | ["OnNewSystemMessage"] = true; | |
796 | ["GetServerVersion"] = true; | |
797 | ["GetInitDataRequest"] = true; | |
798 | ["OnMainChannelSet"] = true; | |
799 | ["DefaultServerSoundEvent"] = true; | |
800 | ["ChannelNameColorUpdated"] = true; | |
801 | ["UnMutePlayerRequest"] = true; | |
802 | ["OnChannelLeft"] = true; | |
803 | ["SayMessageRequest"] = true; | |
804 | ["SetBlockedUserIdsRequest"] = true; | |
805 | ["FollowRelationshipChanged"] = true; | |
806 | ["GamepadNotifications"] = true; | |
807 | ["OnMuted"] = true; | |
808 | ["MutePlayerRequest"] = true; | |
809 | } | |
810 | ||
811 | function StartSpy() | |
812 | local Remotes = {} | |
813 | local function MakeItem(v,pos) | |
814 | local temp = RemoteTemplate:Clone() | |
815 | local map = IconFrame:Clone() | |
816 | v[2] = temp | |
817 | LoadIcon(v[1].ClassName,map) | |
818 | map.Position = UDim2.new(0,10,0.5,-8) | |
819 | map.Parent = temp | |
820 | temp.Name = pos/40 | |
821 | temp.RemoteName.Text = v[1].Name | |
822 | temp.Parent = Scroller | |
823 | temp.Position = UDim2.new(0,0,0,pos) | |
824 | temp.SpyRemote.TextColor3 = Color3.fromRGB(170, 46, 46) | |
825 | temp.SpyRemote.Position = UDim2.new(0,20+temp.RemoteName.TextBounds.X+15,0.225,0) | |
826 | temp.PathButton.Position = UDim2.new(temp.PathButton.Size.X.Scale,20+temp.RemoteName.TextBounds.X+15,0.225,0) | |
827 | temp.OpenButton.Position = UDim2.new(temp.OpenButton.Size.X.Scale+temp.PathButton.Size.X.Scale,temp.RemoteName.TextBounds.X,0.225,0) | |
828 | if Spying[v[1]] then | |
829 | temp.SpyRemote.TextColor3 = Color3.fromRGB(0, 170, 127) | |
830 | else | |
831 | temp.SpyRemote.TextColor3 = Color3.fromRGB(170, 46, 46) | |
832 | end | |
833 | temp.SpyRemote.MouseEnter:Connect(function() | |
834 | game:GetService("TweenService"):Create(temp.SpyRemote,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(80, 80, 80);}):Play() | |
835 | end) | |
836 | temp.SpyRemote.MouseLeave:Connect(function() | |
837 | game:GetService("TweenService"):Create(temp.SpyRemote,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(63, 63, 63);}):Play() | |
838 | end) | |
839 | temp.SpyRemote.MouseButton1Down:Connect(function() | |
840 | if not Spying[v[1]] then | |
841 | Spying[v[1]] = v[1] | |
842 | game:GetService("TweenService"):Create(temp.SpyRemote,TweenInfo.new(0.25),{TextColor3=Color3.fromRGB(0, 170, 127);}):Play() | |
843 | else | |
844 | Spying[v[1]] = nil | |
845 | game:GetService("TweenService"):Create(temp.SpyRemote,TweenInfo.new(0.25),{TextColor3=Color3.fromRGB(170, 46, 46);}):Play() | |
846 | end | |
847 | end) | |
848 | temp.PathButton.MouseEnter:Connect(function() | |
849 | game:GetService("TweenService"):Create(temp.PathButton,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(80, 80, 80);}):Play() | |
850 | end) | |
851 | temp.PathButton.MouseLeave:Connect(function() | |
852 | game:GetService("TweenService"):Create(temp.PathButton,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(63, 63, 63);}):Play() | |
853 | end) | |
854 | temp.OpenButton.MouseEnter:Connect(function() | |
855 | game:GetService("TweenService"):Create(temp.OpenButton,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(80, 80, 80);}):Play() | |
856 | end) | |
857 | temp.OpenButton.MouseLeave:Connect(function() | |
858 | game:GetService("TweenService"):Create(temp.OpenButton,TweenInfo.new(0.25),{BackgroundColor3=Color3.fromRGB(63, 63, 63);}):Play() | |
859 | end) | |
860 | temp.OpenButton.MouseButton1Down:Connect(function() | |
861 | local suc,er = pcall(function() setclipboard("game."..v[1]:GetFullName()) end) | |
862 | local suc,er = pcall(function() toclipboard("game."..v[1]:GetFullName()) end) | |
863 | local suc,er = pcall(function() Synapse:CopyString("game."..v[1]:GetFullName()) end) | |
864 | game:GetService("TweenService"):Create(temp.OpenButton,TweenInfo.new(0.1),{TextColor3=Color3.fromRGB(200, 200, 200);}):Play() | |
865 | wait(0.1) | |
866 | game:GetService("TweenService"):Create(temp.OpenButton,TweenInfo.new(0.1),{TextColor3=Color3.fromRGB(255, 255, 255);}):Play() | |
867 | end) | |
868 | local recurNumb = 1 | |
869 | local path = {} | |
870 | local Numb = 0 | |
871 | temp.PathButton.MouseButton1Down:Connect(function() | |
872 | recurNumb = 1 | |
873 | Numb = 0 | |
874 | local function Recur(obj) | |
875 | if obj == game then | |
876 | return | |
877 | else | |
878 | path[recurNumb] = obj | |
879 | end | |
880 | recurNumb = recurNumb + 1 | |
881 | Recur(obj.Parent) | |
882 | end | |
883 | Recur(v[1]) | |
884 | Scroller2:ClearAllChildren() | |
885 | local OGParent | |
886 | local maxTextX = 0 | |
887 | for ii = #path,1,-1 do | |
888 | local obj = path[ii] | |
889 | local UI = PathTemplate:Clone() | |
890 | local Icon = IconFrame:Clone() | |
891 | local mode = IconModeFrame:Clone() | |
892 | if ii > 1 then | |
893 | mode.Parent = UI | |
894 | mode.Position = UDim2.new(0,-20,0.5,-8) | |
895 | LoadIcon(nil,mode,167) | |
896 | end | |
897 | LoadIcon(obj.ClassName,Icon) | |
898 | Icon.Position = UDim2.new(0,0,0.5,-8) | |
899 | Icon.Parent = UI | |
900 | UI.Name = "OBJ" | |
901 | UI.PathName.Text = obj.Name | |
902 | UI.Position = UDim2.new(0,20,0,21) | |
903 | UI.Size = UDim2.new(0,100,0,20) | |
904 | Numb = Numb+1 | |
905 | local opened = true | |
906 | mode.MouseEnter:Connect(function() | |
907 | if not opened then | |
908 | LoadIcon(nil,mode,180) | |
909 | else | |
910 | LoadIcon(nil,mode,181) | |
911 | end | |
912 | end) | |
913 | mode.MouseLeave:Connect(function() | |
914 | if not opened then | |
915 | LoadIcon(nil,mode,166) | |
916 | else | |
917 | LoadIcon(nil,mode,167) | |
918 | end | |
919 | end) | |
920 | mode.Button.MouseButton1Down:Connect(function() | |
921 | if not opened then | |
922 | opened = true | |
923 | LoadIcon(nil,mode,181) | |
924 | UI.OBJ.Visible = true | |
925 | else | |
926 | opened = false | |
927 | LoadIcon(nil,mode,180) | |
928 | UI.OBJ.Visible = false | |
929 | end | |
930 | end) | |
931 | UI.HoverFrame.MouseEnter:Connect(function() | |
932 | game:GetService("TweenService"):Create(UI.HoverFrame,TweenInfo.new(0.25),{["BackgroundTransparency"] = 0.9;}):Play() | |
933 | end) | |
934 | UI.HoverFrame.MouseLeave:Connect(function() | |
935 | game:GetService("TweenService"):Create(UI.HoverFrame,TweenInfo.new(0.25),{["BackgroundTransparency"] = 1;}):Play() | |
936 | end) | |
937 | if not OGParent then | |
938 | UI.Position = UDim2.new(0,22,0,4) | |
939 | UI.Parent = Scroller2 | |
940 | OGParent = UI | |
941 | else | |
942 | UI.Parent = OGParent | |
943 | OGParent = UI | |
944 | end | |
945 | if maxTextX < UI.PathName.TextBounds.X then | |
946 | maxTextX = UI.PathName.TextBounds.X | |
947 | end | |
948 | end | |
949 | Scroller2.CanvasSize = UDim2.new(0,(maxTextX+(#path*20))+10,0,(Numb*21)+4) | |
950 | game:GetService("TweenService"):Create(temp.PathButton,TweenInfo.new(0.1),{TextColor3=Color3.fromRGB(200, 200, 200);}):Play() | |
951 | wait(0.1) | |
952 | game:GetService("TweenService"):Create(temp.PathButton,TweenInfo.new(0.1),{TextColor3=Color3.fromRGB(255, 255, 255);}):Play() | |
953 | end) | |
954 | end | |
955 | local function LoadUI() | |
956 | Scroller:ClearAllChildren() | |
957 | local pos = 0 | |
958 | for i,v in pairs(Remotes) do | |
959 | if v then | |
960 | MakeItem(v, pos) | |
961 | pos = pos+40 | |
962 | end | |
963 | end | |
964 | Scroller.CanvasSize = UDim2.new(0,0,0,pos) | |
965 | end | |
966 | local function GetRemotes() | |
967 | local function Recursion(obj) | |
968 | for i,v in pairs(obj:GetChildren()) do | |
969 | local succ,err = pcall(function() | |
970 | if not RemoteIgnores[v.Name] then | |
971 | if v:IsA("RemoteEvent") or v:IsA("RemoteFunction") or v:IsA("BindableEvent") or v:IsA("BindableFunction") then | |
972 | Remotes[v] = {v} | |
973 | end | |
974 | end | |
975 | end) | |
976 | local suc,er = pcall(function() | |
977 | v:GetChildren() | |
978 | end) | |
979 | if suc and #v:GetChildren() > 0 then | |
980 | Recursion(v) | |
981 | end | |
982 | end | |
983 | end | |
984 | Recursion(game) | |
985 | end | |
986 | GetRemotes() | |
987 | LoadUI() | |
988 | for i,v in pairs(game:GetChildren()) do | |
989 | local suc, er = pcall(function() | |
990 | v:GetChildren() | |
991 | end) | |
992 | if suc then | |
993 | v.DescendantAdded:Connect(function(obj) | |
994 | wait(1) | |
995 | if not RemoteIgnores[obj.Name] then | |
996 | if obj:IsA("RemoteEvent") or obj:IsA("RemoteFunction") or obj:IsA("BindableEvent") or obj:IsA("BindableFunction") then | |
997 | Remotes[obj] = {obj} | |
998 | MakeItem(Remotes[obj],((#Scroller:GetChildren())*40)) | |
999 | Scroller.CanvasSize = UDim2.new(0,0,0,Scroller.CanvasSize.Y.Offset+40) | |
1000 | end | |
1001 | end | |
1002 | end) | |
1003 | v.DescendantRemoving:Connect(function(obj) | |
1004 | if not RemoteIgnores[obj.Name] then | |
1005 | if obj:IsA("RemoteEvent") or obj:IsA("RemoteFunction") or obj:IsA("BindableEvent") or obj:IsA("BindableFunction") then | |
1006 | if Remotes[obj] then | |
1007 | for ii = tonumber(Remotes[obj][2].Name),#Scroller:GetChildren() do | |
1008 | if ii ~= tonumber(Remotes[obj][2].Name) then | |
1009 | local it = Scroller:FindFirstChild(ii) | |
1010 | if it then | |
1011 | it.Position = UDim2.new(0,0,0,it.Position.Y.Offset-40) | |
1012 | it.Name = tonumber(it.Name) - 1 | |
1013 | end | |
1014 | end | |
1015 | end | |
1016 | Scroller.CanvasSize = UDim2.new(0,0,0,Scroller.CanvasSize.Y.Offset-40) | |
1017 | Remotes[obj][2]:Destroy() | |
1018 | Remotes[obj] = nil | |
1019 | end | |
1020 | end | |
1021 | end | |
1022 | end) | |
1023 | end | |
1024 | end | |
1025 | end | |
1026 | StartSpy() | |
1027 | ||
1028 | --== End ==-- |