SHOW:
|
|
- or go back to the newest paste.
1 | -- Objects | |
2 | ||
3 | local EnvEdit = Instance.new("ScreenGui") | |
4 | local BG = Instance.new("Frame") | |
5 | local Top = Instance.new("ImageLabel") | |
6 | local Title = Instance.new("TextLabel") | |
7 | local Fold = Instance.new("TextButton") | |
8 | local Fullscreen = Instance.new("TextButton") | |
9 | local Scripts = Instance.new("ScrollingFrame") | |
10 | local Methods = Instance.new("ScrollingFrame") | |
11 | local MethodName = Instance.new("TextBox") | |
12 | local AddMethod = Instance.new("TextButton") | |
13 | local Buttons = Instance.new("ScrollingFrame") | |
14 | local EnableLog = Instance.new("TextButton") | |
15 | local ClearScripts = Instance.new("TextButton") | |
16 | local Decompile = Instance.new("TextButton") | |
17 | local FCalls = Instance.new("TextButton") | |
18 | local EditFrame = Instance.new("Frame") | |
19 | local Locals = Instance.new("ScrollingFrame") | |
20 | local Upvalues = Instance.new("ScrollingFrame") | |
21 | local Setupval = Instance.new("TextButton") | |
22 | local LocalsLabel = Instance.new("TextLabel") | |
23 | local UpvaluesLabel = Instance.new("TextLabel") | |
24 | local SetUpvalueTable = Instance.new("TextButton") | |
25 | local Setlocal = Instance.new("TextButton") | |
26 | local SetLocalTable = Instance.new("TextButton") | |
27 | local SourceView = Instance.new("ScrollingFrame") | |
28 | local ShowEditor = Instance.new("TextButton") | |
29 | local ShowSource = Instance.new("TextButton") | |
30 | local FCallEdit = Instance.new("Frame") | |
31 | local FCallsFrame = Instance.new("ScrollingFrame") | |
32 | local Constants = Instance.new("ScrollingFrame") | |
33 | local ConstantsLabel = Instance.new("TextLabel") | |
34 | local FunctionLabel = Instance.new("TextLabel") | |
35 | local SetConstants = Instance.new("TextButton") | |
36 | local InstancePath = Instance.new("TextLabel") | |
37 | local ScriptEnable = Instance.new("ScrollingFrame") | |
38 | local ScriptLogLabel = Instance.new("TextLabel") | |
39 | local GameScriptsLabel = Instance.new("TextLabel") | |
40 | local MethodsLabel = Instance.new("TextLabel") | |
41 | local CallerName = Instance.new("TextLabel") | |
42 | local Ico = Instance.new("ImageLabel") | |
43 | local CallerMethodName = Instance.new("TextLabel") | |
44 | local Ico_2 = Instance.new("ImageLabel") | |
45 | local SearchScript = Instance.new("TextBox") | |
46 | local Toolbox = Instance.new("Frame") | |
47 | local Button = Instance.new("TextButton") | |
48 | local Edit = Instance.new("TextBox") | |
49 | local UnAssignable = Instance.new("TextLabel") | |
50 | local SBTN = Instance.new("TextButton") | |
51 | local Ico_3 = Instance.new("ImageLabel") | |
52 | local SourceLine = Instance.new("Frame") | |
53 | local Source = Instance.new("TextLabel") | |
54 | local Globals = Instance.new("TextLabel") | |
55 | local Strings = Instance.new("TextLabel") | |
56 | local Keywords = Instance.new("TextLabel") | |
57 | local Tokens = Instance.new("TextLabel") | |
58 | local Comments = Instance.new("TextLabel") | |
59 | local Lines = Instance.new("TextLabel") | |
60 | local Field = Instance.new("Frame") | |
61 | local FieldName = Instance.new("TextLabel") | |
62 | local GetInstPath = Instance.new("TextButton") | |
63 | local ScriptButton = Instance.new("TextButton") | |
64 | local Ico_4 = Instance.new("ImageLabel") | |
65 | local Status = Instance.new("ImageLabel") | |
66 | local FCallField = Instance.new("Frame") | |
67 | local Function = Instance.new("Frame") | |
68 | local Ico_5 = Instance.new("ImageLabel") | |
69 | local FuncName = Instance.new("TextLabel") | |
70 | local EditVars = Instance.new("TextButton") | |
71 | local CallFunc = Instance.new("TextButton") | |
72 | local RemoveFunc = Instance.new("TextButton") | |
73 | local DecompFunc = Instance.new("TextButton") | |
74 | local LoadFunc = Instance.new("TextButton") | |
75 | local ArgLoadstring = Instance.new("Frame") | |
76 | local Top_2 = Instance.new("ImageLabel") | |
77 | local Title_2 = Instance.new("TextLabel") | |
78 | local Close = Instance.new("TextButton") | |
79 | local ScriptInput = Instance.new("ScrollingFrame") | |
80 | local ScriptBox = Instance.new("TextBox") | |
81 | local SetParameters = Instance.new("TextButton") | |
82 | ||
83 | -- Properties | |
84 | ||
85 | EnvEdit.Name = "EnvEdit" | |
86 | EnvEdit.Parent = game.Players.LocalPlayer.PlayerGui | |
87 | EnvEdit.ResetOnSpawn = false | |
88 | ||
89 | BG.Name = "BG" | |
90 | BG.Parent = EnvEdit | |
91 | BG.Active = true | |
92 | BG.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
93 | BG.BorderColor3 = Color3.new(0, 0, 0) | |
94 | BG.Draggable = true | |
95 | BG.Position = UDim2.new(0.5, -625, 0, 29) | |
96 | BG.Size = UDim2.new(0.5, 250, 0.800000012, 0) | |
97 | ||
98 | Top.Name = "Top" | |
99 | Top.Parent = BG | |
100 | Top.BackgroundColor3 = Color3.new(0.0980392, 0.0980392, 0.0980392) | |
101 | Top.BorderColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
102 | Top.Size = UDim2.new(1, 0, 0, 20) | |
103 | Top.ZIndex = 2 | |
104 | ||
105 | Title.Name = "Title" | |
106 | Title.Parent = Top | |
107 | Title.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
108 | Title.BorderSizePixel = 0 | |
109 | Title.Position = UDim2.new(0.5, -80, 0, 0) | |
110 | Title.Size = UDim2.new(0, 160, 1, 0) | |
111 | Title.ZIndex = 3 | |
112 | Title.Font = Enum.Font.SourceSansBold | |
113 | Title.FontSize = Enum.FontSize.Size14 | |
114 | Title.Text = "EnvEdit R1" | |
115 | Title.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
116 | Title.TextSize = 14 | |
117 | ||
118 | Fold.Name = "Fold" | |
119 | Fold.Parent = Top | |
120 | Fold.BackgroundColor3 = Color3.new(0.235294, 0.117647, 0.117647) | |
121 | Fold.BorderSizePixel = 0 | |
122 | Fold.Position = UDim2.new(1, -50, 0, 0) | |
123 | Fold.Size = UDim2.new(0, 50, 1, 0) | |
124 | Fold.ZIndex = 3 | |
125 | Fold.Font = Enum.Font.SourceSansBold | |
126 | Fold.FontSize = Enum.FontSize.Size14 | |
127 | Fold.Text = "_" | |
128 | Fold.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
129 | Fold.TextSize = 14 | |
130 | ||
131 | Fullscreen.Name = "Fullscreen" | |
132 | Fullscreen.Parent = Top | |
133 | Fullscreen.BackgroundColor3 = Color3.new(0.235294, 0.117647, 0.117647) | |
134 | Fullscreen.BorderSizePixel = 0 | |
135 | Fullscreen.Position = UDim2.new(1, -110, 0, 0) | |
136 | Fullscreen.Size = UDim2.new(0, 50, 1, 0) | |
137 | Fullscreen.ZIndex = 3 | |
138 | Fullscreen.Font = Enum.Font.SourceSansBold | |
139 | Fullscreen.FontSize = Enum.FontSize.Size14 | |
140 | Fullscreen.Text = "[]" | |
141 | Fullscreen.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
142 | Fullscreen.TextSize = 14 | |
143 | ||
144 | Scripts.Name = "Scripts" | |
145 | Scripts.Parent = BG | |
146 | Scripts.BackgroundColor3 = Color3.new(0.0980392, 0.0980392, 0.0980392) | |
147 | Scripts.BorderColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
148 | Scripts.Position = UDim2.new(0, 10, 0, 80) | |
149 | Scripts.Selectable = false | |
150 | Scripts.Size = UDim2.new(0, 180, 0, 130) | |
151 | Scripts.ZIndex = 2 | |
152 | Scripts.BottomImage = "rbxassetid://491055673" | |
153 | Scripts.MidImage = "rbxassetid://491055673" | |
154 | Scripts.ScrollBarThickness = 0 | |
155 | Scripts.TopImage = "rbxassetid://491055673" | |
156 | ||
157 | Methods.Name = "Methods" | |
158 | Methods.Parent = BG | |
159 | Methods.BackgroundColor3 = Color3.new(0.0980392, 0.0980392, 0.0980392) | |
160 | Methods.BorderColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
161 | Methods.Position = UDim2.new(0, 10, 1, -150) | |
162 | Methods.Size = UDim2.new(0, 180, 0, 140) | |
163 | Methods.ZIndex = 2 | |
164 | Methods.BottomImage = "rbxassetid://491055673" | |
165 | Methods.MidImage = "rbxassetid://491055673" | |
166 | Methods.ScrollBarThickness = 0 | |
167 | Methods.TopImage = "rbxassetid://491055673" | |
168 | ||
169 | MethodName.Name = "MethodName" | |
170 | MethodName.Parent = BG | |
171 | MethodName.BackgroundColor3 = Color3.new(0.0980392, 0.0980392, 0.0980392) | |
172 | MethodName.BorderColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
173 | MethodName.Position = UDim2.new(0, 200, 1, -60) | |
174 | MethodName.Size = UDim2.new(0, 200, 0, 20) | |
175 | MethodName.ZIndex = 3 | |
176 | MethodName.Font = Enum.Font.SourceSansBold | |
177 | MethodName.FontSize = Enum.FontSize.Size14 | |
178 | MethodName.ShowNativeInput = false | |
179 | MethodName.Text = "" | |
180 | MethodName.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
181 | MethodName.TextSize = 14 | |
182 | ||
183 | AddMethod.Name = "AddMethod" | |
184 | AddMethod.Parent = BG | |
185 | AddMethod.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
186 | AddMethod.BorderColor3 = Color3.new(0.117647, 0.235294, 0.117647) | |
187 | AddMethod.Position = UDim2.new(0, 200, 1, -30) | |
188 | AddMethod.Size = UDim2.new(0, 200, 0, 20) | |
189 | AddMethod.Font = Enum.Font.SourceSansBold | |
190 | AddMethod.FontSize = Enum.FontSize.Size14 | |
191 | AddMethod.Text = "ADD METHOD" | |
192 | AddMethod.TextColor3 = Color3.new(0.392157, 0.784314, 0.392157) | |
193 | AddMethod.TextSize = 14 | |
194 | ||
195 | Buttons.Name = "Buttons" | |
196 | Buttons.Parent = BG | |
197 | Buttons.BackgroundColor3 = Color3.new(0.0980392, 0.0980392, 0.0980392) | |
198 | Buttons.BorderColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
199 | Buttons.Position = UDim2.new(0, 10, 0, 30) | |
200 | Buttons.Size = UDim2.new(1, -20, 0, 30) | |
201 | Buttons.ZIndex = 2 | |
202 | Buttons.BottomImage = "rbxassetid://491055673" | |
203 | Buttons.CanvasSize = UDim2.new(0, 0, 0, 0) | |
204 | Buttons.MidImage = "rbxassetid://491055673" | |
205 | Buttons.ScrollBarThickness = 5 | |
206 | Buttons.TopImage = "rbxassetid://491055673" | |
207 | ||
208 | EnableLog.Name = "EnableLog" | |
209 | EnableLog.Parent = Buttons | |
210 | EnableLog.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
211 | EnableLog.BorderColor3 = Color3.new(0.137255, 0.137255, 0.137255) | |
212 | EnableLog.Position = UDim2.new(0, 10, 0.5, -10) | |
213 | EnableLog.Size = UDim2.new(0, 100, 0, 20) | |
214 | EnableLog.ZIndex = 3 | |
215 | EnableLog.Font = Enum.Font.SourceSansBold | |
216 | EnableLog.FontSize = Enum.FontSize.Size14 | |
217 | EnableLog.Text = "ENABLE LOG" | |
218 | EnableLog.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
219 | EnableLog.TextSize = 14 | |
220 | ||
221 | ClearScripts.Name = "ClearScripts" | |
222 | ClearScripts.Parent = Buttons | |
223 | ClearScripts.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
224 | ClearScripts.BorderColor3 = Color3.new(0.137255, 0.27451, 0.137255) | |
225 | ClearScripts.Position = UDim2.new(0, 120, 0.5, -10) | |
226 | ClearScripts.Size = UDim2.new(0, 100, 0, 20) | |
227 | ClearScripts.ZIndex = 3 | |
228 | ClearScripts.Font = Enum.Font.SourceSansBold | |
229 | ClearScripts.FontSize = Enum.FontSize.Size14 | |
230 | ClearScripts.Text = "CLEAR SCRIPTS" | |
231 | ClearScripts.TextColor3 = Color3.new(0.392157, 0.784314, 0.392157) | |
232 | ClearScripts.TextSize = 14 | |
233 | ||
234 | Decompile.Name = "Decompile" | |
235 | Decompile.Parent = Buttons | |
236 | Decompile.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
237 | Decompile.BorderColor3 = Color3.new(0.137255, 0.27451, 0.137255) | |
238 | Decompile.Position = UDim2.new(0, 230, 0.5, -10) | |
239 | Decompile.Size = UDim2.new(0, 100, 0, 20) | |
240 | Decompile.ZIndex = 3 | |
241 | Decompile.Font = Enum.Font.SourceSansBold | |
242 | Decompile.FontSize = Enum.FontSize.Size14 | |
243 | Decompile.Text = "DECOMPILE" | |
244 | Decompile.TextColor3 = Color3.new(0.392157, 0.784314, 0.392157) | |
245 | Decompile.TextSize = 14 | |
246 | ||
247 | FCalls.Name = "FCalls" | |
248 | FCalls.Parent = Buttons | |
249 | FCalls.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
250 | FCalls.BorderColor3 = Color3.new(0.137255, 0.137255, 0.137255) | |
251 | FCalls.Position = UDim2.new(0, 340, 0.5, -10) | |
252 | FCalls.Size = UDim2.new(0, 100, 0, 20) | |
253 | FCalls.ZIndex = 3 | |
254 | FCalls.Font = Enum.Font.SourceSansBold | |
255 | FCalls.FontSize = Enum.FontSize.Size14 | |
256 | FCalls.Text = "FUNC-CALLS" | |
257 | FCalls.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
258 | FCalls.TextSize = 14 | |
259 | ||
260 | EditFrame.Name = "EditFrame" | |
261 | EditFrame.Parent = BG | |
262 | EditFrame.BackgroundColor3 = Color3.new(0.0980392, 0.0980392, 0.0980392) | |
263 | EditFrame.BorderColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
264 | EditFrame.Position = UDim2.new(0, 200, 0, 70) | |
265 | EditFrame.Size = UDim2.new(1, -210, 1, -140) | |
266 | EditFrame.ZIndex = 2 | |
267 | ||
268 | Locals.Name = "Locals" | |
269 | Locals.Parent = EditFrame | |
270 | Locals.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
271 | Locals.BorderColor3 = Color3.new(0.137255, 0.137255, 0.137255) | |
272 | Locals.Position = UDim2.new(0, 10, 0, 20) | |
273 | Locals.Size = UDim2.new(0.5, -20, 1, -60) | |
274 | Locals.ZIndex = 3 | |
275 | Locals.BottomImage = "rbxassetid://491055673" | |
276 | Locals.CanvasSize = UDim2.new(0, 0, 10, 0) | |
277 | Locals.MidImage = "rbxassetid://491055673" | |
278 | Locals.ScrollBarThickness = 0 | |
279 | Locals.TopImage = "rbxassetid://491055673" | |
280 | ||
281 | Upvalues.Name = "Upvalues" | |
282 | Upvalues.Parent = EditFrame | |
283 | Upvalues.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
284 | Upvalues.BorderColor3 = Color3.new(0.137255, 0.137255, 0.137255) | |
285 | Upvalues.Position = UDim2.new(0.5, 10, 0, 20) | |
286 | Upvalues.Size = UDim2.new(0.5, -20, 1, -60) | |
287 | Upvalues.ZIndex = 3 | |
288 | Upvalues.BottomImage = "rbxassetid://491055673" | |
289 | Upvalues.CanvasSize = UDim2.new(0, 0, 10, 0) | |
290 | Upvalues.MidImage = "rbxassetid://491055673" | |
291 | Upvalues.ScrollBarThickness = 0 | |
292 | Upvalues.TopImage = "rbxassetid://491055673" | |
293 | ||
294 | Setupval.Name = "Setupval" | |
295 | Setupval.Parent = EditFrame | |
296 | Setupval.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
297 | Setupval.BorderColor3 = Color3.new(0.156863, 0.313726, 0.156863) | |
298 | Setupval.Position = UDim2.new(0.5, 10, 1, -30) | |
299 | Setupval.Size = UDim2.new(0, 130, 0, 20) | |
300 | Setupval.ZIndex = 3 | |
301 | Setupval.Font = Enum.Font.SourceSansBold | |
302 | Setupval.FontSize = Enum.FontSize.Size14 | |
303 | Setupval.Text = "SET UPVALUES" | |
304 | Setupval.TextColor3 = Color3.new(0.392157, 0.784314, 0.392157) | |
305 | Setupval.TextSize = 14 | |
306 | ||
307 | LocalsLabel.Name = "LocalsLabel" | |
308 | LocalsLabel.Parent = EditFrame | |
309 | LocalsLabel.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
310 | LocalsLabel.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
311 | LocalsLabel.Position = UDim2.new(0, 10, 0, 10) | |
312 | LocalsLabel.Size = UDim2.new(0.5, -20, 0, 10) | |
313 | LocalsLabel.ZIndex = 3 | |
314 | LocalsLabel.Font = Enum.Font.SourceSansBold | |
315 | LocalsLabel.FontSize = Enum.FontSize.Size11 | |
316 | LocalsLabel.Text = "Locals" | |
317 | LocalsLabel.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
318 | LocalsLabel.TextSize = 11 | |
319 | ||
320 | UpvaluesLabel.Name = "UpvaluesLabel" | |
321 | UpvaluesLabel.Parent = EditFrame | |
322 | UpvaluesLabel.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
323 | UpvaluesLabel.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
324 | UpvaluesLabel.Position = UDim2.new(0.5, 10, 0, 10) | |
325 | UpvaluesLabel.Size = UDim2.new(0.5, -20, 0, 10) | |
326 | UpvaluesLabel.ZIndex = 3 | |
327 | UpvaluesLabel.Font = Enum.Font.SourceSansBold | |
328 | UpvaluesLabel.FontSize = Enum.FontSize.Size11 | |
329 | UpvaluesLabel.Text = "Upvalues" | |
330 | UpvaluesLabel.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
331 | UpvaluesLabel.TextSize = 11 | |
332 | ||
333 | SetUpvalueTable.Name = "SetUpvalueTable" | |
334 | SetUpvalueTable.Parent = EditFrame | |
335 | SetUpvalueTable.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
336 | SetUpvalueTable.BorderColor3 = Color3.new(0.156863, 0.313726, 0.156863) | |
337 | SetUpvalueTable.Position = UDim2.new(0.5, 150, 1, -30) | |
338 | SetUpvalueTable.Size = UDim2.new(0.5, -160, 0, 20) | |
339 | SetUpvalueTable.ZIndex = 3 | |
340 | SetUpvalueTable.Font = Enum.Font.SourceSansBold | |
341 | SetUpvalueTable.FontSize = Enum.FontSize.Size14 | |
342 | SetUpvalueTable.Text = "SET UPVALUE TABLE" | |
343 | SetUpvalueTable.TextColor3 = Color3.new(0.392157, 0.784314, 0.392157) | |
344 | SetUpvalueTable.TextSize = 14 | |
345 | ||
346 | Setlocal.Name = "Setlocal" | |
347 | Setlocal.Parent = EditFrame | |
348 | Setlocal.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
349 | Setlocal.BorderColor3 = Color3.new(0.156863, 0.313726, 0.156863) | |
350 | Setlocal.Position = UDim2.new(0, 10, 1, -30) | |
351 | Setlocal.Size = UDim2.new(0, 130, 0, 20) | |
352 | Setlocal.ZIndex = 3 | |
353 | Setlocal.Font = Enum.Font.SourceSansBold | |
354 | Setlocal.FontSize = Enum.FontSize.Size14 | |
355 | Setlocal.Text = "SET LOCALS" | |
356 | Setlocal.TextColor3 = Color3.new(0.392157, 0.784314, 0.392157) | |
357 | Setlocal.TextSize = 14 | |
358 | ||
359 | SetLocalTable.Name = "SetLocalTable" | |
360 | SetLocalTable.Parent = EditFrame | |
361 | SetLocalTable.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
362 | SetLocalTable.BorderColor3 = Color3.new(0.156863, 0.313726, 0.156863) | |
363 | SetLocalTable.Position = UDim2.new(0, 150, 1, -30) | |
364 | SetLocalTable.Size = UDim2.new(0.5, -160, 0, 20) | |
365 | SetLocalTable.ZIndex = 3 | |
366 | SetLocalTable.Font = Enum.Font.SourceSansBold | |
367 | SetLocalTable.FontSize = Enum.FontSize.Size14 | |
368 | SetLocalTable.Text = "SET LOCAL TABLE" | |
369 | SetLocalTable.TextColor3 = Color3.new(0.392157, 0.784314, 0.392157) | |
370 | SetLocalTable.TextSize = 14 | |
371 | ||
372 | SourceView.Name = "SourceView" | |
373 | SourceView.Parent = BG | |
374 | SourceView.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
375 | SourceView.BorderColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
376 | SourceView.Position = UDim2.new(0, 200, 0, 70) | |
377 | SourceView.Size = UDim2.new(1, -210, 1, -140) | |
378 | SourceView.Visible = false | |
379 | SourceView.ZIndex = 2 | |
380 | SourceView.BottomImage = "rbxassetid://491055673" | |
381 | SourceView.CanvasSize = UDim2.new(0, 0, 20, 0) | |
382 | SourceView.MidImage = "rbxassetid://491055673" | |
383 | SourceView.ScrollBarThickness = 0 | |
384 | SourceView.TopImage = "rbxassetid://491055673" | |
385 | ||
386 | ShowEditor.Name = "ShowEditor" | |
387 | ShowEditor.Parent = BG | |
388 | ShowEditor.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
389 | ShowEditor.BorderColor3 = Color3.new(0.392157, 0.392157, 0.392157) | |
390 | ShowEditor.Position = UDim2.new(0, 520, 1, -30) | |
391 | ShowEditor.Size = UDim2.new(0, 100, 0, 20) | |
392 | ShowEditor.Font = Enum.Font.SourceSansBold | |
393 | ShowEditor.FontSize = Enum.FontSize.Size14 | |
394 | ShowEditor.Text = "SHOW EDITOR" | |
395 | ShowEditor.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
396 | ShowEditor.TextSize = 14 | |
397 | ||
398 | ShowSource.Name = "ShowSource" | |
399 | ShowSource.Parent = BG | |
400 | ShowSource.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
401 | ShowSource.BorderColor3 = Color3.new(0.392157, 0.392157, 0.392157) | |
402 | ShowSource.Position = UDim2.new(0, 410, 1, -30) | |
403 | ShowSource.Size = UDim2.new(0, 100, 0, 20) | |
404 | ShowSource.Font = Enum.Font.SourceSansBold | |
405 | ShowSource.FontSize = Enum.FontSize.Size14 | |
406 | ShowSource.Text = "SHOW SOURCE" | |
407 | ShowSource.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
408 | ShowSource.TextSize = 14 | |
409 | ||
410 | FCallEdit.Name = "FCallEdit" | |
411 | FCallEdit.Parent = BG | |
412 | FCallEdit.BackgroundColor3 = Color3.new(0.0980392, 0.0980392, 0.0980392) | |
413 | FCallEdit.BorderColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
414 | FCallEdit.Position = UDim2.new(0, 200, 0, 70) | |
415 | FCallEdit.Size = UDim2.new(1, -210, 1, -140) | |
416 | FCallEdit.Visible = false | |
417 | FCallEdit.ZIndex = 2 | |
418 | ||
419 | FCallsFrame.Name = "FCallsFrame" | |
420 | FCallsFrame.Parent = FCallEdit | |
421 | FCallsFrame.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
422 | FCallsFrame.BorderColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
423 | FCallsFrame.Position = UDim2.new(0, 10, 0, 20) | |
424 | FCallsFrame.Size = UDim2.new(0.5, 0, 1, -30) | |
425 | FCallsFrame.ZIndex = 2 | |
426 | FCallsFrame.BottomImage = "rbxassetid://491055673" | |
427 | FCallsFrame.CanvasSize = UDim2.new(0, 0, 20, 0) | |
428 | FCallsFrame.MidImage = "rbxassetid://491055673" | |
429 | FCallsFrame.ScrollBarThickness = 0 | |
430 | FCallsFrame.TopImage = "rbxassetid://491055673" | |
431 | ||
432 | Constants.Name = "Constants" | |
433 | Constants.Parent = FCallEdit | |
434 | Constants.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
435 | Constants.BorderColor3 = Color3.new(0.137255, 0.137255, 0.137255) | |
436 | Constants.Position = UDim2.new(0.5, 20, 0, 20) | |
437 | Constants.Size = UDim2.new(0.5, -30, 1, -60) | |
438 | Constants.ZIndex = 3 | |
439 | Constants.BottomImage = "rbxassetid://491055673" | |
440 | Constants.CanvasSize = UDim2.new(0, 0, 10, 0) | |
441 | Constants.MidImage = "rbxassetid://491055673" | |
442 | Constants.ScrollBarThickness = 0 | |
443 | Constants.TopImage = "rbxassetid://491055673" | |
444 | ||
445 | ConstantsLabel.Name = "ConstantsLabel" | |
446 | ConstantsLabel.Parent = FCallEdit | |
447 | ConstantsLabel.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
448 | ConstantsLabel.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
449 | ConstantsLabel.Position = UDim2.new(0.5, 20, 0, 10) | |
450 | ConstantsLabel.Size = UDim2.new(0.5, -30, 0, 10) | |
451 | ConstantsLabel.ZIndex = 3 | |
452 | ConstantsLabel.Font = Enum.Font.SourceSansBold | |
453 | ConstantsLabel.FontSize = Enum.FontSize.Size11 | |
454 | ConstantsLabel.Text = "Function Constants" | |
455 | ConstantsLabel.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
456 | ConstantsLabel.TextSize = 11 | |
457 | ||
458 | FunctionLabel.Name = "FunctionLabel" | |
459 | FunctionLabel.Parent = FCallEdit | |
460 | FunctionLabel.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
461 | FunctionLabel.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
462 | FunctionLabel.Position = UDim2.new(0, 10, 0, 10) | |
463 | FunctionLabel.Size = UDim2.new(0.5, 0, 0, 10) | |
464 | FunctionLabel.ZIndex = 3 | |
465 | FunctionLabel.Font = Enum.Font.SourceSansBold | |
466 | FunctionLabel.FontSize = Enum.FontSize.Size11 | |
467 | FunctionLabel.Text = "Functions" | |
468 | FunctionLabel.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
469 | FunctionLabel.TextSize = 11 | |
470 | ||
471 | SetConstants.Name = "SetConstants" | |
472 | SetConstants.Parent = FCallEdit | |
473 | SetConstants.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
474 | SetConstants.BorderColor3 = Color3.new(0.156863, 0.313726, 0.156863) | |
475 | SetConstants.Position = UDim2.new(0.5, 20, 1, -30) | |
476 | SetConstants.Size = UDim2.new(0.5, -30, 0, 20) | |
477 | SetConstants.ZIndex = 3 | |
478 | SetConstants.Font = Enum.Font.SourceSansBold | |
479 | SetConstants.FontSize = Enum.FontSize.Size14 | |
480 | SetConstants.Text = "SET CONSTANTS" | |
481 | SetConstants.TextColor3 = Color3.new(0.392157, 0.784314, 0.392157) | |
482 | SetConstants.TextSize = 14 | |
483 | ||
484 | InstancePath.Name = "InstancePath" | |
485 | InstancePath.Parent = BG | |
486 | InstancePath.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
487 | InstancePath.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
488 | InstancePath.Position = UDim2.new(0, 410, 1, -60) | |
489 | InstancePath.Size = UDim2.new(1, -420, 0, 20) | |
490 | InstancePath.ZIndex = 2 | |
491 | InstancePath.Font = Enum.Font.SourceSansBold | |
492 | InstancePath.FontSize = Enum.FontSize.Size11 | |
493 | InstancePath.Text = "" | |
494 | InstancePath.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
495 | InstancePath.TextSize = 11 | |
496 | ||
497 | ScriptEnable.Name = "ScriptEnable" | |
498 | ScriptEnable.Parent = BG | |
499 | ScriptEnable.BackgroundColor3 = Color3.new(0.0980392, 0.0980392, 0.0980392) | |
500 | ScriptEnable.BorderColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
501 | ScriptEnable.Position = UDim2.new(0, 10, 0, 260) | |
502 | ScriptEnable.Selectable = false | |
503 | ScriptEnable.Size = UDim2.new(0, 180, 1, -430) | |
504 | ScriptEnable.ZIndex = 2 | |
505 | ScriptEnable.BottomImage = "rbxassetid://491055673" | |
506 | ScriptEnable.MidImage = "rbxassetid://491055673" | |
507 | ScriptEnable.ScrollBarThickness = 0 | |
508 | ScriptEnable.TopImage = "rbxassetid://491055673" | |
509 | ||
510 | ScriptLogLabel.Name = "ScriptLogLabel" | |
511 | ScriptLogLabel.Parent = BG | |
512 | ScriptLogLabel.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
513 | ScriptLogLabel.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
514 | ScriptLogLabel.Position = UDim2.new(0, 10, 0, 70) | |
515 | ScriptLogLabel.Size = UDim2.new(0, 180, 0, 10) | |
516 | ScriptLogLabel.ZIndex = 3 | |
517 | ScriptLogLabel.Font = Enum.Font.SourceSansBold | |
518 | ScriptLogLabel.FontSize = Enum.FontSize.Size11 | |
519 | ScriptLogLabel.Text = "Script Log" | |
520 | ScriptLogLabel.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
521 | ScriptLogLabel.TextSize = 11 | |
522 | ||
523 | GameScriptsLabel.Name = "GameScriptsLabel" | |
524 | GameScriptsLabel.Parent = BG | |
525 | GameScriptsLabel.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
526 | GameScriptsLabel.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
527 | GameScriptsLabel.Position = UDim2.new(0, 10, 0, 250) | |
528 | GameScriptsLabel.Size = UDim2.new(0, 180, 0, 10) | |
529 | GameScriptsLabel.ZIndex = 3 | |
530 | GameScriptsLabel.Font = Enum.Font.SourceSansBold | |
531 | GameScriptsLabel.FontSize = Enum.FontSize.Size11 | |
532 | GameScriptsLabel.Text = "Game Scripts" | |
533 | GameScriptsLabel.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
534 | GameScriptsLabel.TextSize = 11 | |
535 | ||
536 | MethodsLabel.Name = "MethodsLabel" | |
537 | MethodsLabel.Parent = BG | |
538 | MethodsLabel.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
539 | MethodsLabel.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
540 | MethodsLabel.Position = UDim2.new(0, 10, 1, -160) | |
541 | MethodsLabel.Size = UDim2.new(0, 180, 0, 10) | |
542 | MethodsLabel.ZIndex = 3 | |
543 | MethodsLabel.Font = Enum.Font.SourceSansBold | |
544 | MethodsLabel.FontSize = Enum.FontSize.Size11 | |
545 | MethodsLabel.Text = "Methods" | |
546 | MethodsLabel.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
547 | MethodsLabel.TextSize = 11 | |
548 | ||
549 | CallerName.Name = "CallerName" | |
550 | CallerName.Parent = BG | |
551 | CallerName.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
552 | CallerName.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
553 | CallerName.Position = UDim2.new(0, 630, 1, -30) | |
554 | CallerName.Selectable = true | |
555 | CallerName.Size = UDim2.new(0, 170, 0, 20) | |
556 | CallerName.ZIndex = 2 | |
557 | CallerName.Font = Enum.Font.SourceSansBold | |
558 | CallerName.FontSize = Enum.FontSize.Size11 | |
559 | CallerName.Text = "" | |
560 | CallerName.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
561 | CallerName.TextSize = 11 | |
562 | ||
563 | Ico.Name = "Ico" | |
564 | Ico.Parent = CallerName | |
565 | Ico.BackgroundColor3 = Color3.new(0.137255, 0.137255, 0.137255) | |
566 | Ico.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
567 | Ico.Selectable = true | |
568 | Ico.Size = UDim2.new(0, 20, 1, 0) | |
569 | Ico.ZIndex = 4 | |
570 | Ico.Image = "rbxassetid://99340858" | |
571 | ||
572 | CallerMethodName.Name = "CallerMethodName" | |
573 | CallerMethodName.Parent = BG | |
574 | CallerMethodName.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
575 | CallerMethodName.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
576 | CallerMethodName.Position = UDim2.new(0, 810, 1, -30) | |
577 | CallerMethodName.Selectable = true | |
578 | CallerMethodName.Size = UDim2.new(1, -820, 0, 20) | |
579 | CallerMethodName.ZIndex = 2 | |
580 | CallerMethodName.Font = Enum.Font.SourceSansBold | |
581 | CallerMethodName.FontSize = Enum.FontSize.Size11 | |
582 | CallerMethodName.Text = "" | |
583 | CallerMethodName.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
584 | CallerMethodName.TextSize = 11 | |
585 | ||
586 | Ico_2.Name = "Ico" | |
587 | Ico_2.Parent = CallerMethodName | |
588 | Ico_2.BackgroundColor3 = Color3.new(0.137255, 0.137255, 0.137255) | |
589 | Ico_2.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
590 | Ico_2.Selectable = true | |
591 | Ico_2.Size = UDim2.new(0, 20, 1, 0) | |
592 | Ico_2.ZIndex = 4 | |
593 | Ico_2.Image = "rbxassetid://1746331597" | |
594 | ||
595 | SearchScript.Name = "SearchScript" | |
596 | SearchScript.Parent = BG | |
597 | SearchScript.BackgroundColor3 = Color3.new(0.0980392, 0.196078, 0.0980392) | |
598 | SearchScript.BorderColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
599 | SearchScript.Position = UDim2.new(0, 10, 0, 220) | |
600 | SearchScript.Size = UDim2.new(0, 180, 0, 20) | |
601 | SearchScript.ZIndex = 3 | |
602 | SearchScript.Font = Enum.Font.SourceSansBold | |
603 | SearchScript.FontSize = Enum.FontSize.Size14 | |
604 | SearchScript.MultiLine = true | |
605 | SearchScript.ShowNativeInput = false | |
606 | SearchScript.Text = "" | |
607 | SearchScript.TextColor3 = Color3.new(0.392157, 0.784314, 0.392157) | |
608 | SearchScript.TextSize = 14 | |
609 | ||
610 | Toolbox.Name = "Toolbox" | |
611 | Toolbox.Parent = EnvEdit | |
612 | Toolbox.BackgroundColor3 = Color3.new(1, 1, 1) | |
613 | Toolbox.Size = UDim2.new(0, 100, 0, 100) | |
614 | Toolbox.Visible = false | |
615 | ||
616 | Button.Name = "Button" | |
617 | Button.Parent = Toolbox | |
618 | Button.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
619 | Button.BorderColor3 = Color3.new(0.176471, 0.0784314, 0.0784314) | |
620 | Button.Position = UDim2.new(1, -120, 0, 0) | |
621 | Button.Size = UDim2.new(0, 120, 1, 0) | |
622 | Button.ZIndex = 5 | |
623 | Button.Font = Enum.Font.SourceSansBold | |
624 | Button.FontSize = Enum.FontSize.Size11 | |
625 | Button.TextColor3 = Color3.new(0.627451, 0.313726, 0.313726) | |
626 | Button.TextSize = 11 | |
627 | ||
628 | Edit.Name = "Edit" | |
629 | Edit.Parent = Toolbox | |
630 | Edit.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
631 | Edit.BorderColor3 = Color3.new(0.0784314, 0.176471, 0.0784314) | |
632 | Edit.Position = UDim2.new(1, -120, 0, 0) | |
633 | Edit.Size = UDim2.new(0, 120, 1, 0) | |
634 | Edit.ZIndex = 5 | |
635 | Edit.Font = Enum.Font.SourceSansBold | |
636 | Edit.FontSize = Enum.FontSize.Size11 | |
637 | Edit.ShowNativeInput = false | |
638 | Edit.Text = "asdasdasd" | |
639 | Edit.TextColor3 = Color3.new(0.313726, 0.627451, 0.313726) | |
640 | Edit.TextSize = 11 | |
641 | Edit.TextWrapped = true | |
642 | ||
643 | UnAssignable.Name = "UnAssignable" | |
644 | UnAssignable.Parent = Toolbox | |
645 | UnAssignable.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
646 | UnAssignable.BorderColor3 = Color3.new(0.176471, 0.176471, 0.176471) | |
647 | UnAssignable.Position = UDim2.new(1, -120, 0, 0) | |
648 | UnAssignable.Size = UDim2.new(0, 120, 1, 0) | |
649 | UnAssignable.ZIndex = 5 | |
650 | UnAssignable.Font = Enum.Font.SourceSansBold | |
651 | UnAssignable.FontSize = Enum.FontSize.Size11 | |
652 | UnAssignable.Text = "" | |
653 | UnAssignable.TextColor3 = Color3.new(0.627451, 0.627451, 0.627451) | |
654 | UnAssignable.TextSize = 11 | |
655 | UnAssignable.TextWrapped = true | |
656 | ||
657 | SBTN.Name = "SBTN" | |
658 | SBTN.Parent = Toolbox | |
659 | SBTN.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
660 | SBTN.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
661 | SBTN.Position = UDim2.new(0, 10, 0, 10) | |
662 | SBTN.Size = UDim2.new(1, -25, 0, 20) | |
663 | SBTN.ZIndex = 3 | |
664 | SBTN.Font = Enum.Font.SourceSansBold | |
665 | SBTN.FontSize = Enum.FontSize.Size14 | |
666 | SBTN.Text = "SCRIPT" | |
667 | SBTN.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
668 | SBTN.TextSize = 14 | |
669 | ||
670 | Ico_3.Name = "Ico" | |
671 | Ico_3.Parent = SBTN | |
672 | Ico_3.BackgroundColor3 = Color3.new(0.137255, 0.137255, 0.137255) | |
673 | Ico_3.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
674 | Ico_3.Selectable = true | |
675 | Ico_3.Size = UDim2.new(0, 20, 1, 0) | |
676 | Ico_3.ZIndex = 4 | |
677 | Ico_3.Image = "rbxassetid://99340858" | |
678 | ||
679 | SourceLine.Name = "SourceLine" | |
680 | SourceLine.Parent = Toolbox | |
681 | SourceLine.BackgroundColor3 = Color3.new(1, 1, 1) | |
682 | SourceLine.BackgroundTransparency = 1 | |
683 | SourceLine.Position = UDim2.new(0, 50, 0, 0) | |
684 | SourceLine.Size = UDim2.new(1, -50, 0, 11) | |
685 | SourceLine.ZIndex = 3 | |
686 | ||
687 | Source.Name = "Source" | |
688 | Source.Parent = SourceLine | |
689 | Source.BackgroundColor3 = Color3.new(1, 1, 1) | |
690 | Source.BackgroundTransparency = 1 | |
691 | Source.Size = UDim2.new(1, 0, 1, 0) | |
692 | Source.ZIndex = 3 | |
693 | Source.Font = Enum.Font.Code | |
694 | Source.FontSize = Enum.FontSize.Size18 | |
695 | Source.Text = "" | |
696 | Source.TextColor3 = Color3.new(1, 1, 1) | |
697 | Source.TextSize = 15 | |
698 | Source.TextXAlignment = Enum.TextXAlignment.Left | |
699 | Source.TextYAlignment = Enum.TextYAlignment.Top | |
700 | ||
701 | Globals.Name = "Globals" | |
702 | Globals.Parent = SourceLine | |
703 | Globals.BackgroundColor3 = Color3.new(1, 1, 1) | |
704 | Globals.BackgroundTransparency = 1 | |
705 | Globals.Size = UDim2.new(1, 0, 1, 0) | |
706 | Globals.ZIndex = 3 | |
707 | Globals.Font = Enum.Font.Code | |
708 | Globals.FontSize = Enum.FontSize.Size18 | |
709 | Globals.Text = "" | |
710 | Globals.TextColor3 = Color3.new(0.313726, 0.627451, 0.313726) | |
711 | Globals.TextSize = 15 | |
712 | Globals.TextXAlignment = Enum.TextXAlignment.Left | |
713 | Globals.TextYAlignment = Enum.TextYAlignment.Top | |
714 | ||
715 | Strings.Name = "Strings" | |
716 | Strings.Parent = SourceLine | |
717 | Strings.BackgroundColor3 = Color3.new(1, 1, 1) | |
718 | Strings.BackgroundTransparency = 1 | |
719 | Strings.Size = UDim2.new(1, 0, 1, 0) | |
720 | Strings.ZIndex = 3 | |
721 | Strings.Font = Enum.Font.Code | |
722 | Strings.FontSize = Enum.FontSize.Size18 | |
723 | Strings.Text = "" | |
724 | Strings.TextColor3 = Color3.new(1, 0.8, 0) | |
725 | Strings.TextSize = 15 | |
726 | Strings.TextXAlignment = Enum.TextXAlignment.Left | |
727 | Strings.TextYAlignment = Enum.TextYAlignment.Top | |
728 | ||
729 | Keywords.Name = "Keywords" | |
730 | Keywords.Parent = SourceLine | |
731 | Keywords.BackgroundColor3 = Color3.new(1, 1, 1) | |
732 | Keywords.BackgroundTransparency = 1 | |
733 | Keywords.Size = UDim2.new(1, 0, 1, 0) | |
734 | Keywords.ZIndex = 3 | |
735 | Keywords.Font = Enum.Font.Code | |
736 | Keywords.FontSize = Enum.FontSize.Size18 | |
737 | Keywords.Text = "" | |
738 | Keywords.TextColor3 = Color3.new(0.627451, 0.313726, 0.313726) | |
739 | Keywords.TextSize = 15 | |
740 | Keywords.TextXAlignment = Enum.TextXAlignment.Left | |
741 | Keywords.TextYAlignment = Enum.TextYAlignment.Top | |
742 | ||
743 | Tokens.Name = "Tokens" | |
744 | Tokens.Parent = SourceLine | |
745 | Tokens.BackgroundColor3 = Color3.new(1, 1, 1) | |
746 | Tokens.BackgroundTransparency = 1 | |
747 | Tokens.Size = UDim2.new(1, 0, 1, 0) | |
748 | Tokens.ZIndex = 3 | |
749 | Tokens.Font = Enum.Font.Code | |
750 | Tokens.FontSize = Enum.FontSize.Size18 | |
751 | Tokens.Text = "" | |
752 | Tokens.TextColor3 = Color3.new(0.705882, 0.705882, 0.705882) | |
753 | Tokens.TextSize = 15 | |
754 | Tokens.TextXAlignment = Enum.TextXAlignment.Left | |
755 | Tokens.TextYAlignment = Enum.TextYAlignment.Top | |
756 | ||
757 | Comments.Name = "Comments" | |
758 | Comments.Parent = SourceLine | |
759 | Comments.BackgroundColor3 = Color3.new(1, 1, 1) | |
760 | Comments.BackgroundTransparency = 1 | |
761 | Comments.Size = UDim2.new(1, 0, 1, 0) | |
762 | Comments.ZIndex = 3 | |
763 | Comments.Font = Enum.Font.Code | |
764 | Comments.FontSize = Enum.FontSize.Size18 | |
765 | Comments.Text = "" | |
766 | Comments.TextColor3 = Color3.new(0.0156863, 1, 0) | |
767 | Comments.TextSize = 15 | |
768 | Comments.TextXAlignment = Enum.TextXAlignment.Left | |
769 | Comments.TextYAlignment = Enum.TextYAlignment.Top | |
770 | ||
771 | Lines.Name = "Lines" | |
772 | Lines.Parent = Toolbox | |
773 | Lines.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
774 | Lines.BorderSizePixel = 0 | |
775 | Lines.Size = UDim2.new(0, 40, 1, 0) | |
776 | Lines.ZIndex = 3 | |
777 | Lines.Font = Enum.Font.SourceSansBold | |
778 | Lines.FontSize = Enum.FontSize.Size18 | |
779 | Lines.Text = "" | |
780 | Lines.TextColor3 = Color3.new(0.254902, 0.254902, 0.254902) | |
781 | Lines.TextSize = 15 | |
782 | Lines.TextYAlignment = Enum.TextYAlignment.Top | |
783 | ||
784 | Field.Name = "Field" | |
785 | Field.Parent = Toolbox | |
786 | Field.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
787 | Field.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
788 | Field.Position = UDim2.new(0, 10, 0, 10) | |
789 | Field.Size = UDim2.new(1, -20, 0, 20) | |
790 | Field.ZIndex = 4 | |
791 | ||
792 | FieldName.Name = "FieldName" | |
793 | FieldName.Parent = Field | |
794 | FieldName.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
795 | FieldName.BorderColor3 = Color3.new(0.176471, 0.176471, 0.176471) | |
796 | FieldName.Size = UDim2.new(0, 100, 1, 0) | |
797 | FieldName.ZIndex = 5 | |
798 | FieldName.Font = Enum.Font.SourceSansBold | |
799 | FieldName.FontSize = Enum.FontSize.Size11 | |
800 | FieldName.Text = "" | |
801 | FieldName.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
802 | FieldName.TextSize = 11 | |
803 | FieldName.TextWrapped = true | |
804 | ||
805 | GetInstPath.Name = "GetInstPath" | |
806 | GetInstPath.Parent = Field | |
807 | GetInstPath.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
808 | GetInstPath.BorderColor3 = Color3.new(0.156863, 0.313726, 0.156863) | |
809 | GetInstPath.Position = UDim2.new(0, 110, 0, 0) | |
810 | GetInstPath.Size = UDim2.new(0, 100, 0, 20) | |
811 | GetInstPath.Visible = false | |
812 | GetInstPath.ZIndex = 5 | |
813 | GetInstPath.Font = Enum.Font.SourceSansBold | |
814 | GetInstPath.FontSize = Enum.FontSize.Size14 | |
815 | GetInstPath.Text = "PATH" | |
816 | GetInstPath.TextColor3 = Color3.new(0.392157, 0.784314, 0.392157) | |
817 | GetInstPath.TextSize = 14 | |
818 | ||
819 | ScriptButton.Name = "ScriptButton" | |
820 | ScriptButton.Parent = Toolbox | |
821 | ScriptButton.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
822 | ScriptButton.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
823 | ScriptButton.Position = UDim2.new(0, 10, 0, 10) | |
824 | ScriptButton.Size = UDim2.new(1, -25, 0, 20) | |
825 | ScriptButton.ZIndex = 3 | |
826 | ScriptButton.Font = Enum.Font.SourceSansBold | |
827 | ScriptButton.FontSize = Enum.FontSize.Size14 | |
828 | ScriptButton.Text = "" | |
829 | ScriptButton.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
830 | ScriptButton.TextSize = 14 | |
831 | ||
832 | Ico_4.Name = "Ico" | |
833 | Ico_4.Parent = ScriptButton | |
834 | Ico_4.BackgroundColor3 = Color3.new(0.137255, 0.137255, 0.137255) | |
835 | Ico_4.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
836 | Ico_4.Selectable = true | |
837 | Ico_4.Size = UDim2.new(0, 20, 1, 0) | |
838 | Ico_4.ZIndex = 4 | |
839 | Ico_4.Image = "rbxassetid://99340858" | |
840 | ||
841 | Status.Name = "Status" | |
842 | Status.Parent = ScriptButton | |
843 | Status.BackgroundColor3 = Color3.new(0.54902, 0.137255, 0.137255) | |
844 | Status.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
845 | Status.Position = UDim2.new(1, -20, 0, 0) | |
846 | Status.Selectable = true | |
847 | Status.Size = UDim2.new(0, 20, 1, 0) | |
848 | Status.ZIndex = 4 | |
849 | ||
850 | FCallField.Name = "FCallField" | |
851 | FCallField.Parent = Toolbox | |
852 | FCallField.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
853 | FCallField.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
854 | FCallField.Position = UDim2.new(0, 10, 0, 10) | |
855 | FCallField.Size = UDim2.new(1, -20, 0, 20) | |
856 | FCallField.ZIndex = 3 | |
857 | ||
858 | Function.Name = "Function" | |
859 | Function.Parent = FCallField | |
860 | Function.BackgroundColor3 = Color3.new(0.0980392, 0.0980392, 0.0980392) | |
861 | Function.BorderSizePixel = 0 | |
862 | Function.Size = UDim2.new(0, 140, 1, 0) | |
863 | Function.ZIndex = 4 | |
864 | ||
865 | Ico_5.Name = "Ico" | |
866 | Ico_5.Parent = Function | |
867 | Ico_5.BackgroundColor3 = Color3.new(0.137255, 0.137255, 0.137255) | |
868 | Ico_5.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863) | |
869 | Ico_5.Selectable = true | |
870 | Ico_5.Size = UDim2.new(0, 20, 1, 0) | |
871 | Ico_5.ZIndex = 4 | |
872 | Ico_5.Image = "rbxassetid://413363737" | |
873 | ||
874 | FuncName.Name = "FuncName" | |
875 | FuncName.Parent = Function | |
876 | FuncName.BackgroundColor3 = Color3.new(1, 1, 1) | |
877 | FuncName.BackgroundTransparency = 1 | |
878 | FuncName.Position = UDim2.new(0, 20, 0, 0) | |
879 | FuncName.Size = UDim2.new(1, -20, 1, 0) | |
880 | FuncName.ZIndex = 5 | |
881 | FuncName.Font = Enum.Font.SourceSansBold | |
882 | FuncName.FontSize = Enum.FontSize.Size14 | |
883 | FuncName.Text = "" | |
884 | FuncName.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
885 | FuncName.TextSize = 14 | |
886 | FuncName.TextWrapped = true | |
887 | ||
888 | EditVars.Name = "EditVars" | |
889 | EditVars.Parent = FCallField | |
890 | EditVars.BackgroundColor3 = Color3.new(0.0980392, 0.0980392, 0.0980392) | |
891 | EditVars.BorderColor3 = Color3.new(0.392157, 0.392157, 0.392157) | |
892 | EditVars.BorderSizePixel = 0 | |
893 | EditVars.Position = UDim2.new(0, 150, 0, 0) | |
894 | EditVars.Size = UDim2.new(0, 40, 0, 20) | |
895 | EditVars.ZIndex = 4 | |
896 | EditVars.Font = Enum.Font.SourceSansBold | |
897 | EditVars.FontSize = Enum.FontSize.Size14 | |
898 | EditVars.Text = "EDIT" | |
899 | EditVars.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
900 | EditVars.TextSize = 14 | |
901 | ||
902 | CallFunc.Name = "CallFunc" | |
903 | CallFunc.Parent = FCallField | |
904 | CallFunc.BackgroundColor3 = Color3.new(0.0980392, 0.0980392, 0.0980392) | |
905 | CallFunc.BorderColor3 = Color3.new(0.392157, 0.392157, 0.392157) | |
906 | CallFunc.BorderSizePixel = 0 | |
907 | CallFunc.Position = UDim2.new(1, -50, 0, 0) | |
908 | CallFunc.Size = UDim2.new(0, 40, 0, 20) | |
909 | CallFunc.ZIndex = 4 | |
910 | CallFunc.AutoButtonColor = false | |
911 | CallFunc.Selected = true | |
912 | CallFunc.Font = Enum.Font.SourceSansBold | |
913 | CallFunc.FontSize = Enum.FontSize.Size14 | |
914 | CallFunc.Text = "CALL" | |
915 | CallFunc.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
916 | CallFunc.TextSize = 14 | |
917 | ||
918 | RemoveFunc.Name = "RemoveFunc" | |
919 | RemoveFunc.Parent = FCallField | |
920 | RemoveFunc.BackgroundColor3 = Color3.new(0.0980392, 0.0980392, 0.0980392) | |
921 | RemoveFunc.BorderColor3 = Color3.new(0.392157, 0.392157, 0.392157) | |
922 | RemoveFunc.BorderSizePixel = 0 | |
923 | RemoveFunc.Position = UDim2.new(0, 200, 0, 0) | |
924 | RemoveFunc.Size = UDim2.new(0, 40, 0, 20) | |
925 | RemoveFunc.ZIndex = 4 | |
926 | RemoveFunc.Font = Enum.Font.SourceSansBold | |
927 | RemoveFunc.FontSize = Enum.FontSize.Size14 | |
928 | RemoveFunc.Text = "DEL" | |
929 | RemoveFunc.TextColor3 = Color3.new(0.784314, 0.392157, 0.392157) | |
930 | RemoveFunc.TextSize = 14 | |
931 | ||
932 | DecompFunc.Name = "DecompFunc" | |
933 | DecompFunc.Parent = FCallField | |
934 | DecompFunc.BackgroundColor3 = Color3.new(0.0980392, 0.0980392, 0.0980392) | |
935 | DecompFunc.BorderColor3 = Color3.new(0.392157, 0.392157, 0.392157) | |
936 | DecompFunc.BorderSizePixel = 0 | |
937 | DecompFunc.Position = UDim2.new(0, 250, 0, 0) | |
938 | DecompFunc.Size = UDim2.new(0, 40, 0, 20) | |
939 | DecompFunc.ZIndex = 4 | |
940 | DecompFunc.AutoButtonColor = false | |
941 | DecompFunc.Font = Enum.Font.SourceSansBold | |
942 | DecompFunc.FontSize = Enum.FontSize.Size14 | |
943 | DecompFunc.Text = "DEC" | |
944 | DecompFunc.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
945 | DecompFunc.TextSize = 14 | |
946 | ||
947 | LoadFunc.Name = "LoadFunc" | |
948 | LoadFunc.Parent = FCallField | |
949 | LoadFunc.BackgroundColor3 = Color3.new(0.0980392, 0.0980392, 0.0980392) | |
950 | LoadFunc.BorderColor3 = Color3.new(0.392157, 0.392157, 0.392157) | |
951 | LoadFunc.BorderSizePixel = 0 | |
952 | LoadFunc.Position = UDim2.new(0, 300, 0, 0) | |
953 | LoadFunc.Size = UDim2.new(0, 40, 0, 20) | |
954 | LoadFunc.ZIndex = 4 | |
955 | LoadFunc.AutoButtonColor = false | |
956 | LoadFunc.Selected = true | |
957 | LoadFunc.Font = Enum.Font.SourceSansBold | |
958 | LoadFunc.FontSize = Enum.FontSize.Size14 | |
959 | LoadFunc.Text = "LOAD" | |
960 | LoadFunc.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
961 | LoadFunc.TextSize = 14 | |
962 | ||
963 | ArgLoadstring.Name = "ArgLoadstring" | |
964 | ArgLoadstring.Parent = EnvEdit | |
965 | ArgLoadstring.Active = true | |
966 | ArgLoadstring.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
967 | ArgLoadstring.BorderColor3 = Color3.new(0.0980392, 0.0980392, 0.0980392) | |
968 | ArgLoadstring.Draggable = true | |
969 | ArgLoadstring.Position = UDim2.new(0, 20, 0, 20) | |
970 | ArgLoadstring.Size = UDim2.new(0.5, -50, 0, 500) | |
971 | ArgLoadstring.Visible = false | |
972 | ArgLoadstring.ZIndex = 5 | |
973 | ||
974 | Top_2.Name = "Top" | |
975 | Top_2.Parent = ArgLoadstring | |
976 | Top_2.BackgroundColor3 = Color3.new(0.0980392, 0.0980392, 0.0980392) | |
977 | Top_2.BorderColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
978 | Top_2.Size = UDim2.new(1, 0, 0, 20) | |
979 | Top_2.ZIndex = 5 | |
980 | ||
981 | Title_2.Name = "Title" | |
982 | Title_2.Parent = Top_2 | |
983 | Title_2.BackgroundColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
984 | Title_2.BorderSizePixel = 0 | |
985 | Title_2.Position = UDim2.new(0.5, -80, 0, 0) | |
986 | Title_2.Size = UDim2.new(0, 160, 1, 0) | |
987 | Title_2.ZIndex = 6 | |
988 | Title_2.Font = Enum.Font.SourceSansBold | |
989 | Title_2.FontSize = Enum.FontSize.Size14 | |
990 | Title_2.Text = "Data Editor" | |
991 | Title_2.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
992 | Title_2.TextSize = 14 | |
993 | ||
994 | Close.Name = "Close" | |
995 | Close.Parent = Top_2 | |
996 | Close.BackgroundColor3 = Color3.new(0.235294, 0.117647, 0.117647) | |
997 | Close.BorderSizePixel = 0 | |
998 | Close.Position = UDim2.new(1, -50, 0, 0) | |
999 | Close.Size = UDim2.new(0, 50, 1, 0) | |
1000 | Close.ZIndex = 6 | |
1001 | Close.Font = Enum.Font.SourceSansBold | |
1002 | Close.FontSize = Enum.FontSize.Size14 | |
1003 | Close.Text = "X" | |
1004 | Close.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314) | |
1005 | Close.TextSize = 14 | |
1006 | ||
1007 | ScriptInput.Name = "ScriptInput" | |
1008 | ScriptInput.Parent = ArgLoadstring | |
1009 | ScriptInput.BackgroundColor3 = Color3.new(0.0980392, 0.0980392, 0.0980392) | |
1010 | ScriptInput.BorderColor3 = Color3.new(0.117647, 0.117647, 0.117647) | |
1011 | ScriptInput.Position = UDim2.new(0, 10, 0, 30) | |
1012 | ScriptInput.Size = UDim2.new(1, -20, 1, -70) | |
1013 | ScriptInput.ZIndex = 6 | |
1014 | ScriptInput.BottomImage = "rbxassetid://491055673" | |
1015 | ScriptInput.CanvasSize = UDim2.new(0, 0, 20, 0) | |
1016 | ScriptInput.MidImage = "rbxassetid://491055673" | |
1017 | ScriptInput.ScrollBarThickness = 0 | |
1018 | ScriptInput.TopImage = "rbxassetid://491055673" | |
1019 | ||
1020 | ScriptBox.Name = "ScriptBox" | |
1021 | ScriptBox.Parent = ScriptInput | |
1022 | ScriptBox.BackgroundColor3 = Color3.new(1, 1, 1) | |
1023 | ScriptBox.BackgroundTransparency = 1 | |
1024 | ScriptBox.Size = UDim2.new(1, 0, 1, 0) | |
1025 | ScriptBox.ZIndex = 7 | |
1026 | ScriptBox.Font = Enum.Font.Code | |
1027 | ScriptBox.FontSize = Enum.FontSize.Size18 | |
1028 | ScriptBox.Text = "" | |
1029 | ScriptBox.TextColor3 = Color3.new(1, 1, 1) | |
1030 | ScriptBox.TextSize = 15 | |
1031 | ScriptBox.TextXAlignment = Enum.TextXAlignment.Left | |
1032 | ScriptBox.TextYAlignment = Enum.TextYAlignment.Top | |
1033 | ||
1034 | SetParameters.Name = "SetParameters" | |
1035 | SetParameters.Parent = ArgLoadstring | |
1036 | SetParameters.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
1037 | SetParameters.BorderColor3 = Color3.new(0.137255, 0.27451, 0.137255) | |
1038 | SetParameters.Position = UDim2.new(0, 10, 1, -30) | |
1039 | SetParameters.Size = UDim2.new(1, -20, 0, 20) | |
1040 | SetParameters.ZIndex = 6 | |
1041 | SetParameters.Font = Enum.Font.SourceSansBold | |
1042 | SetParameters.FontSize = Enum.FontSize.Size14 | |
1043 | SetParameters.Text = "SET PARAMETERS" | |
1044 | SetParameters.TextColor3 = Color3.new(0.392157, 0.784314, 0.392157) | |
1045 | SetParameters.TextSize = 14 | |
1046 | ||
1047 | -- UI Functions | |
1048 | ||
1049 | local log_enabled = false | |
1050 | ||
1051 | local enable_log = function() | |
1052 | EnableLog.Text = (EnableLog.Text == "ENABLE LOG" and "DISABLE LOG" or "ENABLE LOG") | |
1053 | log_enabled = (EnableLog.Text == "DISABLE LOG") | |
1054 | end | |
1055 | ||
1056 | local update_list = function(list) | |
1057 | local objects = list:GetChildren() | |
1058 | for i, v in next, objects do | |
1059 | v.Parent = list | |
1060 | v.Position = UDim2.new(0, 12.5, 0, (-20 + i * 30)) | |
1061 | list.CanvasSize = UDim2.new(0, 0, 0, 50 + i * 20) | |
1062 | end | |
1063 | end | |
1064 | ||
1065 | local add_method = function() | |
1066 | local s = SBTN:Clone() | |
1067 | s.Ico.Image = "rbxassetid://1746331597" | |
1068 | s.Parent = Methods | |
1069 | s.Text = MethodName.Text | |
1070 | s.Name = MethodName.Text | |
1071 | s.Position = UDim2.new(0, 12.5, 0, (-20 + #Methods:GetChildren() * 30)) | |
1072 | MethodName.Text = "" | |
1073 | ||
1074 | s.MouseButton1Down:Connect(function() | |
1075 | s:Remove() | |
1076 | update_list(Methods) | |
1077 | end) | |
1078 | end | |
1079 | ||
1080 | local Highlight = function(string, keywords) | |
1081 | local K = {} | |
1082 | local S = string | |
1083 | local Token = | |
1084 | { | |
1085 | ["="] = true, | |
1086 | ["."] = true, | |
1087 | [","] = true, | |
1088 | ["("] = true, | |
1089 | [")"] = true, | |
1090 | ["["] = true, | |
1091 | ["]"] = true, | |
1092 | ["{"] = true, | |
1093 | ["}"] = true, | |
1094 | [":"] = true, | |
1095 | ["*"] = true, | |
1096 | ["/"] = true, | |
1097 | ["+"] = true, | |
1098 | ["-"] = true, | |
1099 | ["%"] = true, | |
1100 | [";"] = true, | |
1101 | ["~"] = true | |
1102 | } | |
1103 | for i, v in pairs(keywords) do | |
1104 | K[v] = true | |
1105 | end | |
1106 | S = S:gsub(".", function(c) | |
1107 | if Token[c] ~= nil then | |
1108 | return "\32" | |
1109 | else | |
1110 | return c | |
1111 | end | |
1112 | end) | |
1113 | S = S:gsub("%S+", function(c) | |
1114 | if K[c] ~= nil then | |
1115 | return c | |
1116 | else | |
1117 | return (" "):rep(#c) | |
1118 | end | |
1119 | end) | |
1120 | ||
1121 | return S | |
1122 | end | |
1123 | ||
1124 | local hTokens = function(string) | |
1125 | local Token = | |
1126 | { | |
1127 | ["="] = true, | |
1128 | ["."] = true, | |
1129 | [","] = true, | |
1130 | ["("] = true, | |
1131 | [")"] = true, | |
1132 | ["["] = true, | |
1133 | ["]"] = true, | |
1134 | ["{"] = true, | |
1135 | ["}"] = true, | |
1136 | [":"] = true, | |
1137 | ["*"] = true, | |
1138 | ["/"] = true, | |
1139 | ["+"] = true, | |
1140 | ["-"] = true, | |
1141 | ["%"] = true, | |
1142 | [";"] = true, | |
1143 | ["~"] = true | |
1144 | } | |
1145 | local A = "" | |
1146 | string:gsub(".", function(c) | |
1147 | if Token[c] ~= nil then | |
1148 | A = A .. c | |
1149 | elseif c == "\n" then | |
1150 | A = A .. "\n" | |
1151 | elseif c == "\t" then | |
1152 | A = A .. "\t" | |
1153 | else | |
1154 | A = A .. "\32" | |
1155 | end | |
1156 | end) | |
1157 | ||
1158 | return A | |
1159 | end | |
1160 | ||
1161 | local strings = function(string) | |
1162 | local highlight = "" | |
1163 | local quote = false | |
1164 | string:gsub(".", function(c) | |
1165 | if quote == false and c == "\"" then | |
1166 | quote = true | |
1167 | elseif quote == true and c == "\"" then | |
1168 | quote = false | |
1169 | end | |
1170 | if quote == false and c == "\"" then | |
1171 | highlight = highlight .. "\"" | |
1172 | elseif c == "\n" then | |
1173 | highlight = highlight .. "\n" | |
1174 | elseif c == "\t" then | |
1175 | highlight = highlight .. "\t" | |
1176 | elseif quote == true then | |
1177 | highlight = highlight .. c | |
1178 | elseif quote == false then | |
1179 | highlight = highlight .. "\32" | |
1180 | end | |
1181 | end) | |
1182 | ||
1183 | return highlight | |
1184 | end | |
1185 | ||
1186 | local comments = function(string) | |
1187 | local ret = "" | |
1188 | string:gsub("[^\r\n]+", function(c) | |
1189 | local comm = false | |
1190 | local i = 0 | |
1191 | c:gsub(".", function(n) | |
1192 | i = i + 1 | |
1193 | if c:sub(i, i + 1) == "--" then | |
1194 | comm = true | |
1195 | end | |
1196 | if comm == true then | |
1197 | ret = ret .. n | |
1198 | else | |
1199 | ret = ret .. "\32" | |
1200 | end | |
1201 | end) | |
1202 | ret = ret | |
1203 | end) | |
1204 | ||
1205 | return ret | |
1206 | end | |
1207 | ||
1208 | local lua_keywords = {"and", "break", "do", "else", "elseif", "end", "false", "for", "function", "goto", "if", "in", "local", "nil", "not", "or", "repeat", "return", "then", "true", "until", "while"} | |
1209 | local global_env = {"getrawmetatable", "game", "workspace", "script", "math", "string", "table", "print", "wait", "BrickColor", "Color3", "next", "pairs", "ipairs", "select", "unpack", "Instance", "Vector2", "Vector3", "CFrame", "Ray", "UDim2", "Enum", "assert", "error", "warn", "tick", "loadstring", "_G", "shared", "getfenv", "setfenv", "newproxy", "setmetatable", "getmetatable", "os", "debug", "pcall", "ypcall", "xpcall", "rawequal", "rawset", "rawget", "tonumber", "tostring", "type", "typeof", "_VERSION", "coroutine", "delay", "require", "spawn", "LoadLibrary", "settings", "stats", "time", "UserSettings", "version", "Axes", "ColorSequence", "Faces", "ColorSequenceKeypoint", "NumberRange", "NumberSequence", "NumberSequenceKeypoint", "gcinfo", "elapsedTime", "collectgarbage", "PhysicalProperties", "Rect", "Region3", "Region3int16", "UDim", "Vector2int16", "Vector3int16"} | |
1210 | ||
1211 | local highlight_source = function(line) | |
1212 | line.Source.Text = line.Source.Text:gsub("\13", "") | |
1213 | local s = line.Source.Text | |
1214 | line.Keywords.Text = Highlight(s, lua_keywords) | |
1215 | line.Globals.Text = Highlight(s, global_env) | |
1216 | line.Strings.Text = strings(s) | |
1217 | line.Tokens.Text = hTokens(s) | |
1218 | line.Comments.Text = comments(s) | |
1219 | end | |
1220 | ||
1221 | local create_tkey = function(t0, t1) | |
1222 | local s = "" | |
1223 | local ret = "" | |
1224 | ||
1225 | for i, v in next, t0 do | |
1226 | s = s .. tostring(i) .. " " | |
1227 | end | |
1228 | for i, v in next, t1 do | |
1229 | s = s .. tostring(i) .. " " | |
1230 | end | |
1231 | ||
1232 | s:gsub("%S+", function(c) | |
1233 | ret = ret .. c:sub(1, 3) | |
1234 | end) | |
1235 | ||
1236 | return ret | |
1237 | end | |
1238 | ||
1239 | local script_envs = {} | |
1240 | local script_tables = {} | |
1241 | local script_functions = {} | |
1242 | local current_env | |
1243 | local current_script | |
1244 | local current_table | |
1245 | local current_function | |
1246 | ||
1247 | local clearscripts = function() | |
1248 | Scripts:ClearAllChildren() | |
1249 | Locals:ClearAllChildren() | |
1250 | Upvalues:ClearAllChildren() | |
1251 | script_envs = {} | |
1252 | script_tables = {} | |
1253 | ||
1254 | current_env = "" | |
1255 | end | |
1256 | ||
1257 | local dump_source = function() | |
1258 | EditFrame.Visible = false | |
1259 | SourceView.Visible = true | |
1260 | FCallEdit.Visible = false | |
1261 | SourceView:ClearAllChildren() | |
1262 | local lines = 0 | |
1263 | local linec = Lines:Clone() | |
1264 | ||
1265 | linec.Parent = SourceView | |
1266 | decompile(current_env.script):gsub("[^\n]+", function(c) | |
1267 | local l = SourceLine:Clone() | |
1268 | local tabs = 0 | |
1269 | c:gsub("%\t", function() tabs = tabs + 1 end) | |
1270 | lines = lines + 1 | |
1271 | linec.Text = linec.Text .. tostring(lines) .. "\n" | |
1272 | l.Source.Text = c | |
1273 | l.Parent = SourceView | |
1274 | l.Position = UDim2.new(0, 50 + tabs * (15 * 2), 0, -30 + #SourceView:GetChildren() * 15) | |
1275 | highlight_source(l) | |
1276 | end) | |
1277 | end | |
1278 | ||
1279 | local dump_function = function(callback) | |
1280 | EditFrame.Visible = false | |
1281 | SourceView.Visible = true | |
1282 | FCallEdit.Visible = false | |
1283 | SourceView:ClearAllChildren() | |
1284 | local lines = 0 | |
1285 | local linec = Lines:Clone() | |
1286 | ||
1287 | linec.Parent = SourceView | |
1288 | decompile(callback):gsub("[^\n]+", function(c) | |
1289 | local l = SourceLine:Clone() | |
1290 | local tabs = 0 | |
1291 | c:gsub("%\t", function() tabs = tabs + 1 end) | |
1292 | lines = lines + 1 | |
1293 | linec.Text = linec.Text .. tostring(lines) .. "\n" | |
1294 | l.Source.Text = c | |
1295 | l.Parent = SourceView | |
1296 | l.Position = UDim2.new(0, 50 + tabs * (15 * 2), 0, -30 + #SourceView:GetChildren() * 15) | |
1297 | highlight_source(l) | |
1298 | end) | |
1299 | end | |
1300 | ||
1301 | local show_source = function() | |
1302 | SourceView.Visible = true | |
1303 | EditFrame.Visible = false | |
1304 | FCallEdit.Visible = false | |
1305 | end | |
1306 | ||
1307 | local show_edit = function() | |
1308 | SourceView.Visible = false | |
1309 | EditFrame.Visible = true | |
1310 | FCallEdit.Visible = false | |
1311 | end | |
1312 | ||
1313 | local onclick_fullscreen = function() | |
1314 | BG.Draggable = BG.Size == UDim2.new(1, 0, 1, 40) | |
1315 | if (BG.Size == UDim2.new(0.5, 250, 0.8, 0)) then | |
1316 | game.CoreGui.RobloxGui.Enabled = false | |
1317 | game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, false) | |
1318 | BG:TweenSizeAndPosition(UDim2.new(1, 0, 1, 40), UDim2.new(0, 0, 0, -40), "Out", "Quint", 0.4) | |
1319 | else | |
1320 | BG.Draggable = true | |
1321 | game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, true) | |
1322 | game.CoreGui.RobloxGui.Enabled = true | |
1323 | BG:TweenSizeAndPosition(UDim2.new(0.5, 250, 0.8, 0), UDim2.new(0.5, -441, 0, 29), "Out", "Quint", 0.4) | |
1324 | wait(0.1) | |
1325 | for i, v in next, BG:GetChildren() do | |
1326 | v.Visible = true | |
1327 | end | |
1328 | FCallEdit.Visible = false | |
1329 | SourceView.Visible = false | |
1330 | end | |
1331 | end | |
1332 | ||
1333 | local onclick_fold = function() | |
1334 | if (BG.Size == UDim2.new(0.5, 250, 0.8, 0)) then | |
1335 | BG:TweenSize(UDim2.new(0, 400, 0, 20), "Out", "Quint", 0.4) | |
1336 | for i, v in next, BG:GetChildren() do | |
1337 | if (v ~= Top) then v.Visible = false end | |
1338 | end | |
1339 | else | |
1340 | BG:TweenSize(UDim2.new(0.5, 250, 0.8, 0), "Out", "Quint", 0.4) | |
1341 | wait(0.1) | |
1342 | for i, v in next, BG:GetChildren() do | |
1343 | v.Visible = true | |
1344 | end | |
1345 | FCallEdit.Visible = false | |
1346 | SourceView.Visible = false | |
1347 | end | |
1348 | end | |
1349 | ||
1350 | local onclick_close = function() | |
1351 | ArgLoadstring.Visible = false | |
1352 | end | |
1353 | ||
1354 | local open_funcs = function() | |
1355 | EditFrame.Visible = false | |
1356 | SourceView.Visible = false | |
1357 | FCallEdit.Visible = true | |
1358 | end | |
1359 | ||
1360 | local is_instance = function(v0) | |
1361 | return (type(v0) == "userdata" and getrawmetatable(v0).__type == "Object") | |
1362 | end | |
1363 | ||
1364 | local get_type = function(v0) | |
1365 | if (is_instance(v0)) then return "Edit" end | |
1366 | local types = | |
1367 | { | |
1368 | boolean = "UnAssignable", | |
1369 | number = "Edit", | |
1370 | string = "Edit", | |
1371 | userdata = "UnAssignable", | |
1372 | ["function"] = "Button", | |
1373 | table = "Button", | |
1374 | thread = "UnAssignable", | |
1375 | } | |
1376 | ||
1377 | return types[type(v0)] | |
1378 | end | |
1379 | ||
1380 | local parse_var = function(v0) | |
1381 | local e, v1 = pcall(function() | |
1382 | return loadstring("return " .. v0)() | |
1383 | end) | |
1384 | if (e == false or v1 == nil) then | |
1385 | return v0 | |
1386 | else | |
1387 | return v1 | |
1388 | end | |
1389 | end | |
1390 | ||
1391 | local HasSpecial = function(string) | |
1392 | return (string:match("%c") or string:match("%s") or string:match("%p")) ~= nil | |
1393 | end | |
1394 | ||
1395 | local GetPath = function(Instance) | |
1396 | local Obj = Instance | |
1397 | local string = {} | |
1398 | local temp = {} | |
1399 | local error = false | |
1400 | ||
1401 | while Obj ~= game do | |
1402 | if Obj == nil then | |
1403 | error = true | |
1404 | break | |
1405 | end | |
1406 | table.insert(temp, Obj.Parent == game and Obj.ClassName or tostring(Obj)) | |
1407 | Obj = Obj.Parent | |
1408 | end | |
1409 | ||
1410 | table.insert(string, "game:GetService(\"" .. temp[#temp] .. "\")") | |
1411 | ||
1412 | for i = #temp - 1, 1, -1 do | |
1413 | table.insert(string, HasSpecial(temp[i]) and "[\"" .. temp[i] .. "\"]" or "." .. temp[i]) | |
1414 | end | |
1415 | ||
1416 | return (error and "Path contained an invalid instance" or table.concat(string, "")) | |
1417 | end | |
1418 | ||
1419 | ||
1420 | local update_locals = function() | |
1421 | for i, v in next, Locals:GetChildren() do | |
1422 | if (v:FindFirstChild("Edit")) then | |
1423 | current_env.locals(parse_var(v.FieldName.Text), parse_var(v.Edit.Text)) | |
1424 | end | |
1425 | end | |
1426 | end | |
1427 | ||
1428 | local update_upvalues = function() | |
1429 | for i, v in next, Upvalues:GetChildren() do | |
1430 | if (v:FindFirstChild("Edit")) then | |
1431 | current_env.upvalues(parse_var(v.FieldName.Text), parse_var(v.Edit.Text)) | |
1432 | end | |
1433 | end | |
1434 | end | |
1435 | ||
1436 | local set_local_table = function() | |
1437 | for i, v in next, Locals:GetChildren() do | |
1438 | if (v:FindFirstChild("Edit")) then | |
1439 | current_table.table[parse_var(v.FieldName.Text)] = parse_var(v.Edit.Text) | |
1440 | end | |
1441 | end | |
1442 | _G.load_data(Locals, current_env.locals) | |
1443 | end | |
1444 | ||
1445 | local set_upvalue_table = function() | |
1446 | for i, v in next, Upvalues:GetChildren() do | |
1447 | if (v:FindFirstChild("Edit")) then | |
1448 | current_table.table[parse_var(v.FieldName.Text)] = parse_var(v.Edit.Text) | |
1449 | end | |
1450 | end | |
1451 | _G.load_data(Upvalues, current_env.upvalues) | |
1452 | end | |
1453 | ||
1454 | local setconstants = function() | |
1455 | for i, v in next, Constants:GetChildren() do | |
1456 | debug.setconstant(current_function.callback, tonumber(v.FieldName.Text), parse_var(v.Edit.Text)) | |
1457 | end | |
1458 | end | |
1459 | ||
1460 | local search_script = function() | |
1461 | local n = 0 | |
1462 | for i, v in next, ScriptEnable:GetChildren() do | |
1463 | v.Visible = (SearchScript.Text == "" and true or v.Name:lower():match(SearchScript.Text:lower())) | |
1464 | n = n + (v.Visible and 1 or 0) | |
1465 | v.Position = UDim2.new(0, 10, 0, -20 + n * 30) | |
1466 | end | |
1467 | end | |
1468 | ||
1469 | -- UI Connections | |
1470 | ||
1471 | AddMethod.MouseButton1Down:Connect(add_method) | |
1472 | EnableLog.MouseButton1Down:Connect(enable_log) | |
1473 | ClearScripts.MouseButton1Down:Connect(clearscripts) | |
1474 | ShowEditor.MouseButton1Down:Connect(show_edit) | |
1475 | ShowSource.MouseButton1Down:Connect(show_source) | |
1476 | Decompile.MouseButton1Down:Connect(dump_source) | |
1477 | Fullscreen.MouseButton1Down:Connect(onclick_fullscreen) | |
1478 | FCalls.MouseButton1Down:Connect(open_funcs) | |
1479 | SetParameters.MouseButton1Down:Connect(set_args) | |
1480 | Setlocal.MouseButton1Down:Connect(update_locals) | |
1481 | SetLocalTable.MouseButton1Down:Connect(set_local_table) | |
1482 | SetUpvalueTable.MouseButton1Down:Connect(set_upvalue_table) | |
1483 | SetParameters.MouseButton1Down:Connect(set_args) | |
1484 | Fold.MouseButton1Down:Connect(onclick_fold) | |
1485 | Close.MouseButton1Down:Connect(onclick_close) | |
1486 | SetConstants.MouseButton1Down:Connect(setconstants) | |
1487 | Setupval.MouseButton1Down:Connect(update_upvalues) | |
1488 | SearchScript.Changed:Connect(search_script) | |
1489 | ||
1490 | -- Main Backend | |
1491 | ||
1492 | _G.setindex = function(t, f, n) | |
1493 | for i, v in next, t do | |
1494 | if (t[f]) then | |
1495 | t[f] = n | |
1496 | break | |
1497 | end | |
1498 | if (type(v) == "table") then | |
1499 | _G.setindex(v, f, n) | |
1500 | end | |
1501 | end | |
1502 | end | |
1503 | ||
1504 | _G.getindex = function(t, f) | |
1505 | for i, v in next, t do | |
1506 | if (i == f) then | |
1507 | return v | |
1508 | end | |
1509 | if (type(v) == "table") then | |
1510 | return _G.getindex(v, f) | |
1511 | end | |
1512 | end | |
1513 | end | |
1514 | ||
1515 | _G.setvalue = function(t, f, n) | |
1516 | for i, v in next, t do | |
1517 | if (v == f) then | |
1518 | t[i] = n | |
1519 | break | |
1520 | end | |
1521 | if (type(v) == "table") then | |
1522 | _G.setvalue(v, f, n) | |
1523 | end | |
1524 | end | |
1525 | end | |
1526 | ||
1527 | _G.getvalue = function(t, f) | |
1528 | for i, v in next, t do | |
1529 | if (v == f) then | |
1530 | return v | |
1531 | end | |
1532 | if (type(v) == "table") then | |
1533 | return _G.getvalue(v, f) | |
1534 | end | |
1535 | end | |
1536 | end | |
1537 | ||
1538 | local game_meta = assert(fullaccess or make_writeable or setreadonly)((debug.getmetatable or getrawmetatable)(game)) | |
1539 | local b_namecall = game_meta.__namecall | |
1540 | ||
1541 | local fnd = function(v0, v1) | |
1542 | return assert(game.FindFirstChild)(v0, v1) | |
1543 | end | |
1544 | ||
1545 | local load_function = function(callback) | |
1546 | local cdata = script_functions[tostring(callback)] | |
1547 | ||
1548 | local f = FCallField:Clone() | |
1549 | f.Parent = FCallsFrame | |
1550 | f.Name = cdata.name | |
1551 | f.Function.FuncName.Text = cdata.name | |
1552 | f.Position = UDim2.new(0, 10, 0, -20 + #FCallsFrame:GetChildren() * 30) | |
1553 | f.EditVars.MouseButton1Down:Connect(function() | |
1554 | ArgLoadstring.Visible = true | |
1555 | current_function = cdata | |
1556 | end) | |
1557 | f.CallFunc.MouseButton1Down:Connect(function() | |
1558 | cdata.callback(unpack(cdata.arguments)) | |
1559 | end) | |
1560 | f.DecompFunc.MouseButton1Down:Connect(function() | |
1561 | dump_function(callback) | |
1562 | end) | |
1563 | f.RemoveFunc.MouseButton1Down:Connect(function() | |
1564 | script_functions[tostring(callback)] = nil | |
1565 | f:Remove() | |
1566 | update_list(FCallsFrame) | |
1567 | end) | |
1568 | f.LoadFunc.MouseButton1Down:Connect(function() | |
1569 | current_function = cdata | |
1570 | _G.load_const(debug.getconstants(cdata.callback)) | |
1571 | end) | |
1572 | end | |
1573 | ||
1574 | _G.load_data = function(par, t) | |
1575 | par:ClearAllChildren() | |
1576 | for i, v in next, t do | |
1577 | local f = Field:Clone() | |
1578 | local main = Toolbox[get_type(v)]:Clone() | |
1579 | main.Parent = f | |
1580 | f.Parent = par | |
1581 | f.Position = UDim2.new(0, 10, 0, -20 + #par:GetChildren() * 30) | |
1582 | f.FieldName.Text = i | |
1583 | main.Text = tostring(v) | |
1584 | if (type(v) == "boolean") then | |
1585 | f.GetInstPath.Visible = true | |
1586 | f.GetInstPath.Text = "><" | |
1587 | main.Name = "Edit" | |
1588 | f.GetInstPath.MouseButton1Down:Connect(function() | |
1589 | main.Text = tostring(not (main.Text == "false" and false or main.Text == "true" and true)) | |
1590 | end) | |
1591 | end | |
1592 | if (is_instance(v)) then | |
1593 | f.GetInstPath.Visible = true | |
1594 | f.GetInstPath.MouseButton1Down:Connect(function() | |
1595 | InstancePath.Text = GetPath(v) | |
1596 | end) | |
1597 | end | |
1598 | if (type(v) == "table") then | |
1599 | main.MouseButton1Down:Connect(function() | |
1600 | current_table = {name = i, table = v} | |
1601 | _G.load_data(par, v) | |
1602 | end) | |
1603 | end | |
1604 | if (type(v) == "function") then | |
1605 | script_functions[tostring(v)] = | |
1606 | { | |
1607 | name = i, | |
1608 | callargs = {}, | |
1609 | callback = v, | |
1610 | } | |
1611 | if (fnd(FCallsFrame, i) == nil) then | |
1612 | load_function(v) | |
1613 | end | |
1614 | main.MouseButton1Down:Connect(open_funcs) | |
1615 | end | |
1616 | wait() | |
1617 | end | |
1618 | end | |
1619 | ||
1620 | _G.load_const = function(const) | |
1621 | Constants:ClearAllChildren() | |
1622 | for i, v in next, const do | |
1623 | local f = Field:Clone() | |
1624 | local main = Toolbox[get_type(v)]:Clone() | |
1625 | main.Parent = f | |
1626 | f.Parent = Constants | |
1627 | f.Position = UDim2.new(0, 10, 0, -20 + #Constants:GetChildren() * 30) | |
1628 | main.Text = tostring(v) | |
1629 | f.FieldName.Text = i | |
1630 | f.GetInstPath.Visible = true | |
1631 | f.GetInstPath.Text = "DEL" | |
1632 | f.GetInstPath.MouseButton1Down:Connect(function() | |
1633 | f:Remove() | |
1634 | update_list(Constants) | |
1635 | end) | |
1636 | wait() | |
1637 | end | |
1638 | end | |
1639 | ||
1640 | local add_caller = function(data) | |
1641 | script_envs[data.env_id] = data | |
1642 | ||
1643 | local s = SBTN:Clone() | |
1644 | s.Parent = Scripts | |
1645 | s.Position = UDim2.new(0, 10, 0, -20 + #Scripts:GetChildren() * 30) | |
1646 | s.Name = data.env_id | |
1647 | s.Text = data.script.Name | |
1648 | s.MouseButton1Down:Connect(function() | |
1649 | current_env = data | |
1650 | CallerMethodName.Text = data.method | |
1651 | CallerName.Text = data.script.Name | |
1652 | ||
1653 | pcall(function() | |
1654 | spawn(function() _G.load_data(Locals, data.locals) end) | |
1655 | _G.load_data(Upvalues, data.upvalues) | |
1656 | end) | |
1657 | end) | |
1658 | end | |
1659 | ||
1660 | _G.oof = function(c) | |
1661 | for i, v in next, c:GetChildren() do | |
1662 | v.BorderSizePixel = 0 | |
1663 | _G.oof(v) | |
1664 | end | |
1665 | end | |
1666 | ||
1667 | _G.get_scripts = function(base) | |
1668 | local cr = function(script) | |
1669 | local s = ScriptButton:Clone() | |
1670 | s.Parent = ScriptEnable | |
1671 | s.Name = script.Name | |
1672 | s.Position = UDim2.new(0, 10, 0, -20 + #ScriptEnable:GetChildren() * 30) | |
1673 | s.Text = script.Name | |
1674 | s.MouseButton1Down:Connect(function() | |
1675 | s.Status.BackgroundColor3 = (s.Status.BackgroundColor3 == Color3.fromRGB(140, 35, 35) and Color3.fromRGB(35, 140, 35) or Color3.fromRGB(140, 35, 35)) | |
1676 | end) | |
1677 | end | |
1678 | for i, v in next, base:GetChildren() do | |
1679 | if ((v:IsA("LocalScript") or v:IsA("ModuleScript")) and fnd(ScriptEnable, v.Name) == nil) then | |
1680 | cr(v) | |
1681 | end | |
1682 | _G.get_scripts(v) | |
1683 | end | |
1684 | end | |
1685 | ||
1686 | _G.get_scripts(game) | |
1687 | _G.oof(EnvEdit) | |
1688 | ||
1689 | local hook_namecall = function(...) | |
1690 | if (log_enabled) then | |
1691 | local c = getfenv(2).script | |
1692 | local b = fnd(ScriptEnable, c.Name) | |
1693 | if (fnd(Methods, ({...})[select("#", ...)])) or (b) then | |
1694 | if (fnd(Methods, ({...})[select("#", ...)])) or (b.Status.BackgroundColor3 == Color3.fromRGB(35, 140, 35)) then | |
1695 | local locals = setmetatable(debug.getlocals(2), { | |
1696 | __index = function(self, field) | |
1697 | return (_G.getindex(self, field) or _G.getvalue(self, field)) | |
1698 | end, | |
1699 | __call = function(self, f, v) | |
1700 | _G.setvalue(self, f, v) | |
1701 | _G.setindex(self, f, v) | |
1702 | end | |
1703 | }) | |
1704 | local upvalues = setmetatable(debug.getupvalues(2), { | |
1705 | __index = function(self, field) | |
1706 | return (_G.getindex(self, field) or _G.getvalue(self, field)) | |
1707 | end, | |
1708 | __call = function(self, f, v) | |
1709 | _G.setvalue(self, f, v) | |
1710 | _G.setindex(self, f, v) | |
1711 | end | |
1712 | }) | |
1713 | local id = create_tkey(locals, upvalues) | |
1714 | ||
1715 | if (fnd(Scripts, id) == nil) then | |
1716 | add_caller({ | |
1717 | locals = locals, | |
1718 | upvalues = upvalues, | |
1719 | env_id = id, | |
1720 | script = c, | |
1721 | method = ({...})[select("#", ...)] | |
1722 | }) | |
1723 | end | |
1724 | if (script_envs[id]) then | |
1725 | for i, v in next, script_envs[id].locals do | |
1726 | debug.setlocal(2, tostring(i), v) | |
1727 | end | |
1728 | for i, v in next, script_envs[id].upvalues do | |
1729 | debug.setupvalue(2, tostring(i), v) | |
1730 | end | |
1731 | end | |
1732 | end | |
1733 | end | |
1734 | end | |
1735 | ||
1736 | return b_namecall(...) | |
1737 | end | |
1738 | ||
1739 | game_meta.__namecall = hook_namecall |