· 6 years ago · Nov 25, 2019, 04:57 AM
1local print = function() end
2local warn = function() end
3local error = function() end
4
5math.randomseed(tick())
6
7function RandomCharacters(length)
8 local STR = ''
9
10 for i = 1, length do
11 STR = STR .. string.char(math.random(65,90))
12 end
13
14 return STR
15end
16
17if getgenv().dex_ui ~= nil then getgenv().dex_ui:remove() getgenv().dex_ui = nil end
18
19CreateGui = function()
20local ROBLOX = Instance.new("ScreenGui")
21local PropertiesFrame = Instance.new("Frame")
22local Header = Instance.new("Frame")
23local TextLabel = Instance.new("TextLabel")
24local TextBox = Instance.new("TextBox")
25local ExplorerPanel = Instance.new("Frame")
26local SideMenu = Instance.new("Frame")
27local Toggle = Instance.new("TextButton")
28local Title = Instance.new("TextLabel")
29local Version = Instance.new("TextLabel")
30local Slant = Instance.new("ImageLabel")
31local Main = Instance.new("Frame")
32local SlideOut = Instance.new("Frame")
33local SlideFrame = Instance.new("Frame")
34local Explorer = Instance.new("TextButton")
35local Icon = Instance.new("ImageLabel")
36local SaveMap = Instance.new("TextButton")
37local Icon_2 = Instance.new("ImageLabel")
38local Settings = Instance.new("TextButton")
39local Icon_3 = Instance.new("ImageLabel")
40local Remotes = Instance.new("TextButton")
41local Icon_4 = Instance.new("ImageLabel")
42local About = Instance.new("TextButton")
43local Icon_5 = Instance.new("ImageLabel")
44local OpenScriptEditor = Instance.new("TextButton")
45local Icon_6 = Instance.new("ImageLabel")
46local Toggle_2 = Instance.new("TextButton")
47local SettingsPanel = Instance.new("Frame")
48local Header_2 = Instance.new("Frame")
49local TextLabel_2 = Instance.new("TextLabel")
50local SettingTemplate = Instance.new("Frame")
51local SName = Instance.new("TextLabel")
52local Status = Instance.new("TextLabel")
53local Change = Instance.new("TextButton")
54local OnBar = Instance.new("TextLabel")
55local Bar = Instance.new("TextLabel")
56local SettingList = Instance.new("Frame")
57local SaveInstance = Instance.new("Frame")
58local Title_2 = Instance.new("TextLabel")
59local MainWindow = Instance.new("Frame")
60local Save = Instance.new("TextButton")
61local Desc = Instance.new("TextLabel")
62local Cancel = Instance.new("TextButton")
63local FileName = Instance.new("TextBox")
64local SaveObjects = Instance.new("TextButton")
65local enabled = Instance.new("TextLabel")
66local Desc2 = Instance.new("TextLabel")
67local Confirmation = Instance.new("Frame")
68local Title_3 = Instance.new("TextLabel")
69local MainWindow_2 = Instance.new("Frame")
70local Yes = Instance.new("TextButton")
71local Desc_2 = Instance.new("TextLabel")
72local No = Instance.new("TextButton")
73local Caution = Instance.new("Frame")
74local Title_4 = Instance.new("TextLabel")
75local MainWindow_3 = Instance.new("Frame")
76local Desc_3 = Instance.new("TextLabel")
77local Ok = Instance.new("TextButton")
78local CallRemote = Instance.new("Frame")
79local Title_5 = Instance.new("TextLabel")
80local MainWindow_4 = Instance.new("Frame")
81local Desc_4 = Instance.new("TextLabel")
82local Arguments = Instance.new("ScrollingFrame")
83local DisplayReturned = Instance.new("TextButton")
84local enabled_2 = Instance.new("TextLabel")
85local Desc2_2 = Instance.new("TextLabel")
86local Add = Instance.new("TextButton")
87local Subtract = Instance.new("TextButton")
88local ArgumentTemplate = Instance.new("Frame")
89local Type = Instance.new("TextButton")
90local Value = Instance.new("TextBox")
91local Cancel_2 = Instance.new("TextButton")
92local Ok_2 = Instance.new("TextButton")
93local TableCaution = Instance.new("Frame")
94local MainWindow_5 = Instance.new("Frame")
95local Ok_3 = Instance.new("TextButton")
96local TableResults = Instance.new("ScrollingFrame")
97local TableTemplate = Instance.new("Frame")
98local Type_2 = Instance.new("TextLabel")
99local Value_2 = Instance.new("TextLabel")
100local Title_6 = Instance.new("TextLabel")
101local ScriptEditor = Instance.new("Frame")
102local Title_7 = Instance.new("TextLabel")
103local Cover = Instance.new("Frame")
104local EditorGrid = Instance.new("Frame")
105local TopBar = Instance.new("Frame")
106local ScriptBarLeft = Instance.new("ImageButton")
107local ArrowGraphic = Instance.new("Frame")
108local Graphic = Instance.new("Frame")
109local Graphic_2 = Instance.new("Frame")
110local Graphic_3 = Instance.new("Frame")
111local Graphic_4 = Instance.new("Frame")
112local ScriptBarRight = Instance.new("ImageButton")
113local ArrowGraphic_2 = Instance.new("Frame")
114local Graphic_5 = Instance.new("Frame")
115local Graphic_6 = Instance.new("Frame")
116local Graphic_7 = Instance.new("Frame")
117local Graphic_8 = Instance.new("Frame")
118local Clipboard = Instance.new("TextButton")
119local SaveScript = Instance.new("TextButton")
120local ScriptBar = Instance.new("Frame")
121local Entry = Instance.new("Frame")
122local Button = Instance.new("TextButton")
123local Close = Instance.new("TextButton")
124local Close_2 = Instance.new("TextButton")
125local IntroFrame = Instance.new("Frame")
126local Main_2 = Instance.new("Frame")
127local ImageLabel = Instance.new("ImageLabel")
128local Title_8 = Instance.new("TextLabel")
129local Version_2 = Instance.new("TextLabel")
130local Creator = Instance.new("TextLabel")
131local BG = Instance.new("ImageLabel")
132local Slant_2 = Instance.new("Frame")
133local ImageLabel_2 = Instance.new("ImageLabel")
134local SaveMapWindow = Instance.new("Frame")
135local Header_3 = Instance.new("Frame")
136local TextLabel_3 = Instance.new("TextLabel")
137local MapSettings = Instance.new("Frame")
138local Terrain = Instance.new("Frame")
139local SName_2 = Instance.new("TextLabel")
140local Status_2 = Instance.new("TextLabel")
141local Change_2 = Instance.new("TextButton")
142local OnBar_2 = Instance.new("TextLabel")
143local Bar_2 = Instance.new("TextLabel")
144local Lighting = Instance.new("Frame")
145local SName_3 = Instance.new("TextLabel")
146local Status_3 = Instance.new("TextLabel")
147local Change_3 = Instance.new("TextButton")
148local OnBar_3 = Instance.new("TextLabel")
149local Bar_3 = Instance.new("TextLabel")
150local CameraInstances = Instance.new("Frame")
151local SName_4 = Instance.new("TextLabel")
152local Status_4 = Instance.new("TextLabel")
153local Change_4 = Instance.new("TextButton")
154local OnBar_4 = Instance.new("TextLabel")
155local Bar_4 = Instance.new("TextLabel")
156local Scripts = Instance.new("Frame")
157local SName_5 = Instance.new("TextLabel")
158local Status_5 = Instance.new("TextLabel")
159local Change_5 = Instance.new("TextButton")
160local OnBar_5 = Instance.new("TextLabel")
161local Bar_5 = Instance.new("TextLabel")
162local ToSave = Instance.new("TextLabel")
163local CopyList = Instance.new("Frame")
164local Bottom = Instance.new("Frame")
165local TextLabel_4 = Instance.new("TextLabel")
166local Save_2 = Instance.new("TextButton")
167local FileName_2 = Instance.new("TextBox")
168local Entry_2 = Instance.new("Frame")
169local Change_6 = Instance.new("TextButton")
170local enabled_3 = Instance.new("TextLabel")
171local Info = Instance.new("TextLabel")
172local RemoteDebugWindow = Instance.new("Frame")
173local Header_4 = Instance.new("Frame")
174local TextLabel_5 = Instance.new("TextLabel")
175local Desc_5 = Instance.new("TextLabel")
176local AboutWindow = Instance.new("Frame")
177local Header_5 = Instance.new("Frame")
178local TextLabel_6 = Instance.new("TextLabel")
179local Desc_6 = Instance.new("TextLabel")
180
181ROBLOX.Name = RandomCharacters(16, 64)
182
183PropertiesFrame.Name = "PropertiesFrame"
184PropertiesFrame.Parent = ROBLOX
185PropertiesFrame.Active = true
186PropertiesFrame.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
187PropertiesFrame.BorderColor3 = Color3.fromRGB(191, 191, 191)
188PropertiesFrame.BorderSizePixel = 0
189PropertiesFrame.Position = UDim2.new(1, 0, 0.5, 36)
190PropertiesFrame.Size = UDim2.new(0, 300, 0.5, -36)
191
192Header.Name = "Header"
193Header.Parent = PropertiesFrame
194Header.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
195Header.BorderColor3 = Color3.fromRGB(149, 149, 149)
196Header.BorderSizePixel = 0
197Header.Position = UDim2.new(0, 0, 0, -35)
198Header.Size = UDim2.new(1, 0, 0, 35)
199
200TextLabel.Parent = Header
201TextLabel.BackgroundTransparency = 1
202TextLabel.Position = UDim2.new(0, 4, 0, 0)
203TextLabel.Size = UDim2.new(1, -4, 0.5, 0)
204TextLabel.Font = Enum.Font.SourceSans
205TextLabel.Text = "Properties"
206TextLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
207TextLabel.TextSize = 14
208TextLabel.TextXAlignment = Enum.TextXAlignment.Left
209
210TextBox.Parent = Header
211TextBox.BackgroundTransparency = 0.8
212TextBox.Position = UDim2.new(0, 4, 0.5, 0)
213TextBox.Size = UDim2.new(1, -8, 0.5, -3)
214TextBox.Font = Enum.Font.SourceSans
215TextBox.PlaceholderText = "Search Properties"
216TextBox.Text = ""
217TextBox.TextColor3 = Color3.fromRGB(255, 255, 255)
218TextBox.TextSize = 14
219TextBox.TextXAlignment = Enum.TextXAlignment.Left
220
221ExplorerPanel.Name = "ExplorerPanel"
222ExplorerPanel.Parent = ROBLOX
223ExplorerPanel.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
224ExplorerPanel.BorderColor3 = Color3.fromRGB(191, 191, 191)
225ExplorerPanel.BorderSizePixel = 0
226ExplorerPanel.Position = UDim2.new(1, 0, 0, 1)
227ExplorerPanel.Size = UDim2.new(0, 300, 0.5, 0)
228
229SideMenu.Name = "SideMenu"
230SideMenu.Parent = ROBLOX
231SideMenu.BackgroundColor3 = Color3.fromRGB(233, 233, 233)
232SideMenu.BackgroundTransparency = 1
233SideMenu.BorderColor3 = Color3.fromRGB(149, 149, 149)
234SideMenu.BorderSizePixel = 0
235SideMenu.Position = UDim2.new(1, -330, 0, 0)
236SideMenu.Size = UDim2.new(0, 30, 0, 180)
237SideMenu.Visible = false
238SideMenu.ZIndex = 2
239
240Toggle.Name = "Toggle"
241Toggle.Parent = SideMenu
242Toggle.Active = false
243Toggle.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
244Toggle.BorderSizePixel = 0
245Toggle.Position = UDim2.new(0, 0, 0, 60)
246Toggle.Size = UDim2.new(0, 30, 0, 30)
247Toggle.AutoButtonColor = false
248Toggle.Font = Enum.Font.SourceSans
249Toggle.Text = ">"
250Toggle.TextColor3 = Color3.fromRGB(255, 255, 255)
251Toggle.TextSize = 24
252Toggle.TextTransparency = 1
253Toggle.TextWrapped = true
254
255Title.Name = "Title"
256Title.Parent = SideMenu
257Title.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
258Title.BackgroundTransparency = 1
259Title.Size = UDim2.new(0, 30, 0, 20)
260Title.ZIndex = 2
261Title.Font = Enum.Font.SourceSansBold
262Title.Text = "DEX"
263Title.TextColor3 = Color3.fromRGB(255, 255, 255)
264Title.TextSize = 14
265Title.TextWrapped = true
266
267Version.Name = "Version"
268Version.Parent = SideMenu
269Version.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
270Version.BackgroundTransparency = 1
271Version.Position = UDim2.new(0, 0, 0, 15)
272Version.Size = UDim2.new(0, 30, 0, 20)
273Version.ZIndex = 2
274Version.Font = Enum.Font.SourceSansBold
275Version.Text = "V2.0.0"
276Version.TextColor3 = Color3.fromRGB(255, 255, 255)
277Version.TextSize = 12
278Version.TextWrapped = true
279
280Slant.Name = "Slant"
281Slant.Parent = SideMenu
282Slant.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
283Slant.BackgroundTransparency = 1
284Slant.Position = UDim2.new(0, 0, 0, 90)
285Slant.Rotation = 180
286Slant.Size = UDim2.new(0, 30, 0, 30)
287Slant.Image = "rbxassetid://474172996"
288Slant.ImageColor3 = Color3.fromRGB(43, 43, 43)
289
290Main.Name = "Main"
291Main.Parent = SideMenu
292Main.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
293Main.BorderSizePixel = 0
294Main.Size = UDim2.new(0, 30, 0, 30)
295
296SlideOut.Name = "SlideOut"
297SlideOut.Parent = SideMenu
298SlideOut.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
299SlideOut.BackgroundTransparency = 1
300SlideOut.BorderSizePixel = 0
301SlideOut.ClipsDescendants = true
302SlideOut.Position = UDim2.new(0, 0, 0, 30)
303SlideOut.Size = UDim2.new(0, 30, 0, 150)
304
305SlideFrame.Name = "SlideFrame"
306SlideFrame.Parent = SlideOut
307SlideFrame.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
308SlideFrame.BorderSizePixel = 0
309SlideFrame.Position = UDim2.new(0, 0, 0, -150)
310SlideFrame.Size = UDim2.new(0, 30, 0, 150)
311
312Explorer.Name = "Explorer"
313Explorer.Parent = SlideFrame
314Explorer.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
315Explorer.BackgroundTransparency = 1
316Explorer.BorderSizePixel = 0
317Explorer.Position = UDim2.new(0, 0, 0, 120)
318Explorer.Size = UDim2.new(0, 30, 0, 30)
319Explorer.ZIndex = 2
320Explorer.AutoButtonColor = false
321Explorer.Font = Enum.Font.SourceSans
322Explorer.Text = ""
323Explorer.TextSize = 24
324
325Icon.Name = "Icon"
326Icon.Parent = Explorer
327Icon.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
328Icon.BackgroundTransparency = 1
329Icon.Position = UDim2.new(0, 5, 0, 5)
330Icon.Size = UDim2.new(0, 20, 0, 20)
331Icon.ZIndex = 2
332Icon.Image = "rbxassetid://472635937"
333
334SaveMap.Name = "SaveMap"
335SaveMap.Parent = SlideFrame
336SaveMap.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
337SaveMap.BackgroundTransparency = 1
338SaveMap.BorderSizePixel = 0
339SaveMap.Position = UDim2.new(0, 0, 0, 90)
340SaveMap.Size = UDim2.new(0, 30, 0, 30)
341SaveMap.ZIndex = 2
342SaveMap.AutoButtonColor = false
343SaveMap.Font = Enum.Font.SourceSans
344SaveMap.Text = ""
345SaveMap.TextSize = 24
346
347Icon_2.Name = "Icon"
348Icon_2.Parent = SaveMap
349Icon_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
350Icon_2.BackgroundTransparency = 1
351Icon_2.Position = UDim2.new(0, 5, 0, 5)
352Icon_2.Size = UDim2.new(0, 20, 0, 20)
353Icon_2.ZIndex = 2
354Icon_2.Image = "rbxassetid://472636337"
355
356Settings.Name = "Settings"
357Settings.Parent = SlideFrame
358Settings.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
359Settings.BackgroundTransparency = 1
360Settings.BorderSizePixel = 0
361Settings.Position = UDim2.new(0, 0, 0, 30)
362Settings.Size = UDim2.new(0, 30, 0, 30)
363Settings.ZIndex = 2
364Settings.AutoButtonColor = false
365Settings.Font = Enum.Font.SourceSans
366Settings.Text = ""
367Settings.TextSize = 24
368
369Icon_3.Name = "Icon"
370Icon_3.Parent = Settings
371Icon_3.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
372Icon_3.BackgroundTransparency = 1
373Icon_3.Position = UDim2.new(0, 5, 0, 5)
374Icon_3.Size = UDim2.new(0, 20, 0, 20)
375Icon_3.ZIndex = 2
376Icon_3.Image = "rbxassetid://472635774"
377
378Remotes.Name = "Remotes"
379Remotes.Parent = SlideFrame
380Remotes.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
381Remotes.BackgroundTransparency = 1
382Remotes.BorderSizePixel = 0
383Remotes.Position = UDim2.new(0, 0, 0, 60)
384Remotes.Size = UDim2.new(0, 30, 0, 30)
385Remotes.ZIndex = 2
386Remotes.AutoButtonColor = false
387Remotes.Font = Enum.Font.SourceSans
388Remotes.Text = ""
389Remotes.TextSize = 24
390
391Icon_4.Name = "Icon"
392Icon_4.Parent = Remotes
393Icon_4.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
394Icon_4.BackgroundTransparency = 1
395Icon_4.Position = UDim2.new(0, 5, 0, 5)
396Icon_4.Size = UDim2.new(0, 20, 0, 20)
397Icon_4.ZIndex = 2
398Icon_4.Image = "rbxassetid://472636187"
399
400About.Name = "About"
401About.Parent = SlideFrame
402About.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
403About.BackgroundTransparency = 1
404About.BorderSizePixel = 0
405About.Size = UDim2.new(0, 30, 0, 30)
406About.ZIndex = 2
407About.AutoButtonColor = false
408About.Font = Enum.Font.SourceSans
409About.Text = ""
410About.TextSize = 24
411
412Icon_5.Archivable = false
413Icon_5.Name = "Icon"
414Icon_5.Parent = About
415Icon_5.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
416Icon_5.BackgroundTransparency = 1
417Icon_5.Position = UDim2.new(0, 5, 0, 5)
418Icon_5.Size = UDim2.new(0, 20, 0, 20)
419Icon_5.ZIndex = 2
420Icon_5.Image = "rbxassetid://476354004"
421
422OpenScriptEditor.Name = "OpenScriptEditor"
423OpenScriptEditor.Parent = SideMenu
424OpenScriptEditor.Active = false
425OpenScriptEditor.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
426OpenScriptEditor.BorderSizePixel = 0
427OpenScriptEditor.Position = UDim2.new(0, 0, 0, 30)
428OpenScriptEditor.Size = UDim2.new(0, 30, 0, 30)
429OpenScriptEditor.ZIndex = 2
430OpenScriptEditor.AutoButtonColor = false
431OpenScriptEditor.Font = Enum.Font.SourceSans
432OpenScriptEditor.Text = ""
433OpenScriptEditor.TextSize = 24
434
435Icon_6.Name = "Icon"
436Icon_6.Parent = OpenScriptEditor
437Icon_6.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
438Icon_6.BackgroundTransparency = 1
439Icon_6.Position = UDim2.new(0, 5, 0, 5)
440Icon_6.Size = UDim2.new(0, 20, 0, 20)
441Icon_6.ZIndex = 2
442Icon_6.Image = "rbxassetid://475456048"
443Icon_6.ImageTransparency = 1
444
445Toggle_2.Name = "Toggle"
446Toggle_2.Parent = ROBLOX
447Toggle_2.BackgroundColor3 = Color3.fromRGB(233, 233, 233)
448Toggle_2.BorderColor3 = Color3.fromRGB(149, 149, 149)
449Toggle_2.Position = UDim2.new(1, 0, 0, 0)
450Toggle_2.Size = UDim2.new(0, 30, 0, 30)
451Toggle_2.Font = Enum.Font.SourceSans
452Toggle_2.Text = "<"
453Toggle_2.TextSize = 24
454
455SettingsPanel.Name = "SettingsPanel"
456SettingsPanel.Parent = ROBLOX
457SettingsPanel.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
458SettingsPanel.BorderColor3 = Color3.fromRGB(191, 191, 191)
459SettingsPanel.BorderSizePixel = 0
460SettingsPanel.Position = UDim2.new(1, 0, 0, 1)
461SettingsPanel.Size = UDim2.new(0, 300, 1, 0)
462
463Header_2.Name = "Header"
464Header_2.Parent = SettingsPanel
465Header_2.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
466Header_2.BorderColor3 = Color3.fromRGB(30, 30, 30)
467Header_2.Size = UDim2.new(1, 0, 0, 17)
468
469TextLabel_2.Parent = Header_2
470TextLabel_2.BackgroundTransparency = 1
471TextLabel_2.Position = UDim2.new(0, 4, 0, 0)
472TextLabel_2.Size = UDim2.new(1, -4, 1, 0)
473TextLabel_2.Font = Enum.Font.SourceSans
474TextLabel_2.Text = "Settings"
475TextLabel_2.TextColor3 = Color3.fromRGB(255, 255, 255)
476TextLabel_2.TextSize = 14
477TextLabel_2.TextXAlignment = Enum.TextXAlignment.Left
478
479SettingTemplate.Name = "SettingTemplate"
480SettingTemplate.Parent = SettingsPanel
481SettingTemplate.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
482SettingTemplate.BackgroundTransparency = 1
483SettingTemplate.Position = UDim2.new(0, 0, 0, 18)
484SettingTemplate.Size = UDim2.new(1, 0, 0, 60)
485SettingTemplate.Visible = false
486
487SName.Name = "SName"
488SName.Parent = SettingTemplate
489SName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
490SName.BackgroundTransparency = 1
491SName.Position = UDim2.new(0, 10, 0, 0)
492SName.Size = UDim2.new(1, -20, 0, 30)
493SName.Font = Enum.Font.SourceSans
494SName.Text = "SettingName"
495SName.TextColor3 = Color3.fromRGB(255, 255, 255)
496SName.TextSize = 18
497SName.TextXAlignment = Enum.TextXAlignment.Left
498
499Status.Name = "Status"
500Status.Parent = SettingTemplate
501Status.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
502Status.BackgroundTransparency = 1
503Status.Position = UDim2.new(0, 60, 0, 30)
504Status.Size = UDim2.new(0, 50, 0, 15)
505Status.Font = Enum.Font.SourceSans
506Status.Text = "Off"
507Status.TextColor3 = Color3.fromRGB(255, 255, 255)
508Status.TextSize = 18
509Status.TextXAlignment = Enum.TextXAlignment.Left
510
511Change.Name = "Change"
512Change.Parent = SettingTemplate
513Change.BackgroundColor3 = Color3.fromRGB(81, 81, 81)
514Change.BorderSizePixel = 0
515Change.Position = UDim2.new(0, 10, 0, 30)
516Change.Size = UDim2.new(0, 40, 0, 15)
517Change.Font = Enum.Font.SourceSans
518Change.Text = ""
519Change.TextColor3 = Color3.fromRGB(255, 255, 255)
520Change.TextSize = 14
521
522OnBar.Name = "OnBar"
523OnBar.Parent = Change
524OnBar.BackgroundColor3 = Color3.fromRGB(209, 125, 0)
525OnBar.BorderSizePixel = 0
526OnBar.Size = UDim2.new(0, 0, 0, 15)
527OnBar.Font = Enum.Font.SourceSans
528OnBar.Text = ""
529OnBar.TextColor3 = Color3.fromRGB(255, 255, 255)
530OnBar.TextSize = 14
531
532Bar.Name = "Bar"
533Bar.Parent = Change
534Bar.BackgroundColor3 = Color3.fromRGB(255, 153, 0)
535Bar.BorderSizePixel = 0
536Bar.ClipsDescendants = true
537Bar.Position = UDim2.new(0, -2, 0, -2)
538Bar.Size = UDim2.new(0, 10, 0, 19)
539Bar.Font = Enum.Font.SourceSans
540Bar.Text = ""
541Bar.TextColor3 = Color3.fromRGB(255, 255, 255)
542Bar.TextSize = 14
543
544SettingList.Name = "SettingList"
545SettingList.Parent = SettingsPanel
546SettingList.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
547SettingList.BackgroundTransparency = 1
548SettingList.Position = UDim2.new(0, 0, 0, 17)
549SettingList.Size = UDim2.new(1, 0, 1, -17)
550
551SaveInstance.Name = "SaveInstance"
552SaveInstance.Parent = ROBLOX
553SaveInstance.Active = true
554SaveInstance.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
555SaveInstance.BorderColor3 = Color3.fromRGB(30, 30, 30)
556SaveInstance.Draggable = true
557SaveInstance.Position = UDim2.new(0.3, 0, 0.3, 0)
558SaveInstance.Size = UDim2.new(0, 350, 0, 20)
559SaveInstance.Visible = false
560SaveInstance.ZIndex = 2
561
562Title_2.Name = "Title"
563Title_2.Parent = SaveInstance
564Title_2.BackgroundTransparency = 1
565Title_2.Size = UDim2.new(1, 0, 1, 0)
566Title_2.ZIndex = 2
567Title_2.Font = Enum.Font.SourceSans
568Title_2.Text = "Save Instance"
569Title_2.TextColor3 = Color3.fromRGB(255, 255, 255)
570Title_2.TextSize = 14
571Title_2.TextXAlignment = Enum.TextXAlignment.Left
572
573MainWindow.Name = "MainWindow"
574MainWindow.Parent = SaveInstance
575MainWindow.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
576MainWindow.BackgroundTransparency = 0.1
577MainWindow.BorderColor3 = Color3.fromRGB(30, 30, 30)
578MainWindow.Size = UDim2.new(1, 0, 0, 200)
579
580Save.Name = "Save"
581Save.Parent = MainWindow
582Save.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
583Save.BackgroundTransparency = 0.5
584Save.BorderColor3 = Color3.fromRGB(40, 40, 40)
585Save.Position = UDim2.new(0.075, 0, 1, -40)
586Save.Size = UDim2.new(0.4, 0, 0, 30)
587Save.Font = Enum.Font.SourceSans
588Save.Text = "Save"
589Save.TextColor3 = Color3.fromRGB(255, 255, 255)
590Save.TextSize = 18
591
592Desc.Name = "Desc"
593Desc.Parent = MainWindow
594Desc.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
595Desc.BackgroundTransparency = 1
596Desc.Position = UDim2.new(0, 0, 0, 20)
597Desc.Size = UDim2.new(1, 0, 0, 40)
598Desc.Font = Enum.Font.SourceSans
599Desc.Text = "This will save an instance to your PC. Type in the name for your instance. (.rbxmx will be added automatically.)"
600Desc.TextColor3 = Color3.fromRGB(255, 255, 255)
601Desc.TextSize = 14
602Desc.TextWrapped = true
603
604Cancel.Name = "Cancel"
605Cancel.Parent = MainWindow
606Cancel.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
607Cancel.BackgroundTransparency = 0.5
608Cancel.BorderColor3 = Color3.fromRGB(40, 40, 40)
609Cancel.Position = UDim2.new(0.524, 0, 1, -40)
610Cancel.Size = UDim2.new(0.4, 0, 0, 30)
611Cancel.Font = Enum.Font.SourceSans
612Cancel.Text = "Cancel"
613Cancel.TextColor3 = Color3.fromRGB(255, 255, 255)
614Cancel.TextSize = 18
615
616FileName.Name = "FileName"
617FileName.Parent = MainWindow
618FileName.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
619FileName.BackgroundTransparency = 0.2
620FileName.BorderColor3 = Color3.fromRGB(40, 40, 40)
621FileName.Position = UDim2.new(0.075, 0, 0.4, 0)
622FileName.Size = UDim2.new(0.85, 0, 0, 30)
623FileName.Font = Enum.Font.SourceSans
624FileName.Text = ""
625FileName.TextColor3 = Color3.fromRGB(255, 255, 255)
626FileName.TextSize = 18
627FileName.TextXAlignment = Enum.TextXAlignment.Left
628
629SaveObjects.Name = "SaveObjects"
630SaveObjects.Parent = MainWindow
631SaveObjects.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
632SaveObjects.BackgroundTransparency = 0.6
633SaveObjects.BorderColor3 = Color3.fromRGB(40, 40, 40)
634SaveObjects.Position = UDim2.new(0.075, 0, 0.625, 0)
635SaveObjects.Size = UDim2.new(0, 20, 0, 20)
636SaveObjects.ZIndex = 2
637SaveObjects.Font = Enum.Font.SourceSans
638SaveObjects.Text = ""
639SaveObjects.TextColor3 = Color3.fromRGB(255, 255, 255)
640SaveObjects.TextSize = 18
641
642enabled.Name = "enabled"
643enabled.Parent = SaveObjects
644enabled.BackgroundColor3 = Color3.fromRGB(96, 96, 96)
645enabled.BackgroundTransparency = 0.4
646enabled.BorderSizePixel = 0
647enabled.Position = UDim2.new(0, 3, 0, 3)
648enabled.Size = UDim2.new(0, 14, 0, 14)
649enabled.Font = Enum.Font.SourceSans
650enabled.Text = ""
651enabled.TextSize = 14
652
653Desc2.Name = "Desc2"
654Desc2.Parent = MainWindow
655Desc2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
656Desc2.BackgroundTransparency = 1
657Desc2.Position = UDim2.new(0.075, 30, 0.625, 0)
658Desc2.Size = UDim2.new(0.925, -30, 0, 20)
659Desc2.Font = Enum.Font.SourceSans
660Desc2.Text = "Save \"Object\" type values"
661Desc2.TextColor3 = Color3.fromRGB(255, 255, 255)
662Desc2.TextSize = 14
663Desc2.TextXAlignment = Enum.TextXAlignment.Left
664
665Confirmation.Name = "Confirmation"
666Confirmation.Parent = ROBLOX
667Confirmation.Active = true
668Confirmation.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
669Confirmation.BorderColor3 = Color3.fromRGB(30, 30, 30)
670Confirmation.Draggable = true
671Confirmation.Position = UDim2.new(0.3, 0, 0.349, 0)
672Confirmation.Size = UDim2.new(0, 350, 0, 20)
673Confirmation.Visible = false
674Confirmation.ZIndex = 3
675
676Title_3.Name = "Title"
677Title_3.Parent = Confirmation
678Title_3.BackgroundTransparency = 1
679Title_3.Size = UDim2.new(1, 0, 1, 0)
680Title_3.ZIndex = 3
681Title_3.Font = Enum.Font.SourceSans
682Title_3.Text = " Confirm"
683Title_3.TextColor3 = Color3.fromRGB(255, 255, 255)
684Title_3.TextSize = 14
685Title_3.TextXAlignment = Enum.TextXAlignment.Left
686
687MainWindow_2.Name = "MainWindow"
688MainWindow_2.Parent = Confirmation
689MainWindow_2.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
690MainWindow_2.BackgroundTransparency = 0.1
691MainWindow_2.BorderColor3 = Color3.fromRGB(40, 40, 40)
692MainWindow_2.Size = UDim2.new(1, 0, 0, 150)
693MainWindow_2.ZIndex = 2
694
695Yes.Name = "Yes"
696Yes.Parent = MainWindow_2
697Yes.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
698Yes.BackgroundTransparency = 0.5
699Yes.BorderColor3 = Color3.fromRGB(0, 0, 0)
700Yes.Position = UDim2.new(0.075, 0, 1, -40)
701Yes.Size = UDim2.new(0.4, 0, 0, 30)
702Yes.ZIndex = 2
703Yes.Font = Enum.Font.SourceSans
704Yes.Text = "Yes"
705Yes.TextColor3 = Color3.fromRGB(255, 255, 255)
706Yes.TextSize = 18
707
708Desc_2.Name = "Desc"
709Desc_2.Parent = MainWindow_2
710Desc_2.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
711Desc_2.BackgroundTransparency = 1
712Desc_2.Position = UDim2.new(0, 0, 0, 20)
713Desc_2.Size = UDim2.new(1, 0, 0, 40)
714Desc_2.ZIndex = 2
715Desc_2.Font = Enum.Font.SourceSans
716Desc_2.Text = "The file, FILENAME, already exists. Overwrite?"
717Desc_2.TextColor3 = Color3.fromRGB(255, 255, 255)
718Desc_2.TextSize = 14
719Desc_2.TextWrapped = true
720
721No.Name = "No"
722No.Parent = MainWindow_2
723No.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
724No.BackgroundTransparency = 0.5
725No.BorderColor3 = Color3.fromRGB(0, 0, 0)
726No.Position = UDim2.new(0.524, 0, 1, -40)
727No.Size = UDim2.new(0.4, 0, 0, 30)
728No.ZIndex = 2
729No.Font = Enum.Font.SourceSans
730No.Text = "No"
731No.TextColor3 = Color3.fromRGB(255, 255, 255)
732No.TextSize = 18
733
734Caution.Name = "Caution"
735Caution.Parent = ROBLOX
736Caution.Active = true
737Caution.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
738Caution.BorderColor3 = Color3.fromRGB(30, 30, 30)
739Caution.Draggable = true
740Caution.Position = UDim2.new(0.3, 0, 0.3, 0)
741Caution.Size = UDim2.new(0, 350, 0, 20)
742Caution.Visible = false
743Caution.ZIndex = 5
744
745Title_4.Name = "Title"
746Title_4.Parent = Caution
747Title_4.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
748Title_4.BackgroundTransparency = 1
749Title_4.Size = UDim2.new(1, 0, 1, 0)
750Title_4.ZIndex = 5
751Title_4.Font = Enum.Font.SourceSans
752Title_4.Text = " Caution"
753Title_4.TextColor3 = Color3.fromRGB(255, 255, 255)
754Title_4.TextSize = 14
755Title_4.TextStrokeColor3 = Color3.fromRGB(30, 30, 30)
756Title_4.TextXAlignment = Enum.TextXAlignment.Left
757
758MainWindow_3.Name = "MainWindow"
759MainWindow_3.Parent = Caution
760MainWindow_3.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
761MainWindow_3.BackgroundTransparency = 0.1
762MainWindow_3.BorderColor3 = Color3.fromRGB(40, 40, 40)
763MainWindow_3.Size = UDim2.new(1, 0, 0, 150)
764MainWindow_3.ZIndex = 4
765
766Desc_3.Name = "Desc"
767Desc_3.Parent = MainWindow_3
768Desc_3.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
769Desc_3.BackgroundTransparency = 1
770Desc_3.Position = UDim2.new(0, 0, 0, 20)
771Desc_3.Size = UDim2.new(1, 0, 0, 42)
772Desc_3.ZIndex = 4
773Desc_3.Font = Enum.Font.SourceSans
774Desc_3.Text = "The file, FILENAME, already exists. Overwrite?"
775Desc_3.TextColor3 = Color3.fromRGB(255, 255, 255)
776Desc_3.TextSize = 14
777Desc_3.TextStrokeColor3 = Color3.fromRGB(30, 30, 30)
778Desc_3.TextWrapped = true
779
780Ok.Name = "Ok"
781Ok.Parent = MainWindow_3
782Ok.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
783Ok.BackgroundTransparency = 0.5
784Ok.BorderColor3 = Color3.fromRGB(0, 0, 0)
785Ok.Position = UDim2.new(0.3, 0, 1, -40)
786Ok.Size = UDim2.new(0.4, 0, 0, 30)
787Ok.ZIndex = 4
788Ok.Font = Enum.Font.SourceSans
789Ok.Text = "Ok"
790Ok.TextColor3 = Color3.fromRGB(255, 255, 255)
791Ok.TextSize = 18
792Ok.TextStrokeColor3 = Color3.fromRGB(30, 30, 30)
793
794CallRemote.Name = "CallRemote"
795CallRemote.Parent = ROBLOX
796CallRemote.Active = true
797CallRemote.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
798CallRemote.BorderColor3 = Color3.fromRGB(40, 40, 40)
799CallRemote.Draggable = true
800CallRemote.Position = UDim2.new(0.3, 0, 0.3, 0)
801CallRemote.Size = UDim2.new(0, 350, 0, 20)
802CallRemote.Visible = false
803CallRemote.ZIndex = 2
804
805Title_5.Name = "Title"
806Title_5.Parent = CallRemote
807Title_5.BackgroundTransparency = 1
808Title_5.Size = UDim2.new(1, 0, 1, 0)
809Title_5.ZIndex = 2
810Title_5.Font = Enum.Font.SourceSans
811Title_5.Text = "Call Remote"
812Title_5.TextColor3 = Color3.fromRGB(255, 255, 255)
813Title_5.TextSize = 14
814Title_5.TextXAlignment = Enum.TextXAlignment.Left
815
816MainWindow_4.Name = "MainWindow"
817MainWindow_4.Parent = CallRemote
818MainWindow_4.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
819MainWindow_4.BackgroundTransparency = 0.1
820MainWindow_4.BorderColor3 = Color3.fromRGB(40, 40, 40)
821MainWindow_4.Size = UDim2.new(1, 0, 0, 200)
822
823Desc_4.Name = "Desc"
824Desc_4.Parent = MainWindow_4
825Desc_4.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
826Desc_4.BackgroundTransparency = 1
827Desc_4.BorderColor3 = Color3.fromRGB(30, 30, 30)
828Desc_4.Position = UDim2.new(0, 0, 0, 20)
829Desc_4.Size = UDim2.new(1, 0, 0, 20)
830Desc_4.Font = Enum.Font.SourceSans
831Desc_4.Text = "Arguments"
832Desc_4.TextColor3 = Color3.fromRGB(255, 255, 255)
833Desc_4.TextSize = 14
834Desc_4.TextWrapped = true
835
836Arguments.Name = "Arguments"
837Arguments.Parent = MainWindow_4
838Arguments.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
839Arguments.BackgroundTransparency = 1
840Arguments.BorderColor3 = Color3.fromRGB(30, 30, 30)
841Arguments.Position = UDim2.new(0, 0, 0, 40)
842Arguments.Size = UDim2.new(1, 0, 0, 80)
843Arguments.BottomImage = "rbxasset://textures/blackBkg_square.png"
844Arguments.CanvasSize = UDim2.new(0, 0, 0, 0)
845Arguments.MidImage = "rbxasset://textures/blackBkg_square.png"
846Arguments.TopImage = "rbxasset://textures/blackBkg_square.png"
847
848DisplayReturned.Name = "DisplayReturned"
849DisplayReturned.Parent = MainWindow_4
850DisplayReturned.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
851DisplayReturned.BackgroundTransparency = 0.6
852DisplayReturned.BorderColor3 = Color3.fromRGB(30, 30, 30)
853DisplayReturned.Position = UDim2.new(0.075, 0, 0.625, 0)
854DisplayReturned.Size = UDim2.new(0, 20, 0, 20)
855DisplayReturned.ZIndex = 2
856DisplayReturned.Font = Enum.Font.SourceSans
857DisplayReturned.Text = ""
858DisplayReturned.TextColor3 = Color3.fromRGB(255, 255, 255)
859DisplayReturned.TextSize = 18
860
861enabled_2.Name = "enabled"
862enabled_2.Parent = DisplayReturned
863enabled_2.BackgroundColor3 = Color3.fromRGB(96, 96, 96)
864enabled_2.BackgroundTransparency = 0.4
865enabled_2.BorderSizePixel = 0
866enabled_2.Position = UDim2.new(0, 3, 0, 3)
867enabled_2.Size = UDim2.new(0, 14, 0, 14)
868enabled_2.Visible = false
869enabled_2.Font = Enum.Font.SourceSans
870enabled_2.Text = ""
871enabled_2.TextSize = 14
872
873Desc2_2.Name = "Desc2"
874Desc2_2.Parent = MainWindow_4
875Desc2_2.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
876Desc2_2.BackgroundTransparency = 1
877Desc2_2.BorderColor3 = Color3.fromRGB(30, 30, 30)
878Desc2_2.Position = UDim2.new(0.075, 30, 0.625, 0)
879Desc2_2.Size = UDim2.new(0.925, -30, 0, 20)
880Desc2_2.Font = Enum.Font.SourceSans
881Desc2_2.Text = "Display values returned"
882Desc2_2.TextColor3 = Color3.fromRGB(255, 255, 255)
883Desc2_2.TextSize = 14
884Desc2_2.TextXAlignment = Enum.TextXAlignment.Left
885
886Add.Name = "Add"
887Add.Parent = MainWindow_4
888Add.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
889Add.BackgroundTransparency = 0.5
890Add.BorderColor3 = Color3.fromRGB(30, 30, 30)
891Add.Position = UDim2.new(0.8, 0, 0.625, 0)
892Add.Size = UDim2.new(0, 20, 0, 20)
893Add.Font = Enum.Font.SourceSansBold
894Add.Text = "+"
895Add.TextColor3 = Color3.fromRGB(255, 255, 255)
896Add.TextSize = 24
897
898Subtract.Name = "Subtract"
899Subtract.Parent = MainWindow_4
900Subtract.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
901Subtract.BackgroundTransparency = 0.5
902Subtract.BorderColor3 = Color3.fromRGB(30, 30, 30)
903Subtract.Position = UDim2.new(0.899, 0, 0.625, 0)
904Subtract.Size = UDim2.new(0, 20, 0, 20)
905Subtract.Font = Enum.Font.SourceSansBold
906Subtract.Text = "-"
907Subtract.TextColor3 = Color3.fromRGB(255, 255, 255)
908Subtract.TextSize = 24
909
910ArgumentTemplate.Name = "ArgumentTemplate"
911ArgumentTemplate.Parent = MainWindow_4
912ArgumentTemplate.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
913ArgumentTemplate.BackgroundTransparency = 0.5
914ArgumentTemplate.BorderColor3 = Color3.fromRGB(40, 40, 40)
915ArgumentTemplate.Size = UDim2.new(1, 0, 0, 20)
916ArgumentTemplate.Visible = false
917
918Type.Name = "Type"
919Type.Parent = ArgumentTemplate
920Type.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
921Type.BackgroundTransparency = 0.899
922Type.BorderColor3 = Color3.fromRGB(30, 30, 30)
923Type.Size = UDim2.new(0.4, 0, 0, 20)
924Type.Font = Enum.Font.SourceSans
925Type.Text = "Script"
926Type.TextSize = 18
927
928Value.Name = "Value"
929Value.Parent = ArgumentTemplate
930Value.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
931Value.BackgroundTransparency = 0.899
932Value.BorderColor3 = Color3.fromRGB(30, 30, 30)
933Value.Position = UDim2.new(0.4, 0, 0, 0)
934Value.Size = UDim2.new(0.6, -12, 0, 20)
935Value.Font = Enum.Font.SourceSans
936Value.Text = ""
937Value.TextSize = 14
938Value.TextXAlignment = Enum.TextXAlignment.Left
939
940Cancel_2.Name = "Cancel"
941Cancel_2.Parent = MainWindow_4
942Cancel_2.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
943Cancel_2.BackgroundTransparency = 0.5
944Cancel_2.BorderColor3 = Color3.fromRGB(30, 30, 30)
945Cancel_2.Size = UDim2.new(0.4, 0, 0, 30)
946Cancel_2.Font = Enum.Font.SourceSans
947Cancel_2.Text = "Cancel"
948Cancel_2.TextColor3 = Color3.fromRGB(255, 255, 255)
949Cancel_2.TextSize = 18
950
951Ok_2.Name = "Ok"
952Ok_2.Parent = MainWindow_4
953Ok_2.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
954Ok_2.BackgroundTransparency = 0.5
955Ok_2.BorderColor3 = Color3.fromRGB(30, 30, 30)
956Ok_2.Position = UDim2.new(0.075, 0, 1, -40)
957Ok_2.Size = UDim2.new(0.4, 0, 0, 30)
958Ok_2.Font = Enum.Font.SourceSans
959Ok_2.Text = "Call"
960Ok_2.TextColor3 = Color3.fromRGB(255, 255, 255)
961Ok_2.TextSize = 18
962
963TableCaution.Name = "TableCaution"
964TableCaution.Parent = ROBLOX
965TableCaution.Active = true
966TableCaution.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
967TableCaution.BorderColor3 = Color3.fromRGB(43, 43, 43)
968TableCaution.Draggable = true
969TableCaution.Position = UDim2.new(0.3, 0, 0.3, 0)
970TableCaution.Size = UDim2.new(0, 350, 0, 20)
971TableCaution.Visible = false
972TableCaution.ZIndex = 2
973
974MainWindow_5.Name = "MainWindow"
975MainWindow_5.Parent = TableCaution
976MainWindow_5.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
977MainWindow_5.BackgroundTransparency = 0.1
978MainWindow_5.BorderColor3 = Color3.fromRGB(43, 43, 43)
979MainWindow_5.Size = UDim2.new(1, 0, 0, 150)
980
981Ok_3.Name = "Ok"
982Ok_3.Parent = MainWindow_5
983Ok_3.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
984Ok_3.BackgroundTransparency = 0.5
985Ok_3.BorderColor3 = Color3.fromRGB(30, 30, 30)
986Ok_3.Position = UDim2.new(0.3, 0, 1, -40)
987Ok_3.Size = UDim2.new(0.4, 0, 0, 30)
988Ok_3.Font = Enum.Font.SourceSans
989Ok_3.Text = "Ok"
990Ok_3.TextColor3 = Color3.fromRGB(255, 255, 255)
991Ok_3.TextSize = 18
992
993TableResults.Name = "TableResults"
994TableResults.Parent = MainWindow_5
995TableResults.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
996TableResults.BackgroundTransparency = 1
997TableResults.Position = UDim2.new(0, 0, 0, 20)
998TableResults.Size = UDim2.new(1, 0, 0, 80)
999TableResults.BottomImage = "rbxasset://textures/blackBkg_square.png"
1000TableResults.CanvasSize = UDim2.new(0, 0, 0, 0)
1001TableResults.MidImage = "rbxasset://textures/blackBkg_square.png"
1002TableResults.TopImage = "rbxasset://textures/blackBkg_square.png"
1003
1004TableTemplate.Name = "TableTemplate"
1005TableTemplate.Parent = MainWindow_5
1006TableTemplate.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1007TableTemplate.BackgroundTransparency = 0.5
1008TableTemplate.BorderColor3 = Color3.fromRGB(191, 191, 191)
1009TableTemplate.Size = UDim2.new(1, 0, 0, 20)
1010TableTemplate.Visible = false
1011
1012Type_2.Name = "Type"
1013Type_2.Parent = TableTemplate
1014Type_2.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1015Type_2.BackgroundTransparency = 0.899
1016Type_2.BorderColor3 = Color3.fromRGB(30, 30, 30)
1017Type_2.Size = UDim2.new(0.4, 0, 0, 20)
1018Type_2.Font = Enum.Font.SourceSans
1019Type_2.Text = "Script"
1020Type_2.TextColor3 = Color3.fromRGB(255, 255, 255)
1021Type_2.TextSize = 18
1022
1023Value_2.Name = "Value"
1024Value_2.Parent = TableTemplate
1025Value_2.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1026Value_2.BackgroundTransparency = 0.899
1027Value_2.BorderColor3 = Color3.fromRGB(30, 30, 30)
1028Value_2.Position = UDim2.new(0.4, 0, 0, 0)
1029Value_2.Size = UDim2.new(0.6, -12, 0, 20)
1030Value_2.Font = Enum.Font.SourceSans
1031Value_2.Text = "Script"
1032Value_2.TextColor3 = Color3.fromRGB(255, 255, 255)
1033Value_2.TextSize = 14
1034
1035Title_6.Name = "Title"
1036Title_6.Parent = TableCaution
1037Title_6.BackgroundTransparency = 1
1038Title_6.Size = UDim2.new(1, 0, 1, 0)
1039Title_6.ZIndex = 2
1040Title_6.Font = Enum.Font.SourceSans
1041Title_6.Text = "Caution"
1042Title_6.TextColor3 = Color3.fromRGB(255, 255, 255)
1043Title_6.TextSize = 14
1044Title_6.TextXAlignment = Enum.TextXAlignment.Left
1045
1046ScriptEditor.Name = "ScriptEditor"
1047ScriptEditor.Parent = ROBLOX
1048ScriptEditor.Active = true
1049ScriptEditor.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1050ScriptEditor.BorderColor3 = Color3.fromRGB(30, 30, 30)
1051ScriptEditor.Draggable = true
1052ScriptEditor.Position = UDim2.new(0.3, 0, 0.3, 0)
1053ScriptEditor.Size = UDim2.new(0, 916, 0, 20)
1054ScriptEditor.Visible = false
1055ScriptEditor.ZIndex = 5
1056
1057Title_7.Name = "Title"
1058Title_7.Parent = ScriptEditor
1059Title_7.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1060Title_7.BackgroundTransparency = 1
1061Title_7.Size = UDim2.new(1, 0, 1, 0)
1062Title_7.ZIndex = 5
1063Title_7.Font = Enum.Font.SourceSans
1064Title_7.Text = "Script Viewer"
1065Title_7.TextColor3 = Color3.fromRGB(255, 255, 255)
1066Title_7.TextSize = 14
1067Title_7.TextXAlignment = Enum.TextXAlignment.Left
1068
1069Cover.Name = "Cover"
1070Cover.Parent = ScriptEditor
1071Cover.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
1072Cover.BorderColor3 = Color3.fromRGB(30, 30, 30)
1073Cover.Position = UDim2.new(0, 0, 3, 0)
1074Cover.Size = UDim2.new(0, 916, 0, 416)
1075
1076EditorGrid.Name = "EditorGrid"
1077EditorGrid.Parent = ScriptEditor
1078EditorGrid.Active = true
1079EditorGrid.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1080EditorGrid.BorderColor3 = Color3.fromRGB(30, 30, 30)
1081EditorGrid.Position = UDim2.new(0, 0, 3, 0)
1082EditorGrid.Size = UDim2.new(1, -16, 0, 400)
1083
1084TopBar.Name = "TopBar"
1085TopBar.Parent = ScriptEditor
1086TopBar.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
1087TopBar.BorderColor3 = Color3.fromRGB(30, 30, 30)
1088TopBar.Size = UDim2.new(1, 0, 3, 0)
1089
1090ScriptBarLeft.Name = "ScriptBarLeft"
1091ScriptBarLeft.Parent = TopBar
1092ScriptBarLeft.Active = false
1093ScriptBarLeft.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1094ScriptBarLeft.BorderColor3 = Color3.fromRGB(30, 30, 30)
1095ScriptBarLeft.Position = UDim2.new(1, -32, 0, 40)
1096ScriptBarLeft.Size = UDim2.new(0, 16, 0, 20)
1097ScriptBarLeft.AutoButtonColor = false
1098
1099ArrowGraphic.Name = "Arrow Graphic"
1100ArrowGraphic.Parent = ScriptBarLeft
1101ArrowGraphic.BackgroundTransparency = 1
1102ArrowGraphic.BorderSizePixel = 0
1103ArrowGraphic.Position = UDim2.new(0.5, -4, 0.5, -4)
1104ArrowGraphic.Size = UDim2.new(0, 8, 0, 8)
1105
1106Graphic.Name = "Graphic"
1107Graphic.Parent = ArrowGraphic
1108Graphic.BackgroundColor3 = Color3.fromRGB(149, 149, 149)
1109Graphic.BackgroundTransparency = 0.699
1110Graphic.BorderSizePixel = 0
1111Graphic.Position = UDim2.new(0.25, 0, 0.375, 0)
1112Graphic.Size = UDim2.new(0.125, 0, 0.25, 0)
1113
1114Graphic_2.Name = "Graphic"
1115Graphic_2.Parent = ArrowGraphic
1116Graphic_2.BackgroundColor3 = Color3.fromRGB(149, 149, 149)
1117Graphic_2.BackgroundTransparency = 0.699
1118Graphic_2.BorderSizePixel = 0
1119Graphic_2.Position = UDim2.new(0.375, 0, 0.25, 0)
1120Graphic_2.Size = UDim2.new(0.125, 0, 0.5, 0)
1121
1122Graphic_3.Name = "Graphic"
1123Graphic_3.Parent = ArrowGraphic
1124Graphic_3.BackgroundColor3 = Color3.fromRGB(149, 149, 149)
1125Graphic_3.BackgroundTransparency = 0.699
1126Graphic_3.BorderSizePixel = 0
1127Graphic_3.Position = UDim2.new(0.5, 0, 0.125, 0)
1128Graphic_3.Size = UDim2.new(0.125, 0, 0.75, 0)
1129
1130Graphic_4.Name = "Graphic"
1131Graphic_4.Parent = ArrowGraphic
1132Graphic_4.BackgroundColor3 = Color3.fromRGB(149, 149, 149)
1133Graphic_4.BackgroundTransparency = 0.699
1134Graphic_4.BorderSizePixel = 0
1135Graphic_4.Position = UDim2.new(0.625, 0, 0, 0)
1136Graphic_4.Size = UDim2.new(0.125, 0, 1, 0)
1137
1138ScriptBarRight.Name = "ScriptBarRight"
1139ScriptBarRight.Parent = TopBar
1140ScriptBarRight.Active = false
1141ScriptBarRight.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1142ScriptBarRight.BorderColor3 = Color3.fromRGB(30, 30, 30)
1143ScriptBarRight.Position = UDim2.new(1, -16, 0, 40)
1144ScriptBarRight.Size = UDim2.new(0, 16, 0, 20)
1145ScriptBarRight.AutoButtonColor = false
1146
1147ArrowGraphic_2.Name = "Arrow Graphic"
1148ArrowGraphic_2.Parent = ScriptBarRight
1149ArrowGraphic_2.BackgroundTransparency = 1
1150ArrowGraphic_2.BorderSizePixel = 0
1151ArrowGraphic_2.Position = UDim2.new(0.5, -4, 0.5, -4)
1152ArrowGraphic_2.Size = UDim2.new(0, 8, 0, 8)
1153
1154Graphic_5.Name = "Graphic"
1155Graphic_5.Parent = ArrowGraphic_2
1156Graphic_5.BackgroundColor3 = Color3.fromRGB(149, 149, 149)
1157Graphic_5.BackgroundTransparency = 0.699
1158Graphic_5.BorderSizePixel = 0
1159Graphic_5.Position = UDim2.new(0.625, 0, 0.375, 0)
1160Graphic_5.Size = UDim2.new(0.125, 0, 0.25, 0)
1161
1162Graphic_6.Name = "Graphic"
1163Graphic_6.Parent = ArrowGraphic_2
1164Graphic_6.BackgroundColor3 = Color3.fromRGB(149, 149, 149)
1165Graphic_6.BackgroundTransparency = 0.699
1166Graphic_6.BorderSizePixel = 0
1167Graphic_6.Position = UDim2.new(0.5, 0, 0.25, 0)
1168Graphic_6.Size = UDim2.new(0.125, 0, 0.5, 0)
1169
1170Graphic_7.Name = "Graphic"
1171Graphic_7.Parent = ArrowGraphic_2
1172Graphic_7.BackgroundColor3 = Color3.fromRGB(149, 149, 149)
1173Graphic_7.BackgroundTransparency = 0.699
1174Graphic_7.BorderSizePixel = 0
1175Graphic_7.Position = UDim2.new(0.375, 0, 0.125, 0)
1176Graphic_7.Size = UDim2.new(0.125, 0, 0.75, 0)
1177
1178Graphic_8.Name = "Graphic"
1179Graphic_8.Parent = ArrowGraphic_2
1180Graphic_8.BackgroundColor3 = Color3.fromRGB(149, 149, 149)
1181Graphic_8.BackgroundTransparency = 0.699
1182Graphic_8.BorderSizePixel = 0
1183Graphic_8.Position = UDim2.new(0.25, 0, 0, 0)
1184Graphic_8.Size = UDim2.new(0.125, 0, 1, 0)
1185
1186Clipboard.Name = "Clipboard"
1187Clipboard.Parent = TopBar
1188Clipboard.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1189Clipboard.BackgroundTransparency = 0.5
1190Clipboard.BorderColor3 = Color3.fromRGB(0, 0, 0)
1191Clipboard.Position = UDim2.new(0, 0, 0, 20)
1192Clipboard.Size = UDim2.new(0, 80, 0, 20)
1193Clipboard.AutoButtonColor = false
1194Clipboard.Font = Enum.Font.SourceSans
1195Clipboard.Text = "To Clipboard"
1196Clipboard.TextColor3 = Color3.fromRGB(255, 255, 255)
1197Clipboard.TextSize = 14
1198
1199SaveScript.Name = "SaveScript"
1200SaveScript.Parent = TopBar
1201SaveScript.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1202SaveScript.BackgroundTransparency = 0.5
1203SaveScript.BorderColor3 = Color3.fromRGB(0, 0, 0)
1204SaveScript.Position = UDim2.new(0, 80, 0, 20)
1205SaveScript.Size = UDim2.new(0, 80, 0, 20)
1206SaveScript.AutoButtonColor = false
1207SaveScript.Font = Enum.Font.SourceSans
1208SaveScript.Text = "Save Script"
1209SaveScript.TextColor3 = Color3.fromRGB(255, 255, 255)
1210SaveScript.TextSize = 14
1211
1212ScriptBar.Name = "ScriptBar"
1213ScriptBar.Parent = TopBar
1214ScriptBar.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
1215ScriptBar.BorderColor3 = Color3.fromRGB(30, 30, 30)
1216ScriptBar.ClipsDescendants = true
1217ScriptBar.Position = UDim2.new(0, 0, 0, 40)
1218ScriptBar.Size = UDim2.new(1, -32, 0, 20)
1219
1220Entry.Name = "Entry"
1221Entry.Parent = TopBar
1222Entry.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1223Entry.BackgroundTransparency = 1
1224Entry.Size = UDim2.new(0, 100, 1, 0)
1225Entry.Visible = false
1226
1227Button.Name = "Button"
1228Button.Parent = Entry
1229Button.BackgroundColor3 = Color3.fromRGB(90, 90, 90)
1230Button.BackgroundTransparency = .6
1231Button.BorderColor3 = Color3.fromRGB(0, 0, 0)
1232Button.ClipsDescendants = true
1233Button.Size = UDim2.new(1, 0, 1, 0)
1234Button.ZIndex = 4
1235Button.Font = Enum.Font.SourceSans
1236Button.Text = ""
1237Button.TextSize = 12
1238Button.TextColor3 = Color3.fromRGB(255, 255, 255);
1239Button.TextXAlignment = Enum.TextXAlignment.Left
1240
1241Close.Name = "Close"
1242Close.Parent = Entry
1243Close.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1244Close.BackgroundTransparency = 1
1245Close.BorderColor3 = Color3.fromRGB(0, 0, 0)
1246Close.Position = UDim2.new(1, -20, 0, 0)
1247Close.Size = UDim2.new(0, 20, 0, 20)
1248Close.ZIndex = 4
1249Close.Font = Enum.Font.SourceSans
1250Close.Text = "X"
1251Close.TextSize = 14
1252Close.TextColor3 = Color3.fromRGB(255, 255, 255)
1253
1254Close_2.Name = "Close"
1255Close_2.Parent = ScriptEditor
1256Close_2.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1257Close_2.BackgroundTransparency = 1
1258Close_2.BorderColor3 = Color3.fromRGB(0, 0, 0)
1259Close_2.Position = UDim2.new(1, -20, 0, 0)
1260Close_2.Size = UDim2.new(0, 20, 0, 20)
1261Close_2.ZIndex = 5
1262Close_2.Font = Enum.Font.SourceSans
1263Close_2.Text = "X"
1264Close_2.TextColor3 = Color3.fromRGB(255, 255, 255)
1265Close_2.TextSize = 14
1266
1267IntroFrame.Name = "IntroFrame"
1268IntroFrame.Parent = ROBLOX
1269IntroFrame.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1270IntroFrame.BorderSizePixel = 0
1271IntroFrame.Position = UDim2.new(1, 30, 0, 0)
1272IntroFrame.Size = UDim2.new(0, 300, 1, 0)
1273IntroFrame.ZIndex = 2
1274
1275Main_2.Name = "Main"
1276Main_2.Parent = IntroFrame
1277Main_2.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1278Main_2.BorderSizePixel = 0
1279Main_2.Position = UDim2.new(0, -30, 0, 0)
1280Main_2.Size = UDim2.new(0, 30, 0, 90)
1281Main_2.ZIndex = 4
1282
1283ImageLabel.Parent = Main_2
1284ImageLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1285ImageLabel.BackgroundTransparency = 1
1286ImageLabel.BorderSizePixel = 0
1287ImageLabel.Size = UDim2.new(1, 0, 1, 0)
1288ImageLabel.ZIndex = 5
1289ImageLabel.Image = "rbxassetid://969742484"
1290ImageLabel.ScaleType = Enum.ScaleType.Tile
1291ImageLabel.TileSize = UDim2.new(25, 0, 6, 0)
1292
1293Title_8.Name = "Title"
1294Title_8.Parent = IntroFrame
1295Title_8.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1296Title_8.BackgroundTransparency = 1
1297Title_8.Position = UDim2.new(0, 100, 0, 150)
1298Title_8.Size = UDim2.new(0, 100, 0, 60)
1299Title_8.ZIndex = 4
1300Title_8.Font = Enum.Font.SourceSansBold
1301Title_8.Text = "DEX"
1302Title_8.TextColor3 = Color3.fromRGB(255, 255, 255)
1303Title_8.TextSize = 60
1304Title_8.TextWrapped = true
1305
1306Version_2.Name = "Version"
1307Version_2.Parent = IntroFrame
1308Version_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1309Version_2.BackgroundTransparency = 1
1310Version_2.Position = UDim2.new(0, 100, 0, 210)
1311Version_2.Size = UDim2.new(0, 100, 0, 30)
1312Version_2.ZIndex = 4
1313Version_2.Font = Enum.Font.SourceSansBold
1314Version_2.Text = "V2.0.0"
1315Version_2.TextColor3 = Color3.fromRGB(255, 255, 255)
1316Version_2.TextSize = 28
1317Version_2.TextWrapped = true
1318
1319Creator.Name = "Creator"
1320Creator.Parent = IntroFrame
1321Creator.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1322Creator.BackgroundTransparency = 1
1323Creator.Position = UDim2.new(0, 80, 0, 300)
1324Creator.Size = UDim2.new(0, 140, 0, 30)
1325Creator.ZIndex = 4
1326Creator.Font = Enum.Font.SourceSansBold
1327Creator.Text = ""
1328Creator.TextColor3 = Color3.fromRGB(255, 255, 255)
1329Creator.TextSize = 28
1330Creator.TextWrapped = true
1331
1332BG.Name = "BG"
1333BG.Parent = IntroFrame
1334BG.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1335BG.BackgroundTransparency = 1
1336BG.BorderSizePixel = 0
1337BG.Size = UDim2.new(1, 0, 1, 0)
1338BG.ZIndex = 3
1339BG.Image = "rbxassetid://969742484"
1340BG.ScaleType = Enum.ScaleType.Tile
1341BG.TileSize = UDim2.new(4, 0, 1, 0)
1342
1343Slant_2.Name = "Slant"
1344Slant_2.Parent = IntroFrame
1345Slant_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1346Slant_2.BackgroundTransparency = 1
1347Slant_2.BorderSizePixel = 0
1348Slant_2.ClipsDescendants = true
1349Slant_2.Position = UDim2.new(0, -27, 0, 86)
1350Slant_2.Rotation = 45
1351Slant_2.Size = UDim2.new(0, 60, 0, 30)
1352Slant_2.ZIndex = 3
1353
1354ImageLabel_2.Parent = Slant_2
1355ImageLabel_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1356ImageLabel_2.BackgroundTransparency = 1
1357ImageLabel_2.BorderSizePixel = 0
1358ImageLabel_2.Size = UDim2.new(1, 0, 1, 0)
1359ImageLabel_2.ZIndex = 2
1360ImageLabel_2.Image = "rbxassetid://969742484"
1361ImageLabel_2.ScaleType = Enum.ScaleType.Tile
1362ImageLabel_2.TileSize = UDim2.new(25, 0, 6, 0)
1363
1364SaveMapWindow.Name = "SaveMapWindow"
1365SaveMapWindow.Parent = ROBLOX
1366SaveMapWindow.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1367SaveMapWindow.BorderColor3 = Color3.fromRGB(191, 191, 191)
1368SaveMapWindow.BorderSizePixel = 0
1369SaveMapWindow.Position = UDim2.new(1, 0, 0, 1)
1370SaveMapWindow.Size = UDim2.new(0, 300, 1, 0)
1371
1372Header_3.Name = "Header"
1373Header_3.Parent = SaveMapWindow
1374Header_3.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1375Header_3.BorderColor3 = Color3.fromRGB(30, 30, 30)
1376Header_3.Size = UDim2.new(1, 0, 0, 17)
1377
1378TextLabel_3.Parent = Header_3
1379TextLabel_3.BackgroundTransparency = 1
1380TextLabel_3.Position = UDim2.new(0, 4, 0, 0)
1381TextLabel_3.Size = UDim2.new(1, -4, 1, 0)
1382TextLabel_3.Font = Enum.Font.SourceSans
1383TextLabel_3.Text = "Map Downloader"
1384TextLabel_3.TextColor3 = Color3.fromRGB(255, 255, 255)
1385TextLabel_3.TextSize = 14
1386TextLabel_3.TextXAlignment = Enum.TextXAlignment.Left
1387
1388MapSettings.Name = "MapSettings"
1389MapSettings.Parent = SaveMapWindow
1390MapSettings.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1391MapSettings.BackgroundTransparency = 1
1392MapSettings.BorderSizePixel = 0
1393MapSettings.Position = UDim2.new(0, 0, 0, 200)
1394MapSettings.Size = UDim2.new(1, 0, 0, 240)
1395
1396Terrain.Name = "Terrain"
1397Terrain.Parent = MapSettings
1398Terrain.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1399Terrain.BackgroundTransparency = 1
1400Terrain.BorderSizePixel = 0
1401Terrain.Position = UDim2.new(0, 0, 0, 60)
1402Terrain.Size = UDim2.new(1, 0, 0, 60)
1403
1404SName_2.Name = "SName"
1405SName_2.Parent = Terrain
1406SName_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1407SName_2.BackgroundTransparency = 1
1408SName_2.BorderColor3 = Color3.fromRGB(40, 40, 40)
1409SName_2.Position = UDim2.new(0, 10, 0, 0)
1410SName_2.Size = UDim2.new(1, -20, 0, 30)
1411SName_2.Font = Enum.Font.SourceSans
1412SName_2.Text = "Save Terrain"
1413SName_2.TextColor3 = Color3.fromRGB(255, 255, 255)
1414SName_2.TextSize = 18
1415SName_2.TextXAlignment = Enum.TextXAlignment.Left
1416
1417Status_2.Name = "Status"
1418Status_2.Parent = Terrain
1419Status_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1420Status_2.BackgroundTransparency = 1
1421Status_2.BorderColor3 = Color3.fromRGB(40, 40, 40)
1422Status_2.Position = UDim2.new(0, 60, 0, 30)
1423Status_2.Size = UDim2.new(0, 50, 0, 15)
1424Status_2.Font = Enum.Font.SourceSans
1425Status_2.Text = "Off"
1426Status_2.TextColor3 = Color3.fromRGB(255, 255, 255)
1427Status_2.TextSize = 18
1428Status_2.TextXAlignment = Enum.TextXAlignment.Left
1429
1430Change_2.Name = "Change"
1431Change_2.Parent = Terrain
1432Change_2.BackgroundColor3 = Color3.fromRGB(81, 81, 81)
1433Change_2.BorderColor3 = Color3.fromRGB(40, 40, 40)
1434Change_2.BorderSizePixel = 0
1435Change_2.Position = UDim2.new(0, 10, 0, 30)
1436Change_2.Size = UDim2.new(0, 40, 0, 15)
1437Change_2.Font = Enum.Font.SourceSans
1438Change_2.Text = ""
1439Change_2.TextColor3 = Color3.fromRGB(255, 255, 255)
1440Change_2.TextSize = 14
1441
1442OnBar_2.Name = "OnBar"
1443OnBar_2.Parent = Change_2
1444OnBar_2.BackgroundColor3 = Color3.fromRGB(209, 125, 0)
1445OnBar_2.BorderSizePixel = 0
1446OnBar_2.Size = UDim2.new(0, 0, 0, 15)
1447OnBar_2.Font = Enum.Font.SourceSans
1448OnBar_2.Text = ""
1449OnBar_2.TextSize = 14
1450
1451Bar_2.Name = "Bar"
1452Bar_2.Parent = Change_2
1453Bar_2.BackgroundColor3 = Color3.fromRGB(255, 153, 0)
1454Bar_2.BorderSizePixel = 0
1455Bar_2.ClipsDescendants = true
1456Bar_2.Position = UDim2.new(0, -2, 0, -2)
1457Bar_2.Size = UDim2.new(0, 10, 0, 19)
1458Bar_2.Font = Enum.Font.SourceSans
1459Bar_2.Text = ""
1460Bar_2.TextSize = 14
1461
1462Lighting.Name = "Lighting"
1463Lighting.Parent = MapSettings
1464Lighting.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1465Lighting.BackgroundTransparency = 1
1466Lighting.BorderSizePixel = 0
1467Lighting.Position = UDim2.new(0, 0, 0, 120)
1468Lighting.Size = UDim2.new(1, 0, 0, 60)
1469
1470SName_3.Name = "SName"
1471SName_3.Parent = Lighting
1472SName_3.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1473SName_3.BackgroundTransparency = 1
1474SName_3.BorderColor3 = Color3.fromRGB(40, 40, 40)
1475SName_3.Position = UDim2.new(0, 10, 0, 0)
1476SName_3.Size = UDim2.new(1, -20, 0, 30)
1477SName_3.Font = Enum.Font.SourceSans
1478SName_3.Text = "Lighting Properties"
1479SName_3.TextColor3 = Color3.fromRGB(255, 255, 255)
1480SName_3.TextSize = 18
1481SName_3.TextXAlignment = Enum.TextXAlignment.Left
1482
1483Status_3.Name = "Status"
1484Status_3.Parent = Lighting
1485Status_3.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1486Status_3.BackgroundTransparency = 1
1487Status_3.BorderColor3 = Color3.fromRGB(40, 40, 40)
1488Status_3.Position = UDim2.new(0, 60, 0, 30)
1489Status_3.Size = UDim2.new(0, 50, 0, 15)
1490Status_3.Font = Enum.Font.SourceSans
1491Status_3.Text = "Off"
1492Status_3.TextColor3 = Color3.fromRGB(255, 255, 255)
1493Status_3.TextSize = 18
1494Status_3.TextXAlignment = Enum.TextXAlignment.Left
1495
1496Change_3.Name = "Change"
1497Change_3.Parent = Lighting
1498Change_3.BackgroundColor3 = Color3.fromRGB(81, 81, 81)
1499Change_3.BorderColor3 = Color3.fromRGB(40, 40, 40)
1500Change_3.BorderSizePixel = 0
1501Change_3.Position = UDim2.new(0, 10, 0, 30)
1502Change_3.Size = UDim2.new(0, 40, 0, 15)
1503Change_3.Font = Enum.Font.SourceSans
1504Change_3.Text = ""
1505Change_3.TextColor3 = Color3.fromRGB(255, 255, 255)
1506Change_3.TextSize = 14
1507
1508OnBar_3.Name = "OnBar"
1509OnBar_3.Parent = Change_3
1510OnBar_3.BackgroundColor3 = Color3.fromRGB(209, 125, 0)
1511OnBar_3.BorderSizePixel = 0
1512OnBar_3.Size = UDim2.new(0, 0, 0, 15)
1513OnBar_3.Font = Enum.Font.SourceSans
1514OnBar_3.Text = ""
1515OnBar_3.TextSize = 14
1516
1517Bar_3.Name = "Bar"
1518Bar_3.Parent = Change_3
1519Bar_3.BackgroundColor3 = Color3.fromRGB(255, 153, 0)
1520Bar_3.BorderSizePixel = 0
1521Bar_3.ClipsDescendants = true
1522Bar_3.Position = UDim2.new(0, -2, 0, -2)
1523Bar_3.Size = UDim2.new(0, 10, 0, 19)
1524Bar_3.Font = Enum.Font.SourceSans
1525Bar_3.Text = ""
1526Bar_3.TextSize = 14
1527
1528CameraInstances.Name = "CameraInstances"
1529CameraInstances.Parent = MapSettings
1530CameraInstances.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1531CameraInstances.BackgroundTransparency = 1
1532CameraInstances.BorderSizePixel = 0
1533CameraInstances.Position = UDim2.new(0, 0, 0, 180)
1534CameraInstances.Size = UDim2.new(1, 0, 0, 60)
1535
1536SName_4.Name = "SName"
1537SName_4.Parent = CameraInstances
1538SName_4.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1539SName_4.BackgroundTransparency = 1
1540SName_4.BorderColor3 = Color3.fromRGB(40, 40, 40)
1541SName_4.Position = UDim2.new(0, 10, 0, 0)
1542SName_4.Size = UDim2.new(1, -20, 0, 30)
1543SName_4.Font = Enum.Font.SourceSans
1544SName_4.Text = "Camera Instances"
1545SName_4.TextColor3 = Color3.fromRGB(255, 255, 255)
1546SName_4.TextSize = 18
1547SName_4.TextXAlignment = Enum.TextXAlignment.Left
1548
1549Status_4.Name = "Status"
1550Status_4.Parent = CameraInstances
1551Status_4.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1552Status_4.BackgroundTransparency = 1
1553Status_4.BorderColor3 = Color3.fromRGB(40, 40, 40)
1554Status_4.Position = UDim2.new(0, 60, 0, 30)
1555Status_4.Size = UDim2.new(0, 50, 0, 15)
1556Status_4.Font = Enum.Font.SourceSans
1557Status_4.Text = "Off"
1558Status_4.TextColor3 = Color3.fromRGB(255, 255, 255)
1559Status_4.TextSize = 18
1560Status_4.TextXAlignment = Enum.TextXAlignment.Left
1561
1562Change_4.Name = "Change"
1563Change_4.Parent = CameraInstances
1564Change_4.BackgroundColor3 = Color3.fromRGB(81, 81, 81)
1565Change_4.BorderColor3 = Color3.fromRGB(40, 40, 40)
1566Change_4.BorderSizePixel = 0
1567Change_4.Position = UDim2.new(0, 10, 0, 30)
1568Change_4.Size = UDim2.new(0, 40, 0, 15)
1569Change_4.Font = Enum.Font.SourceSans
1570Change_4.Text = ""
1571Change_4.TextColor3 = Color3.fromRGB(255, 255, 255)
1572Change_4.TextSize = 14
1573
1574OnBar_4.Name = "OnBar"
1575OnBar_4.Parent = Change_4
1576OnBar_4.BackgroundColor3 = Color3.fromRGB(209, 125, 0)
1577OnBar_4.BorderSizePixel = 0
1578OnBar_4.Size = UDim2.new(0, 0, 0, 15)
1579OnBar_4.Font = Enum.Font.SourceSans
1580OnBar_4.Text = ""
1581OnBar_4.TextSize = 14
1582
1583Bar_4.Name = "Bar"
1584Bar_4.Parent = Change_4
1585Bar_4.BackgroundColor3 = Color3.fromRGB(255, 153, 0)
1586Bar_4.BorderSizePixel = 0
1587Bar_4.ClipsDescendants = true
1588Bar_4.Position = UDim2.new(0, -2, 0, -2)
1589Bar_4.Size = UDim2.new(0, 10, 0, 19)
1590Bar_4.Font = Enum.Font.SourceSans
1591Bar_4.Text = ""
1592Bar_4.TextSize = 14
1593
1594Scripts.Name = "Scripts"
1595Scripts.Parent = MapSettings
1596Scripts.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1597Scripts.BackgroundTransparency = 1
1598Scripts.BorderSizePixel = 0
1599Scripts.Size = UDim2.new(1, 0, 0, 60)
1600
1601SName_5.Name = "SName"
1602SName_5.Parent = Scripts
1603SName_5.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1604SName_5.BackgroundTransparency = 1
1605SName_5.BorderColor3 = Color3.fromRGB(40, 40, 40)
1606SName_5.Position = UDim2.new(0, 10, 0, 0)
1607SName_5.Size = UDim2.new(1, -20, 0, 30)
1608SName_5.Font = Enum.Font.SourceSans
1609SName_5.Text = "Save Scripts"
1610SName_5.TextColor3 = Color3.fromRGB(255, 255, 255)
1611SName_5.TextSize = 18
1612SName_5.TextXAlignment = Enum.TextXAlignment.Left
1613
1614Status_5.Name = "Status"
1615Status_5.Parent = Scripts
1616Status_5.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1617Status_5.BackgroundTransparency = 1
1618Status_5.BorderColor3 = Color3.fromRGB(40, 40, 40)
1619Status_5.Position = UDim2.new(0, 60, 0, 30)
1620Status_5.Size = UDim2.new(0, 50, 0, 15)
1621Status_5.Font = Enum.Font.SourceSans
1622Status_5.Text = "Off"
1623Status_5.TextColor3 = Color3.fromRGB(255, 255, 255)
1624Status_5.TextSize = 18
1625Status_5.TextXAlignment = Enum.TextXAlignment.Left
1626
1627Change_5.Name = "Change"
1628Change_5.Parent = Scripts
1629Change_5.BackgroundColor3 = Color3.fromRGB(81, 81, 81)
1630Change_5.BorderColor3 = Color3.fromRGB(40, 40, 40)
1631Change_5.BorderSizePixel = 0
1632Change_5.Position = UDim2.new(0, 10, 0, 30)
1633Change_5.Size = UDim2.new(0, 40, 0, 15)
1634Change_5.Font = Enum.Font.SourceSans
1635Change_5.Text = ""
1636Change_5.TextColor3 = Color3.fromRGB(255, 255, 255)
1637Change_5.TextSize = 14
1638
1639OnBar_5.Name = "OnBar"
1640OnBar_5.Parent = Change_5
1641OnBar_5.BackgroundColor3 = Color3.fromRGB(209, 125, 0)
1642OnBar_5.BorderSizePixel = 0
1643OnBar_5.Size = UDim2.new(0, 0, 0, 15)
1644OnBar_5.Font = Enum.Font.SourceSans
1645OnBar_5.Text = ""
1646OnBar_5.TextSize = 14
1647
1648Bar_5.Name = "Bar"
1649Bar_5.Parent = Change_5
1650Bar_5.BackgroundColor3 = Color3.fromRGB(255, 153, 0)
1651Bar_5.BorderSizePixel = 0
1652Bar_5.ClipsDescendants = true
1653Bar_5.Position = UDim2.new(0, -2, 0, -2)
1654Bar_5.Size = UDim2.new(0, 10, 0, 19)
1655Bar_5.Font = Enum.Font.SourceSans
1656Bar_5.Text = ""
1657Bar_5.TextSize = 14
1658
1659ToSave.Name = "ToSave"
1660ToSave.Parent = SaveMapWindow
1661ToSave.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1662ToSave.BackgroundTransparency = 1
1663ToSave.Position = UDim2.new(0, 0, 0, 17)
1664ToSave.Size = UDim2.new(1, 0, 0, 20)
1665ToSave.Font = Enum.Font.SourceSans
1666ToSave.Text = "To Save"
1667ToSave.TextColor3 = Color3.fromRGB(255, 255, 255)
1668ToSave.TextSize = 18
1669
1670CopyList.Name = "CopyList"
1671CopyList.Parent = SaveMapWindow
1672CopyList.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1673CopyList.BackgroundTransparency = 0.4
1674CopyList.BorderSizePixel = 0
1675CopyList.Position = UDim2.new(0, 0, 0, 37)
1676CopyList.Size = UDim2.new(1, 0, 0, 163)
1677
1678Bottom.Name = "Bottom"
1679Bottom.Parent = SaveMapWindow
1680Bottom.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
1681Bottom.BorderColor3 = Color3.fromRGB(30, 30, 30)
1682Bottom.BorderSizePixel = 0
1683Bottom.Position = UDim2.new(0, 0, 1, -50)
1684Bottom.Size = UDim2.new(1, 0, 0, 50)
1685
1686TextLabel_4.Parent = Bottom
1687TextLabel_4.BackgroundTransparency = 1
1688TextLabel_4.Position = UDim2.new(0, 4, 0, 0)
1689TextLabel_4.Size = UDim2.new(1, -4, 1, 0)
1690TextLabel_4.Font = Enum.Font.SourceSans
1691TextLabel_4.Text = "After the map saves, open a new place on studio, then right click Lighting and \"Insert from file...\", then select your file and run the unpacker script inside the folder."
1692TextLabel_4.TextColor3 = Color3.fromRGB(255, 255, 255)
1693TextLabel_4.TextSize = 14
1694TextLabel_4.TextWrapped = true
1695TextLabel_4.TextXAlignment = Enum.TextXAlignment.Left
1696TextLabel_4.TextYAlignment = Enum.TextYAlignment.Top
1697
1698Save_2.Name = "Save"
1699Save_2.Parent = SaveMapWindow
1700Save_2.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
1701Save_2.BackgroundTransparency = 0.4
1702Save_2.BorderColor3 = Color3.fromRGB(0, 0, 0)
1703Save_2.BorderSizePixel = 0
1704Save_2.Position = UDim2.new(0, 0, 1, -80)
1705Save_2.Size = UDim2.new(1, 0, 0, 30)
1706Save_2.Font = Enum.Font.SourceSans
1707Save_2.Text = "Save"
1708Save_2.TextColor3 = Color3.fromRGB(255, 255, 255)
1709Save_2.TextSize = 18
1710
1711FileName_2.Name = "FileName"
1712FileName_2.Parent = SaveMapWindow
1713FileName_2.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1714FileName_2.BackgroundTransparency = 0.4
1715FileName_2.BorderSizePixel = 0
1716FileName_2.Position = UDim2.new(0, 0, 1, -105)
1717FileName_2.Size = UDim2.new(1, 0, 0, 25)
1718FileName_2.Font = Enum.Font.SourceSans
1719FileName_2.Text = " PlaceName"
1720FileName_2.TextColor3 = Color3.fromRGB(255, 255, 255)
1721FileName_2.TextSize = 18
1722FileName_2.TextXAlignment = Enum.TextXAlignment.Left
1723
1724Entry_2.Name = "Entry"
1725Entry_2.Parent = SaveMapWindow
1726Entry_2.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1727Entry_2.BackgroundTransparency = 1
1728Entry_2.BorderSizePixel = 0
1729Entry_2.Size = UDim2.new(1, 0, 0, 22)
1730Entry_2.Visible = false
1731
1732Change_6.Name = "Change"
1733Change_6.Parent = Entry_2
1734Change_6.BackgroundColor3 = Color3.fromRGB(255, 149, 0)
1735Change_6.BackgroundTransparency = 0.6
1736Change_6.Position = UDim2.new(0, 10, 0, 1)
1737Change_6.Size = UDim2.new(0, 20, 0, 20)
1738Change_6.ZIndex = 2
1739Change_6.Font = Enum.Font.SourceSans
1740Change_6.Text = ""
1741Change_6.TextColor3 = Color3.fromRGB(255, 255, 255)
1742Change_6.TextSize = 18
1743
1744enabled_3.Name = "enabled"
1745enabled_3.Parent = Change_6
1746enabled_3.BackgroundColor3 = Color3.fromRGB(209, 125, 0)
1747enabled_3.BackgroundTransparency = 0.4
1748enabled_3.BorderSizePixel = 0
1749enabled_3.Position = UDim2.new(0, 3, 0, 3)
1750enabled_3.Size = UDim2.new(0, 14, 0, 14)
1751enabled_3.Font = Enum.Font.SourceSans
1752enabled_3.Text = ""
1753enabled_3.TextColor3 = Color3.fromRGB(255, 255, 255)
1754enabled_3.TextSize = 14
1755
1756Info.Name = "Info"
1757Info.Parent = Entry_2
1758Info.BackgroundTransparency = 1
1759Info.Position = UDim2.new(0, 40, 0, 0)
1760Info.Size = UDim2.new(1, -40, 0, 22)
1761Info.Font = Enum.Font.SourceSans
1762Info.Text = "Workspace"
1763Info.TextColor3 = Color3.fromRGB(255, 255, 255)
1764Info.TextSize = 18
1765Info.TextXAlignment = Enum.TextXAlignment.Left
1766
1767RemoteDebugWindow.Name = "RemoteDebugWindow"
1768RemoteDebugWindow.Parent = ROBLOX
1769RemoteDebugWindow.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1770RemoteDebugWindow.BorderColor3 = Color3.fromRGB(191, 191, 191)
1771RemoteDebugWindow.BorderSizePixel = 0
1772RemoteDebugWindow.Position = UDim2.new(1, 0, 0, 1)
1773RemoteDebugWindow.Size = UDim2.new(0, 300, 1, 0)
1774
1775Header_4.Name = "Header"
1776Header_4.Parent = RemoteDebugWindow
1777Header_4.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1778Header_4.BorderColor3 = Color3.fromRGB(30, 30, 30)
1779Header_4.Size = UDim2.new(1, 0, 0, 17)
1780
1781TextLabel_5.Parent = Header_4
1782TextLabel_5.BackgroundTransparency = 1
1783TextLabel_5.Position = UDim2.new(0, 4, 0, 0)
1784TextLabel_5.Size = UDim2.new(1, -4, 1, 0)
1785TextLabel_5.Font = Enum.Font.SourceSans
1786TextLabel_5.Text = "Remote Debugger"
1787TextLabel_5.TextColor3 = Color3.fromRGB(255, 255, 255)
1788TextLabel_5.TextSize = 14
1789TextLabel_5.TextXAlignment = Enum.TextXAlignment.Left
1790
1791Desc_5.Name = "Desc"
1792Desc_5.Parent = RemoteDebugWindow
1793Desc_5.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1794Desc_5.BackgroundTransparency = 1
1795Desc_5.Position = UDim2.new(0, 0, 0, 20)
1796Desc_5.Size = UDim2.new(1, 0, 0, 40)
1797Desc_5.Font = Enum.Font.SourceSans
1798Desc_5.Text = "Have fun with remotes"
1799Desc_5.TextColor3 = Color3.fromRGB(255, 255, 255)
1800Desc_5.TextSize = 32
1801Desc_5.TextWrapped = true
1802
1803AboutWindow.Name = "AboutWindow"
1804AboutWindow.Parent = ROBLOX
1805AboutWindow.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1806AboutWindow.BorderColor3 = Color3.fromRGB(191, 191, 191)
1807AboutWindow.BorderSizePixel = 0
1808AboutWindow.Position = UDim2.new(1, 0, 0, 1)
1809AboutWindow.Size = UDim2.new(0, 300, 1, 0)
1810
1811Header_5.Name = "Header"
1812Header_5.Parent = AboutWindow
1813Header_5.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
1814Header_5.BorderColor3 = Color3.fromRGB(30, 30, 30)
1815Header_5.Size = UDim2.new(1, 0, 0, 17)
1816
1817TextLabel_6.Parent = Header_5
1818TextLabel_6.BackgroundTransparency = 1
1819TextLabel_6.Position = UDim2.new(0, 4, 0, 0)
1820TextLabel_6.Size = UDim2.new(1, -4, 1, 0)
1821TextLabel_6.Font = Enum.Font.SourceSans
1822TextLabel_6.Text = "About"
1823TextLabel_6.TextColor3 = Color3.fromRGB(255, 255, 255)
1824TextLabel_6.TextSize = 14
1825TextLabel_6.TextXAlignment = Enum.TextXAlignment.Left
1826
1827Desc_6.Name = "Desc"
1828Desc_6.Parent = AboutWindow
1829Desc_6.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1830Desc_6.BackgroundTransparency = 1
1831Desc_6.Position = UDim2.new(0.1, 0, 0.1, 0)
1832Desc_6.Size = UDim2.new(0.8, 0, 0, 200)
1833Desc_6.Font = Enum.Font.SourceSans
1834Desc_6.Text = "Dex v2.0"
1835Desc_6.TextColor3 = Color3.fromRGB(255, 255, 255)
1836Desc_6.TextSize = 24
1837Desc_6.TextWrapped = true
1838
1839local NewGuiPart153 = Instance.new("BindableFunction")
1840local NewGuiPart154 = Instance.new("BindableFunction")
1841local NewGuiPart155 = Instance.new("BindableFunction")
1842local NewGuiPart156 = Instance.new("BindableFunction")
1843local NewGuiPart157 = Instance.new("BindableEvent")
1844local NewGuiPart158 = Instance.new("BindableFunction")
1845local NewGuiPart159 = Instance.new("BindableFunction")
1846local NewGuiPart160 = Instance.new("BindableEvent")
1847local NewGuiPart161 = Instance.new("BindableFunction")
1848local NewGuiPart162 = Instance.new("BindableFunction")
1849local NewGuiPart163 = Instance.new("BindableEvent")
1850
1851NewGuiPart158.Name = "GetApi"
1852NewGuiPart158.Parent = PropertiesFrame
1853NewGuiPart158.Archivable = true
1854
1855NewGuiPart159.Name = "GetAwaiting"
1856NewGuiPart159.Parent = PropertiesFrame
1857NewGuiPart159.Archivable = true
1858
1859NewGuiPart160.Name = "SetAwaiting"
1860NewGuiPart160.Parent = PropertiesFrame
1861NewGuiPart160.Archivable = true
1862
1863NewGuiPart153.Name = "GetOption"
1864NewGuiPart153.Parent = ExplorerPanel
1865NewGuiPart153.Archivable = true
1866
1867NewGuiPart154.Name = "GetSelection"
1868NewGuiPart154.Parent = ExplorerPanel
1869NewGuiPart154.Archivable = true
1870
1871NewGuiPart155.Name = "SetOption"
1872NewGuiPart155.Parent = ExplorerPanel
1873NewGuiPart155.Archivable = true
1874
1875NewGuiPart156.Name = "SetSelection"
1876NewGuiPart156.Parent = ExplorerPanel
1877NewGuiPart156.Archivable = true
1878
1879NewGuiPart157.Name = "SelectionChanged"
1880NewGuiPart157.Parent = ExplorerPanel
1881NewGuiPart157.Archivable = true
1882
1883NewGuiPart161.Name = "GetSetting"
1884NewGuiPart161.Parent = RemoteDebugWindow
1885NewGuiPart161.Archivable = true
1886
1887NewGuiPart162.Name = "GetSetting"
1888NewGuiPart162.Parent = SettingsPanel
1889NewGuiPart162.Archivable = true
1890
1891NewGuiPart163.Name = "OpenScript"
1892NewGuiPart163.Parent = ScriptEditor
1893NewGuiPart163.Archivable = true
1894
1895return ROBLOX
1896end
1897
1898local D_E_X = CreateGui()
1899D_E_X.Parent = game.CoreGui.RobloxGui;
1900
1901spawn(function()
1902
1903local Gui = D_E_X
1904
1905local IntroFrame = Gui:WaitForChild("IntroFrame")
1906
1907local SideMenu = Gui:WaitForChild("SideMenu")
1908local OpenToggleButton = Gui:WaitForChild("Toggle")
1909local CloseToggleButton = SideMenu:WaitForChild("Toggle")
1910local OpenScriptEditorButton = SideMenu:WaitForChild("OpenScriptEditor")
1911
1912local ScriptEditor = Gui:WaitForChild("ScriptEditor")
1913
1914local SlideOut = SideMenu:WaitForChild("SlideOut")
1915local SlideFrame = SlideOut:WaitForChild("SlideFrame")
1916local Slant = SideMenu:WaitForChild("Slant")
1917
1918local ExplorerButton = SlideFrame:WaitForChild("Explorer")
1919local SettingsButton = SlideFrame:WaitForChild("Settings")
1920
1921local SelectionBox = Instance.new("SelectionBox")
1922SelectionBox.Parent = Gui
1923
1924local ExplorerPanel = Gui:WaitForChild("ExplorerPanel")
1925local PropertiesFrame = Gui:WaitForChild("PropertiesFrame")
1926local SaveMapWindow = Gui:WaitForChild("SaveMapWindow")
1927local RemoteDebugWindow = Gui:WaitForChild("RemoteDebugWindow")
1928local AboutWindow = Gui:WaitForChild("AboutWindow")
1929
1930local SettingsPanel = Gui:WaitForChild("SettingsPanel")
1931local SettingsListener = SettingsPanel:WaitForChild("GetSetting")
1932local SettingTemplate = SettingsPanel:WaitForChild("SettingTemplate")
1933local SettingList = SettingsPanel:WaitForChild("SettingList")
1934
1935local SaveMapCopyList = SaveMapWindow:WaitForChild("CopyList")
1936local SaveMapSettingFrame = SaveMapWindow:WaitForChild("MapSettings")
1937local SaveMapName = SaveMapWindow:WaitForChild("FileName")
1938local SaveMapButton = SaveMapWindow:WaitForChild("Save")
1939local SaveMapCopyTemplate = SaveMapWindow:WaitForChild("Entry")
1940local SaveMapSettings = {
1941 CopyWhat = {
1942 Workspace = true,
1943 Lighting = true,
1944 ReplicatedStorage = true,
1945 ReplicatedFirst = true,
1946 StarterPack = true,
1947 StarterGui = true,
1948 StarterPlayer = true
1949 },
1950 SaveScripts = true,
1951 SaveTerrain = true,
1952 LightingProperties = true,
1953 CameraInstances = true
1954}
1955
1956local SelectionChanged = ExplorerPanel:WaitForChild("SelectionChanged")
1957local GetSelection = ExplorerPanel:WaitForChild("GetSelection")
1958local SetSelection = ExplorerPanel:WaitForChild("SetSelection")
1959
1960local Player = game:GetService("Players").LocalPlayer
1961local Mouse = Player:GetMouse()
1962
1963local CurrentWindow = "Nothing c:"
1964local Windows = {
1965 Explorer = {
1966 ExplorerPanel,
1967 PropertiesFrame
1968 },
1969 Settings = {SettingsPanel},
1970 SaveMap = {SaveMapWindow},
1971 Remotes = {RemoteDebugWindow},
1972 About = {AboutWindow}
1973}
1974
1975function switchWindows(wName,over)
1976 if CurrentWindow == wName and not over then return end
1977
1978 local count = 0
1979
1980 for i,v in pairs(Windows) do
1981 count = 0
1982 if i ~= wName then
1983 for _,c in pairs(v) do c:TweenPosition(UDim2.new(1, 30, c.Position.Y.Scale, c.Position.Y.Offset), "Out", "Quad", 0.5, true) count = count + 1 end
1984 -- for _,c in pairs(v) do c:TweenPosition(UDim2.new(1, 30, count * 0.5, count * 36), "Out", "Quad", 0.5, true) count = count + 1 end
1985 end
1986 end
1987
1988 count = 0
1989
1990 if Windows[wName] then
1991 for _,c in pairs(Windows[wName]) do c:TweenPosition(UDim2.new(1, -300, c.Position.Y.Scale, c.Position.Y.Offset), "Out", "Quad", 0.5, true) count = count + 1 end
1992 -- for _,c in pairs(Windows[wName]) do c:TweenPosition(UDim2.new(1, -300, count * 0.5, count * 36), "Out", "Quad", 0.5, true) count = count + 1 end
1993 end
1994
1995 if wName ~= "Nothing c:" then
1996 CurrentWindow = wName
1997 for i,v in pairs(SlideFrame:GetChildren()) do
1998 v.AutoButtonColor = false;
1999 v.BackgroundTransparency = 1
2000 v.Icon.ImageColor3 = Color3.fromRGB(185, 185, 185)
2001 end
2002 if SlideFrame:FindFirstChild(wName) then
2003 -- SlideFrame[wName].BackgroundTransparency = 1
2004 SlideFrame[wName].Icon.ImageColor3 = Color3.new(255,255,255)
2005 end
2006 end
2007end
2008
2009function toggleDex(on)
2010 if on then
2011 SideMenu:TweenPosition(UDim2.new(1, -330, 0, 0), "Out", "Quad", 0.5, true)
2012 OpenToggleButton:TweenPosition(UDim2.new(1,0,0,0), "Out", "Quad", 0.5, true)
2013 switchWindows(CurrentWindow,true)
2014 else
2015 SideMenu:TweenPosition(UDim2.new(1, 0, 0, 0), "Out", "Quad", 0.5, true)
2016 OpenToggleButton:TweenPosition(UDim2.new(1,-30,0,0), "Out", "Quad", 0.5, true)
2017 switchWindows("Nothing c:")
2018 end
2019end
2020
2021local Settings = {
2022 ClickSelect = false;
2023 SelBox = false;
2024 ClearProps = false;
2025 SelectUngrouped = true;
2026 SaveInstanceScripts = true;
2027}
2028
2029function ReturnSetting(set)
2030 if set == "ClearProps" then
2031 return Settings.ClearProps
2032 elseif set == "SelectUngrouped" then
2033 return Settings.SelectUngrouped
2034 end
2035end
2036
2037OpenToggleButton.MouseButton1Up:connect(function()
2038 toggleDex(true)
2039end)
2040
2041OpenScriptEditorButton.MouseButton1Up:connect(function()
2042 if OpenScriptEditorButton.Active then
2043 ScriptEditor.Visible = true
2044 end
2045end)
2046
2047CloseToggleButton.MouseButton1Up:connect(function()
2048 if CloseToggleButton.Active then
2049 toggleDex(false)
2050 end
2051end)
2052
2053for i,v in pairs(SlideFrame:GetChildren()) do
2054 v.MouseButton1Click:connect(function()
2055 switchWindows(v.Name)
2056 end)
2057
2058 -- v.MouseEnter:connect(function()v.BackgroundTransparency = 0.5 end)
2059 -- v.MouseLeave:connect(function()if CurrentWindow~=v.Name then v.BackgroundTransparency = 1 end end)
2060end
2061
2062
2063function createSetting(name, interName, defaultOn, func)
2064 local newSetting = SettingTemplate:Clone()
2065 newSetting.Position = UDim2.new(0,0,0,#SettingList:GetChildren() * 60)
2066 newSetting.SName.Text = name
2067
2068 local function toggle(on)
2069 if on then
2070 newSetting.Change.Bar:TweenPosition(UDim2.new(0,32,0,-2),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
2071 newSetting.Change.OnBar:TweenSize(UDim2.new(0,34,0,15),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
2072 newSetting.Status.Text = "On"
2073 Settings[interName] = true
2074 else
2075 newSetting.Change.Bar:TweenPosition(UDim2.new(0,-2,0,-2),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
2076 newSetting.Change.OnBar:TweenSize(UDim2.new(0,0,0,15),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
2077 newSetting.Status.Text = "Off"
2078 Settings[interName] = false
2079 end
2080 end
2081
2082 newSetting.Change.MouseButton1Click:connect(function()
2083 toggle(not Settings[interName])
2084 if func then pcall(func, Settings[interName]) end
2085 end)
2086
2087 newSetting.Visible = true
2088 newSetting.Parent = SettingList
2089
2090 if defaultOn then
2091 toggle(true)
2092 end
2093end
2094
2095createSetting("Click part to select","ClickSelect",false)
2096createSetting("Selection Box","SelBox",false)
2097createSetting("Clear property value on focus","ClearProps",false)
2098createSetting("Select ungrouped models","SelectUngrouped",true)
2099createSetting("SaveInstance decompiles scripts","SaveInstanceScripts",true)
2100
2101local function getSelection()
2102 local t = GetSelection:Invoke()
2103 if t and #t > 0 then
2104 return t[1]
2105 else
2106 return nil
2107 end
2108end
2109
2110Mouse.Button1Down:connect(function()
2111 if CurrentWindow == "Explorer" and Settings.ClickSelect then
2112 local target = Mouse.Target
2113 if target then
2114 SetSelection:Invoke({target})
2115 end
2116 end
2117end)
2118
2119SelectionChanged.Event:connect(function()
2120 if Settings.SelBox then
2121 local success,err = pcall(function()
2122 local selection = getSelection()
2123 SelectionBox.Adornee = selection
2124 end)
2125 if err then
2126 SelectionBox.Adornee = nil
2127 end
2128 end
2129end)
2130
2131SettingsListener.OnInvoke = ReturnSetting
2132
2133-- Map Copier
2134
2135function createMapSetting(obj,interName,defaultOn)
2136 local function toggle(on)
2137 if on then
2138 obj.Change.Bar:TweenPosition(UDim2.new(0,32,0,-2),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
2139 obj.Change.OnBar:TweenSize(UDim2.new(0,34,0,15),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
2140 obj.Status.Text = "On"
2141 SaveMapSettings[interName] = true
2142 else
2143 obj.Change.Bar:TweenPosition(UDim2.new(0,-2,0,-2),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
2144 obj.Change.OnBar:TweenSize(UDim2.new(0,0,0,15),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
2145 obj.Status.Text = "Off"
2146 SaveMapSettings[interName] = false
2147 end
2148 end
2149
2150 obj.Change.MouseButton1Click:connect(function()
2151 toggle(not SaveMapSettings[interName])
2152 end)
2153
2154 obj.Visible = true
2155 obj.Parent = SaveMapSettingFrame
2156
2157 if defaultOn then
2158 toggle(true)
2159 end
2160end
2161
2162function createCopyWhatSetting(serv)
2163 if SaveMapSettings.CopyWhat[serv] then
2164 local newSetting = SaveMapCopyTemplate:Clone()
2165 newSetting.Position = UDim2.new(0,0,0,#SaveMapCopyList:GetChildren() * 22 + 5)
2166 newSetting.Info.Text = serv
2167
2168 local function toggle(on)
2169 if on then
2170 newSetting.Change.enabled.Visible = true
2171 SaveMapSettings.CopyWhat[serv] = true
2172 else
2173 newSetting.Change.enabled.Visible = false
2174 SaveMapSettings.CopyWhat[serv] = false
2175 end
2176 end
2177
2178 newSetting.Change.MouseButton1Click:connect(function()
2179 toggle(not SaveMapSettings.CopyWhat[serv])
2180 end)
2181
2182 newSetting.Visible = true
2183 newSetting.Parent = SaveMapCopyList
2184 end
2185end
2186
2187createMapSetting(SaveMapSettingFrame.Scripts,"SaveScripts",true)
2188createMapSetting(SaveMapSettingFrame.Terrain,"SaveTerrain",true)
2189createMapSetting(SaveMapSettingFrame.Lighting,"LightingProperties",true)
2190createMapSetting(SaveMapSettingFrame.CameraInstances,"CameraInstances",true)
2191
2192createCopyWhatSetting("Workspace")
2193createCopyWhatSetting("Lighting")
2194createCopyWhatSetting("ReplicatedStorage")
2195createCopyWhatSetting("ReplicatedFirst")
2196createCopyWhatSetting("StarterPack")
2197createCopyWhatSetting("StarterGui")
2198createCopyWhatSetting("StarterPlayer")
2199
2200SaveMapName.Text = tostring(game.PlaceId).."MapCopy"
2201
2202SaveMapButton.MouseButton1Click:connect(function()
2203 local copyWhat = {}
2204
2205 local copyGroup = Instance.new("Model",game:GetService'ReplicatedStorage')
2206
2207 local copyScripts = SaveMapSettings.SaveScripts
2208
2209 local copyTerrain = SaveMapSettings.SaveTerrain
2210
2211 local lightingProperties = SaveMapSettings.LightingProperties
2212
2213 local cameraInstances = SaveMapSettings.CameraInstances
2214
2215 -----------------------------------------------------------------------------------
2216
2217 for i,v in pairs(SaveMapSettings.CopyWhat) do
2218 if v then
2219 table.insert(copyWhat,i)
2220 end
2221 end
2222
2223 local consoleFunc = printconsole or writeconsole
2224
2225 if consoleFunc then
2226 consoleFunc("Raspberry Pi's place copier loaded.")
2227 consoleFunc("Copying map of game "..tostring(game.PlaceId)..".")
2228 end
2229
2230 function archivable(root)
2231 for i,v in pairs(root:GetChildren()) do
2232 if not game:GetService'Players':GetPlayerFromCharacter(v) then
2233 v.Archivable = true
2234 archivable(v)
2235 end
2236 end
2237 end
2238
2239 function decompileS(root)
2240 for i,v in pairs(root:GetChildren()) do
2241 pcall(function()
2242 if v:IsA("LocalScript") then
2243 local isDisabled = v.Disabled
2244 v.Disabled = true
2245 v.Source = decompile(v)
2246 v.Disabled = isDisabled
2247
2248 if v.Source == "" then
2249 if consoleFunc then consoleFunc("LocalScript "..v.Name.." had a problem decompiling.") end
2250 else
2251 if consoleFunc then consoleFunc("LocalScript "..v.Name.." decompiled.") end
2252 end
2253 elseif v:IsA("ModuleScript") then
2254 v.Source = decompile(v)
2255
2256 if v.Source == "" then
2257 if consoleFunc then consoleFunc("ModuleScript "..v.Name.." had a problem decompiling.") end
2258 else
2259 if consoleFunc then consoleFunc("ModuleScript "..v.Name.." decompiled.") end
2260 end
2261 end
2262 end)
2263 decompileS(v)
2264 end
2265 end
2266
2267 for i,v in pairs(copyWhat) do archivable(game[v]) end
2268
2269 for j,obj in pairs(copyWhat) do
2270 if obj ~= "StarterPlayer" then
2271 local newFolder = Instance.new("Folder",copyGroup)
2272 newFolder.Name = obj
2273 for i,v in pairs(game[obj]:GetChildren()) do
2274 if v ~= copyGroup then
2275 pcall(function()
2276 v:Clone().Parent = newFolder
2277 end)
2278 end
2279 end
2280 else
2281 local newFolder = Instance.new("Model",copyGroup)
2282 newFolder.Name = "StarterPlayer"
2283 for i,v in pairs(game[obj]:GetChildren()) do
2284 local newObj = Instance.new("Folder",newFolder)
2285 newObj.Name = v.Name
2286 for _,c in pairs(v:GetChildren()) do
2287 if c.Name ~= "ControlScript" and c.Name ~= "CameraScript" then
2288 c:Clone().Parent = newObj
2289 end
2290 end
2291 end
2292 end
2293 end
2294
2295 if workspace.CurrentCamera and cameraInstances then
2296 local cameraFolder = Instance.new("Model",copyGroup)
2297 cameraFolder.Name = "CameraItems"
2298 for i,v in pairs(workspace.CurrentCamera:GetChildren()) do v:Clone().Parent = cameraFolder end
2299 end
2300
2301 if copyTerrain then
2302 local myTerrain = workspace.Terrain:CopyRegion(workspace.Terrain.MaxExtents)
2303 myTerrain.Parent = copyGroup
2304 end
2305
2306 function saveProp(obj,prop,par)
2307 local myProp = obj[prop]
2308 if type(myProp) == "boolean" then
2309 local newProp = Instance.new("BoolValue",par)
2310 newProp.Name = prop
2311 newProp.Value = myProp
2312 elseif type(myProp) == "number" then
2313 local newProp = Instance.new("IntValue",par)
2314 newProp.Name = prop
2315 newProp.Value = myProp
2316 elseif type(myProp) == "string" then
2317 local newProp = Instance.new("StringValue",par)
2318 newProp.Name = prop
2319 newProp.Value = myProp
2320 elseif type(myProp) == "userdata" then -- Assume Color3
2321 pcall(function()
2322 local newProp = Instance.new("Color3Value",par)
2323 newProp.Name = prop
2324 newProp.Value = myProp
2325 end)
2326 end
2327 end
2328
2329 if lightingProperties then
2330 local lightingProps = Instance.new("Model",copyGroup)
2331 lightingProps.Name = "LightingProperties"
2332
2333 saveProp(game:GetService'Lighting',"Ambient",lightingProps)
2334 saveProp(game:GetService'Lighting',"Brightness",lightingProps)
2335 saveProp(game:GetService'Lighting',"ColorShift_Bottom",lightingProps)
2336 saveProp(game:GetService'Lighting',"ColorShift_Top",lightingProps)
2337 saveProp(game:GetService'Lighting',"GlobalShadows",lightingProps)
2338 saveProp(game:GetService'Lighting',"OutdoorAmbient",lightingProps)
2339 saveProp(game:GetService'Lighting',"Outlines",lightingProps)
2340 saveProp(game:GetService'Lighting',"GeographicLatitude",lightingProps)
2341 saveProp(game:GetService'Lighting',"TimeOfDay",lightingProps)
2342 saveProp(game:GetService'Lighting',"FogColor",lightingProps)
2343 saveProp(game:GetService'Lighting',"FogEnd",lightingProps)
2344 saveProp(game:GetService'Lighting',"FogStart",lightingProps)
2345 end
2346
2347 if decompile and copyScripts then
2348 decompileS(copyGroup)
2349 end
2350
2351 if SaveInstance then
2352 SaveInstance(copyGroup,SaveMapName.Text..".rbxm")
2353 elseif saveinstance then
2354 saveinstance(SaveMapName.Text..".rbxm", copyGroup)
2355 end
2356 --print("Saved!")
2357 if consoleFunc then
2358 consoleFunc("The map has been copied.")
2359 end
2360 SaveMapButton.Text = "The map has been saved"
2361 wait(5)
2362 SaveMapButton.Text = "Save"
2363end)
2364
2365-- End Copier
2366
2367wait()
2368
2369IntroFrame:TweenPosition(UDim2.new(1,-300,0,0),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.5,true)
2370
2371switchWindows("Explorer")
2372
2373wait(1)
2374
2375SideMenu.Visible = true
2376
2377for i = 0,1,0.1 do
2378 IntroFrame.BackgroundTransparency = i
2379 IntroFrame.Main.BackgroundTransparency = i
2380 IntroFrame.Slant.ImageLabel.ImageTransparency = i
2381 IntroFrame.Title.TextTransparency = i
2382 IntroFrame.Version.TextTransparency = i
2383 IntroFrame.Creator.TextTransparency = i
2384 wait()
2385end
2386
2387IntroFrame.Visible = false
2388
2389SlideFrame:TweenPosition(UDim2.new(0,0,0,0),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.5,true)
2390OpenScriptEditorButton:TweenPosition(UDim2.new(0,0,0,180),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.5,true)
2391CloseToggleButton:TweenPosition(UDim2.new(0,0,0,210),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.5,true)
2392Slant:TweenPosition(UDim2.new(0,0,0,240),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.5,true)
2393
2394wait(0.5)
2395
2396for i = 1,0,-0.1 do
2397 OpenScriptEditorButton.Icon.ImageTransparency = i
2398 CloseToggleButton.TextTransparency = i
2399 wait()
2400end
2401
2402CloseToggleButton.Active = true
2403CloseToggleButton.AutoButtonColor = true
2404
2405OpenScriptEditorButton.Active = true
2406OpenScriptEditorButton.AutoButtonColor = true
2407end)
2408spawn(function()
2409 -- initial states
2410local Option = {
2411 -- can modify object parents in the hierarchy
2412 Modifiable = false;
2413 -- can select objects
2414 Selectable = true;
2415}
2416
2417-- MERELY
2418
2419Option.Modifiable = true
2420
2421-- END MERELY
2422
2423-- general size of GUI objects, in pixels
2424local GUI_SIZE = 16
2425-- padding between items within each entry
2426local ENTRY_PADDING = 1
2427-- padding between each entry
2428local ENTRY_MARGIN = 1
2429
2430local Input = game:GetService("UserInputService")
2431local HoldingCtrl = false
2432local HoldingShift = false
2433
2434--[[
2435
2436# Explorer Panel
2437
2438A GUI panel that displays the game hierarchy.
2439
2440
2441## Selection Bindables
2442
2443- `Function GetSelection ( )`
2444
2445 Returns an array of objects representing the objects currently
2446 selected in the panel.
2447
2448- `Function SetSelection ( Objects selection )`
2449
2450 Sets the objects that are selected in the panel. `selection` is an array
2451 of objects.
2452
2453- `Event SelectionChanged ( )`
2454
2455 Fired after the selection changes.
2456
2457
2458## Option Bindables
2459
2460- `Function GetOption ( string optionName )`
2461
2462 If `optionName` is given, returns the value of that option. Otherwise,
2463 returns a table of options and their current values.
2464
2465- `Function SetOption ( string optionName, bool value )`
2466
2467 Sets `optionName` to `value`.
2468
2469 Options:
2470
2471 - Modifiable
2472
2473 Whether objects can be modified by the panel.
2474
2475 Note that modifying objects depends on being able to select them. If
2476 Selectable is false, then Actions will not be available. Reparenting
2477 is still possible, but only for the dragged object.
2478
2479 - Selectable
2480
2481 Whether objects can be selected.
2482
2483 If Modifiable is false, then left-clicking will perform a drag
2484 selection.
2485
2486## Updates
2487
2488- 2013-09-18
2489 - Fixed explorer icons to match studio explorer.
2490
2491- 2013-09-14
2492 - Added GetOption and SetOption bindables.
2493 - Option: Modifiable; sets whether objects can be modified by the panel.
2494 - Option: Selectable; sets whether objects can be selected.
2495 - Slight modification to left-click selection behavior.
2496 - Improved layout and scaling.
2497
2498- 2013-09-13
2499 - Added drag to reparent objects.
2500 - Left-click to select/deselect object.
2501 - Left-click and drag unselected object to reparent single object.
2502 - Left-click and drag selected object to move reparent entire selection.
2503 - Right-click while dragging to cancel.
2504
2505- 2013-09-11
2506 - Added explorer panel header with actions.
2507 - Added Cut action.
2508 - Added Copy action.
2509 - Added Paste action.
2510 - Added Delete action.
2511 - Added drag selection.
2512 - Left-click: Add to selection on drag.
2513 - Right-click: Add to or remove from selection on drag.
2514 - Ensured SelectionChanged fires only when the selection actually changes.
2515 - Added documentation and change log.
2516 - Fixed thread issue.
2517
2518- 2013-09-09
2519 - Added basic multi-selection.
2520 - Left-click to set selection.
2521 - Right-click to add to or remove from selection.
2522 - Removed "Selection" ObjectValue.
2523 - Added GetSelection BindableFunction.
2524 - Added SetSelection BindableFunction.
2525 - Added SelectionChanged BindableEvent.
2526 - Changed font to SourceSans.
2527
2528- 2013-08-31
2529 - Improved GUI sizing based off of `GUI_SIZE` constant.
2530 - Automatic font size detection.
2531
2532- 2013-08-27
2533 - Initial explorer panel.
2534
2535
2536## Todo
2537
2538- Sorting
2539 - by ExplorerOrder
2540 - by children
2541 - by name
2542- Drag objects to reparent
2543
2544]]
2545
2546local ENTRY_SIZE = GUI_SIZE + ENTRY_PADDING*2
2547local ENTRY_BOUND = ENTRY_SIZE + ENTRY_MARGIN
2548local HEADER_SIZE = ENTRY_SIZE*2
2549
2550local FONT = 'SourceSans'
2551local FONT_SIZE do
2552 local size = {8,9,10,11,12,14,18,24,36,48}
2553 local s
2554 local n = math.huge
2555 for i = 1,#size do
2556 if size[i] <= GUI_SIZE then
2557 FONT_SIZE = i - 1
2558 end
2559 end
2560end
2561
2562local GuiColor = {
2563 Background = Color3.fromRGB( 43, 43, 43);
2564 Border = Color3.fromRGB( 20, 20, 20);
2565 Selected = Color3.fromRGB(215, 125, 0);
2566 BorderSelected = Color3.fromRGB(188, 118, 4);
2567 Text = Color3.fromRGB(245, 245, 245);
2568 TextDisabled = Color3.fromRGB(188, 188, 188);
2569 TextSelected = Color3.fromRGB(255, 255, 255);
2570 Button = Color3.fromRGB( 33, 33, 33);
2571 ButtonBorder = Color3.fromRGB(133, 133, 133);
2572 ButtonSelected = Color3.fromRGB(255, 188, 0);
2573 Field = Color3.fromRGB( 43, 43, 43);
2574 FieldBorder = Color3.fromRGB( 50, 50, 50);
2575 TitleBackground = Color3.fromRGB( 11, 11, 11);
2576}
2577
2578--[[
2579Background = Color3.fromRGB(233, 233, 233);
2580Border = Color3.fromRGB(149, 149, 149);
2581Selected = Color3.fromRGB( 96, 140, 211);
2582BorderSelected = Color3.fromRGB( 86, 125, 188);
2583Text = Color3.fromRGB( 0, 0, 0);
2584TextDisabled = Color3.fromRGB(128, 128, 128);
2585TextSelected = Color3.fromRGB(255, 255, 255);
2586Button = Color3.fromRGB(221, 221, 221);
2587ButtonBorder = Color3.fromRGB(149, 149, 149);
2588ButtonSelected = Color3.fromRGB(255, 0, 0);
2589Field = Color3.fromRGB(255, 255, 255);
2590FieldBorder = Color3.fromRGB(191, 191, 191);
2591TitleBackground = Color3.fromRGB(178, 178, 178);
2592]]
2593
2594----------------------------------------------------------------
2595----------------------------------------------------------------
2596----------------------------------------------------------------
2597----------------------------------------------------------------
2598---- Icon map constants
2599
2600local MAP_ID = 483448923
2601
2602-- Indices based on implementation of Icon function.
2603local ACTION_CUT = 160
2604local ACTION_COPY = 161
2605local ACTION_PASTE = 162
2606local ACTION_DELETE = 163
2607local ACTION_SORT = 164
2608local ACTION_CUT_OVER = 174
2609local ACTION_COPY_OVER = 175
2610local ACTION_PASTE_OVER = 176
2611local ACTION_DELETE_OVER = 177
2612local ACTION_SORT_OVER = 178
2613local ACTION_EDITQUICKACCESS = 190
2614local ACTION_FREEZE = 188
2615local ACTION_STARRED = 189
2616local ACTION_ADDSTAR = 184
2617local ACTION_ADDSTAR_OVER = 187
2618
2619local NODE_COLLAPSED = 165
2620local NODE_EXPANDED = 166
2621local NODE_COLLAPSED_OVER = 179
2622local NODE_EXPANDED_OVER = 180
2623
2624local ExplorerIndex = {
2625 ["Accessory"] = 32;
2626 ["Accoutrement"] = 32;
2627 ["AdService"] = 73;
2628 ["Animation"] = 60;
2629 ["AnimationController"] = 60;
2630 ["AnimationTrack"] = 60;
2631 ["Animator"] = 60;
2632 ["ArcHandles"] = 56;
2633 ["AssetService"] = 72;
2634 ["Attachment"] = 34;
2635 ["Backpack"] = 20;
2636 ["BadgeService"] = 75;
2637 ["BallSocketConstraint"] = 89;
2638 ["BillboardGui"] = 64;
2639 ["BinaryStringValue"] = 4;
2640 ["BindableEvent"] = 67;
2641 ["BindableFunction"] = 66;
2642 ["BlockMesh"] = 8;
2643 ["BloomEffect"] = 90;
2644 ["BlurEffect"] = 90;
2645 ["BodyAngularVelocity"] = 14;
2646 ["BodyForce"] = 14;
2647 ["BodyGyro"] = 14;
2648 ["BodyPosition"] = 14;
2649 ["BodyThrust"] = 14;
2650 ["BodyVelocity"] = 14;
2651 ["BoolValue"] = 4;
2652 ["BoxHandleAdornment"] = 54;
2653 ["BrickColorValue"] = 4;
2654 ["Camera"] = 5;
2655 ["CFrameValue"] = 4;
2656 ["CharacterMesh"] = 60;
2657 ["Chat"] = 33;
2658 ["ClickDetector"] = 41;
2659 ["CollectionService"] = 30;
2660 ["Color3Value"] = 4;
2661 ["ColorCorrectionEffect"] = 90;
2662 ["ConeHandleAdornment"] = 54;
2663 ["Configuration"] = 58;
2664 ["ContentProvider"] = 72;
2665 ["ContextActionService"] = 41;
2666 ["CoreGui"] = 46;
2667 ["CoreScript"] = 18;
2668 ["CornerWedgePart"] = 1;
2669 ["CustomEvent"] = 4;
2670 ["CustomEventReceiver"] = 4;
2671 ["CylinderHandleAdornment"] = 54;
2672 ["CylinderMesh"] = 8;
2673 ["CylindricalConstraint"] = 89;
2674 ["Debris"] = 30;
2675 ["Decal"] = 7;
2676 ["Dialog"] = 62;
2677 ["DialogChoice"] = 63;
2678 ["DoubleConstrainedValue"] = 4;
2679 ["Explosion"] = 36;
2680 ["FileMesh"] = 8;
2681 ["Fire"] = 61;
2682 ["Flag"] = 38;
2683 ["FlagStand"] = 39;
2684 ["FloorWire"] = 4;
2685 ["Folder"] = 70;
2686 ["ForceField"] = 37;
2687 ["Frame"] = 48;
2688 ["GamePassService"] = 19;
2689 ["Glue"] = 34;
2690 ["GuiButton"] = 52;
2691 ["GuiMain"] = 47;
2692 ["GuiService"] = 47;
2693 ["Handles"] = 53;
2694 ["HapticService"] = 84;
2695 ["Hat"] = 45;
2696 ["HingeConstraint"] = 89;
2697 ["Hint"] = 33;
2698 ["HopperBin"] = 22;
2699 ["HttpService"] = 76;
2700 ["Humanoid"] = 9;
2701 ["ImageButton"] = 52;
2702 ["ImageLabel"] = 49;
2703 ["InsertService"] = 72;
2704 ["IntConstrainedValue"] = 4;
2705 ["IntValue"] = 4;
2706 ["JointInstance"] = 34;
2707 ["JointsService"] = 34;
2708 ["Keyframe"] = 60;
2709 ["KeyframeSequence"] = 60;
2710 ["KeyframeSequenceProvider"] = 60;
2711 ["Lighting"] = 13;
2712 ["LineHandleAdornment"] = 54;
2713 ["LocalScript"] = 18;
2714 ["LogService"] = 87;
2715 ["MarketplaceService"] = 46;
2716 ["Message"] = 33;
2717 ["Model"] = 2;
2718 ["ModuleScript"] = 71;
2719 ["Motor"] = 34;
2720 ["Motor6D"] = 34;
2721 ["MoveToConstraint"] = 89;
2722 ["NegateOperation"] = 78;
2723 ["NetworkClient"] = 16;
2724 ["NetworkReplicator"] = 29;
2725 ["NetworkServer"] = 15;
2726 ["NumberValue"] = 4;
2727 ["ObjectValue"] = 4;
2728 ["Pants"] = 44;
2729 ["ParallelRampPart"] = 1;
2730 ["Part"] = 1;
2731 ["ParticleEmitter"] = 69;
2732 ["PartPairLasso"] = 57;
2733 ["PathfindingService"] = 37;
2734 ["Platform"] = 35;
2735 ["Player"] = 12;
2736 ["PlayerGui"] = 46;
2737 ["Players"] = 21;
2738 ["PlayerScripts"] = 82;
2739 ["PointLight"] = 13;
2740 ["PointsService"] = 83;
2741 ["Pose"] = 60;
2742 ["PrismaticConstraint"] = 89;
2743 ["PrismPart"] = 1;
2744 ["PyramidPart"] = 1;
2745 ["RayValue"] = 4;
2746 ["ReflectionMetadata"] = 86;
2747 ["ReflectionMetadataCallbacks"] = 86;
2748 ["ReflectionMetadataClass"] = 86;
2749 ["ReflectionMetadataClasses"] = 86;
2750 ["ReflectionMetadataEnum"] = 86;
2751 ["ReflectionMetadataEnumItem"] = 86;
2752 ["ReflectionMetadataEnums"] = 86;
2753 ["ReflectionMetadataEvents"] = 86;
2754 ["ReflectionMetadataFunctions"] = 86;
2755 ["ReflectionMetadataMember"] = 86;
2756 ["ReflectionMetadataProperties"] = 86;
2757 ["ReflectionMetadataYieldFunctions"] = 86;
2758 ["RemoteEvent"] = 80;
2759 ["RemoteFunction"] = 79;
2760 ["ReplicatedFirst"] = 72;
2761 ["ReplicatedStorage"] = 72;
2762 ["RightAngleRampPart"] = 1;
2763 ["RocketPropulsion"] = 14;
2764 ["RodConstraint"] = 89;
2765 ["RopeConstraint"] = 89;
2766 ["Rotate"] = 34;
2767 ["RotateP"] = 34;
2768 ["RotateV"] = 34;
2769 ["RunService"] = 66;
2770 ["ScreenGui"] = 47;
2771 ["Script"] = 6;
2772 ["ScrollingFrame"] = 48;
2773 ["Seat"] = 35;
2774 ["Selection"] = 55;
2775 ["SelectionBox"] = 54;
2776 ["SelectionPartLasso"] = 57;
2777 ["SelectionPointLasso"] = 57;
2778 ["SelectionSphere"] = 54;
2779 ["ServerScriptService"] = 0;
2780 ["ServerStorage"] = 74;
2781 ["Shirt"] = 43;
2782 ["ShirtGraphic"] = 40;
2783 ["SkateboardPlatform"] = 35;
2784 ["Sky"] = 28;
2785 ["SlidingBallConstraint"] = 89;
2786 ["Smoke"] = 59;
2787 ["Snap"] = 34;
2788 ["Sound"] = 11;
2789 ["SoundService"] = 31;
2790 ["Sparkles"] = 42;
2791 ["SpawnLocation"] = 25;
2792 ["SpecialMesh"] = 8;
2793 ["SphereHandleAdornment"] = 54;
2794 ["SpotLight"] = 13;
2795 ["SpringConstraint"] = 89;
2796 ["StarterCharacterScripts"] = 82;
2797 ["StarterGear"] = 20;
2798 ["StarterGui"] = 46;
2799 ["StarterPack"] = 20;
2800 ["StarterPlayer"] = 88;
2801 ["StarterPlayerScripts"] = 82;
2802 ["Status"] = 2;
2803 ["StringValue"] = 4;
2804 ["SunRaysEffect"] = 90;
2805 ["SurfaceGui"] = 64;
2806 ["SurfaceLight"] = 13;
2807 ["SurfaceSelection"] = 55;
2808 ["Team"] = 24;
2809 ["Teams"] = 23;
2810 ["TeleportService"] = 81;
2811 ["Terrain"] = 65;
2812 ["TerrainRegion"] = 65;
2813 ["TestService"] = 68;
2814 ["TextBox"] = 51;
2815 ["TextButton"] = 51;
2816 ["TextLabel"] = 50;
2817 ["Texture"] = 10;
2818 ["TextureTrail"] = 4;
2819 ["Tool"] = 17;
2820 ["TouchTransmitter"] = 37;
2821 ["TrussPart"] = 1;
2822 ["UnionOperation"] = 77;
2823 ["UserInputService"] = 84;
2824 ["Vector3Value"] = 4;
2825 ["VehicleSeat"] = 35;
2826 ["VelocityMotor"] = 34;
2827 ["WedgePart"] = 1;
2828 ["Weld"] = 34;
2829 ["Workspace"] = 19;
2830}
2831
2832----------------------------------------------------------------
2833----------------------------------------------------------------
2834----------------------------------------------------------------
2835----------------------------------------------------------------
2836----------------------------------------------------------------
2837
2838function Create(ty,data)
2839 local obj
2840 if type(ty) == 'string' then
2841 obj = Instance.new(ty)
2842 else
2843 obj = ty
2844 end
2845 for k, v in pairs(data) do
2846 if type(k) == 'number' then
2847 v.Parent = obj
2848 else
2849 obj[k] = v
2850 end
2851 end
2852 return obj
2853end
2854
2855local barActive = false
2856local activeOptions = {}
2857
2858function createDDown(dBut, callback,...)
2859 if barActive then
2860 for i,v in pairs(activeOptions) do
2861 v:Destroy()
2862 end
2863 activeOptions = {}
2864 barActive = false
2865 return
2866 else
2867 barActive = true
2868 end
2869 local slots = {...}
2870 local base = dBut
2871 for i,v in pairs(slots) do
2872 local newOption = base:Clone()
2873 newOption.ZIndex = 5
2874 newOption.Name = "Option "..tostring(i)
2875 newOption.Parent = base.Parent.Parent.Parent
2876 newOption.BackgroundTransparency = 0
2877 newOption.ZIndex = 2
2878 table.insert(activeOptions,newOption)
2879 newOption.Position = UDim2.new(-0.4, dBut.Position.X.Offset, dBut.Position.Y.Scale, dBut.Position.Y.Offset + (#activeOptions * dBut.Size.Y.Offset))
2880 newOption.Text = slots[i]
2881 newOption.MouseButton1Down:connect(function()
2882 dBut.Text = slots[i]
2883 callback(slots[i])
2884 for i,v in pairs(activeOptions) do
2885 v:Destroy()
2886 end
2887 activeOptions = {}
2888 barActive = false
2889 end)
2890 end
2891end
2892
2893-- Connects a function to an event such that it fires asynchronously
2894function Connect(event,func)
2895 return event:connect(function(...)
2896 local a = {...}
2897 spawn(function() func(unpack(a)) end)
2898 end)
2899end
2900
2901-- returns the ascendant ScreenGui of an object
2902function GetScreen(screen)
2903 if screen == nil then return nil end
2904 while not screen:IsA("ScreenGui") do
2905 screen = screen.Parent
2906 if screen == nil then return nil end
2907 end
2908 return screen
2909end
2910
2911do
2912 local ZIndexLock = {}
2913 -- Sets the ZIndex of an object and its descendants. Objects are locked so
2914 -- that SetZIndexOnChanged doesn't spawn multiple threads that set the
2915 -- ZIndex of the same object.
2916 function SetZIndex(object,z)
2917 if not ZIndexLock[object] then
2918 ZIndexLock[object] = true
2919 if object:IsA'GuiObject' then
2920 object.ZIndex = z
2921 end
2922 local children = object:GetChildren()
2923 for i = 1,#children do
2924 SetZIndex(children[i],z)
2925 end
2926 ZIndexLock[object] = nil
2927 end
2928 end
2929
2930 function SetZIndexOnChanged(object)
2931 return object.Changed:connect(function(p)
2932 if p == "ZIndex" then
2933 SetZIndex(object,object.ZIndex)
2934 end
2935 end)
2936 end
2937end
2938
2939---- IconMap ----
2940-- Image size: 256px x 256px
2941-- Icon size: 16px x 16px
2942-- Padding between each icon: 2px
2943-- Padding around image edge: 1px
2944-- Total icons: 14 x 14 (196)
2945local Icon do
2946 local iconMap = 'http://www.roblox.com/asset/?id=' .. MAP_ID
2947 game:GetService('ContentProvider'):Preload(iconMap)
2948 local iconDehash do
2949 -- 14 x 14, 0-based input, 0-based output
2950 local f=math.floor
2951 function iconDehash(h)
2952 return f(h/14%14),f(h%14)
2953 end
2954 end
2955
2956 function Icon(IconFrame,index)
2957 local row,col = iconDehash(index)
2958 local mapSize = Vector2.new(256,256)
2959 local pad,border = 2,1
2960 local iconSize = 16
2961
2962 local class = 'Frame'
2963 if type(IconFrame) == 'string' then
2964 class = IconFrame
2965 IconFrame = nil
2966 end
2967
2968 if not IconFrame then
2969 IconFrame = Create(class,{
2970 Name = "Icon";
2971 BackgroundTransparency = 1;
2972 ClipsDescendants = true;
2973 Create('ImageLabel',{
2974 Name = "IconMap";
2975 Active = false;
2976 BackgroundTransparency = 1;
2977 Image = iconMap;
2978 Size = UDim2.new(mapSize.x/iconSize,0,mapSize.y/iconSize,0);
2979 });
2980 })
2981 end
2982
2983 IconFrame.IconMap.Position = UDim2.new(-col - (pad*(col+1) + border)/iconSize,0,-row - (pad*(row+1) + border)/iconSize,0)
2984 return IconFrame
2985 end
2986end
2987
2988----------------------------------------------------------------
2989----------------------------------------------------------------
2990----------------------------------------------------------------
2991----------------------------------------------------------------
2992---- ScrollBar
2993do
2994 -- AutoButtonColor doesn't always reset properly
2995 local function ResetButtonColor(button)
2996 local active = button.Active
2997 button.Active = not active
2998 button.Active = active
2999 end
3000
3001 local function ArrowGraphic(size,dir,scaled,template)
3002 local Frame = Create('Frame',{
3003 Name = "Arrow Graphic";
3004 BorderSizePixel = 0;
3005 Size = UDim2.new(0,size,0,size);
3006 Transparency = 1;
3007 })
3008 if not template then
3009 template = Instance.new("Frame")
3010 template.BorderSizePixel = 0
3011 end
3012
3013 template.BackgroundColor3 = Color3.new(1, 1, 1);
3014
3015 local transform
3016 if dir == nil or dir == 'Up' then
3017 function transform(p,s) return p,s end
3018 elseif dir == 'Down' then
3019 function transform(p,s) return UDim2.new(0,p.X.Offset,0,size-p.Y.Offset-1),s end
3020 elseif dir == 'Left' then
3021 function transform(p,s) return UDim2.new(0,p.Y.Offset,0,p.X.Offset),UDim2.new(0,s.Y.Offset,0,s.X.Offset) end
3022 elseif dir == 'Right' then
3023 function transform(p,s) return UDim2.new(0,size-p.Y.Offset-1,0,p.X.Offset),UDim2.new(0,s.Y.Offset,0,s.X.Offset) end
3024 end
3025
3026 local scale
3027 if scaled then
3028 function scale(p,s) return UDim2.new(p.X.Offset/size,0,p.Y.Offset/size,0),UDim2.new(s.X.Offset/size,0,s.Y.Offset/size,0) end
3029 else
3030 function scale(p,s) return p,s end
3031 end
3032
3033 local o = math.floor(size/4)
3034 if size%2 == 0 then
3035 local n = size/2-1
3036 for i = 0,n do
3037 local t = template:Clone()
3038 local p,s = scale(transform(
3039 UDim2.new(0,n-i,0,o+i),
3040 UDim2.new(0,(i+1)*2,0,1)
3041 ))
3042 t.Position = p
3043 t.Size = s
3044 t.Parent = Frame
3045 end
3046 else
3047 local n = (size-1)/2
3048 for i = 0,n do
3049 local t = template:Clone()
3050 local p,s = scale(transform(
3051 UDim2.new(0,n-i,0,o+i),
3052 UDim2.new(0,i*2+1,0,1)
3053 ))
3054 t.Position = p
3055 t.Size = s
3056 t.Parent = Frame
3057 end
3058 end
3059 if size%4 > 1 then
3060 local t = template:Clone()
3061 local p,s = scale(transform(
3062 UDim2.new(0,0,0,size-o-1),
3063 UDim2.new(0,size,0,1)
3064 ))
3065 t.Position = p
3066 t.Size = s
3067 t.Parent = Frame
3068 end
3069
3070 for i,v in pairs(Frame:GetChildren()) do
3071 v.BackgroundColor3 = Color3.new(1, 1, 1);
3072 end
3073
3074 return Frame
3075 end
3076
3077
3078 local function GripGraphic(size,dir,spacing,scaled,template)
3079 local Frame = Create('Frame',{
3080 Name = "Grip Graphic";
3081 BorderSizePixel = 0;
3082 Size = UDim2.new(0,size.x,0,size.y);
3083 Transparency = 1;
3084 })
3085 if not template then
3086 template = Instance.new("Frame")
3087 template.BorderSizePixel = 0
3088 end
3089
3090 spacing = spacing or 2
3091
3092 local scale
3093 if scaled then
3094 function scale(p) return UDim2.new(p.X.Offset/size.x,0,p.Y.Offset/size.y,0) end
3095 else
3096 function scale(p) return p end
3097 end
3098
3099 if dir == 'Vertical' then
3100 for i=0,size.x-1,spacing do
3101 local t = template:Clone()
3102 t.Size = scale(UDim2.new(0,1,0,size.y))
3103 t.Position = scale(UDim2.new(0,i,0,0))
3104 t.Parent = Frame
3105 end
3106 elseif dir == nil or dir == 'Horizontal' then
3107 for i=0,size.y-1,spacing do
3108 local t = template:Clone()
3109 t.Size = scale(UDim2.new(0,size.x,0,1))
3110 t.Position = scale(UDim2.new(0,0,0,i))
3111 t.Parent = Frame
3112 end
3113 end
3114
3115 return Frame
3116 end
3117
3118 local mt = {
3119 __index = {
3120 GetScrollPercent = function(self)
3121 return self.ScrollIndex/(self.TotalSpace-self.VisibleSpace)
3122 end;
3123 CanScrollDown = function(self)
3124 return self.ScrollIndex + self.VisibleSpace < self.TotalSpace
3125 end;
3126 CanScrollUp = function(self)
3127 return self.ScrollIndex > 0
3128 end;
3129 ScrollDown = function(self)
3130 self.ScrollIndex = self.ScrollIndex + self.PageIncrement
3131 self:Update()
3132 end;
3133 ScrollUp = function(self)
3134 self.ScrollIndex = self.ScrollIndex - self.PageIncrement
3135 self:Update()
3136 end;
3137 ScrollTo = function(self,index)
3138 self.ScrollIndex = index
3139 self:Update()
3140 end;
3141 SetScrollPercent = function(self,percent)
3142 self.ScrollIndex = math.floor((self.TotalSpace - self.VisibleSpace)*percent + 0.5)
3143 self:Update()
3144 end;
3145 };
3146 }
3147 mt.__index.CanScrollRight = mt.__index.CanScrollDown
3148 mt.__index.CanScrollLeft = mt.__index.CanScrollUp
3149 mt.__index.ScrollLeft = mt.__index.ScrollUp
3150 mt.__index.ScrollRight = mt.__index.ScrollDown
3151
3152 local ScrollStyles = {
3153 Background = Color3.fromRGB(233, 233, 233);
3154 Border = Color3.fromRGB(149, 149, 149);
3155 Selected = Color3.fromRGB( 63, 119, 189);
3156 BorderSelected = Color3.fromRGB( 55, 106, 167);
3157 Text = Color3.fromRGB( 0, 0, 0);
3158 TextDisabled = Color3.fromRGB(128, 128, 128);
3159 TextSelected = Color3.fromRGB(255, 255, 255);
3160 Button = Color3.fromRGB( 35, 35, 35);
3161 ButtonBorder = Color3.fromRGB(149, 149, 149);
3162 ButtonSelected = Color3.fromRGB(255, 0, 0);
3163 Field = Color3.fromRGB(255, 255, 255);
3164 FieldBorder = Color3.fromRGB(191, 191, 191);
3165 TitleBackground = Color3.fromRGB(178, 178, 178);
3166 }
3167
3168 function ScrollBar(horizontal)
3169 -- create row scroll bar
3170 local ScrollBarWidth = GUI_SIZE;
3171 local ScrollFrame = Create('Frame',{
3172 Name = "ScrollFrame";
3173 Position = horizontal and UDim2.new(0,0,1,-ScrollBarWidth) or UDim2.new(1,-ScrollBarWidth,0,0);
3174 Size = horizontal and UDim2.new(1,0,0,ScrollBarWidth) or UDim2.new(0,ScrollBarWidth,1,0);
3175 BackgroundTransparency = 1;
3176 Create('ImageButton',{
3177 Name = "ScrollDown";
3178 Position = horizontal and UDim2.new(1,-ScrollBarWidth,0,0) or UDim2.new(0,0,1,-ScrollBarWidth);
3179 Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
3180 BackgroundColor3 = ScrollStyles.Button;
3181 BorderColor3 = ScrollStyles.Border;
3182 BorderSizePixel = 0;
3183 });
3184 Create('ImageButton',{
3185 Name = "ScrollUp";
3186 Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
3187 BackgroundColor3 = ScrollStyles.Button;
3188 BorderColor3 = ScrollStyles.Border;
3189 BorderSizePixel = 0;
3190 });
3191 Create('ImageButton',{
3192 Name = "ScrollBar";
3193 Size = horizontal and UDim2.new(1,-ScrollBarWidth*2,1,0) or UDim2.new(1,0,1,-ScrollBarWidth*2);
3194 Position = horizontal and UDim2.new(0,ScrollBarWidth,0,0) or UDim2.new(0,0,0,ScrollBarWidth);
3195 AutoButtonColor = false;
3196 BackgroundColor3 = Color3.fromRGB(20, 20, 20);
3197 BorderColor3 = ScrollStyles.Border;
3198 BorderSizePixel = 0;
3199 Create('ImageButton',{
3200 Name = "ScrollThumb";
3201 AutoButtonColor = false;
3202 Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
3203 BackgroundColor3 = ScrollStyles.Button;
3204 BorderColor3 = ScrollStyles.Border;
3205 BorderSizePixel = 0;
3206 });
3207 });
3208 })
3209
3210 local graphicTemplate = Create('Frame',{
3211 Name="Graphic";
3212 BorderSizePixel = 0;
3213 BackgroundColor3 = Color3.new(1, 1, 1);
3214 })
3215 local graphicSize = GUI_SIZE/2
3216
3217 local ScrollDownFrame = ScrollFrame.ScrollDown
3218 local ScrollDownGraphic = ArrowGraphic(graphicSize,horizontal and 'Right' or 'Down',true,graphicTemplate)
3219 ScrollDownGraphic.Position = UDim2.new(0.5,-graphicSize/2,0.5,-graphicSize/2)
3220 ScrollDownGraphic.Parent = ScrollDownFrame
3221 local ScrollUpFrame = ScrollFrame.ScrollUp
3222 local ScrollUpGraphic = ArrowGraphic(graphicSize,horizontal and 'Left' or 'Up',true,graphicTemplate)
3223 ScrollUpGraphic.Position = UDim2.new(0.5,-graphicSize/2,0.5,-graphicSize/2)
3224 ScrollUpGraphic.Parent = ScrollUpFrame
3225 local ScrollBarFrame = ScrollFrame.ScrollBar
3226 local ScrollThumbFrame = ScrollBarFrame.ScrollThumb
3227 do
3228 local size = GUI_SIZE*3/8
3229 local Decal = GripGraphic(Vector2.new(size,size),horizontal and 'Vertical' or 'Horizontal',2,graphicTemplate)
3230 Decal.Position = UDim2.new(0.5,-size/2,0.5,-size/2)
3231 Decal.Parent = ScrollThumbFrame
3232 end
3233
3234 local Class = setmetatable({
3235 GUI = ScrollFrame;
3236 ScrollIndex = 0;
3237 VisibleSpace = 0;
3238 TotalSpace = 0;
3239 PageIncrement = 1;
3240 },mt)
3241
3242 local UpdateScrollThumb
3243 if horizontal then
3244 function UpdateScrollThumb()
3245 ScrollThumbFrame.Size = UDim2.new(Class.VisibleSpace/Class.TotalSpace,0,0,GUI_SIZE)
3246 if ScrollThumbFrame.AbsoluteSize.x < GUI_SIZE then
3247 ScrollThumbFrame.Size = UDim2.new(0,GUI_SIZE,0,GUI_SIZE)
3248 end
3249 local barSize = ScrollBarFrame.AbsoluteSize.x
3250 ScrollThumbFrame.Position = UDim2.new(Class:GetScrollPercent()*(barSize - ScrollThumbFrame.AbsoluteSize.x)/barSize,0,0,0)
3251 end
3252 else
3253 function UpdateScrollThumb()
3254 ScrollThumbFrame.Size = UDim2.new(0,GUI_SIZE,Class.VisibleSpace/Class.TotalSpace,0)
3255 if ScrollThumbFrame.AbsoluteSize.y < GUI_SIZE then
3256 ScrollThumbFrame.Size = UDim2.new(0,GUI_SIZE,0,GUI_SIZE)
3257 end
3258 local barSize = ScrollBarFrame.AbsoluteSize.y
3259 ScrollThumbFrame.Position = UDim2.new(0,0,Class:GetScrollPercent()*(barSize - ScrollThumbFrame.AbsoluteSize.y)/barSize,0)
3260 end
3261 end
3262
3263 local lastDown
3264 local lastUp
3265 local scrollStyle = {BackgroundColor3=Color3.new(1, 1, 1),BackgroundTransparency=0}
3266 local scrollStyle_ds = {BackgroundColor3=Color3.new(1, 1, 1),BackgroundTransparency=0.7}
3267
3268 local function Update()
3269 local t = Class.TotalSpace
3270 local v = Class.VisibleSpace
3271 local s = Class.ScrollIndex
3272 if v <= t then
3273 if s > 0 then
3274 if s + v > t then
3275 Class.ScrollIndex = t - v
3276 end
3277 else
3278 Class.ScrollIndex = 0
3279 end
3280 else
3281 Class.ScrollIndex = 0
3282 end
3283
3284 if Class.UpdateCallback then
3285 if Class.UpdateCallback(Class) == false then
3286 return
3287 end
3288 end
3289
3290 local down = Class:CanScrollDown()
3291 local up = Class:CanScrollUp()
3292 if down ~= lastDown then
3293 lastDown = down
3294 ScrollDownFrame.Active = down
3295 ScrollDownFrame.AutoButtonColor = down
3296 local children = ScrollDownGraphic:GetChildren()
3297 local style = down and scrollStyle or scrollStyle_ds
3298 for i = 1,#children do
3299 Create(children[i],style)
3300 end
3301 end
3302 if up ~= lastUp then
3303 lastUp = up
3304 ScrollUpFrame.Active = up
3305 ScrollUpFrame.AutoButtonColor = up
3306 local children = ScrollUpGraphic:GetChildren()
3307 local style = up and scrollStyle or scrollStyle_ds
3308 for i = 1,#children do
3309 Create(children[i],style)
3310 end
3311 end
3312 ScrollThumbFrame.Visible = down or up
3313 UpdateScrollThumb()
3314 end
3315 Class.Update = Update
3316
3317 SetZIndexOnChanged(ScrollFrame)
3318
3319 local MouseDrag = Create('ImageButton',{
3320 Name = "MouseDrag";
3321 Position = UDim2.new(-0.25,0,-0.25,0);
3322 Size = UDim2.new(1.5,0,1.5,0);
3323 Transparency = 1;
3324 AutoButtonColor = false;
3325 Active = true;
3326 ZIndex = 10;
3327 })
3328
3329 local scrollEventID = 0
3330 ScrollDownFrame.MouseButton1Down:connect(function()
3331 scrollEventID = tick()
3332 local current = scrollEventID
3333 local up_con
3334 up_con = MouseDrag.MouseButton1Up:connect(function()
3335 scrollEventID = tick()
3336 MouseDrag.Parent = nil
3337 ResetButtonColor(ScrollDownFrame)
3338 up_con:disconnect(); drag = nil
3339 end)
3340 MouseDrag.Parent = GetScreen(ScrollFrame)
3341 Class:ScrollDown()
3342 wait(0.2) -- delay before auto scroll
3343 while scrollEventID == current do
3344 Class:ScrollDown()
3345 if not Class:CanScrollDown() then break end
3346 wait()
3347 end
3348 end)
3349
3350 ScrollDownFrame.MouseButton1Up:connect(function()
3351 scrollEventID = tick()
3352 end)
3353
3354 ScrollUpFrame.MouseButton1Down:connect(function()
3355 scrollEventID = tick()
3356 local current = scrollEventID
3357 local up_con
3358 up_con = MouseDrag.MouseButton1Up:connect(function()
3359 scrollEventID = tick()
3360 MouseDrag.Parent = nil
3361 ResetButtonColor(ScrollUpFrame)
3362 up_con:disconnect(); drag = nil
3363 end)
3364 MouseDrag.Parent = GetScreen(ScrollFrame)
3365 Class:ScrollUp()
3366 wait(0.2)
3367 while scrollEventID == current do
3368 Class:ScrollUp()
3369 if not Class:CanScrollUp() then break end
3370 wait()
3371 end
3372 end)
3373
3374 ScrollUpFrame.MouseButton1Up:connect(function()
3375 scrollEventID = tick()
3376 end)
3377
3378 if horizontal then
3379 ScrollBarFrame.MouseButton1Down:connect(function(x,y)
3380 scrollEventID = tick()
3381 local current = scrollEventID
3382 local up_con
3383 up_con = MouseDrag.MouseButton1Up:connect(function()
3384 scrollEventID = tick()
3385 MouseDrag.Parent = nil
3386 ResetButtonColor(ScrollUpFrame)
3387 up_con:disconnect(); drag = nil
3388 end)
3389 MouseDrag.Parent = GetScreen(ScrollFrame)
3390 if x > ScrollThumbFrame.AbsolutePosition.x then
3391 Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
3392 wait(0.2)
3393 while scrollEventID == current do
3394 if x < ScrollThumbFrame.AbsolutePosition.x + ScrollThumbFrame.AbsoluteSize.x then break end
3395 Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
3396 wait()
3397 end
3398 else
3399 Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
3400 wait(0.2)
3401 while scrollEventID == current do
3402 if x > ScrollThumbFrame.AbsolutePosition.x then break end
3403 Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
3404 wait()
3405 end
3406 end
3407 end)
3408 else
3409 ScrollBarFrame.MouseButton1Down:connect(function(x,y)
3410 scrollEventID = tick()
3411 local current = scrollEventID
3412 local up_con
3413 up_con = MouseDrag.MouseButton1Up:connect(function()
3414 scrollEventID = tick()
3415 MouseDrag.Parent = nil
3416 ResetButtonColor(ScrollUpFrame)
3417 up_con:disconnect(); drag = nil
3418 end)
3419 MouseDrag.Parent = GetScreen(ScrollFrame)
3420 if y > ScrollThumbFrame.AbsolutePosition.y then
3421 Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
3422 wait(0.2)
3423 while scrollEventID == current do
3424 if y < ScrollThumbFrame.AbsolutePosition.y + ScrollThumbFrame.AbsoluteSize.y then break end
3425 Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
3426 wait()
3427 end
3428 else
3429 Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
3430 wait(0.2)
3431 while scrollEventID == current do
3432 if y > ScrollThumbFrame.AbsolutePosition.y then break end
3433 Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
3434 wait()
3435 end
3436 end
3437 end)
3438 end
3439
3440 if horizontal then
3441 ScrollThumbFrame.MouseButton1Down:connect(function(x,y)
3442 scrollEventID = tick()
3443 local mouse_offset = x - ScrollThumbFrame.AbsolutePosition.x
3444 local drag_con
3445 local up_con
3446 drag_con = MouseDrag.MouseMoved:connect(function(x,y)
3447 if not game:GetService'UserInputService':IsMouseButtonPressed'MouseButton1' then
3448 scrollEventID = tick()
3449 MouseDrag.Parent = nil
3450 ResetButtonColor(ScrollThumbFrame)
3451 drag_con:disconnect(); drag_con = nil
3452 up_con:disconnect(); drag = nil
3453 end
3454 local bar_abs_pos = ScrollBarFrame.AbsolutePosition.x
3455 local bar_drag = ScrollBarFrame.AbsoluteSize.x - ScrollThumbFrame.AbsoluteSize.x
3456 local bar_abs_one = bar_abs_pos + bar_drag
3457 x = x - mouse_offset
3458 x = x < bar_abs_pos and bar_abs_pos or x > bar_abs_one and bar_abs_one or x
3459 x = x - bar_abs_pos
3460 Class:SetScrollPercent(x/(bar_drag))
3461 end)
3462 up_con = MouseDrag.MouseButton1Up:connect(function()
3463 scrollEventID = tick()
3464 MouseDrag.Parent = nil
3465 ResetButtonColor(ScrollThumbFrame)
3466 drag_con:disconnect(); drag_con = nil
3467 up_con:disconnect(); drag = nil
3468 end)
3469 MouseDrag.Parent = GetScreen(ScrollFrame)
3470 end)
3471 else
3472 ScrollThumbFrame.MouseButton1Down:connect(function(x,y)
3473 scrollEventID = tick()
3474 local mouse_offset = y - ScrollThumbFrame.AbsolutePosition.y
3475 local drag_con
3476 local up_con
3477 drag_con = MouseDrag.MouseMoved:connect(function(x,y)
3478 if not game:GetService'UserInputService':IsMouseButtonPressed'MouseButton1' then
3479 scrollEventID = tick()
3480 MouseDrag.Parent = nil
3481 ResetButtonColor(ScrollThumbFrame)
3482 drag_con:disconnect(); drag_con = nil
3483 up_con:disconnect(); drag = nil
3484 end
3485 local bar_abs_pos = ScrollBarFrame.AbsolutePosition.y
3486 local bar_drag = ScrollBarFrame.AbsoluteSize.y - ScrollThumbFrame.AbsoluteSize.y
3487 local bar_abs_one = bar_abs_pos + bar_drag
3488 y = y - mouse_offset
3489 y = y < bar_abs_pos and bar_abs_pos or y > bar_abs_one and bar_abs_one or y
3490 y = y - bar_abs_pos
3491 Class:SetScrollPercent(y/(bar_drag))
3492 end)
3493 up_con = MouseDrag.MouseButton1Up:connect(function()
3494 scrollEventID = tick()
3495 MouseDrag.Parent = nil
3496 ResetButtonColor(ScrollThumbFrame)
3497 drag_con:disconnect(); drag_con = nil
3498 up_con:disconnect(); drag = nil
3499 end)
3500 MouseDrag.Parent = GetScreen(ScrollFrame)
3501 end)
3502 end
3503
3504 function Class:Destroy()
3505 ScrollFrame:Destroy()
3506 MouseDrag:Destroy()
3507 for k in pairs(Class) do
3508 Class[k] = nil
3509 end
3510 setmetatable(Class,nil)
3511 end
3512
3513 Update()
3514
3515 return Class
3516 end
3517end
3518
3519----------------------------------------------------------------
3520----------------------------------------------------------------
3521----------------------------------------------------------------
3522----------------------------------------------------------------
3523---- Explorer panel
3524
3525local explorerPanel = D_E_X.ExplorerPanel
3526Create(explorerPanel,{
3527 BackgroundColor3 = GuiColor.Field;
3528 BorderColor3 = GuiColor.Border;
3529 Active = true;
3530})
3531
3532local SettingsRemote = explorerPanel.Parent:WaitForChild("SettingsPanel"):WaitForChild("GetSetting")
3533local GetApiRemote = explorerPanel.Parent:WaitForChild("PropertiesFrame"):WaitForChild("GetApi")
3534local GetAwaitRemote = explorerPanel.Parent:WaitForChild("PropertiesFrame"):WaitForChild("GetAwaiting")
3535local bindSetAwaiting = explorerPanel.Parent:WaitForChild("PropertiesFrame"):WaitForChild("SetAwaiting")
3536
3537local SaveInstanceWindow = explorerPanel.Parent:WaitForChild("SaveInstance")
3538local ConfirmationWindow = explorerPanel.Parent:WaitForChild("Confirmation")
3539local CautionWindow = explorerPanel.Parent:WaitForChild("Caution")
3540local TableCautionWindow = explorerPanel.Parent:WaitForChild("TableCaution")
3541
3542local RemoteWindow = explorerPanel.Parent:WaitForChild("CallRemote")
3543
3544local ScriptEditor = explorerPanel.Parent:WaitForChild("ScriptEditor")
3545local ScriptEditorEvent = ScriptEditor:WaitForChild("OpenScript")
3546
3547local CurrentSaveInstanceWindow
3548local CurrentRemoteWindow
3549
3550local lastSelectedNode
3551
3552local DexStorage
3553local DexStorageMain
3554local DexStorageEnabled
3555
3556if saveinstance then DexStorageEnabled = true end
3557
3558if DexStorageEnabled then
3559 DexStorage = Instance.new("Folder")
3560 DexStorage.Name = "Dex"
3561 DexStorageMain = Instance.new("Folder", DexStorage)
3562 DexStorageMain.Name = "DexStorage"
3563end
3564
3565local RunningScriptsStorage
3566local RunningScriptsStorageMain
3567local RunningScriptsStorageEnabled
3568
3569if getscripts then RunningScriptsStorageEnabled = true end
3570
3571if RunningScriptsStorageEnabled then
3572 RunningScriptsStorage = Instance.new("Folder")
3573 RunningScriptsStorage.Name = "Dex Internal Storage"
3574 RunningScriptsStorageMain = Instance.new("Folder", RunningScriptsStorage)
3575 RunningScriptsStorageMain.Name = "Running Scripts"
3576end
3577
3578local UpvalueStorage
3579local UpvalueStorageVariables
3580local UpvalueStorageFunctions
3581local UpvalueStorageEnabled
3582
3583if vars and funcs then UpvalueStorageEnabled = true end
3584
3585if UpvalueStorageEnabled then
3586 UpvalueStorage = Instance.new('Folder')
3587 UpvalueStorage.Name = 'Upvalue Storage'
3588 UpvalueStorageVariables = Instance.new("Folder", UpvalueStorage)
3589 UpvalueStorageVariables.Name = "Upvalue Variables"
3590 UpvalueStorageFunctions = Instance.new("Folder", UpvalueStorage)
3591 UpvalueStorageFunctions.Name = "Upvalue Functions"
3592 for i, v in pairs(vars) do
3593 pcall(function()
3594 local n = Instance.new('StringValue', UpvalueStorageVariables)
3595 n.Name = tostring(i);
3596 n.Value = tostring(v);
3597 end)
3598 end
3599 for i, v in pairs(funcs) do
3600 pcall(function()
3601 local n = Instance.new('StringValue', UpvalueStorageFunctions)
3602 n.Name = tostring(i);
3603 n.Value = tostring(v);
3604 end)
3605 end
3606end
3607
3608local listFrame = Create('Frame',{
3609 Name = "List";
3610 BackgroundTransparency = 1;
3611 ClipsDescendants = true;
3612 Position = UDim2.new(0,0,0,HEADER_SIZE);
3613 Size = UDim2.new(1,-GUI_SIZE,1,-HEADER_SIZE);
3614 Parent = explorerPanel;
3615})
3616
3617local scrollBar = ScrollBar(false)
3618scrollBar.PageIncrement = 1
3619Create(scrollBar.GUI,{
3620 Position = UDim2.new(1,-GUI_SIZE,0,HEADER_SIZE);
3621 Size = UDim2.new(0,GUI_SIZE,1,-HEADER_SIZE);
3622 Parent = explorerPanel;
3623})
3624
3625local scrollBarH = ScrollBar(true)
3626scrollBarH.PageIncrement = GUI_SIZE
3627Create(scrollBarH.GUI,{
3628 Position = UDim2.new(0,0,1,-GUI_SIZE);
3629 Size = UDim2.new(1,-GUI_SIZE,0,GUI_SIZE);
3630 Visible = false;
3631 Parent = explorerPanel;
3632})
3633
3634local headerFrame = Create('Frame',{
3635 Name = "Header";
3636 BackgroundColor3 = GuiColor.Background;
3637 BorderColor3 = GuiColor.Border;
3638 Position = UDim2.new(0,0,0,0);
3639 Size = UDim2.new(1,0,0,HEADER_SIZE);
3640 Parent = explorerPanel;
3641 Create('TextLabel',{
3642 Text = "Explorer";
3643 BackgroundTransparency = 1;
3644 TextColor3 = GuiColor.Text;
3645 TextXAlignment = 'Left';
3646 Font = FONT;
3647 FontSize = FONT_SIZE;
3648 Position = UDim2.new(0,4,0,0);
3649 Size = UDim2.new(1,-4,0.5,0);
3650 });
3651})
3652
3653local explorerFilter = Create('TextBox',{
3654 Text = "Filter Workspace";
3655 BackgroundTransparency = 0.8;
3656 TextColor3 = GuiColor.Text;
3657 TextXAlignment = 'Left';
3658 Font = FONT;
3659 FontSize = FONT_SIZE;
3660 Position = UDim2.new(0,4,0.5,0);
3661 Size = UDim2.new(1,-8,0.5,-2);
3662});
3663explorerFilter.Parent = headerFrame
3664
3665SetZIndexOnChanged(explorerPanel)
3666
3667local function CreateColor3(r, g, b) return Color3.new(r/255,g/255,b/255) end
3668
3669local Styles = {
3670 Font = Enum.Font.Arial;
3671 Margin = 5;
3672 Black = CreateColor3(0,0,0);
3673 White = CreateColor3(24,24,24);
3674}
3675
3676local Row = {
3677 Font = Styles.Font;
3678 FontSize = Enum.FontSize.Size14;
3679 TextXAlignment = Enum.TextXAlignment.Left;
3680 TextColor = Styles.Black;
3681 TextColorOver = Styles.White;
3682 TextLockedColor = CreateColor3(155,155,155);
3683 Height = 24;
3684 BorderColor = CreateColor3(216/4,216/4,216/4);
3685 BackgroundColor = Styles.White;
3686 BackgroundColorAlternate = CreateColor3(32, 32, 32);
3687 BackgroundColorMouseover = CreateColor3(40, 40, 40);
3688 TitleMarginLeft = 15;
3689}
3690
3691local DropDown = {
3692 Font = Styles.Font;
3693 FontSize = Enum.FontSize.Size14;
3694 TextColor = CreateColor3(255,255,255);
3695 TextColorOver = Color3.new(1, 1, 1);
3696 TextXAlignment = Enum.TextXAlignment.Left;
3697 Height = 16;
3698 BackColor = Styles.White;
3699 BackColorOver = CreateColor3(190, 90, 0);
3700 BorderColor = CreateColor3(45,45,45);
3701 BorderSizePixel = 2;
3702 ArrowColor = CreateColor3(160/2,160/2,160/2);
3703 ArrowColorOver = Styles.Black;
3704}
3705
3706local currentRightClickMenu
3707local CurrentInsertObjectWindow
3708local CurrentFunctionCallerWindow
3709
3710local RbxApi
3711
3712function ClassCanCreate(IName)
3713 local success,err = pcall(function() Instance.new(IName) end)
3714 if err then
3715 return false
3716 else
3717 return true
3718 end
3719end
3720
3721function GetClasses()
3722 if RbxApi == nil then return {} end
3723 local classTable = {}
3724 for i,v in pairs(RbxApi.Classes) do
3725 if ClassCanCreate(v.Name) then
3726 table.insert(classTable,v.Name)
3727 end
3728 end
3729 return classTable
3730end
3731
3732local function sortAlphabetic(t, property)
3733 table.sort(t,
3734 function(x,y) return x[property] < y[property]
3735 end)
3736end
3737
3738local function FunctionIsHidden(functionData)
3739 local tags = functionData["tags"]
3740 for _,name in pairs(tags) do
3741 if name == "deprecated"
3742 or name == "hidden"
3743 or name == "writeonly" then
3744 return true
3745 end
3746 end
3747 return false
3748end
3749
3750local function GetAllFunctions(className)
3751 local class = RbxApi.Classes[className]
3752 local functions = {}
3753
3754 if not class then return functions end
3755
3756 while class do
3757 if class.Name == "Instance" then break end
3758 for _,nextFunction in pairs(class.Functions) do
3759 if not FunctionIsHidden(nextFunction) then
3760 table.insert(functions, nextFunction)
3761 end
3762 end
3763 class = RbxApi.Classes[class.Superclass]
3764 end
3765
3766 sortAlphabetic(functions, "Name")
3767
3768 return functions
3769end
3770
3771function GetFunctions()
3772 if RbxApi == nil then return {} end
3773 local List = SelectionVar():Get()
3774
3775 if #List == 0 then return end
3776
3777 local MyObject = List[1]
3778
3779 local functionTable = {}
3780 for i,v in pairs(GetAllFunctions(MyObject.ClassName)) do
3781 table.insert(functionTable,v)
3782 end
3783 return functionTable
3784end
3785
3786function CreateInsertObjectMenu(choices, currentChoice, readOnly, onClick)
3787 local mouse = game:GetService'Players'.LocalPlayer:GetMouse()
3788 local totalSize = explorerPanel.Parent.AbsoluteSize.y
3789 if #choices == 0 then return end
3790
3791 table.sort(choices, function(a,b) return a < b end)
3792
3793 local frame = Instance.new("Frame")
3794 frame.Name = "InsertObject"
3795 frame.Size = UDim2.new(0, 200, 1, 0)
3796 frame.BackgroundTransparency = 1
3797 frame.Active = true
3798
3799 local menu = nil
3800 local arrow = nil
3801 local expanded = false
3802 local margin = DropDown.BorderSizePixel;
3803
3804 --[[
3805 local button = Instance.new("TextButton")
3806 button.Font = Row.Font
3807 button.FontSize = Row.FontSize
3808 button.TextXAlignment = Row.TextXAlignment
3809 button.BackgroundTransparency = 1
3810 button.TextColor3 = Row.TextColor
3811 if readOnly then
3812 button.TextColor3 = Row.TextLockedColor
3813 end
3814 button.Text = currentChoice
3815 button.Size = UDim2.new(1, -2 * Styles.Margin, 1, 0)
3816 button.Position = UDim2.new(0, Styles.Margin, 0, 0)
3817 button.Parent = frame
3818 --]]
3819
3820 local function hideMenu()
3821 expanded = false
3822 --showArrow(DropDown.ArrowColor)
3823 if frame then
3824 --frame:Destroy()
3825 CurrentInsertObjectWindow.Visible = false
3826 end
3827 end
3828
3829 local function showMenu()
3830 expanded = true
3831 menu = Instance.new("ScrollingFrame")
3832 menu.Size = UDim2.new(0,200,1,0)
3833 menu.CanvasSize = UDim2.new(0, 200, 0, #choices * DropDown.Height)
3834 menu.Position = UDim2.new(0, margin, 0, 0)
3835 menu.BackgroundTransparency = 0
3836 menu.BackgroundColor3 = DropDown.BackColor
3837 menu.BorderColor3 = DropDown.BorderColor
3838 menu.BorderSizePixel = DropDown.BorderSizePixel
3839 menu.TopImage = "rbxasset://textures/blackBkg_square.png"
3840 menu.MidImage = "rbxasset://textures/blackBkg_square.png"
3841 menu.BottomImage = "rbxasset://textures/blackBkg_square.png"
3842 menu.Active = true
3843 menu.ZIndex = 5
3844 menu.Parent = frame
3845
3846 --local parentFrameHeight = script.Parent.List.Size.Y.Offset
3847 --local rowHeight = mouse.Y
3848 --if (rowHeight + menu.Size.Y.Offset) > parentFrameHeight then
3849 -- menu.Position = UDim2.new(0, margin, 0, -1 * (#choices * DropDown.Height) - margin)
3850 --end
3851
3852 local function choice(name)
3853 onClick(name)
3854 hideMenu()
3855 end
3856
3857 for i,name in pairs(choices) do
3858 local option = CreateRightClickMenuItem(name, function()
3859 choice(name)
3860 end,1)
3861 option.Size = UDim2.new(1, 0, 0, 20)
3862 option.Position = UDim2.new(0, 0, 0, (i - 1) * DropDown.Height)
3863 option.ZIndex = menu.ZIndex
3864 option.Parent = menu
3865 end
3866 end
3867
3868
3869 showMenu()
3870
3871
3872 return frame
3873end
3874
3875function CreateFunctionCallerMenu(choices, currentChoice, readOnly, onClick)
3876 local mouse = game:GetService'Players'.LocalPlayer:GetMouse()
3877 local totalSize = explorerPanel.Parent.AbsoluteSize.y
3878 if #choices == 0 then return end
3879
3880 table.sort(choices, function(a,b) return a.Name < b.Name end)
3881
3882 local frame = Instance.new("Frame")
3883 frame.Name = "InsertObject"
3884 frame.Size = UDim2.new(0, 200, 1, 0)
3885 frame.BackgroundTransparency = 1
3886 frame.Active = true
3887
3888 local menu = nil
3889 local arrow = nil
3890 local expanded = false
3891 local margin = DropDown.BorderSizePixel;
3892
3893 local function hideMenu()
3894 expanded = false
3895 --showArrow(DropDown.ArrowColor)
3896 if frame then
3897 --frame:Destroy()
3898 CurrentInsertObjectWindow.Visible = false
3899 end
3900 end
3901
3902 local function showMenu()
3903 expanded = true
3904 menu = Instance.new("ScrollingFrame")
3905 menu.Size = UDim2.new(0,300,1,0)
3906 menu.CanvasSize = UDim2.new(0, 300, 0, #choices * DropDown.Height)
3907 menu.Position = UDim2.new(0, margin, 0, 0)
3908 menu.BackgroundTransparency = 0
3909 menu.BackgroundColor3 = DropDown.BackColor
3910 menu.BorderColor3 = DropDown.BorderColor
3911 menu.BorderSizePixel = DropDown.BorderSizePixel
3912 menu.TopImage = "rbxasset://textures/blackBkg_square.png"
3913 menu.MidImage = "rbxasset://textures/blackBkg_square.png"
3914 menu.BottomImage = "rbxasset://textures/blackBkg_square.png"
3915 menu.Active = true
3916 menu.ZIndex = 5
3917 menu.Parent = frame
3918
3919 --local parentFrameHeight = script.Parent.List.Size.Y.Offset
3920 --local rowHeight = mouse.Y
3921 --if (rowHeight + menu.Size.Y.Offset) > parentFrameHeight then
3922 -- menu.Position = UDim2.new(0, margin, 0, -1 * (#choices * DropDown.Height) - margin)
3923 --end
3924
3925 local function GetParameters(functionData)
3926 local paraString = ""
3927 paraString = paraString.."("
3928 for i,v in pairs(functionData.Arguments) do
3929 paraString = paraString..v.Type.." "..v.Name
3930 if i < #functionData.Arguments then
3931 paraString = paraString..", "
3932 end
3933 end
3934 paraString = paraString..")"
3935 return paraString
3936 end
3937
3938 local function choice(name)
3939 onClick(name)
3940 hideMenu()
3941 end
3942
3943 for i,name in pairs(choices) do
3944 local option = CreateRightClickMenuItem(name.ReturnType.." "..name.Name..GetParameters(name), function()
3945 choice(name)
3946 end,2)
3947 option.Size = UDim2.new(1, 0, 0, 20)
3948 option.Position = UDim2.new(0, 0, 0, (i - 1) * DropDown.Height)
3949 option.ZIndex = menu.ZIndex
3950 option.Parent = menu
3951 end
3952 end
3953
3954
3955 showMenu()
3956
3957
3958 return frame
3959end
3960
3961function CreateInsertObject()
3962 if not CurrentInsertObjectWindow then return end
3963 CurrentInsertObjectWindow.Visible = true
3964 if currentRightClickMenu and CurrentInsertObjectWindow.Visible then
3965 CurrentInsertObjectWindow.Position = UDim2.new(0,currentRightClickMenu.Position.X.Offset-currentRightClickMenu.Size.X.Offset-2,0,0)
3966 end
3967 if CurrentInsertObjectWindow.Visible then
3968 CurrentInsertObjectWindow.Parent = explorerPanel.Parent
3969 end
3970end
3971
3972function CreateFunctionCaller()
3973 if CurrentFunctionCallerWindow then
3974 CurrentFunctionCallerWindow:Destroy()
3975 CurrentFunctionCallerWindow = nil
3976 end
3977 CurrentFunctionCallerWindow = CreateFunctionCallerMenu(
3978 GetFunctions(),
3979 "",
3980 false,
3981 function(option)
3982 CurrentFunctionCallerWindow:Destroy()
3983 CurrentFunctionCallerWindow = nil
3984 local list = SelectionVar():Get()
3985 for i = 1,#list do
3986 pcall(function() Instance.new(option,list[i]) end)
3987 end
3988 -- print(option.Name .. " selected to be called. Function caller being added soon, please wait!")
3989 --CallFunction()
3990 DestroyRightClick()
3991 end
3992 )
3993 if currentRightClickMenu and CurrentFunctionCallerWindow then
3994 CurrentFunctionCallerWindow.Position = UDim2.new(0,currentRightClickMenu.Position.X.Offset-currentRightClickMenu.Size.X.Offset*1.5-2,0,0)
3995 end
3996 if CurrentFunctionCallerWindow then
3997 CurrentFunctionCallerWindow.Parent = explorerPanel.Parent
3998 end
3999end
4000
4001local UserInputService = game:GetService'UserInputService';
4002
4003function GetMouseLocation()
4004 return UserInputService:GetMouseLocation() - Vector2.new(0, 36);
4005end
4006
4007function MouseHoveringOver(GuiObject)
4008 local MLocation = GetMouseLocation();
4009
4010 return (MLocation.x >= GuiObject.AbsolutePosition.X and MLocation.x <= (GuiObject.AbsolutePosition.X + GuiObject.AbsoluteSize.X)) and (MLocation.y >= GuiObject.AbsolutePosition.Y and MLocation.y <= (GuiObject.AbsolutePosition.Y + GuiObject.AbsoluteSize.Y));
4011end
4012
4013function CreateRightClickMenuItem(text, onClick, insObj)
4014 local button = Instance.new("TextButton")
4015 button.Font = DropDown.Font
4016 button.FontSize = DropDown.FontSize
4017 button.TextColor3 = DropDown.TextColor
4018 button.TextXAlignment = DropDown.TextXAlignment
4019 button.BackgroundColor3 = DropDown.BackColor
4020 button.AutoButtonColor = false
4021 button.BorderSizePixel = 0
4022 button.Active = true
4023 button.Text = text
4024
4025 if insObj == 1 then
4026 local newIcon = Icon(nil,ExplorerIndex[text] or 0)
4027 newIcon.Position = UDim2.new(0,0,0,2)
4028 newIcon.Size = UDim2.new(0,16,0,16)
4029 newIcon.IconMap.ZIndex = 5
4030 newIcon.Parent = button
4031 button.Text = "\t\t"..button.Text
4032 elseif insObj == 2 then
4033 button.FontSize = Enum.FontSize.Size11
4034 end
4035
4036 spawn(function()
4037 while button.Parent ~= nil and button.Parent.Parent ~= nil do
4038 game:service'RunService'.Stepped:wait();
4039 if not MouseHoveringOver(button) then
4040 button.TextColor3 = DropDown.TextColor
4041 button.BackgroundColor3 = DropDown.BackColor
4042 end
4043 end
4044 end)
4045
4046 button.MouseEnter:connect(function()
4047 button.TextColor3 = DropDown.TextColorOver
4048 button.BackgroundColor3 = DropDown.BackColorOver
4049 if not insObj and CurrentInsertObjectWindow then
4050 if CurrentInsertObjectWindow.Visible == false and button.Text == "Insert Object" then
4051 CreateInsertObject()
4052 elseif CurrentInsertObjectWindow.Visible and button.Text ~= "Insert Object" then
4053 CurrentInsertObjectWindow.Visible = false
4054 end
4055 end
4056 if not insObj then
4057 if CurrentFunctionCallerWindow and button.Text ~= "Call Function" then
4058 CurrentFunctionCallerWindow:Destroy()
4059 CurrentFunctionCallerWindow = nil
4060 elseif button.Text == "Call Function" then
4061 CreateFunctionCaller()
4062 end
4063 end
4064 end)
4065 button.MouseLeave:connect(function()
4066 button.TextColor3 = DropDown.TextColor
4067 button.BackgroundColor3 = DropDown.BackColor
4068 end)
4069 button.MouseButton1Click:connect(function()
4070 button.TextColor3 = DropDown.TextColor
4071 button.BackgroundColor3 = DropDown.BackColor
4072 onClick(text)
4073 end)
4074 return button
4075end
4076
4077function CreateRightClickMenu(choices, currentChoice, readOnly, onClick)
4078 local mouse = game:GetService'Players'.LocalPlayer:GetMouse()
4079
4080 local frame = Instance.new("Frame")
4081 frame.Name = "DropDown"
4082 frame.Size = UDim2.new(0, 200, 1, 0)
4083 frame.BackgroundTransparency = 1
4084 frame.Active = true
4085
4086 local menu = nil
4087 local arrow = nil
4088 local expanded = false
4089 local margin = DropDown.BorderSizePixel;
4090
4091 --[[
4092 local button = Instance.new("TextButton")
4093 button.Font = Row.Font
4094 button.FontSize = Row.FontSize
4095 button.TextXAlignment = Row.TextXAlignment
4096 button.BackgroundTransparency = 1
4097 button.TextColor3 = Row.TextColor
4098 if readOnly then
4099 button.TextColor3 = Row.TextLockedColor
4100 end
4101 button.Text = currentChoice
4102 button.Size = UDim2.new(1, -2 * Styles.Margin, 1, 0)
4103 button.Position = UDim2.new(0, Styles.Margin, 0, 0)
4104 button.Parent = frame
4105 --]]
4106
4107 local function hideMenu()
4108 expanded = false
4109 --showArrow(DropDown.ArrowColor)
4110 if frame then
4111 frame:Destroy()
4112 DestroyRightClick()
4113 end
4114 end
4115
4116 local function showMenu()
4117 expanded = true
4118 menu = Instance.new("Frame")
4119 menu.Size = UDim2.new(0, 200, 0, #choices * DropDown.Height)
4120 menu.Position = UDim2.new(0, margin, 0, 5)
4121 menu.BackgroundTransparency = 0
4122 menu.BackgroundColor3 = DropDown.BackColor
4123 menu.BorderColor3 = DropDown.BorderColor
4124 menu.BorderSizePixel = DropDown.BorderSizePixel
4125 menu.Active = true
4126 menu.ZIndex = 5
4127 menu.Parent = frame
4128
4129 --local parentFrameHeight = script.Parent.List.Size.Y.Offset
4130 --local rowHeight = mouse.Y
4131 --if (rowHeight + menu.Size.Y.Offset) > parentFrameHeight then
4132 -- menu.Position = UDim2.new(0, margin, 0, -1 * (#choices * DropDown.Height) - margin)
4133 --end
4134
4135 local function choice(name)
4136 onClick(name)
4137 hideMenu()
4138 end
4139
4140 for i,name in pairs(choices) do
4141 local option = CreateRightClickMenuItem(name, function()
4142 choice(name)
4143 end)
4144 option.Size = UDim2.new(1, 0, 0, 20)
4145 option.Position = UDim2.new(0, 0, 0, (i - 1) * DropDown.Height)
4146 option.ZIndex = menu.ZIndex
4147 option.Parent = menu
4148 end
4149 end
4150
4151
4152 showMenu()
4153
4154
4155 return frame
4156end
4157
4158function checkMouseInGui(gui)
4159 if gui == nil then return false end
4160 local plrMouse = game:GetService'Players'.LocalPlayer:GetMouse()
4161 local guiPosition = gui.AbsolutePosition
4162 local guiSize = gui.AbsoluteSize
4163
4164 if plrMouse.X >= guiPosition.x and plrMouse.X <= guiPosition.x + guiSize.x and plrMouse.Y >= guiPosition.y and plrMouse.Y <= guiPosition.y + guiSize.y then
4165 return true
4166 else
4167 return false
4168 end
4169end
4170
4171local clipboard = {}
4172local function delete(o)
4173 o.Parent = nil
4174end
4175
4176local getTextWidth do
4177 local text = Create('TextLabel',{
4178 Name = "TextWidth";
4179 TextXAlignment = 'Left';
4180 TextYAlignment = 'Center';
4181 Font = FONT;
4182 FontSize = FONT_SIZE;
4183 Text = "";
4184 Position = UDim2.new(0,0,0,0);
4185 Size = UDim2.new(1,0,1,0);
4186 Visible = false;
4187 Parent = explorerPanel;
4188 })
4189 function getTextWidth(s)
4190 text.Text = s
4191 return text.TextBounds.x
4192 end
4193end
4194
4195local nameScanned = false
4196-- Holds the game tree converted to a list.
4197local TreeList = {}
4198-- Matches objects to their tree node representation.
4199local NodeLookup = {}
4200
4201local nodeWidth = 0
4202
4203local QuickButtons = {}
4204
4205function filteringWorkspace()
4206 if explorerFilter.Text ~= "" and explorerFilter.Text ~= "Filter Workspace" then
4207 return true
4208 end
4209 return false
4210end
4211
4212function lookForAName(obj,name)
4213 for i,v in pairs(obj:GetDescendants()) do
4214 if string.find(string.lower(v.Name),string.lower(name)) then nameScanned = true end
4215 -- lookForAName(v,name)
4216 end
4217end
4218
4219function scanName(obj)
4220 nameScanned = false
4221 if string.find(string.lower(obj.Name),string.lower(explorerFilter.Text)) then
4222 nameScanned = true
4223 else
4224 lookForAName(obj,explorerFilter.Text)
4225 end
4226 return nameScanned
4227end
4228
4229function updateActions()
4230 for i,v in pairs(QuickButtons) do
4231 if v.Cond() then
4232 v.Toggle(true)
4233 else
4234 v.Toggle(false)
4235 end
4236 end
4237end
4238
4239local updateList,rawUpdateList,updateScroll,rawUpdateSize do
4240 local function r(t)
4241 for i = 1,#t do
4242 if not filteringWorkspace() or scanName(t[i].Object) then
4243 TreeList[#TreeList+1] = t[i]
4244
4245 local w = (t[i].Depth)*(2+ENTRY_PADDING+GUI_SIZE) + 2 + ENTRY_SIZE + 4 + getTextWidth(t[i].Object.Name) + 4
4246 if w > nodeWidth then
4247 nodeWidth = w
4248 end
4249 if t[i].Expanded or filteringWorkspace() then
4250 r(t[i])
4251 end
4252 end
4253 end
4254 end
4255
4256 function rawUpdateSize()
4257 scrollBarH.TotalSpace = nodeWidth
4258 scrollBarH.VisibleSpace = listFrame.AbsoluteSize.x
4259 scrollBarH:Update()
4260 local visible = scrollBarH:CanScrollDown() or scrollBarH:CanScrollUp()
4261 scrollBarH.GUI.Visible = visible
4262
4263 listFrame.Size = UDim2.new(1,-GUI_SIZE,1,-GUI_SIZE*(visible and 1 or 0) - HEADER_SIZE)
4264
4265 scrollBar.VisibleSpace = math.ceil(listFrame.AbsoluteSize.y/ENTRY_BOUND)
4266 scrollBar.GUI.Size = UDim2.new(0,GUI_SIZE,1,-GUI_SIZE*(visible and 1 or 0) - HEADER_SIZE)
4267
4268 scrollBar.TotalSpace = #TreeList+1
4269 scrollBar:Update()
4270 end
4271
4272 function rawUpdateList()
4273 -- Clear then repopulate the entire list. It appears to be fast enough.
4274 TreeList = {}
4275 nodeWidth = 0
4276 r(NodeLookup[workspace.Parent])
4277 if DexStorageEnabled then
4278 r(NodeLookup[DexStorage])
4279 end
4280 if RunningScriptsStorageEnabled then
4281 r(NodeLookup[RunningScriptsStorage])
4282 end
4283 if UpvalueStorageEnabled then
4284 r(NodeLookup[UpvalueStorage])
4285 end
4286 rawUpdateSize()
4287 updateActions()
4288 end
4289
4290 -- Adding or removing large models will cause many updates to occur. We
4291 -- can reduce the number of updates by creating a delay, then dropping any
4292 -- updates that occur during the delay.
4293 local updatingList = false
4294 function updateList()
4295 if updatingList then return end
4296 updatingList = true
4297 wait(2.25)
4298 updatingList = false
4299 rawUpdateList()
4300 end
4301
4302 local updatingScroll = false
4303 function updateScroll()
4304 if updatingScroll then return end
4305 updatingScroll = true
4306 wait(2.25)
4307 updatingScroll = false
4308 scrollBar:Update()
4309 end
4310end
4311
4312local Selection do
4313 local bindGetSelection = explorerPanel:FindFirstChild("GetSelection")
4314 if not bindGetSelection then
4315 bindGetSelection = Create('BindableFunction',{Name = "GetSelection"})
4316 bindGetSelection.Parent = explorerPanel
4317 end
4318
4319 local bindSetSelection = explorerPanel:FindFirstChild("SetSelection")
4320 if not bindSetSelection then
4321 bindSetSelection = Create('BindableFunction',{Name = "SetSelection"})
4322 bindSetSelection.Parent = explorerPanel
4323 end
4324
4325 local bindSelectionChanged = explorerPanel:FindFirstChild("SelectionChanged")
4326 if not bindSelectionChanged then
4327 bindSelectionChanged = Create('BindableEvent',{Name = "SelectionChanged"})
4328 bindSelectionChanged.Parent = explorerPanel
4329 end
4330
4331 local SelectionList = {}
4332 local SelectionSet = {}
4333 local Updates = true
4334 Selection = {
4335 Selected = SelectionSet;
4336 List = SelectionList;
4337 }
4338
4339 local function addObject(object)
4340 -- list update
4341 local lupdate = false
4342 -- scroll update
4343 local supdate = false
4344
4345 if not SelectionSet[object] then
4346 local node = NodeLookup[object]
4347 if node then
4348 table.insert(SelectionList,object)
4349 SelectionSet[object] = true
4350 node.Selected = true
4351
4352 -- expand all ancestors so that selected node becomes visible
4353 node = node.Parent
4354 while node do
4355 if not node.Expanded then
4356 node.Expanded = true
4357 lupdate = true
4358 end
4359 node = node.Parent
4360 end
4361 supdate = true
4362 end
4363 end
4364 return lupdate,supdate
4365 end
4366
4367 function Selection:Set(objects)
4368 local lupdate = false
4369 local supdate = false
4370
4371 if #SelectionList > 0 then
4372 for i = 1,#SelectionList do
4373 local object = SelectionList[i]
4374 local node = NodeLookup[object]
4375 if node then
4376 node.Selected = false
4377 SelectionSet[object] = nil
4378 end
4379 end
4380
4381 SelectionList = {}
4382 Selection.List = SelectionList
4383 supdate = true
4384 end
4385
4386 for i = 1,#objects do
4387 local l,s = addObject(objects[i])
4388 lupdate = l or lupdate
4389 supdate = s or supdate
4390 end
4391
4392 if lupdate then
4393 rawUpdateList()
4394 supdate = true
4395 elseif supdate then
4396 scrollBar:Update()
4397 end
4398
4399 if supdate then
4400 bindSelectionChanged:Fire()
4401 updateActions()
4402 end
4403 end
4404
4405 function Selection:Add(object)
4406 local l,s = addObject(object)
4407 if l then
4408 rawUpdateList()
4409 if Updates then
4410 bindSelectionChanged:Fire()
4411 updateActions()
4412 end
4413 elseif s then
4414 scrollBar:Update()
4415 if Updates then
4416 bindSelectionChanged:Fire()
4417 updateActions()
4418 end
4419 end
4420 end
4421
4422 function Selection:StopUpdates()
4423 Updates = false
4424 end
4425
4426 function Selection:ResumeUpdates()
4427 Updates = true
4428 bindSelectionChanged:Fire()
4429 updateActions()
4430 end
4431
4432 function Selection:Remove(object,noupdate)
4433 if SelectionSet[object] then
4434 local node = NodeLookup[object]
4435 if node then
4436 node.Selected = false
4437 SelectionSet[object] = nil
4438 for i = 1,#SelectionList do
4439 if SelectionList[i] == object then
4440 table.remove(SelectionList,i)
4441 break
4442 end
4443 end
4444
4445 if not noupdate then
4446 scrollBar:Update()
4447 end
4448 bindSelectionChanged:Fire()
4449 updateActions()
4450 end
4451 end
4452 end
4453
4454 function Selection:Get()
4455 local list = {}
4456 for i = 1,#SelectionList do
4457 list[i] = SelectionList[i]
4458 end
4459 return list
4460 end
4461
4462 bindSetSelection.OnInvoke = function(...)
4463 Selection:Set(...)
4464 end
4465
4466 bindGetSelection.OnInvoke = function()
4467 return Selection:Get()
4468 end
4469end
4470
4471function CreateCaution(title,msg)
4472 local newCaution = CautionWindow:Clone()
4473 newCaution.Title.Text = title
4474 newCaution.MainWindow.Desc.Text = msg
4475 newCaution.Parent = explorerPanel.Parent
4476 newCaution.Visible = true
4477 newCaution.MainWindow.Ok.MouseButton1Up:connect(function()
4478 newCaution:Destroy()
4479 end)
4480end
4481
4482function CreateTableCaution(title,msg)
4483 if type(msg) ~= "table" then return CreateCaution(title,tostring(msg)) end
4484 local newCaution = TableCautionWindow:Clone()
4485 newCaution.Title.Text = title
4486
4487 local TableList = newCaution.MainWindow.TableResults
4488 local TableTemplate = newCaution.MainWindow.TableTemplate
4489
4490 for i,v in pairs(msg) do
4491 local newResult = TableTemplate:Clone()
4492 newResult.Type.Text = type(v)
4493 newResult.Value.Text = tostring(v)
4494 newResult.Position = UDim2.new(0,0,0,#TableList:GetChildren() * 20)
4495 newResult.Parent = TableList
4496 TableList.CanvasSize = UDim2.new(0,0,0,#TableList:GetChildren() * 20)
4497 newResult.Visible = true
4498 end
4499 newCaution.Parent = explorerPanel.Parent
4500 newCaution.Visible = true
4501 newCaution.MainWindow.Ok.MouseButton1Up:connect(function()
4502 newCaution:Destroy()
4503 end)
4504end
4505
4506local function Split(str, delimiter)
4507 local start = 1
4508 local t = {}
4509 while true do
4510 local pos = string.find (str, delimiter, start, true)
4511 if not pos then
4512 break
4513 end
4514 table.insert (t, string.sub (str, start, pos - 1))
4515 start = pos + string.len (delimiter)
4516 end
4517 table.insert (t, string.sub (str, start))
4518 return t
4519end
4520
4521local function ToValue(value,type)
4522 if type == "Vector2" then
4523 local list = Split(value,",")
4524 if #list < 2 then return nil end
4525 local x = tonumber(list[1]) or 0
4526 local y = tonumber(list[2]) or 0
4527 return Vector2.new(x,y)
4528 elseif type == "Vector3" then
4529 local list = Split(value,",")
4530 if #list < 3 then return nil end
4531 local x = tonumber(list[1]) or 0
4532 local y = tonumber(list[2]) or 0
4533 local z = tonumber(list[3]) or 0
4534 return Vector3.new(x,y,z)
4535 elseif type == "Color3" then
4536 local list = Split(value,",")
4537 if #list < 3 then return nil end
4538 local r = tonumber(list[1]) or 0
4539 local g = tonumber(list[2]) or 0
4540 local b = tonumber(list[3]) or 0
4541 return Color3.new(r/255,g/255, b/255)
4542 elseif type == "UDim2" then
4543 local list = Split(string.gsub(string.gsub(value, "{", ""),"}",""),",")
4544 if #list < 4 then return nil end
4545 local xScale = tonumber(list[1]) or 0
4546 local xOffset = tonumber(list[2]) or 0
4547 local yScale = tonumber(list[3]) or 0
4548 local yOffset = tonumber(list[4]) or 0
4549 return UDim2.new(xScale, xOffset, yScale, yOffset)
4550 elseif type == "Number" then
4551 return tonumber(value)
4552 elseif type == "String" then
4553 return value
4554 elseif type == "NumberRange" then
4555 local list = Split(value,",")
4556 if #list == 1 then
4557 if tonumber(list[1]) == nil then return nil end
4558 local newVal = tonumber(list[1]) or 0
4559 return NumberRange.new(newVal)
4560 end
4561 if #list < 2 then return nil end
4562 local x = tonumber(list[1]) or 0
4563 local y = tonumber(list[2]) or 0
4564 return NumberRange.new(x,y)
4565 elseif type == "Script" then
4566 local success,err = ypcall(function()
4567 _G.D_E_X_DONOTUSETHISPLEASE = nil
4568 loadstring(
4569 "_G.D_E_X_DONOTUSETHISPLEASE = "..value
4570 )()
4571 return _G.D_E_X_DONOTUSETHISPLEASE
4572 end)
4573 if err then
4574 return nil
4575 end
4576 else
4577 return nil
4578 end
4579end
4580
4581local function ToPropValue(value,type)
4582 if type == "Vector2" then
4583 local list = Split(value,",")
4584 if #list < 2 then return nil end
4585 local x = tonumber(list[1]) or 0
4586 local y = tonumber(list[2]) or 0
4587 return Vector2.new(x,y)
4588 elseif type == "Vector3" then
4589 local list = Split(value,",")
4590 if #list < 3 then return nil end
4591 local x = tonumber(list[1]) or 0
4592 local y = tonumber(list[2]) or 0
4593 local z = tonumber(list[3]) or 0
4594 return Vector3.new(x,y,z)
4595 elseif type == "Color3" then
4596 local list = Split(value,",")
4597 if #list < 3 then return nil end
4598 local r = tonumber(list[1]) or 0
4599 local g = tonumber(list[2]) or 0
4600 local b = tonumber(list[3]) or 0
4601 return Color3.new(r/255,g/255, b/255)
4602 elseif type == "UDim2" then
4603 local list = Split(string.gsub(string.gsub(value, "{", ""),"}",""),",")
4604 if #list < 4 then return nil end
4605 local xScale = tonumber(list[1]) or 0
4606 local xOffset = tonumber(list[2]) or 0
4607 local yScale = tonumber(list[3]) or 0
4608 local yOffset = tonumber(list[4]) or 0
4609 return UDim2.new(xScale, xOffset, yScale, yOffset)
4610 elseif type == "Content" then
4611 return value
4612 elseif type == "float" or type == "int" or type == "double" then
4613 return tonumber(value)
4614 elseif type == "string" then
4615 return value
4616 elseif type == "NumberRange" then
4617 local list = Split(value,",")
4618 if #list == 1 then
4619 if tonumber(list[1]) == nil then return nil end
4620 local newVal = tonumber(list[1]) or 0
4621 return NumberRange.new(newVal)
4622 end
4623 if #list < 2 then return nil end
4624 local x = tonumber(list[1]) or 0
4625 local y = tonumber(list[2]) or 0
4626 return NumberRange.new(x,y)
4627 elseif string.sub(value,1,4) == "Enum" then
4628 local getEnum = value
4629 while true do
4630 local x,y = string.find(getEnum,".")
4631 if y then
4632 getEnum = string.sub(getEnum,y+1)
4633 else
4634 break
4635 end
4636 end
4637 -- print(getEnum)
4638 return getEnum
4639 else
4640 return nil
4641 end
4642end
4643
4644function PromptRemoteCaller(inst)
4645 if CurrentRemoteWindow then
4646 CurrentRemoteWindow:Destroy()
4647 CurrentRemoteWindow = nil
4648 end
4649 CurrentRemoteWindow = RemoteWindow:Clone()
4650 CurrentRemoteWindow.Parent = explorerPanel.Parent
4651 CurrentRemoteWindow.Visible = true
4652
4653 local displayValues = false
4654
4655 local ArgumentList = CurrentRemoteWindow.MainWindow.Arguments
4656 local ArgumentTemplate = CurrentRemoteWindow.MainWindow.ArgumentTemplate
4657
4658 if inst:IsA("RemoteEvent") then
4659 CurrentRemoteWindow.Title.Text = "Fire Event"
4660 CurrentRemoteWindow.MainWindow.Ok.Text = "Fire"
4661 CurrentRemoteWindow.MainWindow.DisplayReturned.Visible = false
4662 CurrentRemoteWindow.MainWindow.Desc2.Visible = false
4663 end
4664
4665 local newArgument = ArgumentTemplate:Clone()
4666 newArgument.Parent = ArgumentList
4667 newArgument.Visible = true
4668 newArgument.Type.MouseButton1Down:connect(function()
4669 createDDown(newArgument.Type,function(choice)
4670 newArgument.Type.Text = choice
4671 end,"Script","Number","String","Color3","Vector3","Vector2","UDim2","NumberRange")
4672 end)
4673
4674 CurrentRemoteWindow.MainWindow.Ok.MouseButton1Up:connect(function()
4675 if CurrentRemoteWindow and inst.Parent ~= nil then
4676 local MyArguments = {}
4677 for i,v in pairs(ArgumentList:GetChildren()) do
4678 table.insert(MyArguments,ToValue(v.Value.Text,v.Type.Text))
4679 end
4680 if inst:IsA("RemoteFunction") then
4681 if displayValues then
4682 spawn(function()
4683 local myResults = inst:InvokeServer(unpack(MyArguments))
4684 if myResults then
4685 CreateTableCaution("Remote Caller",myResults)
4686 else
4687 CreateCaution("Remote Caller","This remote did not return anything.")
4688 end
4689 end)
4690 else
4691 spawn(function()
4692 inst:InvokeServer(unpack(MyArguments))
4693 end)
4694 end
4695 else
4696 inst:FireServer(unpack(MyArguments))
4697 end
4698 CurrentRemoteWindow:Destroy()
4699 CurrentRemoteWindow = nil
4700 end
4701 end)
4702
4703 CurrentRemoteWindow.MainWindow.Add.MouseButton1Up:connect(function()
4704 if CurrentRemoteWindow then
4705 local newArgument = ArgumentTemplate:Clone()
4706 newArgument.Position = UDim2.new(0,0,0,#ArgumentList:GetChildren() * 20)
4707 newArgument.Parent = ArgumentList
4708 ArgumentList.CanvasSize = UDim2.new(0,0,0,#ArgumentList:GetChildren() * 20)
4709 newArgument.Visible = true
4710 newArgument.Type.MouseButton1Down:connect(function()
4711 createDDown(newArgument.Type,function(choice)
4712 newArgument.Type.Text = choice
4713 end,"Script","Number","String","Color3","Vector3","Vector2","UDim2","NumberRange")
4714 end)
4715 end
4716 end)
4717
4718 CurrentRemoteWindow.MainWindow.Subtract.MouseButton1Up:connect(function()
4719 if CurrentRemoteWindow then
4720 if #ArgumentList:GetChildren() > 1 then
4721 ArgumentList:GetChildren()[#ArgumentList:GetChildren()]:Destroy()
4722 ArgumentList.CanvasSize = UDim2.new(0,0,0,#ArgumentList:GetChildren() * 20)
4723 end
4724 end
4725 end)
4726
4727 CurrentRemoteWindow.MainWindow.Cancel.MouseButton1Up:connect(function()
4728 if CurrentRemoteWindow then
4729 CurrentRemoteWindow:Destroy()
4730 CurrentRemoteWindow = nil
4731 end
4732 end)
4733
4734 CurrentRemoteWindow.MainWindow.DisplayReturned.MouseButton1Up:connect(function()
4735 if displayValues then
4736 displayValues = false
4737 CurrentRemoteWindow.MainWindow.DisplayReturned.enabled.Visible = false
4738 else
4739 displayValues = true
4740 CurrentRemoteWindow.MainWindow.DisplayReturned.enabled.Visible = true
4741 end
4742 end)
4743end
4744
4745function PromptSaveInstance(inst)
4746 if not SaveInstance and not _G.SaveInstance then CreateCaution("SaveInstance Missing","You do not have the SaveInstance function installed. Please go to RaspberryPi's thread to retrieve it.") return end
4747 if CurrentSaveInstanceWindow then
4748 CurrentSaveInstanceWindow:Destroy()
4749 CurrentSaveInstanceWindow = nil
4750 if explorerPanel.Parent:FindFirstChild("SaveInstanceOverwriteCaution") then
4751 explorerPanel.Parent.SaveInstanceOverwriteCaution:Destroy()
4752 end
4753 end
4754 CurrentSaveInstanceWindow = SaveInstanceWindow:Clone()
4755 CurrentSaveInstanceWindow.Parent = explorerPanel.Parent
4756 CurrentSaveInstanceWindow.Visible = true
4757
4758 local filename = CurrentSaveInstanceWindow.MainWindow.FileName
4759 local saveObjects = true
4760 local overwriteCaution = false
4761
4762 CurrentSaveInstanceWindow.MainWindow.Save.MouseButton1Up:connect(function()
4763 if readfile and getelysianpath then
4764 if readfile(getelysianpath()..filename.Text..".rbxmx") then
4765 if not overwriteCaution then
4766 overwriteCaution = true
4767 local newCaution = ConfirmationWindow:Clone()
4768 newCaution.Name = "SaveInstanceOverwriteCaution"
4769 newCaution.MainWindow.Desc.Text = "The file, "..filename.Text..".rbxmx, already exists. Overwrite?"
4770 newCaution.Parent = explorerPanel.Parent
4771 newCaution.Visible = true
4772 newCaution.MainWindow.Yes.MouseButton1Up:connect(function()
4773 ypcall(function()
4774 SaveInstance(inst,filename.Text..".rbxmx",not saveObjects)
4775 end)
4776 overwriteCaution = false
4777 newCaution:Destroy()
4778 if CurrentSaveInstanceWindow then
4779 CurrentSaveInstanceWindow:Destroy()
4780 CurrentSaveInstanceWindow = nil
4781 end
4782 end)
4783 newCaution.MainWindow.No.MouseButton1Up:connect(function()
4784 overwriteCaution = false
4785 newCaution:Destroy()
4786 end)
4787 end
4788 else
4789 ypcall(function()
4790 SaveInstance(inst,filename.Text..".rbxmx",not saveObjects)
4791 end)
4792 if CurrentSaveInstanceWindow then
4793 CurrentSaveInstanceWindow:Destroy()
4794 CurrentSaveInstanceWindow = nil
4795 if explorerPanel.Parent:FindFirstChild("SaveInstanceOverwriteCaution") then
4796 explorerPanel.Parent.SaveInstanceOverwriteCaution:Destroy()
4797 end
4798 end
4799 end
4800 else
4801 ypcall(function()
4802 if SaveInstance then
4803 SaveInstance(inst,filename.Text..".rbxmx",not saveObjects)
4804 else
4805 _G.SaveInstance(inst,filename.Text,not saveObjects)
4806 end
4807 end)
4808 if CurrentSaveInstanceWindow then
4809 CurrentSaveInstanceWindow:Destroy()
4810 CurrentSaveInstanceWindow = nil
4811 if explorerPanel.Parent:FindFirstChild("SaveInstanceOverwriteCaution") then
4812 explorerPanel.Parent.SaveInstanceOverwriteCaution:Destroy()
4813 end
4814 end
4815 end
4816 end)
4817 CurrentSaveInstanceWindow.MainWindow.Cancel.MouseButton1Up:connect(function()
4818 if CurrentSaveInstanceWindow then
4819 CurrentSaveInstanceWindow:Destroy()
4820 CurrentSaveInstanceWindow = nil
4821 if explorerPanel.Parent:FindFirstChild("SaveInstanceOverwriteCaution") then
4822 explorerPanel.Parent.SaveInstanceOverwriteCaution:Destroy()
4823 end
4824 end
4825 end)
4826 CurrentSaveInstanceWindow.MainWindow.SaveObjects.MouseButton1Up:connect(function()
4827 if saveObjects then
4828 saveObjects = false
4829 CurrentSaveInstanceWindow.MainWindow.SaveObjects.enabled.Visible = false
4830 else
4831 saveObjects = true
4832 CurrentSaveInstanceWindow.MainWindow.SaveObjects.enabled.Visible = true
4833 end
4834 end)
4835end
4836
4837function DestroyRightClick()
4838 if currentRightClickMenu then
4839 currentRightClickMenu:Destroy()
4840 currentRightClickMenu = nil
4841 end
4842 if CurrentInsertObjectWindow and CurrentInsertObjectWindow.Visible then
4843 CurrentInsertObjectWindow.Visible = false
4844 end
4845end
4846
4847function rightClickMenu(sObj)
4848 local mouse = game:GetService'Players'.LocalPlayer:GetMouse()
4849
4850 local extra = (sObj == RunningScriptsStorageMain and 'Refresh Instances' or nil)
4851
4852 currentRightClickMenu = CreateRightClickMenu(
4853 {
4854 'Cut',
4855 'Copy',
4856 'Paste Into',
4857 'Duplicate',
4858 'Delete',
4859 -- 'Group',
4860 -- 'Ungroup',
4861 'Select Children',
4862 'Teleport To',
4863 -- 'Track',
4864 -- 'Insert Part',
4865 -- 'Insert Object',
4866 'View Script',
4867 'Save Script',
4868 'Dump Function',
4869 'Save Instance',
4870 'Call Function',
4871 'Call Remote',
4872 'Try Get Values',
4873 extra
4874 },
4875 "",
4876 false,
4877 function(option)
4878 if option == "Cut" then
4879 if not Option.Modifiable then return end
4880 clipboard = {}
4881 local list = Selection.List
4882 local cut = {}
4883 for i = 1,#list do
4884 local obj = list[i]:Clone()
4885 if obj then
4886 table.insert(clipboard,obj)
4887 table.insert(cut,list[i])
4888 end
4889 end
4890 for i = 1,#cut do
4891 pcall(delete,cut[i])
4892 end
4893 updateActions()
4894 elseif option == "Copy" then
4895 if not Option.Modifiable then return end
4896 clipboard = {}
4897 local list = Selection.List
4898 for i = 1,#list do
4899 table.insert(clipboard,list[i]:Clone())
4900 end
4901 updateActions()
4902 elseif option == "Paste Into" then
4903 if not Option.Modifiable then return end
4904 local parent = Selection.List[1] or workspace
4905 for i = 1,#clipboard do
4906 clipboard[i]:Clone().Parent = parent
4907 end
4908 elseif option == "Duplicate" then
4909 if not Option.Modifiable then return end
4910 local list = Selection:Get()
4911 for i = 1,#list do
4912 list[i]:Clone().Parent = Selection.List[1].Parent or workspace
4913 end
4914 elseif option == "Delete" then
4915 if not Option.Modifiable then return end
4916 local list = Selection:Get()
4917 for i = 1,#list do
4918 pcall(delete,list[i])
4919 end
4920 Selection:Set({})
4921 elseif option == "Group" then
4922 if not Option.Modifiable then return end
4923 local newModel = Instance.new("Model")
4924 local list = Selection:Get()
4925 newModel.Parent = Selection.List[1].Parent or workspace
4926 for i = 1,#list do
4927 list[i].Parent = newModel
4928 end
4929 Selection:Set({})
4930 elseif option == "Ungroup" then
4931 if not Option.Modifiable then return end
4932 local ungrouped = {}
4933 local list = Selection:Get()
4934 for i = 1,#list do
4935 if list[i]:IsA("Model") then
4936 for i2,v2 in pairs(list[i]:GetChildren()) do
4937 v2.Parent = list[i].Parent or workspace
4938 table.insert(ungrouped,v2)
4939 end
4940 pcall(delete,list[i])
4941 end
4942 end
4943 Selection:Set({})
4944 if SettingsRemote:Invoke("SelectUngrouped") then
4945 for i,v in pairs(ungrouped) do
4946 Selection:Add(v)
4947 end
4948 end
4949 elseif option == "Select Children" then
4950 if not Option.Modifiable then return end
4951 local list = Selection:Get()
4952 Selection:Set({})
4953 Selection:StopUpdates()
4954 for i = 1,#list do
4955 for i2,v2 in pairs(list[i]:GetChildren()) do
4956 Selection:Add(v2)
4957 end
4958 end
4959 Selection:ResumeUpdates()
4960 elseif option == "Teleport To" then
4961 if not Option.Modifiable then return end
4962 local list = Selection:Get()
4963 for i = 1,#list do
4964 if list[i]:IsA("BasePart") then
4965 pcall(function()
4966 game:GetService'Players'.LocalPlayer.Character.HumanoidRootPart.CFrame = list[i].CFrame
4967 end)
4968 break
4969 end
4970 end
4971 elseif option == "Insert Part" then
4972 if not Option.Modifiable then return end
4973 local insertedParts = {}
4974 local list = Selection:Get()
4975 for i = 1,#list do
4976 pcall(function()
4977 local newPart = Instance.new("Part")
4978 newPart.Parent = list[i]
4979 newPart.CFrame = CFrame.new(game:GetService'Players'.LocalPlayer.Character.Head.Position) + Vector3.new(0,3,0)
4980 table.insert(insertedParts,newPart)
4981 end)
4982 end
4983 elseif option == "Save Instance" then
4984 if not Option.Modifiable then return end
4985 local list = Selection:Get()
4986 if #list == 1 then
4987 list[1].Archivable = true
4988 ypcall(function()PromptSaveInstance(list[1]:Clone())end)
4989 elseif #list > 1 then
4990 local newModel = Instance.new("Model")
4991 newModel.Name = "SavedInstances"
4992 for i = 1,#list do
4993 ypcall(function()
4994 list[i].Archivable = true
4995 list[i]:Clone().Parent = newModel
4996 end)
4997 end
4998 PromptSaveInstance(newModel)
4999 end
5000 elseif option == "Call Remote" then
5001 if not Option.Modifiable then return end
5002 local list = Selection:Get()
5003 for i = 1,#list do
5004 if list[i]:IsA("RemoteFunction") or list[i]:IsA("RemoteEvent") then
5005 PromptRemoteCaller(list[i])
5006 break
5007 end
5008 end
5009 elseif option == "Save Script" then
5010 if not Option.Modifiable then return end
5011 local list = Selection:Get()
5012 for i = 1,#list do
5013 if list[i]:IsA("LocalScript") or list[i]:IsA("ModuleScript") then
5014 if Synapse then
5015 Synapse:WriteFile(game.PlaceId .. '_' .. list[i].Name:gsub('%W', '') .. '_' .. math.random(100000, 999999) .. '.lua', decompile(list[i]))
5016 elseif writefile then
5017 writefile(game.PlaceId .. '_' .. list[i].Name:gsub('%W', '') .. '_' .. math.random(100000, 999999) .. '.lua', decompile(list[i]));
5018 end
5019 end
5020 end
5021 elseif option == "View Script" then
5022 -- if not Option.Modifiable then return end
5023 local list = Selection:Get()
5024 for i = 1,#list do
5025 if list[i]:IsA("LocalScript") or list[i]:IsA("ModuleScript") then
5026 ScriptEditorEvent:Fire(list[i])
5027 end
5028 end
5029 elseif option == 'Try Get Values' then
5030 for i, sObj in pairs(Selection:Get()) do
5031 if vars[sObj.Name] or funcs[sObj.Name] then
5032 local var = vars[sObj.Name] or funcs[sObj.Name]
5033 if var then
5034 if type(var) == 'table' then
5035 local T = var;
5036 -- table.sort(T, cmp)
5037 for i,v in pairs(T) do
5038 local n = Instance.new('StringValue', sObj);
5039 n.Name = tostring(i);
5040 local a, b = pcall(function()
5041 return tostring(v);
5042 end)
5043 n.Value = a and b or '.undefined';
5044 if (type(v) == 'function') then
5045 funcs[i] = v;
5046 else
5047 vars[i] = v;
5048 end
5049 end
5050 elseif type(var) == 'function' then
5051 local T = debug.getupvalues(var);
5052 -- table.sort(T, cmp)
5053 for i,v in pairs(T) do
5054 local n = Instance.new('StringValue', sObj);
5055 n.Name = tostring(i);
5056 local a, b = pcall(function()
5057 return tostring(v);
5058 end)
5059 n.Value = a and b or '.undefined';
5060 if (type(v) == 'function') then
5061 funcs[i] = v;
5062 else
5063 vars[i] = v;
5064 end
5065 end
5066 end
5067 end
5068 end
5069 if typeof(sObj) == 'Instance' and (sObj:IsA'LocalScript' or sObj:IsA'ModuleScript') then
5070 do -- get script env values
5071 local T = getsenv(sObj);
5072 for i,v in pairs(T) do
5073 if not sObj:FindFirstChild(tostring(i)) then
5074 local n = Instance.new('StringValue', sObj);
5075 n.Name = tostring(i);
5076 local a, b = pcall(function()
5077 return tostring(v);
5078 end)
5079 n.Value = a and b or '.undefined';
5080 if (type(v) == 'function') then
5081 funcs[i] = v;
5082 for fn, p in pairs(debug.getupvalues(v)) do
5083 if not sObj:FindFirstChild(tostring(fn)) then
5084 local n = Instance.new('StringValue', sObj);
5085 n.Name = tostring(fn);
5086 local a, b = pcall(function()
5087 return tostring(p);
5088 end)
5089 n.Value = a and b or '.undefined';
5090 if (type(p) == 'function') then
5091 funcs[fn] = p;
5092 else
5093 vars[fn] = p;
5094 end
5095 end
5096 end
5097 else
5098 vars[i] = v;
5099 end
5100 end
5101 end
5102 end
5103 --[[do -- attempt to get upvalue variables
5104 for i,v in pairs(getreg()) do
5105 if typeof(v) == 'function' then
5106 local T = debug.getupvalues(v);
5107 for i,v in pairs(T) do
5108 if not sObj:FindFirstChild(tostring(i)) then
5109 local n = Instance.new('StringValue', sObj);
5110 n.Name = tostring(i);
5111 local a, b = pcall(function()
5112 return tostring(v);
5113 end)
5114 n.Value = a and b or '.undefined';
5115 if (type(v) == 'function') then
5116 for _, p in pairs(debug.getupvalues(v)) do
5117 if not sObj:FindFirstChild(tostring(_)) then
5118 local n = Instance.new('StringValue', sObj);
5119 n.Name = tostring(_);
5120 local a, b = pcall(function()
5121 return tostring(p);
5122 end)
5123 n.Value = a and b or '.undefined';
5124 end
5125 end
5126 end
5127 end
5128 end
5129 end
5130 end
5131 end]]
5132 end
5133 end
5134 elseif option == 'Dump Function' then
5135 if funcs[sObj.Name] then
5136 local var = funcs[sObj.Name]
5137 if var then
5138 if type(var) == 'function' then
5139 if writefile then
5140 writefile(game.PlaceId .. '_' .. 'DF' .. '_' .. math.random(100000, 999999) .. '.lua', decompile(var));
5141 end
5142 end
5143 end
5144 end
5145 elseif option == 'Refresh Instances' then
5146 for i,v in pairs(getscripts()) do
5147 if v ~= RunningScriptsStorage and v ~= DexStorage and v ~= UpvalueStorage then
5148 if (v:IsA'LocalScript' or v:IsA'ModuleScript' or v:IsA'Script') then
5149 v.Archivable = true;
5150 local ls = v:clone()
5151 if v:IsA'LocalScript' or v:IsA'Script' then ls.Disabled = true; end
5152 ls.Parent = RunningScriptsStorageMain
5153 end
5154 end
5155 end
5156 elseif option == 'Track' then
5157 if not Option.Modifiable then return end
5158 local list = Selection:Get()
5159 for i = 1,#list do
5160 pcall(function()
5161 local name = list[i].Name;
5162 if list[i].Parent:FindFirstChildOfClass'Humanoid' then
5163 name = list[i].Parent.Name;
5164 end
5165 _G.Track(list[i], name, list[i].BrickColor.Color);
5166 end)
5167 end
5168 end
5169 end)
5170 currentRightClickMenu.Parent = explorerPanel.Parent
5171 currentRightClickMenu.Position = UDim2.new(0,mouse.X,0,mouse.Y)
5172 if currentRightClickMenu.AbsolutePosition.X + currentRightClickMenu.AbsoluteSize.X > explorerPanel.AbsolutePosition.X + explorerPanel.AbsoluteSize.X then
5173 currentRightClickMenu.Position = UDim2.new(0, explorerPanel.AbsolutePosition.X + explorerPanel.AbsoluteSize.X - currentRightClickMenu.AbsoluteSize.X, 0, mouse.Y)
5174 end
5175end
5176
5177local function cancelReparentDrag()end
5178local function cancelSelectDrag()end
5179do
5180 local listEntries = {}
5181 local nameConnLookup = {}
5182
5183 local mouseDrag = Create('ImageButton',{
5184 Name = "MouseDrag";
5185 Position = UDim2.new(-0.25,0,-0.25,0);
5186 Size = UDim2.new(1.5,0,1.5,0);
5187 Transparency = 1;
5188 AutoButtonColor = false;
5189 Active = true;
5190 ZIndex = 10;
5191 })
5192 local function dragSelect(last,add,button)
5193 local connDrag
5194 local conUp
5195
5196 conDrag = mouseDrag.MouseMoved:connect(function(x,y)
5197 local pos = Vector2.new(x,y) - listFrame.AbsolutePosition
5198 local size = listFrame.AbsoluteSize
5199 if pos.x < 0 or pos.x > size.x or pos.y < 0 or pos.y > size.y then return end
5200
5201 local i = math.ceil(pos.y/ENTRY_BOUND) + scrollBar.ScrollIndex
5202 -- Mouse may have made a large step, so interpolate between the
5203 -- last index and the current.
5204 for n = i<last and i or last, i>last and i or last do
5205 local node = TreeList[n]
5206 if node then
5207 if add then
5208 Selection:Add(node.Object)
5209 else
5210 Selection:Remove(node.Object)
5211 end
5212 end
5213 end
5214 last = i
5215 end)
5216
5217 function cancelSelectDrag()
5218 mouseDrag.Parent = nil
5219 conDrag:disconnect()
5220 conUp:disconnect()
5221 function cancelSelectDrag()end
5222 end
5223
5224 conUp = mouseDrag[button]:connect(cancelSelectDrag)
5225
5226 mouseDrag.Parent = GetScreen(listFrame)
5227 end
5228
5229 local function dragReparent(object,dragGhost,clickPos,ghostOffset)
5230 local connDrag
5231 local conUp
5232 local conUp2
5233
5234 local parentIndex = nil
5235 local dragged = false
5236
5237 local parentHighlight = Create('Frame',{
5238 Transparency = 1;
5239 Visible = false;
5240 Create('Frame',{
5241 BorderSizePixel = 0;
5242 BackgroundColor3 = Color3.new(0,0,0);
5243 BackgroundTransparency = 0.1;
5244 Position = UDim2.new(0,0,0,0);
5245 Size = UDim2.new(1,0,0,1);
5246 });
5247 Create('Frame',{
5248 BorderSizePixel = 0;
5249 BackgroundColor3 = Color3.new(0,0,0);
5250 BackgroundTransparency = 0.1;
5251 Position = UDim2.new(1,0,0,0);
5252 Size = UDim2.new(0,1,1,0);
5253 });
5254 Create('Frame',{
5255 BorderSizePixel = 0;
5256 BackgroundColor3 = Color3.new(0,0,0);
5257 BackgroundTransparency = 0.1;
5258 Position = UDim2.new(0,0,1,0);
5259 Size = UDim2.new(1,0,0,1);
5260 });
5261 Create('Frame',{
5262 BorderSizePixel = 0;
5263 BackgroundColor3 = Color3.new(0,0,0);
5264 BackgroundTransparency = 0.1;
5265 Position = UDim2.new(0,0,0,0);
5266 Size = UDim2.new(0,1,1,0);
5267 });
5268 })
5269 SetZIndex(parentHighlight,9)
5270
5271 conDrag = mouseDrag.MouseMoved:connect(function(x,y)
5272 local dragPos = Vector2.new(x,y)
5273 if dragged then
5274 local pos = dragPos - listFrame.AbsolutePosition
5275 local size = listFrame.AbsoluteSize
5276
5277 parentIndex = nil
5278 parentHighlight.Visible = false
5279 if pos.x >= 0 and pos.x <= size.x and pos.y >= 0 and pos.y <= size.y + ENTRY_SIZE*2 then
5280 local i = math.ceil(pos.y/ENTRY_BOUND-2)
5281 local node = TreeList[i + scrollBar.ScrollIndex]
5282 if node and node.Object ~= object and not object:IsAncestorOf(node.Object) then
5283 parentIndex = i
5284 local entry = listEntries[i]
5285 if entry then
5286 parentHighlight.Visible = true
5287 parentHighlight.Position = UDim2.new(0,1,0,entry.AbsolutePosition.y-listFrame.AbsolutePosition.y)
5288 parentHighlight.Size = UDim2.new(0,size.x-4,0,entry.AbsoluteSize.y)
5289 end
5290 end
5291 end
5292
5293 dragGhost.Position = UDim2.new(0,dragPos.x+ghostOffset.x,0,dragPos.y+ghostOffset.y)
5294 elseif (clickPos-dragPos).magnitude > 8 then
5295 dragged = true
5296 SetZIndex(dragGhost,9)
5297 dragGhost.IndentFrame.Transparency = 0.25
5298 dragGhost.IndentFrame.EntryText.TextColor3 = GuiColor.TextSelected
5299 dragGhost.Position = UDim2.new(0,dragPos.x+ghostOffset.x,0,dragPos.y+ghostOffset.y)
5300 dragGhost.Parent = GetScreen(listFrame)
5301 parentHighlight.Parent = listFrame
5302 end
5303 end)
5304
5305 function cancelReparentDrag()
5306 mouseDrag.Parent = nil
5307 conDrag:disconnect()
5308 conUp:disconnect()
5309 conUp2:disconnect()
5310 dragGhost:Destroy()
5311 parentHighlight:Destroy()
5312 function cancelReparentDrag()end
5313 end
5314
5315 local wasSelected = Selection.Selected[object]
5316 if not wasSelected and Option.Selectable then
5317 Selection:Set({object})
5318 end
5319
5320 conUp = mouseDrag.MouseButton1Up:connect(function()
5321 cancelReparentDrag()
5322 if dragged then
5323 if parentIndex then
5324 local parentNode = TreeList[parentIndex + scrollBar.ScrollIndex]
5325 if parentNode then
5326 parentNode.Expanded = true
5327
5328 local parentObj = parentNode.Object
5329 local function parent(a,b)
5330 a.Parent = b
5331 end
5332 if Option.Selectable then
5333 local list = Selection.List
5334 for i = 1,#list do
5335 pcall(parent,list[i],parentObj)
5336 end
5337 else
5338 pcall(parent,object,parentObj)
5339 end
5340 end
5341 end
5342 else
5343 -- do selection click
5344 if wasSelected and Option.Selectable then
5345 Selection:Set({})
5346 end
5347 end
5348 end)
5349 conUp2 = mouseDrag.MouseButton2Down:connect(function()
5350 cancelReparentDrag()
5351 end)
5352
5353 mouseDrag.Parent = GetScreen(listFrame)
5354 end
5355
5356 local entryTemplate = Create('ImageButton',{
5357 Name = "Entry";
5358 Transparency = 1;
5359 AutoButtonColor = false;
5360 Position = UDim2.new(0,0,0,0);
5361 Size = UDim2.new(1,0,0,ENTRY_SIZE);
5362 Create('Frame',{
5363 Name = "IndentFrame";
5364 BackgroundTransparency = 1;
5365 BackgroundColor3 = GuiColor.Selected;
5366 BorderColor3 = GuiColor.BorderSelected;
5367 Position = UDim2.new(0,0,0,0);
5368 Size = UDim2.new(1,0,1,0);
5369 Create(Icon('ImageButton',0),{
5370 Name = "Expand";
5371 AutoButtonColor = false;
5372 Position = UDim2.new(0,-GUI_SIZE,0.5,-GUI_SIZE/2);
5373 Size = UDim2.new(0,GUI_SIZE,0,GUI_SIZE);
5374 });
5375 Create(Icon(nil,0),{
5376 Name = "ExplorerIcon";
5377 Position = UDim2.new(0,2+ENTRY_PADDING,0.5,-GUI_SIZE/2);
5378 Size = UDim2.new(0,GUI_SIZE,0,GUI_SIZE);
5379 });
5380 Create('TextLabel',{
5381 Name = "EntryText";
5382 BackgroundTransparency = 1;
5383 TextColor3 = GuiColor.Text;
5384 TextXAlignment = 'Left';
5385 TextYAlignment = 'Center';
5386 Font = FONT;
5387 FontSize = FONT_SIZE;
5388 Text = "";
5389 Position = UDim2.new(0,2+ENTRY_SIZE+4,0,0);
5390 Size = UDim2.new(1,-2,1,0);
5391 });
5392 });
5393 })
5394
5395 function scrollBar.UpdateCallback(self)
5396 for i = 1,self.VisibleSpace do
5397 local node = TreeList[i + self.ScrollIndex]
5398 if node then
5399 local entry = listEntries[i]
5400 if not entry then
5401 entry = Create(entryTemplate:Clone(),{
5402 Position = UDim2.new(0,2,0,ENTRY_BOUND*(i-1)+2);
5403 Size = UDim2.new(0,nodeWidth,0,ENTRY_SIZE);
5404 ZIndex = listFrame.ZIndex;
5405 })
5406 listEntries[i] = entry
5407
5408 local expand = entry.IndentFrame.Expand
5409 expand.MouseEnter:connect(function()
5410 local node = TreeList[i + self.ScrollIndex]
5411 if #node > 0 then
5412 if node.Expanded then
5413 Icon(expand,NODE_EXPANDED_OVER)
5414 else
5415 Icon(expand,NODE_COLLAPSED_OVER)
5416 end
5417 end
5418 end)
5419 expand.MouseLeave:connect(function()
5420 local node = TreeList[i + self.ScrollIndex]
5421 if #node > 0 then
5422 if node.Expanded then
5423 Icon(expand,NODE_EXPANDED)
5424 else
5425 Icon(expand,NODE_COLLAPSED)
5426 end
5427 end
5428 end)
5429 expand.MouseButton1Down:connect(function()
5430 local node = TreeList[i + self.ScrollIndex]
5431 if #node > 0 then
5432 node.Expanded = not node.Expanded
5433 if node.Object == explorerPanel.Parent and node.Expanded then
5434 CreateCaution("Warning","Please be careful when editing instances inside here, this is like the System32 of Dex and modifying objects here can break Dex.")
5435 end
5436 -- use raw update so the list updates instantly
5437 rawUpdateList()
5438 end
5439 end)
5440
5441 entry.MouseButton1Down:connect(function(x,y)
5442 local node = TreeList[i + self.ScrollIndex]
5443 DestroyRightClick()
5444 if GetAwaitRemote:Invoke() then
5445 bindSetAwaiting:Fire(node.Object)
5446 return
5447 end
5448
5449 if not HoldingShift then
5450 lastSelectedNode = i + self.ScrollIndex
5451 end
5452
5453 if HoldingShift and not filteringWorkspace() then
5454 if lastSelectedNode then
5455 if i + self.ScrollIndex - lastSelectedNode > 0 then
5456 Selection:StopUpdates()
5457 for i2 = 1, i + self.ScrollIndex - lastSelectedNode do
5458 local newNode = TreeList[lastSelectedNode + i2]
5459 if newNode then
5460 Selection:Add(newNode.Object)
5461 end
5462 end
5463 Selection:ResumeUpdates()
5464 else
5465 Selection:StopUpdates()
5466 for i2 = i + self.ScrollIndex - lastSelectedNode, 1 do
5467 local newNode = TreeList[lastSelectedNode + i2]
5468 if newNode then
5469 Selection:Add(newNode.Object)
5470 end
5471 end
5472 Selection:ResumeUpdates()
5473 end
5474 end
5475 return
5476 end
5477
5478 if HoldingCtrl then
5479 if Selection.Selected[node.Object] then
5480 Selection:Remove(node.Object)
5481 else
5482 Selection:Add(node.Object)
5483 end
5484 return
5485 end
5486 if Option.Modifiable then
5487 local pos = Vector2.new(x,y)
5488 dragReparent(node.Object,entry:Clone(),pos,entry.AbsolutePosition-pos)
5489 elseif Option.Selectable then
5490 if Selection.Selected[node.Object] then
5491 Selection:Set({})
5492 else
5493 Selection:Set({node.Object})
5494 end
5495 dragSelect(i+self.ScrollIndex,true,'MouseButton1Up')
5496 end
5497 end)
5498
5499 entry.MouseButton2Down:connect(function()
5500 if not Option.Selectable then return end
5501
5502 DestroyRightClick()
5503
5504 curSelect = entry
5505
5506 local node = TreeList[i + self.ScrollIndex]
5507
5508 if GetAwaitRemote:Invoke() then
5509 bindSetAwaiting:Fire(node.Object)
5510 return
5511 end
5512
5513 if not Selection.Selected[node.Object] then
5514 Selection:Set({node.Object})
5515 end
5516 end)
5517
5518
5519 entry.MouseButton2Up:connect(function()
5520 if not Option.Selectable then return end
5521
5522 local node = TreeList[i + self.ScrollIndex]
5523
5524 if checkMouseInGui(curSelect) then
5525 rightClickMenu(node.Object)
5526 end
5527 end)
5528
5529 entry.Parent = listFrame
5530 end
5531
5532 entry.Visible = true
5533
5534 local object = node.Object
5535
5536 -- update expand icon
5537 if #node == 0 then
5538 entry.IndentFrame.Expand.Visible = false
5539 elseif node.Expanded then
5540 Icon(entry.IndentFrame.Expand,NODE_EXPANDED)
5541 entry.IndentFrame.Expand.Visible = true
5542 else
5543 Icon(entry.IndentFrame.Expand,NODE_COLLAPSED)
5544 entry.IndentFrame.Expand.Visible = true
5545 end
5546
5547 -- update explorer icon
5548 Icon(entry.IndentFrame.ExplorerIcon,ExplorerIndex[object.ClassName] or 0)
5549
5550 -- update indentation
5551 local w = (node.Depth)*(2+ENTRY_PADDING+GUI_SIZE)
5552 entry.IndentFrame.Position = UDim2.new(0,w,0,0)
5553 entry.IndentFrame.Size = UDim2.new(1,-w,1,0)
5554
5555 -- update name change detection
5556 if nameConnLookup[entry] then
5557 nameConnLookup[entry]:disconnect()
5558 end
5559 local text = entry.IndentFrame.EntryText
5560 text.Text = object.Name
5561 nameConnLookup[entry] = node.Object.Changed:connect(function(p)
5562 if p == 'Name' then
5563 text.Text = object.Name
5564 end
5565 end)
5566
5567 -- update selection
5568 entry.IndentFrame.Transparency = node.Selected and 0 or 1
5569 text.TextColor3 = GuiColor[node.Selected and 'TextSelected' or 'Text']
5570
5571 entry.Size = UDim2.new(0,nodeWidth,0,ENTRY_SIZE)
5572 elseif listEntries[i] then
5573 listEntries[i].Visible = false
5574 end
5575 end
5576 for i = self.VisibleSpace+1,self.TotalSpace do
5577 local entry = listEntries[i]
5578 if entry then
5579 listEntries[i] = nil
5580 entry:Destroy()
5581 end
5582 end
5583 end
5584
5585 function scrollBarH.UpdateCallback(self)
5586 for i = 1,scrollBar.VisibleSpace do
5587 local node = TreeList[i + scrollBar.ScrollIndex]
5588 if node then
5589 local entry = listEntries[i]
5590 if entry then
5591 entry.Position = UDim2.new(0,2 - scrollBarH.ScrollIndex,0,ENTRY_BOUND*(i-1)+2)
5592 end
5593 end
5594 end
5595 end
5596
5597 Connect(listFrame.Changed,function(p)
5598 if p == 'AbsoluteSize' then
5599 rawUpdateSize()
5600 end
5601 end)
5602
5603 local wheelAmount = 6
5604
5605 explorerPanel.MouseWheelForward:connect(function()
5606 if input ~= nil and input.down ~= nil and input.down.leftshift then
5607 if scrollBarH.VisibleSpace - 1 > wheelAmount then
5608 scrollBarH:ScrollTo(scrollBarH.ScrollIndex - wheelAmount)
5609 else
5610 scrollBarH:ScrollTo(scrollBarH.ScrollIndex - scrollBarH.VisibleSpace)
5611 end
5612 else
5613 if scrollBar.VisibleSpace - 1 > wheelAmount then
5614 scrollBar:ScrollTo(scrollBar.ScrollIndex - wheelAmount)
5615 else
5616 scrollBar:ScrollTo(scrollBar.ScrollIndex - scrollBar.VisibleSpace)
5617 end
5618 end
5619 end)
5620 explorerPanel.MouseWheelBackward:connect(function()
5621 if input ~= nil and input.down ~= nil and input.down.leftshift then
5622 if scrollBarH.VisibleSpace - 1 > wheelAmount then
5623 scrollBarH:ScrollTo(scrollBarH.ScrollIndex + wheelAmount)
5624 else
5625 scrollBarH:ScrollTo(scrollBarH.ScrollIndex + scrollBarH.VisibleSpace)
5626 end
5627 else
5628 if scrollBar.VisibleSpace - 1 > wheelAmount then
5629 scrollBar:ScrollTo(scrollBar.ScrollIndex + wheelAmount)
5630 else
5631 scrollBar:ScrollTo(scrollBar.ScrollIndex + scrollBar.VisibleSpace)
5632 end
5633 end
5634 end)
5635end
5636
5637----------------------------------------------------------------
5638----------------------------------------------------------------
5639----------------------------------------------------------------
5640----------------------------------------------------------------
5641---- Object detection
5642
5643-- Inserts `v` into `t` at `i`. Also sets `Index` field in `v`.
5644local function insert(t,i,v)
5645 for n = #t,i,-1 do
5646 local v = t[n]
5647 v.Index = n+1
5648 t[n+1] = v
5649 end
5650 v.Index = i
5651 t[i] = v
5652end
5653
5654-- Removes `i` from `t`. Also sets `Index` field in removed value.
5655local function remove(t,i)
5656 local v = t[i]
5657 for n = i+1,#t do
5658 local v = t[n]
5659 v.Index = n-1
5660 t[n-1] = v
5661 end
5662 t[#t] = nil
5663 v.Index = 0
5664 return v
5665end
5666
5667-- Returns how deep `o` is in the tree.
5668local function depth(o)
5669 local d = -1
5670 while o do
5671 o = o.Parent
5672 d = d + 1
5673 end
5674 return d
5675end
5676
5677
5678local connLookup = {}
5679
5680-- Returns whether a node would be present in the tree list
5681local function nodeIsVisible(node)
5682 local visible = true
5683 node = node.Parent
5684 while node and visible do
5685 visible = visible and node.Expanded
5686 node = node.Parent
5687 end
5688 return visible
5689end
5690
5691-- Removes an object's tree node. Called when the object stops existing in the
5692-- game tree.
5693local function removeObject(object)
5694 local objectNode = NodeLookup[object]
5695 if not objectNode then
5696 return
5697 end
5698
5699 local visible = nodeIsVisible(objectNode)
5700
5701 Selection:Remove(object,true)
5702
5703 local parent = objectNode.Parent
5704 remove(parent,objectNode.Index)
5705 NodeLookup[object] = nil
5706 connLookup[object]:disconnect()
5707 connLookup[object] = nil
5708
5709 if visible then
5710 updateList()
5711 elseif nodeIsVisible(parent) then
5712 updateScroll()
5713 end
5714end
5715
5716-- Moves a tree node to a new parent. Called when an existing object's parent
5717-- changes.
5718local function moveObject(object,parent)
5719 local objectNode = NodeLookup[object]
5720 if not objectNode then
5721 return
5722 end
5723
5724 local parentNode = NodeLookup[parent]
5725 if not parentNode then
5726 return
5727 end
5728
5729 local visible = nodeIsVisible(objectNode)
5730
5731 remove(objectNode.Parent,objectNode.Index)
5732 objectNode.Parent = parentNode
5733
5734 objectNode.Depth = depth(object)
5735 local function r(node,d)
5736 for i = 1,#node do
5737 node[i].Depth = d
5738 r(node[i],d+1)
5739 end
5740 end
5741 r(objectNode,objectNode.Depth+1)
5742
5743 insert(parentNode,#parentNode+1,objectNode)
5744
5745 if visible or nodeIsVisible(objectNode) then
5746 updateList()
5747 elseif nodeIsVisible(objectNode.Parent) then
5748 updateScroll()
5749 end
5750end
5751
5752-- ScriptContext['/Libraries/LibraryRegistration/LibraryRegistration']
5753-- This RobloxLocked object lets me index its properties for some reason
5754
5755local function check(object)
5756 return object.AncestryChanged
5757end
5758
5759-- Creates a new tree node from an object. Called when an object starts
5760-- existing in the game tree.
5761local function addObject(object,noupdate)
5762 if script then
5763 -- protect against naughty RobloxLocked objects
5764 local s = pcall(check,object)
5765 if not s then
5766 return
5767 end
5768 end
5769
5770 local parentNode = NodeLookup[object.Parent]
5771 if not parentNode then
5772 return
5773 end
5774
5775 local objectNode = {
5776 Object = object;
5777 Parent = parentNode;
5778 Index = 0;
5779 Expanded = false;
5780 Selected = false;
5781 Depth = depth(object);
5782 }
5783
5784 connLookup[object] = Connect(object.AncestryChanged,function(c,p)
5785 if c == object then
5786 if p == nil then
5787 removeObject(c)
5788 else
5789 moveObject(c,p)
5790 end
5791 end
5792 end)
5793
5794 NodeLookup[object] = objectNode
5795 insert(parentNode,#parentNode+1,objectNode)
5796
5797 if not noupdate then
5798 if nodeIsVisible(objectNode) then
5799 updateList()
5800 elseif nodeIsVisible(objectNode.Parent) then
5801 updateScroll()
5802 end
5803 end
5804end
5805
5806local function makeObject(obj,par)
5807 local newObject = Instance.new(obj.ClassName)
5808 for i,v in pairs(obj.Properties) do
5809 ypcall(function()
5810 local newProp
5811 newProp = ToPropValue(v.Value,v.Type)
5812 newObject[v.Name] = newProp
5813 end)
5814 end
5815 newObject.Parent = par
5816end
5817
5818local function writeObject(obj)
5819 local newObject = {ClassName = obj.ClassName, Properties = {}}
5820 for i,v in pairs(RbxApi.GetProperties(obj.className)) do
5821 if v["Name"] ~= "Parent" then
5822 table.insert(newObject.Properties,{Name = v["Name"], Type = v["ValueType"], Value = tostring(obj[v["Name"]])})
5823 end
5824 end
5825 return newObject
5826end
5827
5828local function buildDexStorage()
5829 --[[local localDexStorage
5830
5831 local success,err = ypcall(function()
5832 localDexStorage = game:GetObjects("rbxasset://DexStorage.rbxm")
5833 end)
5834
5835 if success and localDexStorage then
5836 for i,v in pairs(localDexStorage:GetChildren()) do
5837 ypcall(function()
5838 v.Parent = DexStorageMain
5839 end)
5840 end
5841 end]]
5842
5843 updateDexStorageListeners()
5844 --[[
5845 local localDexStorage = readfile(getelysianpath().."DexStorage.txt")--game:GetService("CookiesService"):GetCookieValue("DexStorage")
5846 --local success,err = pcall(function()
5847 if localDexStorage then
5848 local objTable = game:GetService("HttpService"):JSONDecode(localDexStorage)
5849 for i,v in pairs(objTable) do
5850 makeObject(v,DexStorageMain)
5851 end
5852 end
5853 --end)
5854 --]]
5855end
5856
5857local dexStorageDebounce = false
5858local dexStorageListeners = {}
5859
5860local function updateDexStorage()
5861 if dexStorageDebounce then return end
5862 dexStorageDebounce = true
5863
5864 wait()
5865
5866 pcall(function()
5867 saveinstance("content//DexStorage.rbxm",DexStorageMain)
5868 end)
5869
5870 updateDexStorageListeners()
5871
5872 dexStorageDebounce = false
5873 --[[
5874 local success,err = ypcall(function()
5875 local objs = {}
5876 for i,v in pairs(DexStorageMain:GetChildren()) do
5877 table.insert(objs,writeObject(v))
5878 end
5879 writefile(getelysianpath().."DexStorage.txt",game:GetService("HttpService"):JSONEncode(objs))
5880 --game:GetService("CookiesService"):SetCookieValue("DexStorage",game:GetService("HttpService"):JSONEncode(objs))
5881 end)
5882 if err then
5883 CreateCaution("DexStorage Save Fail!","DexStorage broke! If you see this message, report to Raspberry Pi!")
5884 end
5885 print("hi")
5886 --]]
5887end
5888
5889function updateDexStorageListeners()
5890 for i,v in pairs(dexStorageListeners) do
5891 v:Disconnect()
5892 end
5893 dexStorageListeners = {}
5894 for i,v in pairs(DexStorageMain:GetChildren()) do
5895 pcall(function()
5896 local ev = v.Changed:connect(updateDexStorage)
5897 table.insert(dexStorageListeners,ev)
5898 end)
5899 end
5900end
5901
5902do
5903 NodeLookup[workspace.Parent] = {
5904 Object = workspace.Parent;
5905 Parent = nil;
5906 Index = 0;
5907 Expanded = true;
5908 }
5909
5910 if DexStorageEnabled then
5911 NodeLookup[DexStorage] = {
5912 Object = DexStorage;
5913 Parent = nil;
5914 Index = 0;
5915 Expanded = true;
5916 }
5917 end
5918
5919 if RunningScriptsStorageEnabled then
5920 NodeLookup[RunningScriptsStorage] = {
5921 Object = RunningScriptsStorage;
5922 Parent = nil;
5923 Index = 0;
5924 Expanded = true;
5925 }
5926 end
5927
5928 if UpvalueStorageEnabled then
5929 NodeLookup[UpvalueStorage] = {
5930 Object = UpvalueStorage;
5931 Parent = nil;
5932 Index = 0;
5933 Expanded = true;
5934 }
5935 end
5936
5937 Connect(game.DescendantAdded,addObject)
5938 Connect(game.DescendantRemoving,removeObject)
5939
5940 if DexStorageEnabled then
5941 --[[
5942 if readfile(getelysianpath().."DexStorage.txt") == nil then
5943 writefile(getelysianpath().."DexStorage.txt","")
5944 end
5945 --]]
5946
5947 buildDexStorage()
5948
5949 Connect(DexStorage.DescendantAdded,addObject)
5950 Connect(DexStorage.DescendantRemoving,removeObject)
5951
5952 Connect(DexStorage.DescendantAdded,updateDexStorage)
5953 Connect(DexStorage.DescendantRemoving,updateDexStorage)
5954 end
5955
5956 if UpvalueStorageEnabled then
5957 Connect(UpvalueStorageVariables.DescendantAdded,addObject)
5958 Connect(UpvalueStorageVariables.DescendantRemoving,removeObject)
5959
5960 Connect(UpvalueStorageFunctions.DescendantAdded,addObject)
5961 Connect(UpvalueStorageFunctions.DescendantRemoving,removeObject)
5962 end
5963
5964 if RunningScriptsStorageEnabled then
5965 Connect(RunningScriptsStorage.DescendantAdded,addObject)
5966 Connect(RunningScriptsStorage.DescendantRemoving,removeObject)
5967
5968 --[[ local currentTable = get_nil_instances()
5969
5970 spawn(function()
5971 while true do
5972 if #currentTable ~= #get_nil_instances() then
5973 currentTable = get_nil_instances()
5974 --RunningScriptsStorageMain:ClearAllChildren()
5975 for i,v in pairs(get_nil_instances() do
5976 if v ~= RunningScriptsStorage and v ~= DexStorage and v ~= UpvalueStorage then
5977 pcall(function()
5978 v.Parent = RunningScriptsStorageMain
5979 end)
5980 end
5981 end
5982 end
5983 wait(60)
5984 end
5985 end)]]
5986 end
5987
5988 local function get(o)
5989 return o:GetDescendants()
5990 end
5991
5992 local function r(o)
5993 local s,children = pcall(get,o)
5994 if s then
5995 for i = 1,#children do
5996 addObject(children[i],true)
5997 -- r(children[i])
5998 end
5999 end
6000 end
6001
6002 r(workspace.Parent)
6003
6004 if DexStorageEnabled then
6005 r(DexStorage)
6006 end
6007 if RunningScriptsStorageEnabled then
6008 r(RunningScriptsStorage)
6009 end
6010 if UpvalueStorageEnabled then
6011 r(UpvalueStorage)
6012 end
6013
6014 scrollBar.VisibleSpace = math.ceil(listFrame.AbsoluteSize.y/ENTRY_BOUND)
6015 updateList()
6016end
6017
6018----------------------------------------------------------------
6019----------------------------------------------------------------
6020----------------------------------------------------------------
6021----------------------------------------------------------------
6022---- Actions
6023
6024local actionButtons do
6025 actionButtons = {}
6026
6027 local totalActions = 1
6028 local currentActions = totalActions
6029 local function makeButton(icon,over,name,vis,cond)
6030 local buttonEnabled = false
6031
6032 local button = Create(Icon('ImageButton',icon),{
6033 Name = name .. "Button";
6034 Visible = Option.Modifiable and Option.Selectable;
6035 Position = UDim2.new(1,-(GUI_SIZE+2)*currentActions+2,0.25,-GUI_SIZE/2);
6036 Size = UDim2.new(0,GUI_SIZE,0,GUI_SIZE);
6037 Parent = headerFrame;
6038 })
6039
6040 local tipText = Create('TextLabel',{
6041 Name = name .. "Text";
6042 Text = name;
6043 Visible = false;
6044 BackgroundTransparency = 1;
6045 TextXAlignment = 'Right';
6046 Font = FONT;
6047 FontSize = FONT_SIZE;
6048 Position = UDim2.new(0,0,0,0);
6049 Size = UDim2.new(1,-(GUI_SIZE+2)*totalActions,1,0);
6050 Parent = headerFrame;
6051 })
6052
6053
6054 button.MouseEnter:connect(function()
6055 if buttonEnabled then
6056 button.BackgroundTransparency = 0.9
6057 end
6058 --Icon(button,over)
6059 --tipText.Visible = true
6060 end)
6061 button.MouseLeave:connect(function()
6062 button.BackgroundTransparency = 1
6063 --Icon(button,icon)
6064 --tipText.Visible = false
6065 end)
6066
6067 currentActions = currentActions + 1
6068 actionButtons[#actionButtons+1] = {Obj = button,Cond = cond}
6069 QuickButtons[#actionButtons+1] = {Obj = button,Cond = cond, Toggle = function(on)
6070 if on then
6071 buttonEnabled = true
6072 Icon(button,over)
6073 else
6074 buttonEnabled = false
6075 Icon(button,icon)
6076 end
6077 end}
6078 return button
6079 end
6080
6081 --local clipboard = {}
6082 local function delete(o)
6083 o.Parent = nil
6084 end
6085
6086 makeButton(ACTION_EDITQUICKACCESS,ACTION_EDITQUICKACCESS,"Options",true,function()return true end).MouseButton1Click:connect(function()
6087
6088 end)
6089
6090
6091 -- DELETE
6092 makeButton(ACTION_DELETE,ACTION_DELETE_OVER,"Delete",true,function() return #Selection:Get() > 0 end).MouseButton1Click:connect(function()
6093 if not Option.Modifiable then return end
6094 local list = Selection:Get()
6095 for i = 1,#list do
6096 pcall(delete,list[i])
6097 end
6098 Selection:Set({})
6099 end)
6100
6101 -- PASTE
6102 makeButton(ACTION_PASTE,ACTION_PASTE_OVER,"Paste",true,function() return #Selection:Get() > 0 and #clipboard > 0 end).MouseButton1Click:connect(function()
6103 if not Option.Modifiable then return end
6104 local parent = Selection.List[1] or workspace
6105 for i = 1,#clipboard do
6106 clipboard[i]:Clone().Parent = parent
6107 end
6108 end)
6109
6110 -- COPY
6111 makeButton(ACTION_COPY,ACTION_COPY_OVER,"Copy",true,function() return #Selection:Get() > 0 end).MouseButton1Click:connect(function()
6112 if not Option.Modifiable then return end
6113 clipboard = {}
6114 local list = Selection.List
6115 for i = 1,#list do
6116 table.insert(clipboard,list[i]:Clone())
6117 end
6118 updateActions()
6119 end)
6120
6121 -- CUT
6122 makeButton(ACTION_CUT,ACTION_CUT_OVER,"Cut",true,function() return #Selection:Get() > 0 end).MouseButton1Click:connect(function()
6123 if not Option.Modifiable then return end
6124 clipboard = {}
6125 local list = Selection.List
6126 local cut = {}
6127 for i = 1,#list do
6128 local obj = list[i]:Clone()
6129 if obj then
6130 table.insert(clipboard,obj)
6131 table.insert(cut,list[i])
6132 end
6133 end
6134 for i = 1,#cut do
6135 pcall(delete,cut[i])
6136 end
6137 updateActions()
6138 end)
6139
6140 -- FREEZE
6141 makeButton(ACTION_FREEZE,ACTION_FREEZE,"Freeze",true,function() return true end)
6142
6143 -- ADD/REMOVE STARRED
6144 makeButton(ACTION_ADDSTAR,ACTION_ADDSTAR_OVER,"Star",true,function() return #Selection:Get() > 0 end)
6145
6146 -- STARRED
6147 makeButton(ACTION_STARRED,ACTION_STARRED,"Starred",true,function() return true end)
6148
6149
6150 -- SORT
6151 -- local actionSort = makeButton(ACTION_SORT,ACTION_SORT_OVER,"Sort")
6152end
6153
6154----------------------------------------------------------------
6155----------------------------------------------------------------
6156----------------------------------------------------------------
6157----------------------------------------------------------------
6158---- Option Bindables
6159
6160do
6161 local optionCallback = {
6162 Modifiable = function(value)
6163 for i = 1,#actionButtons do
6164 actionButtons[i].Obj.Visible = value and Option.Selectable
6165 end
6166 cancelReparentDrag()
6167 end;
6168 Selectable = function(value)
6169 for i = 1,#actionButtons do
6170 actionButtons[i].Obj.Visible = value and Option.Modifiable
6171 end
6172 cancelSelectDrag()
6173 Selection:Set({})
6174 end;
6175 }
6176
6177 local bindSetOption = explorerPanel:FindFirstChild("SetOption")
6178 if not bindSetOption then
6179 bindSetOption = Create('BindableFunction',{Name = "SetOption"})
6180 bindSetOption.Parent = explorerPanel
6181 end
6182
6183 bindSetOption.OnInvoke = function(optionName,value)
6184 if optionCallback[optionName] then
6185 Option[optionName] = value
6186 optionCallback[optionName](value)
6187 end
6188 end
6189
6190 local bindGetOption = explorerPanel:FindFirstChild("GetOption")
6191 if not bindGetOption then
6192 bindGetOption = Create('BindableFunction',{Name = "GetOption"})
6193 bindGetOption.Parent = explorerPanel
6194 end
6195
6196 bindGetOption.OnInvoke = function(optionName)
6197 if optionName then
6198 return Option[optionName]
6199 else
6200 local options = {}
6201 for k,v in pairs(Option) do
6202 options[k] = v
6203 end
6204 return options
6205 end
6206 end
6207end
6208
6209function SelectionVar()
6210 return Selection
6211end
6212
6213Input.InputBegan:connect(function(key)
6214 if key.KeyCode == Enum.KeyCode.LeftControl then
6215 HoldingCtrl = true
6216 end
6217 if key.KeyCode == Enum.KeyCode.LeftShift then
6218 HoldingShift = true
6219 end
6220end)
6221
6222Input.InputEnded:connect(function(key)
6223 if key.KeyCode == Enum.KeyCode.LeftControl then
6224 HoldingCtrl = false
6225 end
6226 if key.KeyCode == Enum.KeyCode.LeftShift then
6227 HoldingShift = false
6228 end
6229end)
6230
6231while RbxApi == nil do
6232 RbxApi = GetApiRemote:Invoke()
6233 wait()
6234end
6235
6236explorerFilter.FocusLost:connect(function()
6237 rawUpdateList()
6238end)
6239
6240--[[local lastType = 0
6241
6242explorerFilter.Changed:connect(function(prop)
6243 if prop == "Text" then
6244 if tick() - lastType > 1 then
6245 rawUpdateList()
6246 end
6247 lastType = tick()
6248 end
6249end)]]
6250
6251CurrentInsertObjectWindow = CreateInsertObjectMenu(
6252 GetClasses(),
6253 "",
6254 false,
6255 function(option)
6256 CurrentInsertObjectWindow.Visible = false
6257 local list = SelectionVar():Get()
6258 for i = 1,#list do
6259 pcall(function() Instance.new(option,list[i]) end)
6260 end
6261 DestroyRightClick()
6262 end
6263)
6264end)
6265spawn(function()
6266 --[[
6267
6268Change log:
6269
627009/18
6271 Fixed checkbox mouseover sprite
6272 Encapsulated checkbox creation into separate method
6273 Fixed another checkbox issue
6274
627509/15
6276 Invalid input is ignored instead of setting to default of that data type
6277 Consolidated control methods and simplified them
6278 All input goes through ToValue method
6279 Fixed position of BrickColor palette
6280 Made DropDown appear above row if it would otherwise exceed the page height
6281 Cleaned up stylesheets
6282
628309/14
6284 Made properties window scroll when mouse wheel scrolled
6285 Object/Instance and Color3 data types handled properly
6286 Multiple BrickColor controls interfering with each other fixed
6287 Added support for Content data type
6288
6289--]]
6290
6291wait(0.2)
6292
6293-- Services
6294local Teams = game:GetService("Teams")
6295local Workspace = game:GetService("Workspace")
6296local Debris = game:GetService("Debris")
6297local ContentProvider = game:GetService("ContentProvider")
6298local Players = game:GetService("Players")
6299local ReplicatedStorage = game:GetService("ReplicatedStorage")
6300
6301-- Functions
6302function httpGet(url)
6303 return game:HttpGet(url,true)
6304end
6305
6306-- RbxApi Stuff
6307
6308local apiUrl = "http://anaminus.github.io/rbx/json/api/latest.json"
6309local maxChunkSize = 100 * 1000
6310local ApiJson
6311if script:FindFirstChild("RawApiJson") then
6312 ApiJson = script.RawApiJson
6313else
6314 ApiJson = ""
6315end
6316
6317
6318function getLocalApiJson()
6319 local rawApiJson = [===[
6320 [{"Superclass":null,"type":"Class","Name":"Instance","tags":["notbrowsable"]},{"ValueType":"bool","type":"Property","Name":"Archivable","tags":[],"Class":"Instance"},{"ValueType":"string","type":"Property","Name":"ClassName","tags":["readonly"],"Class":"Instance"},{"ValueType":"int","type":"Property","Name":"DataCost","tags":["RobloxPlaceSecurity","readonly"],"Class":"Instance"},{"ValueType":"string","type":"Property","Name":"Name","tags":[],"Class":"Instance"},{"ValueType":"Object","type":"Property","Name":"Parent","tags":[],"Class":"Instance"},{"ValueType":"bool","type":"Property","Name":"RobloxLocked","tags":["PluginSecurity"],"Class":"Instance"},{"ValueType":"bool","type":"Property","Name":"archivable","tags":["hidden"],"Class":"Instance"},{"ValueType":"string","type":"Property","Name":"className","tags":["deprecated","readonly"],"Class":"Instance"},{"ReturnType":"void","Arguments":[],"Name":"ClearAllChildren","tags":[],"Class":"Instance","type":"Function"},{"ReturnType":"Instance","Arguments":[],"Name":"Clone","tags":[],"Class":"Instance","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Destroy","tags":[],"Class":"Instance","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"string","Name":"name","Default":null},{"Type":"bool","Name":"recursive","Default":"false"}],"Name":"FindFirstChild","tags":[],"Class":"Instance","type":"Function"},{"ReturnType":"Objects","Arguments":[],"Name":"GetChildren","tags":[],"Class":"Instance","type":"Function"},{"ReturnType":"string","Arguments":[{"Type":"int","Name":"scopeLength","Default":"4"}],"Name":"GetDebugId","tags":["PluginSecurity","notbrowsable"],"Class":"Instance","type":"Function"},{"ReturnType":"string","Arguments":[],"Name":"GetFullName","tags":[],"Class":"Instance","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"string","Name":"className","Default":null}],"Name":"IsA","tags":[],"Class":"Instance","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"Instance","Name":"descendant","Default":null}],"Name":"IsAncestorOf","tags":[],"Class":"Instance","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"Instance","Name":"ancestor","Default":null}],"Name":"IsDescendantOf","tags":[],"Class":"Instance","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Remove","tags":["deprecated"],"Class":"Instance","type":"Function"},{"ReturnType":"Objects","Arguments":[],"Name":"children","tags":["deprecated"],"Class":"Instance","type":"Function"},{"ReturnType":"Instance","Arguments":[],"Name":"clone","tags":["deprecated"],"Class":"Instance","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"destroy","tags":["deprecated"],"Class":"Instance","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"string","Name":"name","Default":null},{"Type":"bool","Name":"recursive","Default":"false"}],"Name":"findFirstChild","tags":["deprecated"],"Class":"Instance","type":"Function"},{"ReturnType":"Objects","Arguments":[],"Name":"getChildren","tags":["deprecated"],"Class":"Instance","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"string","Name":"className","Default":null}],"Name":"isA","tags":["deprecated"],"Class":"Instance","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"Instance","Name":"ancestor","Default":null}],"Name":"isDescendantOf","tags":["deprecated"],"Class":"Instance","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"remove","tags":["deprecated"],"Class":"Instance","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"string","Name":"childName","Default":null}],"Name":"WaitForChild","tags":[],"Class":"Instance","type":"YieldFunction"},{"Arguments":[{"Name":"child","Type":"Instance"},{"Name":"parent","Type":"Instance"}],"Name":"AncestryChanged","tags":[],"Class":"Instance","type":"Event"},{"Arguments":[{"Name":"property","Type":"Property"}],"Name":"Changed","tags":[],"Class":"Instance","type":"Event"},{"Arguments":[{"Name":"child","Type":"Instance"}],"Name":"ChildAdded","tags":[],"Class":"Instance","type":"Event"},{"Arguments":[{"Name":"child","Type":"Instance"}],"Name":"ChildRemoved","tags":[],"Class":"Instance","type":"Event"},{"Arguments":[{"Name":"descendant","Type":"Instance"}],"Name":"DescendantAdded","tags":[],"Class":"Instance","type":"Event"},{"Arguments":[{"Name":"descendant","Type":"Instance"}],"Name":"DescendantRemoving","tags":[],"Class":"Instance","type":"Event"},{"Arguments":[{"Name":"child","Type":"Instance"}],"Name":"childAdded","tags":["deprecated"],"Class":"Instance","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"Accoutrement","tags":[]},{"ValueType":"Vector3","type":"Property","Name":"AttachmentForward","tags":[],"Class":"Accoutrement"},{"ValueType":"CoordinateFrame","type":"Property","Name":"AttachmentPoint","tags":[],"Class":"Accoutrement"},{"ValueType":"Vector3","type":"Property","Name":"AttachmentPos","tags":[],"Class":"Accoutrement"},{"ValueType":"Vector3","type":"Property","Name":"AttachmentRight","tags":[],"Class":"Accoutrement"},{"ValueType":"Vector3","type":"Property","Name":"AttachmentUp","tags":[],"Class":"Accoutrement"},{"Superclass":"Accoutrement","type":"Class","Name":"Accessory","tags":[]},{"Superclass":"Accoutrement","type":"Class","Name":"Hat","tags":["deprecated"]},{"Superclass":"Instance","type":"Class","Name":"AdService","tags":["notCreatable"]},{"ReturnType":"void","Arguments":[],"Name":"ShowVideoAd","tags":[],"Class":"AdService","type":"Function"},{"Arguments":[{"Name":"adShown","Type":"bool"}],"Name":"VideoAdClosed","tags":[],"Class":"AdService","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"AdvancedDragger","tags":[]},{"Superclass":"Instance","type":"Class","Name":"Animation","tags":[]},{"ValueType":"Content","type":"Property","Name":"AnimationId","tags":[],"Class":"Animation"},{"Superclass":"Instance","type":"Class","Name":"AnimationController","tags":[]},{"ReturnType":"Array","Arguments":[],"Name":"GetPlayingAnimationTracks","tags":[],"Class":"AnimationController","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"Instance","Name":"animation","Default":null}],"Name":"LoadAnimation","tags":[],"Class":"AnimationController","type":"Function"},{"Arguments":[{"Name":"animationTrack","Type":"Instance"}],"Name":"AnimationPlayed","tags":[],"Class":"AnimationController","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"AnimationTrack","tags":[]},{"ValueType":"Object","type":"Property","Name":"Animation","tags":["readonly"],"Class":"AnimationTrack"},{"ValueType":"bool","type":"Property","Name":"IsPlaying","tags":["readonly"],"Class":"AnimationTrack"},{"ValueType":"float","type":"Property","Name":"Length","tags":["readonly"],"Class":"AnimationTrack"},{"ValueType":"AnimationPriority","type":"Property","Name":"Priority","tags":[],"Class":"AnimationTrack"},{"ValueType":"float","type":"Property","Name":"TimePosition","tags":[],"Class":"AnimationTrack"},{"ReturnType":"void","Arguments":[{"Type":"float","Name":"speed","Default":"1"}],"Name":"AdjustSpeed","tags":[],"Class":"AnimationTrack","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"float","Name":"weight","Default":"1"},{"Type":"float","Name":"fadeTime","Default":"0.100000001"}],"Name":"AdjustWeight","tags":[],"Class":"AnimationTrack","type":"Function"},{"ReturnType":"double","Arguments":[{"Type":"string","Name":"keyframeName","Default":null}],"Name":"GetTimeOfKeyframe","tags":[],"Class":"AnimationTrack","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"float","Name":"fadeTime","Default":"0.100000001"},{"Type":"float","Name":"weight","Default":"1"},{"Type":"float","Name":"speed","Default":"1"}],"Name":"Play","tags":[],"Class":"AnimationTrack","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"float","Name":"fadeTime","Default":"0.100000001"}],"Name":"Stop","tags":[],"Class":"AnimationTrack","type":"Function"},{"Arguments":[{"Name":"keyframeName","Type":"string"}],"Name":"KeyframeReached","tags":[],"Class":"AnimationTrack","type":"Event"},{"Arguments":[],"Name":"Stopped","tags":["deprecated"],"Class":"AnimationTrack","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"AnimationTrackState","tags":[]},{"Superclass":"Instance","type":"Class","Name":"Animator","tags":[]},{"ReturnType":"Instance","Arguments":[{"Type":"Instance","Name":"animation","Default":null}],"Name":"LoadAnimation","tags":[],"Class":"Animator","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"AssetService","tags":[]},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"revertUrl","Default":null}],"Name":"SetAssetRevertUrl","tags":["LocalUserSecurity"],"Class":"AssetService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"versionsUrl","Default":null}],"Name":"SetAssetVersionsUrl","tags":["LocalUserSecurity"],"Class":"AssetService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"accessUrl","Default":null}],"Name":"SetPlaceAccessUrl","tags":["LocalUserSecurity"],"Class":"AssetService","type":"Function"},{"ReturnType":"int","Arguments":[{"Type":"string","Name":"placeName","Default":null},{"Type":"int","Name":"templatePlaceID","Default":null},{"Type":"string","Name":"description","Default":""}],"Name":"CreatePlaceAsync","tags":[],"Class":"AssetService","type":"YieldFunction"},{"ReturnType":"int","Arguments":[{"Type":"Instance","Name":"player","Default":null},{"Type":"string","Name":"placeName","Default":null},{"Type":"int","Name":"templatePlaceID","Default":null},{"Type":"string","Name":"description","Default":""}],"Name":"CreatePlaceInPlayerInventoryAsync","tags":[],"Class":"AssetService","type":"YieldFunction"},{"ReturnType":"Dictionary","Arguments":[{"Type":"int","Name":"placeId","Default":null},{"Type":"int","Name":"pageNum","Default":"1"}],"Name":"GetAssetVersions","tags":[],"Class":"AssetService","type":"YieldFunction"},{"ReturnType":"int","Arguments":[{"Type":"int","Name":"creationID","Default":null}],"Name":"GetCreatorAssetID","tags":[],"Class":"AssetService","type":"YieldFunction"},{"ReturnType":"Instance","Arguments":[],"Name":"GetGamePlacesAsync","tags":[],"Class":"AssetService","type":"YieldFunction"},{"ReturnType":"Dictionary","Arguments":[{"Type":"int","Name":"placeId","Default":null}],"Name":"GetPlacePermissions","tags":[],"Class":"AssetService","type":"YieldFunction"},{"ReturnType":"bool","Arguments":[{"Type":"int","Name":"placeId","Default":null},{"Type":"int","Name":"versionNumber","Default":null}],"Name":"RevertAsset","tags":[],"Class":"AssetService","type":"YieldFunction"},{"ReturnType":"void","Arguments":[],"Name":"SavePlaceAsync","tags":[],"Class":"AssetService","type":"YieldFunction"},{"ReturnType":"bool","Arguments":[{"Type":"int","Name":"placeId","Default":null},{"Type":"AccessType","Name":"accessType","Default":"Everyone"},{"Type":"Array","Name":"inviteList","Default":"{}"}],"Name":"SetPlacePermissions","tags":[],"Class":"AssetService","type":"YieldFunction"},{"Superclass":"Instance","type":"Class","Name":"Attachment","tags":[]},{"ValueType":"Vector3","type":"Property","Name":"Axis","tags":[],"Class":"Attachment"},{"ValueType":"CoordinateFrame","type":"Property","Name":"CFrame","tags":[],"Class":"Attachment"},{"ValueType":"Vector3","type":"Property","Name":"Position","tags":[],"Class":"Attachment"},{"ValueType":"Vector3","type":"Property","Name":"Rotation","tags":[],"Class":"Attachment"},{"ValueType":"Vector3","type":"Property","Name":"SecondaryAxis","tags":[],"Class":"Attachment"},{"ValueType":"Vector3","type":"Property","Name":"WorldAxis","tags":["readonly"],"Class":"Attachment"},{"ValueType":"Vector3","type":"Property","Name":"WorldPosition","tags":["readonly"],"Class":"Attachment"},{"ValueType":"Vector3","type":"Property","Name":"WorldRotation","tags":["readonly"],"Class":"Attachment"},{"ValueType":"Vector3","type":"Property","Name":"WorldSecondaryAxis","tags":["readonly"],"Class":"Attachment"},{"ReturnType":"Vector3","Arguments":[],"Name":"GetAxis","tags":[],"Class":"Attachment","type":"Function"},{"ReturnType":"Vector3","Arguments":[],"Name":"GetSecondaryAxis","tags":[],"Class":"Attachment","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Vector3","Name":"axis","Default":null}],"Name":"SetAxis","tags":[],"Class":"Attachment","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Vector3","Name":"axis","Default":null}],"Name":"SetSecondaryAxis","tags":[],"Class":"Attachment","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"BadgeService","tags":["notCreatable"]},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetAwardBadgeUrl","tags":["LocalUserSecurity"],"Class":"BadgeService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"seconds","Default":null}],"Name":"SetHasBadgeCooldown","tags":["LocalUserSecurity"],"Class":"BadgeService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetHasBadgeUrl","tags":["LocalUserSecurity"],"Class":"BadgeService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetIsBadgeDisabledUrl","tags":["LocalUserSecurity"],"Class":"BadgeService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetIsBadgeLegalUrl","tags":["LocalUserSecurity"],"Class":"BadgeService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"placeId","Default":null}],"Name":"SetPlaceId","tags":["LocalUserSecurity"],"Class":"BadgeService","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"int","Name":"userId","Default":null},{"Type":"int","Name":"badgeId","Default":null}],"Name":"AwardBadge","tags":[],"Class":"BadgeService","type":"YieldFunction"},{"ReturnType":"bool","Arguments":[{"Type":"int","Name":"badgeId","Default":null}],"Name":"IsDisabled","tags":[],"Class":"BadgeService","type":"YieldFunction"},{"ReturnType":"bool","Arguments":[{"Type":"int","Name":"badgeId","Default":null}],"Name":"IsLegal","tags":[],"Class":"BadgeService","type":"YieldFunction"},{"ReturnType":"bool","Arguments":[{"Type":"int","Name":"userId","Default":null},{"Type":"int","Name":"badgeId","Default":null}],"Name":"UserHasBadge","tags":[],"Class":"BadgeService","type":"YieldFunction"},{"Arguments":[{"Name":"message","Type":"string"},{"Name":"userId","Type":"int"},{"Name":"badgeId","Type":"int"}],"Name":"BadgeAwarded","tags":["RobloxScriptSecurity"],"Class":"BadgeService","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"BasePlayerGui","tags":[]},{"Superclass":"BasePlayerGui","type":"Class","Name":"CoreGui","tags":["notCreatable","notbrowsable"]},{"ValueType":"Object","type":"Property","Name":"SelectionImageObject","tags":["RobloxScriptSecurity"],"Class":"CoreGui"},{"ValueType":"int","type":"Property","Name":"Version","tags":["readonly"],"Class":"CoreGui"},{"Superclass":"BasePlayerGui","type":"Class","Name":"PlayerGui","tags":["notCreatable"]},{"ValueType":"Object","type":"Property","Name":"SelectionImageObject","tags":[],"Class":"PlayerGui"},{"ReturnType":"float","Arguments":[],"Name":"GetTopbarTransparency","tags":[],"Class":"PlayerGui","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"float","Name":"transparency","Default":null}],"Name":"SetTopbarTransparency","tags":[],"Class":"PlayerGui","type":"Function"},{"Arguments":[{"Name":"transparency","Type":"float"}],"Name":"TopbarTransparencyChangedSignal","tags":[],"Class":"PlayerGui","type":"Event"},{"Superclass":"BasePlayerGui","type":"Class","Name":"StarterGui","tags":[]},{"ValueType":"bool","type":"Property","Name":"ResetPlayerGuiOnSpawn","tags":[],"Class":"StarterGui"},{"ValueType":"bool","type":"Property","Name":"ShowDevelopmentGui","tags":[],"Class":"StarterGui"},{"ReturnType":"bool","Arguments":[{"Type":"CoreGuiType","Name":"coreGuiType","Default":null}],"Name":"GetCoreGuiEnabled","tags":[],"Class":"StarterGui","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"parameterName","Default":null},{"Type":"Function","Name":"getFunction","Default":null}],"Name":"RegisterGetCore","tags":["RobloxScriptSecurity"],"Class":"StarterGui","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"parameterName","Default":null},{"Type":"Function","Name":"setFunction","Default":null}],"Name":"RegisterSetCore","tags":["RobloxScriptSecurity"],"Class":"StarterGui","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"parameterName","Default":null},{"Type":"Variant","Name":"value","Default":null}],"Name":"SetCore","tags":[],"Class":"StarterGui","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"CoreGuiType","Name":"coreGuiType","Default":null},{"Type":"bool","Name":"enabled","Default":null}],"Name":"SetCoreGuiEnabled","tags":[],"Class":"StarterGui","type":"Function"},{"ReturnType":"Variant","Arguments":[{"Type":"string","Name":"parameterName","Default":null}],"Name":"GetCore","tags":[],"Class":"StarterGui","type":"YieldFunction"},{"Arguments":[{"Name":"coreGuiType","Type":"CoreGuiType"},{"Name":"enabled","Type":"bool"}],"Name":"CoreGuiChangedSignal","tags":["RobloxScriptSecurity"],"Class":"StarterGui","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"BinaryStringValue","tags":[]},{"Superclass":"Instance","type":"Class","Name":"BindableEvent","tags":[]},{"ReturnType":"void","Arguments":[{"Type":"Tuple","Name":"arguments","Default":null}],"Name":"Fire","tags":[],"Class":"BindableEvent","type":"Function"},{"Arguments":[{"Name":"arguments","Type":"Tuple"}],"Name":"Event","tags":[],"Class":"BindableEvent","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"BindableFunction","tags":[]},{"ReturnType":"Tuple","Arguments":[{"Type":"Tuple","Name":"arguments","Default":null}],"Name":"Invoke","tags":[],"Class":"BindableFunction","type":"YieldFunction"},{"ReturnType":"Tuple","Arguments":[{"Name":"arguments","Type":"Tuple"}],"Name":"OnInvoke","tags":[],"Class":"BindableFunction","type":"Callback"},{"Superclass":"Instance","type":"Class","Name":"BodyMover","tags":[]},{"Superclass":"BodyMover","type":"Class","Name":"BodyAngularVelocity","tags":[]},{"ValueType":"Vector3","type":"Property","Name":"AngularVelocity","tags":[],"Class":"BodyAngularVelocity"},{"ValueType":"Vector3","type":"Property","Name":"MaxTorque","tags":[],"Class":"BodyAngularVelocity"},{"ValueType":"float","type":"Property","Name":"P","tags":[],"Class":"BodyAngularVelocity"},{"ValueType":"Vector3","type":"Property","Name":"angularvelocity","tags":["deprecated"],"Class":"BodyAngularVelocity"},{"ValueType":"Vector3","type":"Property","Name":"maxTorque","tags":["deprecated"],"Class":"BodyAngularVelocity"},{"Superclass":"BodyMover","type":"Class","Name":"BodyForce","tags":[]},{"ValueType":"Vector3","type":"Property","Name":"Force","tags":[],"Class":"BodyForce"},{"ValueType":"Vector3","type":"Property","Name":"force","tags":["deprecated"],"Class":"BodyForce"},{"Superclass":"BodyMover","type":"Class","Name":"BodyGyro","tags":[]},{"ValueType":"CoordinateFrame","type":"Property","Name":"CFrame","tags":[],"Class":"BodyGyro"},{"ValueType":"float","type":"Property","Name":"D","tags":[],"Class":"BodyGyro"},{"ValueType":"Vector3","type":"Property","Name":"MaxTorque","tags":[],"Class":"BodyGyro"},{"ValueType":"float","type":"Property","Name":"P","tags":[],"Class":"BodyGyro"},{"ValueType":"CoordinateFrame","type":"Property","Name":"cframe","tags":["deprecated"],"Class":"BodyGyro"},{"ValueType":"Vector3","type":"Property","Name":"maxTorque","tags":["deprecated"],"Class":"BodyGyro"},{"Superclass":"BodyMover","type":"Class","Name":"BodyPosition","tags":[]},{"ValueType":"float","type":"Property","Name":"D","tags":[],"Class":"BodyPosition"},{"ValueType":"Vector3","type":"Property","Name":"MaxForce","tags":[],"Class":"BodyPosition"},{"ValueType":"float","type":"Property","Name":"P","tags":[],"Class":"BodyPosition"},{"ValueType":"Vector3","type":"Property","Name":"Position","tags":[],"Class":"BodyPosition"},{"ValueType":"Vector3","type":"Property","Name":"maxForce","tags":["deprecated"],"Class":"BodyPosition"},{"ValueType":"Vector3","type":"Property","Name":"position","tags":["deprecated"],"Class":"BodyPosition"},{"ReturnType":"Vector3","Arguments":[],"Name":"GetLastForce","tags":[],"Class":"BodyPosition","type":"Function"},{"ReturnType":"Vector3","Arguments":[],"Name":"lastForce","tags":["deprecated"],"Class":"BodyPosition","type":"Function"},{"Arguments":[],"Name":"ReachedTarget","tags":[],"Class":"BodyPosition","type":"Event"},{"Superclass":"BodyMover","type":"Class","Name":"BodyThrust","tags":[]},{"ValueType":"Vector3","type":"Property","Name":"Force","tags":[],"Class":"BodyThrust"},{"ValueType":"Vector3","type":"Property","Name":"Location","tags":[],"Class":"BodyThrust"},{"ValueType":"Vector3","type":"Property","Name":"force","tags":["deprecated"],"Class":"BodyThrust"},{"ValueType":"Vector3","type":"Property","Name":"location","tags":["deprecated"],"Class":"BodyThrust"},{"Superclass":"BodyMover","type":"Class","Name":"BodyVelocity","tags":[]},{"ValueType":"Vector3","type":"Property","Name":"MaxForce","tags":[],"Class":"BodyVelocity"},{"ValueType":"float","type":"Property","Name":"P","tags":[],"Class":"BodyVelocity"},{"ValueType":"Vector3","type":"Property","Name":"Velocity","tags":[],"Class":"BodyVelocity"},{"ValueType":"Vector3","type":"Property","Name":"maxForce","tags":["deprecated"],"Class":"BodyVelocity"},{"ValueType":"Vector3","type":"Property","Name":"velocity","tags":["deprecated"],"Class":"BodyVelocity"},{"ReturnType":"Vector3","Arguments":[],"Name":"GetLastForce","tags":[],"Class":"BodyVelocity","type":"Function"},{"ReturnType":"Vector3","Arguments":[],"Name":"lastForce","tags":[],"Class":"BodyVelocity","type":"Function"},{"Superclass":"BodyMover","type":"Class","Name":"RocketPropulsion","tags":[]},{"ValueType":"float","type":"Property","Name":"CartoonFactor","tags":[],"Class":"RocketPropulsion"},{"ValueType":"float","type":"Property","Name":"MaxSpeed","tags":[],"Class":"RocketPropulsion"},{"ValueType":"float","type":"Property","Name":"MaxThrust","tags":[],"Class":"RocketPropulsion"},{"ValueType":"Vector3","type":"Property","Name":"MaxTorque","tags":[],"Class":"RocketPropulsion"},{"ValueType":"Object","type":"Property","Name":"Target","tags":[],"Class":"RocketPropulsion"},{"ValueType":"Vector3","type":"Property","Name":"TargetOffset","tags":[],"Class":"RocketPropulsion"},{"ValueType":"float","type":"Property","Name":"TargetRadius","tags":[],"Class":"RocketPropulsion"},{"ValueType":"float","type":"Property","Name":"ThrustD","tags":[],"Class":"RocketPropulsion"},{"ValueType":"float","type":"Property","Name":"ThrustP","tags":[],"Class":"RocketPropulsion"},{"ValueType":"float","type":"Property","Name":"TurnD","tags":[],"Class":"RocketPropulsion"},{"ValueType":"float","type":"Property","Name":"TurnP","tags":[],"Class":"RocketPropulsion"},{"ReturnType":"void","Arguments":[],"Name":"Abort","tags":[],"Class":"RocketPropulsion","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Fire","tags":[],"Class":"RocketPropulsion","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"fire","tags":["deprecated"],"Class":"RocketPropulsion","type":"Function"},{"Arguments":[],"Name":"ReachedTarget","tags":[],"Class":"RocketPropulsion","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"BoolValue","tags":[]},{"ValueType":"bool","type":"Property","Name":"Value","tags":[],"Class":"BoolValue"},{"Arguments":[{"Name":"value","Type":"bool"}],"Name":"Changed","tags":[],"Class":"BoolValue","type":"Event"},{"Arguments":[{"Name":"value","Type":"bool"}],"Name":"changed","tags":["deprecated"],"Class":"BoolValue","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"BrickColorValue","tags":[]},{"ValueType":"BrickColor","type":"Property","Name":"Value","tags":[],"Class":"BrickColorValue"},{"Arguments":[{"Name":"value","Type":"BrickColor"}],"Name":"Changed","tags":[],"Class":"BrickColorValue","type":"Event"},{"Arguments":[{"Name":"value","Type":"BrickColor"}],"Name":"changed","tags":["deprecated"],"Class":"BrickColorValue","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"Button","tags":[]},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"active","Default":null}],"Name":"SetActive","tags":["PluginSecurity"],"Class":"Button","type":"Function"},{"Arguments":[],"Name":"Click","tags":["PluginSecurity"],"Class":"Button","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"CFrameValue","tags":[]},{"ValueType":"CoordinateFrame","type":"Property","Name":"Value","tags":[],"Class":"CFrameValue"},{"Arguments":[{"Name":"value","Type":"CoordinateFrame"}],"Name":"Changed","tags":[],"Class":"CFrameValue","type":"Event"},{"Arguments":[{"Name":"value","Type":"CoordinateFrame"}],"Name":"changed","tags":["deprecated"],"Class":"CFrameValue","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"CacheableContentProvider","tags":[]},{"Superclass":"CacheableContentProvider","type":"Class","Name":"MeshContentProvider","tags":[]},{"Superclass":"CacheableContentProvider","type":"Class","Name":"SolidModelContentProvider","tags":[]},{"Superclass":"CacheableContentProvider","type":"Class","Name":"TextureContentProvider","tags":[]},{"Superclass":"Instance","type":"Class","Name":"Camera","tags":[]},{"ValueType":"CoordinateFrame","type":"Property","Name":"CFrame","tags":[],"Class":"Camera"},{"ValueType":"Object","type":"Property","Name":"CameraSubject","tags":[],"Class":"Camera"},{"ValueType":"CameraType","type":"Property","Name":"CameraType","tags":[],"Class":"Camera"},{"ValueType":"CoordinateFrame","type":"Property","Name":"CoordinateFrame","tags":["deprecated","hidden"],"Class":"Camera"},{"ValueType":"float","type":"Property","Name":"FieldOfView","tags":[],"Class":"Camera"},{"ValueType":"CoordinateFrame","type":"Property","Name":"Focus","tags":[],"Class":"Camera"},{"ValueType":"bool","type":"Property","Name":"HeadLocked","tags":[],"Class":"Camera"},{"ValueType":"float","type":"Property","Name":"HeadScale","tags":[],"Class":"Camera"},{"ValueType":"Vector2","type":"Property","Name":"ViewportSize","tags":["readonly"],"Class":"Camera"},{"ValueType":"CoordinateFrame","type":"Property","Name":"focus","tags":["deprecated"],"Class":"Camera"},{"ReturnType":"float","Arguments":[],"Name":"GetPanSpeed","tags":[],"Class":"Camera","type":"Function"},{"ReturnType":"CoordinateFrame","Arguments":[],"Name":"GetRenderCFrame","tags":[],"Class":"Camera","type":"Function"},{"ReturnType":"float","Arguments":[],"Name":"GetRoll","tags":[],"Class":"Camera","type":"Function"},{"ReturnType":"float","Arguments":[],"Name":"GetTiltSpeed","tags":[],"Class":"Camera","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"CoordinateFrame","Name":"endPos","Default":null},{"Type":"CoordinateFrame","Name":"endFocus","Default":null},{"Type":"float","Name":"duration","Default":null}],"Name":"Interpolate","tags":[],"Class":"Camera","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"units","Default":null}],"Name":"PanUnits","tags":[],"Class":"Camera","type":"Function"},{"ReturnType":"Ray","Arguments":[{"Type":"float","Name":"x","Default":null},{"Type":"float","Name":"y","Default":null},{"Type":"float","Name":"depth","Default":"0"}],"Name":"ScreenPointToRay","tags":[],"Class":"Camera","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"CameraPanMode","Name":"mode","Default":"Classic"}],"Name":"SetCameraPanMode","tags":[],"Class":"Camera","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"float","Name":"rollAngle","Default":null}],"Name":"SetRoll","tags":[],"Class":"Camera","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"int","Name":"units","Default":null}],"Name":"TiltUnits","tags":[],"Class":"Camera","type":"Function"},{"ReturnType":"Ray","Arguments":[{"Type":"float","Name":"x","Default":null},{"Type":"float","Name":"y","Default":null},{"Type":"float","Name":"depth","Default":"0"}],"Name":"ViewportPointToRay","tags":[],"Class":"Camera","type":"Function"},{"ReturnType":"Tuple","Arguments":[{"Type":"Vector3","Name":"worldPoint","Default":null}],"Name":"WorldToScreenPoint","tags":[],"Class":"Camera","type":"Function"},{"ReturnType":"Tuple","Arguments":[{"Type":"Vector3","Name":"worldPoint","Default":null}],"Name":"WorldToViewportPoint","tags":[],"Class":"Camera","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"float","Name":"distance","Default":null}],"Name":"Zoom","tags":["RobloxScriptSecurity"],"Class":"Camera","type":"Function"},{"Arguments":[{"Name":"entering","Type":"bool"}],"Name":"FirstPersonTransition","tags":["RobloxPlaceSecurity"],"Class":"Camera","type":"Event"},{"Arguments":[],"Name":"InterpolationFinished","tags":[],"Class":"Camera","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"ChangeHistoryService","tags":["notCreatable"]},{"ReturnType":"Tuple","Arguments":[],"Name":"GetCanRedo","tags":["PluginSecurity"],"Class":"ChangeHistoryService","type":"Function"},{"ReturnType":"Tuple","Arguments":[],"Name":"GetCanUndo","tags":["PluginSecurity"],"Class":"ChangeHistoryService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Redo","tags":["PluginSecurity"],"Class":"ChangeHistoryService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"ResetWaypoints","tags":["PluginSecurity"],"Class":"ChangeHistoryService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"state","Default":null}],"Name":"SetEnabled","tags":["PluginSecurity"],"Class":"ChangeHistoryService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"name","Default":null}],"Name":"SetWaypoint","tags":["PluginSecurity"],"Class":"ChangeHistoryService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Undo","tags":["PluginSecurity"],"Class":"ChangeHistoryService","type":"Function"},{"Arguments":[{"Name":"waypoint","Type":"string"}],"Name":"OnRedo","tags":["PluginSecurity"],"Class":"ChangeHistoryService","type":"Event"},{"Arguments":[{"Name":"waypoint","Type":"string"}],"Name":"OnUndo","tags":["PluginSecurity"],"Class":"ChangeHistoryService","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"CharacterAppearance","tags":[]},{"Superclass":"CharacterAppearance","type":"Class","Name":"BodyColors","tags":[]},{"ValueType":"BrickColor","type":"Property","Name":"HeadColor","tags":[],"Class":"BodyColors"},{"ValueType":"BrickColor","type":"Property","Name":"LeftArmColor","tags":[],"Class":"BodyColors"},{"ValueType":"BrickColor","type":"Property","Name":"LeftLegColor","tags":[],"Class":"BodyColors"},{"ValueType":"BrickColor","type":"Property","Name":"RightArmColor","tags":[],"Class":"BodyColors"},{"ValueType":"BrickColor","type":"Property","Name":"RightLegColor","tags":[],"Class":"BodyColors"},{"ValueType":"BrickColor","type":"Property","Name":"TorsoColor","tags":[],"Class":"BodyColors"},{"Superclass":"CharacterAppearance","type":"Class","Name":"CharacterMesh","tags":[]},{"ValueType":"int","type":"Property","Name":"BaseTextureId","tags":[],"Class":"CharacterMesh"},{"ValueType":"BodyPart","type":"Property","Name":"BodyPart","tags":[],"Class":"CharacterMesh"},{"ValueType":"int","type":"Property","Name":"MeshId","tags":[],"Class":"CharacterMesh"},{"ValueType":"int","type":"Property","Name":"OverlayTextureId","tags":[],"Class":"CharacterMesh"},{"Superclass":"CharacterAppearance","type":"Class","Name":"Clothing","tags":[]},{"Superclass":"Clothing","type":"Class","Name":"Pants","tags":[]},{"ValueType":"Content","type":"Property","Name":"PantsTemplate","tags":[],"Class":"Pants"},{"Superclass":"Clothing","type":"Class","Name":"Shirt","tags":[]},{"ValueType":"Content","type":"Property","Name":"ShirtTemplate","tags":[],"Class":"Shirt"},{"Superclass":"CharacterAppearance","type":"Class","Name":"ShirtGraphic","tags":[]},{"ValueType":"Content","type":"Property","Name":"Graphic","tags":[],"Class":"ShirtGraphic"},{"Superclass":"CharacterAppearance","type":"Class","Name":"Skin","tags":["deprecated"]},{"ValueType":"BrickColor","type":"Property","Name":"SkinColor","tags":[],"Class":"Skin"},{"Superclass":"Instance","type":"Class","Name":"Chat","tags":["notCreatable"]},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"partOrCharacter","Default":null},{"Type":"string","Name":"message","Default":null},{"Type":"ChatColor","Name":"color","Default":"Blue"}],"Name":"Chat","tags":[],"Class":"Chat","type":"Function"},{"ReturnType":"string","Arguments":[{"Type":"string","Name":"stringToFilter","Default":null},{"Type":"Instance","Name":"playerFrom","Default":null},{"Type":"Instance","Name":"playerTo","Default":null}],"Name":"FilterStringAsync","tags":[],"Class":"Chat","type":"YieldFunction"},{"ReturnType":"string","Arguments":[{"Type":"string","Name":"stringToFilter","Default":null},{"Type":"Instance","Name":"playerToFilterFor","Default":null}],"Name":"FilterStringForPlayerAsync","tags":[],"Class":"Chat","type":"YieldFunction"},{"Arguments":[{"Name":"part","Type":"Instance"},{"Name":"message","Type":"string"},{"Name":"color","Type":"ChatColor"}],"Name":"Chatted","tags":[],"Class":"Chat","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"ChatFilter","tags":["notCreatable"]},{"Superclass":"Instance","type":"Class","Name":"ClickDetector","tags":[]},{"ValueType":"float","type":"Property","Name":"MaxActivationDistance","tags":[],"Class":"ClickDetector"},{"Arguments":[{"Name":"playerWhoClicked","Type":"Instance"}],"Name":"MouseClick","tags":[],"Class":"ClickDetector","type":"Event"},{"Arguments":[{"Name":"playerWhoHovered","Type":"Instance"}],"Name":"MouseHoverEnter","tags":[],"Class":"ClickDetector","type":"Event"},{"Arguments":[{"Name":"playerWhoHovered","Type":"Instance"}],"Name":"MouseHoverLeave","tags":[],"Class":"ClickDetector","type":"Event"},{"Arguments":[{"Name":"playerWhoClicked","Type":"Instance"}],"Name":"mouseClick","tags":["deprecated"],"Class":"ClickDetector","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"ClusterPacketCache","tags":[]},{"Superclass":"Instance","type":"Class","Name":"CollectionService","tags":[]},{"ReturnType":"Objects","Arguments":[{"Type":"string","Name":"class","Default":null}],"Name":"GetCollection","tags":[],"Class":"CollectionService","type":"Function"},{"Arguments":[{"Name":"instance","Type":"Instance"}],"Name":"ItemAdded","tags":[],"Class":"CollectionService","type":"Event"},{"Arguments":[{"Name":"instance","Type":"Instance"}],"Name":"ItemRemoved","tags":[],"Class":"CollectionService","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"Color3Value","tags":[]},{"ValueType":"Color3","type":"Property","Name":"Value","tags":[],"Class":"Color3Value"},{"Arguments":[{"Name":"value","Type":"Color3"}],"Name":"Changed","tags":[],"Class":"Color3Value","type":"Event"},{"Arguments":[{"Name":"value","Type":"Color3"}],"Name":"changed","tags":["deprecated"],"Class":"Color3Value","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"Configuration","tags":[]},{"Superclass":"Instance","type":"Class","Name":"Constraint","tags":[]},{"ValueType":"Object","type":"Property","Name":"Attachment0","tags":[],"Class":"Constraint"},{"ValueType":"Object","type":"Property","Name":"Attachment1","tags":[],"Class":"Constraint"},{"ValueType":"bool","type":"Property","Name":"Enabled","tags":[],"Class":"Constraint"},{"Superclass":"Constraint","type":"Class","Name":"BallSocketConstraint","tags":[]},{"ValueType":"bool","type":"Property","Name":"LimitsEnabled","tags":[],"Class":"BallSocketConstraint"},{"ValueType":"float","type":"Property","Name":"Restitution","tags":[],"Class":"BallSocketConstraint"},{"ValueType":"float","type":"Property","Name":"UpperAngle","tags":[],"Class":"BallSocketConstraint"},{"Superclass":"Constraint","type":"Class","Name":"HingeConstraint","tags":[]},{"ValueType":"ActuatorType","type":"Property","Name":"ActuatorType","tags":[],"Class":"HingeConstraint"},{"ValueType":"float","type":"Property","Name":"AngularSpeed","tags":[],"Class":"HingeConstraint"},{"ValueType":"float","type":"Property","Name":"AngularVelocity","tags":[],"Class":"HingeConstraint"},{"ValueType":"float","type":"Property","Name":"CurrentAngle","tags":["readonly"],"Class":"HingeConstraint"},{"ValueType":"bool","type":"Property","Name":"LimitsEnabled","tags":[],"Class":"HingeConstraint"},{"ValueType":"float","type":"Property","Name":"LowerAngle","tags":[],"Class":"HingeConstraint"},{"ValueType":"float","type":"Property","Name":"MotorMaxAcceleration","tags":[],"Class":"HingeConstraint"},{"ValueType":"float","type":"Property","Name":"MotorMaxTorque","tags":[],"Class":"HingeConstraint"},{"ValueType":"float","type":"Property","Name":"Restitution","tags":[],"Class":"HingeConstraint"},{"ValueType":"float","type":"Property","Name":"ServoMaxTorque","tags":[],"Class":"HingeConstraint"},{"ValueType":"float","type":"Property","Name":"TargetAngle","tags":[],"Class":"HingeConstraint"},{"ValueType":"float","type":"Property","Name":"UpperAngle","tags":[],"Class":"HingeConstraint"},{"Superclass":"Constraint","type":"Class","Name":"MoveToConstraint","tags":[]},{"ValueType":"float","type":"Property","Name":"MaxForce","tags":[],"Class":"MoveToConstraint"},{"ValueType":"float","type":"Property","Name":"StabilizingDistance","tags":[],"Class":"MoveToConstraint"},{"ValueType":"float","type":"Property","Name":"Velocity","tags":[],"Class":"MoveToConstraint"},{"Superclass":"Constraint","type":"Class","Name":"RodConstraint","tags":[]},{"ValueType":"float","type":"Property","Name":"CurrentDistance","tags":["readonly"],"Class":"RodConstraint"},{"ValueType":"float","type":"Property","Name":"Length","tags":[],"Class":"RodConstraint"},{"Superclass":"Constraint","type":"Class","Name":"RopeConstraint","tags":[]},{"ValueType":"float","type":"Property","Name":"CurrentLength","tags":["readonly"],"Class":"RopeConstraint"},{"ValueType":"float","type":"Property","Name":"Length","tags":[],"Class":"RopeConstraint"},{"ValueType":"float","type":"Property","Name":"Restitution","tags":[],"Class":"RopeConstraint"},{"Superclass":"Constraint","type":"Class","Name":"SlidingBallConstraint","tags":[]},{"ValueType":"ActuatorType","type":"Property","Name":"ActuatorType","tags":[],"Class":"SlidingBallConstraint"},{"ValueType":"float","type":"Property","Name":"CurrentPosition","tags":["readonly"],"Class":"SlidingBallConstraint"},{"ValueType":"bool","type":"Property","Name":"LimitsEnabled","tags":[],"Class":"SlidingBallConstraint"},{"ValueType":"float","type":"Property","Name":"LowerLimit","tags":[],"Class":"SlidingBallConstraint"},{"ValueType":"float","type":"Property","Name":"MotorMaxAcceleration","tags":[],"Class":"SlidingBallConstraint"},{"ValueType":"float","type":"Property","Name":"MotorMaxForce","tags":[],"Class":"SlidingBallConstraint"},{"ValueType":"float","type":"Property","Name":"Restitution","tags":[],"Class":"SlidingBallConstraint"},{"ValueType":"float","type":"Property","Name":"ServoMaxForce","tags":[],"Class":"SlidingBallConstraint"},{"ValueType":"float","type":"Property","Name":"Speed","tags":[],"Class":"SlidingBallConstraint"},{"ValueType":"float","type":"Property","Name":"TargetPosition","tags":[],"Class":"SlidingBallConstraint"},{"ValueType":"float","type":"Property","Name":"UpperLimit","tags":[],"Class":"SlidingBallConstraint"},{"ValueType":"float","type":"Property","Name":"Velocity","tags":[],"Class":"SlidingBallConstraint"},{"Superclass":"SlidingBallConstraint","type":"Class","Name":"CylindricalConstraint","tags":[]},{"ValueType":"float","type":"Property","Name":"AzimuthalAngle","tags":[],"Class":"CylindricalConstraint"},{"ValueType":"float","type":"Property","Name":"InclinationAngle","tags":[],"Class":"CylindricalConstraint"},{"Superclass":"SlidingBallConstraint","type":"Class","Name":"PrismaticConstraint","tags":[]},{"Superclass":"Constraint","type":"Class","Name":"SpringConstraint","tags":[]},{"ValueType":"float","type":"Property","Name":"CurrentLength","tags":["readonly"],"Class":"SpringConstraint"},{"ValueType":"float","type":"Property","Name":"Damping","tags":[],"Class":"SpringConstraint"},{"ValueType":"float","type":"Property","Name":"FreeLength","tags":[],"Class":"SpringConstraint"},{"ValueType":"bool","type":"Property","Name":"LimitsEnabled","tags":[],"Class":"SpringConstraint"},{"ValueType":"float","type":"Property","Name":"MaxForce","tags":[],"Class":"SpringConstraint"},{"ValueType":"float","type":"Property","Name":"MaxLength","tags":[],"Class":"SpringConstraint"},{"ValueType":"float","type":"Property","Name":"MinLength","tags":[],"Class":"SpringConstraint"},{"ValueType":"float","type":"Property","Name":"Stiffness","tags":[],"Class":"SpringConstraint"},{"Superclass":"Instance","type":"Class","Name":"ContentFilter","tags":[]},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"outstandingRequests","Default":null},{"Type":"int","Name":"cacheSize","Default":null}],"Name":"SetFilterLimits","tags":["LocalUserSecurity"],"Class":"ContentFilter","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetFilterUrl","tags":["LocalUserSecurity"],"Class":"ContentFilter","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"ContentProvider","tags":[]},{"ValueType":"string","type":"Property","Name":"BaseUrl","tags":["readonly"],"Class":"ContentProvider"},{"ValueType":"int","type":"Property","Name":"RequestQueueSize","tags":["readonly"],"Class":"ContentProvider"},{"ReturnType":"void","Arguments":[{"Type":"Content","Name":"contentId","Default":null}],"Name":"Preload","tags":[],"Class":"ContentProvider","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetAssetUrl","tags":["LocalUserSecurity"],"Class":"ContentProvider","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetBaseUrl","tags":["LocalUserSecurity"],"Class":"ContentProvider","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"count","Default":null}],"Name":"SetCacheSize","tags":["LocalUserSecurity"],"Class":"ContentProvider","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"count","Default":null}],"Name":"SetThreadPool","tags":["LocalUserSecurity"],"Class":"ContentProvider","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Array","Name":"contentIdList","Default":null}],"Name":"PreloadAsync","tags":[],"Class":"ContentProvider","type":"YieldFunction"},{"Superclass":"Instance","type":"Class","Name":"ContextActionService","tags":[]},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"actionName","Default":null},{"Type":"Function","Name":"functionToBind","Default":null},{"Type":"bool","Name":"createTouchButton","Default":null},{"Type":"Tuple","Name":"inputTypes","Default":null}],"Name":"BindAction","tags":[],"Class":"ContextActionService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"actionName","Default":null},{"Type":"Function","Name":"functionToBind","Default":null},{"Type":"bool","Name":"createTouchButton","Default":null},{"Type":"Tuple","Name":"inputTypes","Default":null}],"Name":"BindActionToInputTypes","tags":["deprecated"],"Class":"ContextActionService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"UserInputType","Name":"userInputTypeForActivation","Default":null},{"Type":"KeyCode","Name":"keyCodeForActivation","Default":"Unknown"}],"Name":"BindActivate","tags":[],"Class":"ContextActionService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"actionName","Default":null},{"Type":"Function","Name":"functionToBind","Default":null},{"Type":"bool","Name":"createTouchButton","Default":null},{"Type":"Tuple","Name":"inputTypes","Default":null}],"Name":"BindCoreAction","tags":["RobloxScriptSecurity"],"Class":"ContextActionService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"actionName","Default":null},{"Type":"UserInputState","Name":"state","Default":null},{"Type":"Instance","Name":"inputObject","Default":null}],"Name":"CallFunction","tags":["RobloxScriptSecurity"],"Class":"ContextActionService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"actionName","Default":null},{"Type":"Instance","Name":"actionButton","Default":null}],"Name":"FireActionButtonFoundSignal","tags":["RobloxScriptSecurity"],"Class":"ContextActionService","type":"Function"},{"ReturnType":"Dictionary","Arguments":[],"Name":"GetAllBoundActionInfo","tags":[],"Class":"ContextActionService","type":"Function"},{"ReturnType":"Dictionary","Arguments":[{"Type":"string","Name":"actionName","Default":null}],"Name":"GetBoundActionInfo","tags":[],"Class":"ContextActionService","type":"Function"},{"ReturnType":"string","Arguments":[],"Name":"GetCurrentLocalToolIcon","tags":[],"Class":"ContextActionService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"actionName","Default":null},{"Type":"string","Name":"description","Default":null}],"Name":"SetDescription","tags":[],"Class":"ContextActionService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"actionName","Default":null},{"Type":"string","Name":"image","Default":null}],"Name":"SetImage","tags":[],"Class":"ContextActionService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"actionName","Default":null},{"Type":"UDim2","Name":"position","Default":null}],"Name":"SetPosition","tags":[],"Class":"ContextActionService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"actionName","Default":null},{"Type":"string","Name":"title","Default":null}],"Name":"SetTitle","tags":[],"Class":"ContextActionService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"actionName","Default":null}],"Name":"UnbindAction","tags":[],"Class":"ContextActionService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"UserInputType","Name":"userInputTypeForActivation","Default":null},{"Type":"KeyCode","Name":"keyCodeForActivation","Default":"Unknown"}],"Name":"UnbindActivate","tags":[],"Class":"ContextActionService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"UnbindAllActions","tags":[],"Class":"ContextActionService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"actionName","Default":null}],"Name":"UnbindCoreAction","tags":["RobloxScriptSecurity"],"Class":"ContextActionService","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"string","Name":"actionName","Default":null}],"Name":"GetButton","tags":[],"Class":"ContextActionService","type":"YieldFunction"},{"Arguments":[{"Name":"actionAdded","Type":"string"},{"Name":"createTouchButton","Type":"bool"},{"Name":"functionInfoTable","Type":"Dictionary"}],"Name":"BoundActionAdded","tags":["RobloxScriptSecurity"],"Class":"ContextActionService","type":"Event"},{"Arguments":[{"Name":"actionChanged","Type":"string"},{"Name":"changeName","Type":"string"},{"Name":"changeTable","Type":"Dictionary"}],"Name":"BoundActionChanged","tags":["RobloxScriptSecurity"],"Class":"ContextActionService","type":"Event"},{"Arguments":[{"Name":"actionRemoved","Type":"string"},{"Name":"functionInfoTable","Type":"Dictionary"}],"Name":"BoundActionRemoved","tags":["RobloxScriptSecurity"],"Class":"ContextActionService","type":"Event"},{"Arguments":[{"Name":"actionName","Type":"string"}],"Name":"GetActionButtonEvent","tags":["RobloxScriptSecurity"],"Class":"ContextActionService","type":"Event"},{"Arguments":[{"Name":"toolEquipped","Type":"Instance"}],"Name":"LocalToolEquipped","tags":[],"Class":"ContextActionService","type":"Event"},{"Arguments":[{"Name":"toolUnequipped","Type":"Instance"}],"Name":"LocalToolUnequipped","tags":[],"Class":"ContextActionService","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"Controller","tags":[]},{"ReturnType":"void","Arguments":[{"Type":"Button","Name":"button","Default":null},{"Type":"string","Name":"caption","Default":null}],"Name":"BindButton","tags":[],"Class":"Controller","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"Button","Name":"button","Default":null}],"Name":"GetButton","tags":[],"Class":"Controller","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Button","Name":"button","Default":null}],"Name":"UnbindButton","tags":[],"Class":"Controller","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Button","Name":"button","Default":null},{"Type":"string","Name":"caption","Default":null}],"Name":"bindButton","tags":["deprecated"],"Class":"Controller","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"Button","Name":"button","Default":null}],"Name":"getButton","tags":["deprecated"],"Class":"Controller","type":"Function"},{"Arguments":[{"Name":"button","Type":"Button"}],"Name":"ButtonChanged","tags":[],"Class":"Controller","type":"Event"},{"Superclass":"Controller","type":"Class","Name":"HumanoidController","tags":[]},{"Superclass":"Controller","type":"Class","Name":"SkateboardController","tags":[]},{"ValueType":"float","type":"Property","Name":"Steer","tags":["readonly"],"Class":"SkateboardController"},{"ValueType":"float","type":"Property","Name":"Throttle","tags":["readonly"],"Class":"SkateboardController"},{"Arguments":[{"Name":"axis","Type":"string"}],"Name":"AxisChanged","tags":[],"Class":"SkateboardController","type":"Event"},{"Superclass":"Controller","type":"Class","Name":"VehicleController","tags":[]},{"Superclass":"Instance","type":"Class","Name":"ControllerService","tags":["notCreatable"]},{"Superclass":"Instance","type":"Class","Name":"CookiesService","tags":[]},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"DeleteCookieValue","tags":["RobloxSecurity"],"Class":"CookiesService","type":"Function"},{"ReturnType":"string","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"GetCookieValue","tags":["RobloxSecurity"],"Class":"CookiesService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null},{"Type":"string","Name":"value","Default":null}],"Name":"SetCookieValue","tags":["RobloxSecurity"],"Class":"CookiesService","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"CustomEvent","tags":["deprecated"]},{"ReturnType":"Objects","Arguments":[],"Name":"GetAttachedReceivers","tags":[],"Class":"CustomEvent","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"float","Name":"newValue","Default":null}],"Name":"SetValue","tags":[],"Class":"CustomEvent","type":"Function"},{"Arguments":[{"Name":"receiver","Type":"Instance"}],"Name":"ReceiverConnected","tags":[],"Class":"CustomEvent","type":"Event"},{"Arguments":[{"Name":"receiver","Type":"Instance"}],"Name":"ReceiverDisconnected","tags":[],"Class":"CustomEvent","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"CustomEventReceiver","tags":["deprecated"]},{"ValueType":"Object","type":"Property","Name":"Source","tags":[],"Class":"CustomEventReceiver"},{"ReturnType":"float","Arguments":[],"Name":"GetCurrentValue","tags":[],"Class":"CustomEventReceiver","type":"Function"},{"Arguments":[{"Name":"event","Type":"Instance"}],"Name":"EventConnected","tags":[],"Class":"CustomEventReceiver","type":"Event"},{"Arguments":[{"Name":"event","Type":"Instance"}],"Name":"EventDisconnected","tags":[],"Class":"CustomEventReceiver","type":"Event"},{"Arguments":[{"Name":"newValue","Type":"float"}],"Name":"SourceValueChanged","tags":[],"Class":"CustomEventReceiver","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"DataModelMesh","tags":["notbrowsable"]},{"ValueType":"Vector3","type":"Property","Name":"Offset","tags":[],"Class":"DataModelMesh"},{"ValueType":"Vector3","type":"Property","Name":"Scale","tags":[],"Class":"DataModelMesh"},{"ValueType":"Vector3","type":"Property","Name":"VertexColor","tags":[],"Class":"DataModelMesh"},{"Superclass":"DataModelMesh","type":"Class","Name":"BevelMesh","tags":["deprecated","notbrowsable"]},{"Superclass":"BevelMesh","type":"Class","Name":"BlockMesh","tags":[]},{"Superclass":"BevelMesh","type":"Class","Name":"CylinderMesh","tags":[]},{"Superclass":"DataModelMesh","type":"Class","Name":"FileMesh","tags":[]},{"ValueType":"Content","type":"Property","Name":"MeshId","tags":[],"Class":"FileMesh"},{"ValueType":"Content","type":"Property","Name":"TextureId","tags":[],"Class":"FileMesh"},{"Superclass":"FileMesh","type":"Class","Name":"SpecialMesh","tags":[]},{"ValueType":"MeshType","type":"Property","Name":"MeshType","tags":[],"Class":"SpecialMesh"},{"Superclass":"Instance","type":"Class","Name":"DataStoreService","tags":["notCreatable"]},{"ValueType":"bool","type":"Property","Name":"LegacyNamingScheme","tags":["LocalUserSecurity"],"Class":"DataStoreService"},{"ReturnType":"Instance","Arguments":[{"Type":"string","Name":"name","Default":null},{"Type":"string","Name":"scope","Default":"global"}],"Name":"GetDataStore","tags":[],"Class":"DataStoreService","type":"Function"},{"ReturnType":"Instance","Arguments":[],"Name":"GetGlobalDataStore","tags":[],"Class":"DataStoreService","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"string","Name":"name","Default":null},{"Type":"string","Name":"scope","Default":"global"}],"Name":"GetOrderedDataStore","tags":[],"Class":"DataStoreService","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"Debris","tags":[]},{"ValueType":"int","type":"Property","Name":"MaxItems","tags":["deprecated"],"Class":"Debris"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"item","Default":null},{"Type":"double","Name":"lifetime","Default":"10"}],"Name":"AddItem","tags":[],"Class":"Debris","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"enabled","Default":null}],"Name":"SetLegacyMaxItems","tags":["LocalUserSecurity"],"Class":"Debris","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"item","Default":null},{"Type":"double","Name":"lifetime","Default":"10"}],"Name":"addItem","tags":["deprecated"],"Class":"Debris","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"DebugSettings","tags":["notbrowsable"]},{"ValueType":"int","type":"Property","Name":"AltCdnFailureCount","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"AltCdnSuccessCount","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"AvailablePhysicalMemory","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"BlockMeshSize","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"string","type":"Property","Name":"CPU","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"CdnFailureCount","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"double","type":"Property","Name":"CdnResponceTime","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"CdnSuccessCount","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"CpuCount","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"CpuSpeed","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"DataModel","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"double","type":"Property","Name":"ElapsedTime","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"ErrorReporting","type":"Property","Name":"ErrorReporting","tags":[],"Class":"DebugSettings"},{"ValueType":"string","type":"Property","Name":"GfxCard","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"InstanceCount","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"bool","type":"Property","Name":"IsFmodProfilingEnabled","tags":[],"Class":"DebugSettings"},{"ValueType":"bool","type":"Property","Name":"IsProfilingEnabled","tags":[],"Class":"DebugSettings"},{"ValueType":"bool","type":"Property","Name":"IsScriptStackTracingEnabled","tags":[],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"JobCount","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"double","type":"Property","Name":"LastCdnFailureTimeSpan","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"LuaRamLimit","tags":[],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"NameDatabaseBytes","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"NameDatabaseSize","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"bool","type":"Property","Name":"OsIs64Bit","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"string","type":"Property","Name":"OsPlatform","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"OsPlatformId","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"string","type":"Property","Name":"OsVer","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"PageFaultsPerSecond","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"PageFileBytes","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"float","type":"Property","Name":"PixelShaderModel","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"PlayerCount","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"PrivateBytes","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"PrivateWorkingSetBytes","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"double","type":"Property","Name":"ProcessCores","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"ProcessorTime","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"double","type":"Property","Name":"ProfilingWindow","tags":[],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"RAM","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"bool","type":"Property","Name":"ReportExtendedMachineConfiguration","tags":[],"Class":"DebugSettings"},{"ValueType":"bool","type":"Property","Name":"ReportSoundWarnings","tags":[],"Class":"DebugSettings"},{"ValueType":"string","type":"Property","Name":"Resolution","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"RobloxFailureCount","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"string","type":"Property","Name":"RobloxProductName","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"double","type":"Property","Name":"RobloxRespoceTime","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"RobloxSuccessCount","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"string","type":"Property","Name":"RobloxVersion","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"string","type":"Property","Name":"SIMD","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"string","type":"Property","Name":"SystemProductName","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"TickCountSampleMethod","type":"Property","Name":"TickCountPreciseOverride","tags":[],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"TotalPhysicalMemory","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"TotalProcessorTime","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"float","type":"Property","Name":"VertexShaderModel","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"VideoMemory","tags":["readonly"],"Class":"DebugSettings"},{"ValueType":"int","type":"Property","Name":"VirtualBytes","tags":["readonly"],"Class":"DebugSettings"},{"ReturnType":"void","Arguments":[],"Name":"LegacyScriptMode","tags":["LocalUserSecurity","deprecated"],"Class":"DebugSettings","type":"Function"},{"ReturnType":"Tuple","Arguments":[],"Name":"ResetCdnFailureCounts","tags":["LocalUserSecurity"],"Class":"DebugSettings","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"value","Default":null}],"Name":"SetBlockingRemove","tags":["LocalUserSecurity"],"Class":"DebugSettings","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"DebuggerBreakpoint","tags":["notCreatable"]},{"ValueType":"string","type":"Property","Name":"Condition","tags":[],"Class":"DebuggerBreakpoint"},{"ValueType":"bool","type":"Property","Name":"IsEnabled","tags":[],"Class":"DebuggerBreakpoint"},{"ValueType":"int","type":"Property","Name":"Line","tags":["readonly"],"Class":"DebuggerBreakpoint"},{"Superclass":"Instance","type":"Class","Name":"DebuggerManager","tags":["notCreatable"]},{"ValueType":"bool","type":"Property","Name":"DebuggingEnabled","tags":["readonly"],"Class":"DebuggerManager"},{"ReturnType":"Instance","Arguments":[{"Type":"Instance","Name":"script","Default":null}],"Name":"AddDebugger","tags":[],"Class":"DebuggerManager","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"EnableDebugging","tags":["LocalUserSecurity"],"Class":"DebuggerManager","type":"Function"},{"ReturnType":"Objects","Arguments":[],"Name":"GetDebuggers","tags":[],"Class":"DebuggerManager","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Resume","tags":[],"Class":"DebuggerManager","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"StepIn","tags":[],"Class":"DebuggerManager","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"StepOut","tags":[],"Class":"DebuggerManager","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"StepOver","tags":[],"Class":"DebuggerManager","type":"Function"},{"Arguments":[{"Name":"debugger","Type":"Instance"}],"Name":"DebuggerAdded","tags":[],"Class":"DebuggerManager","type":"Event"},{"Arguments":[{"Name":"debugger","Type":"Instance"}],"Name":"DebuggerRemoved","tags":[],"Class":"DebuggerManager","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"DebuggerWatch","tags":[]},{"ValueType":"string","type":"Property","Name":"Expression","tags":[],"Class":"DebuggerWatch"},{"ReturnType":"void","Arguments":[],"Name":"CheckSyntax","tags":[],"Class":"DebuggerWatch","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"Dialog","tags":[]},{"ValueType":"float","type":"Property","Name":"ConversationDistance","tags":[],"Class":"Dialog"},{"ValueType":"string","type":"Property","Name":"GoodbyeDialog","tags":[],"Class":"Dialog"},{"ValueType":"bool","type":"Property","Name":"InUse","tags":[],"Class":"Dialog"},{"ValueType":"string","type":"Property","Name":"InitialPrompt","tags":[],"Class":"Dialog"},{"ValueType":"DialogPurpose","type":"Property","Name":"Purpose","tags":[],"Class":"Dialog"},{"ValueType":"DialogTone","type":"Property","Name":"Tone","tags":[],"Class":"Dialog"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"player","Default":null},{"Type":"Instance","Name":"dialogChoice","Default":null}],"Name":"SignalDialogChoiceSelected","tags":["RobloxScriptSecurity"],"Class":"Dialog","type":"Function"},{"Arguments":[{"Name":"player","Type":"Instance"},{"Name":"dialogChoice","Type":"Instance"}],"Name":"DialogChoiceSelected","tags":[],"Class":"Dialog","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"DialogChoice","tags":[]},{"ValueType":"string","type":"Property","Name":"GoodbyeDialog","tags":[],"Class":"DialogChoice"},{"ValueType":"string","type":"Property","Name":"ResponseDialog","tags":[],"Class":"DialogChoice"},{"ValueType":"string","type":"Property","Name":"UserDialog","tags":[],"Class":"DialogChoice"},{"Superclass":"Instance","type":"Class","Name":"DoubleConstrainedValue","tags":[]},{"ValueType":"double","type":"Property","Name":"ConstrainedValue","tags":["hidden"],"Class":"DoubleConstrainedValue"},{"ValueType":"double","type":"Property","Name":"MaxValue","tags":[],"Class":"DoubleConstrainedValue"},{"ValueType":"double","type":"Property","Name":"MinValue","tags":[],"Class":"DoubleConstrainedValue"},{"ValueType":"double","type":"Property","Name":"Value","tags":[],"Class":"DoubleConstrainedValue"},{"Arguments":[{"Name":"value","Type":"double"}],"Name":"Changed","tags":[],"Class":"DoubleConstrainedValue","type":"Event"},{"Arguments":[{"Name":"value","Type":"double"}],"Name":"changed","tags":["deprecated"],"Class":"DoubleConstrainedValue","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"Dragger","tags":[]},{"ReturnType":"void","Arguments":[{"Type":"Axis","Name":"axis","Default":"X"}],"Name":"AxisRotate","tags":[],"Class":"Dragger","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"mousePart","Default":null},{"Type":"Vector3","Name":"pointOnMousePart","Default":null},{"Type":"Objects","Name":"parts","Default":null}],"Name":"MouseDown","tags":[],"Class":"Dragger","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Ray","Name":"mouseRay","Default":null}],"Name":"MouseMove","tags":[],"Class":"Dragger","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"MouseUp","tags":[],"Class":"Dragger","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"Explosion","tags":[]},{"ValueType":"float","type":"Property","Name":"BlastPressure","tags":[],"Class":"Explosion"},{"ValueType":"float","type":"Property","Name":"BlastRadius","tags":[],"Class":"Explosion"},{"ValueType":"float","type":"Property","Name":"DestroyJointRadiusPercent","tags":[],"Class":"Explosion"},{"ValueType":"ExplosionType","type":"Property","Name":"ExplosionType","tags":[],"Class":"Explosion"},{"ValueType":"Vector3","type":"Property","Name":"Position","tags":[],"Class":"Explosion"},{"Arguments":[{"Name":"part","Type":"Instance"},{"Name":"distance","Type":"float"}],"Name":"Hit","tags":[],"Class":"Explosion","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"FaceInstance","tags":["notbrowsable"]},{"ValueType":"NormalId","type":"Property","Name":"Face","tags":[],"Class":"FaceInstance"},{"Superclass":"FaceInstance","type":"Class","Name":"Decal","tags":[]},{"ValueType":"float","type":"Property","Name":"LocalTransparencyModifier","tags":["hidden"],"Class":"Decal"},{"ValueType":"float","type":"Property","Name":"Shiny","tags":["deprecated"],"Class":"Decal"},{"ValueType":"float","type":"Property","Name":"Specular","tags":["deprecated"],"Class":"Decal"},{"ValueType":"Content","type":"Property","Name":"Texture","tags":[],"Class":"Decal"},{"ValueType":"float","type":"Property","Name":"Transparency","tags":[],"Class":"Decal"},{"Superclass":"Decal","type":"Class","Name":"Texture","tags":[]},{"ValueType":"float","type":"Property","Name":"StudsPerTileU","tags":[],"Class":"Texture"},{"ValueType":"float","type":"Property","Name":"StudsPerTileV","tags":[],"Class":"Texture"},{"Superclass":"Instance","type":"Class","Name":"Feature","tags":[]},{"ValueType":"NormalId","type":"Property","Name":"FaceId","tags":[],"Class":"Feature"},{"ValueType":"InOut","type":"Property","Name":"InOut","tags":[],"Class":"Feature"},{"ValueType":"LeftRight","type":"Property","Name":"LeftRight","tags":[],"Class":"Feature"},{"ValueType":"TopBottom","type":"Property","Name":"TopBottom","tags":[],"Class":"Feature"},{"Superclass":"Feature","type":"Class","Name":"Hole","tags":["deprecated"]},{"Superclass":"Feature","type":"Class","Name":"MotorFeature","tags":["deprecated"]},{"Superclass":"Instance","type":"Class","Name":"Fire","tags":[]},{"ValueType":"Color3","type":"Property","Name":"Color","tags":[],"Class":"Fire"},{"ValueType":"bool","type":"Property","Name":"Enabled","tags":[],"Class":"Fire"},{"ValueType":"float","type":"Property","Name":"Heat","tags":[],"Class":"Fire"},{"ValueType":"Color3","type":"Property","Name":"SecondaryColor","tags":[],"Class":"Fire"},{"ValueType":"float","type":"Property","Name":"Size","tags":[],"Class":"Fire"},{"ValueType":"float","type":"Property","Name":"size","tags":["deprecated"],"Class":"Fire"},{"Superclass":"Instance","type":"Class","Name":"FlagStandService","tags":[]},{"Superclass":"Instance","type":"Class","Name":"FlyweightService","tags":[]},{"Superclass":"FlyweightService","type":"Class","Name":"CSGDictionaryService","tags":[]},{"Superclass":"FlyweightService","type":"Class","Name":"NonReplicatedCSGDictionaryService","tags":[]},{"Superclass":"Instance","type":"Class","Name":"Folder","tags":[]},{"Superclass":"Instance","type":"Class","Name":"ForceField","tags":[]},{"Superclass":"Instance","type":"Class","Name":"FriendService","tags":["notCreatable"]},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetBreakFriendUrl","tags":["LocalUserSecurity"],"Class":"FriendService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetCreateFriendRequestUrl","tags":["LocalUserSecurity"],"Class":"FriendService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetDeleteFriendRequestUrl","tags":["LocalUserSecurity"],"Class":"FriendService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"enable","Default":null}],"Name":"SetEnabled","tags":["LocalUserSecurity"],"Class":"FriendService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetFriendsOnlineUrl","tags":["LocalUserSecurity"],"Class":"FriendService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetGetFriendsUrl","tags":["LocalUserSecurity"],"Class":"FriendService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetMakeFriendUrl","tags":["LocalUserSecurity"],"Class":"FriendService","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"FunctionalTest","tags":["deprecated"]},{"ValueType":"string","type":"Property","Name":"Description","tags":[],"Class":"FunctionalTest"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"message","Default":""}],"Name":"Error","tags":[],"Class":"FunctionalTest","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"message","Default":""}],"Name":"Failed","tags":[],"Class":"FunctionalTest","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"message","Default":""}],"Name":"Pass","tags":[],"Class":"FunctionalTest","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"message","Default":""}],"Name":"Passed","tags":[],"Class":"FunctionalTest","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"message","Default":""}],"Name":"Warn","tags":[],"Class":"FunctionalTest","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"GamePassService","tags":[]},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"playerHasPassUrl","Default":null}],"Name":"SetPlayerHasPassUrl","tags":["LocalUserSecurity"],"Class":"GamePassService","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"Instance","Name":"player","Default":null},{"Type":"int","Name":"gamePassId","Default":null}],"Name":"PlayerHasPass","tags":[],"Class":"GamePassService","type":"YieldFunction"},{"Superclass":"Instance","type":"Class","Name":"GameSettings","tags":["notbrowsable"]},{"ValueType":"float","type":"Property","Name":"BubbleChatLifetime","tags":[],"Class":"GameSettings"},{"ValueType":"int","type":"Property","Name":"BubbleChatMaxBubbles","tags":[],"Class":"GameSettings"},{"ValueType":"int","type":"Property","Name":"ChatHistory","tags":[],"Class":"GameSettings"},{"ValueType":"int","type":"Property","Name":"ChatScrollLength","tags":[],"Class":"GameSettings"},{"ValueType":"bool","type":"Property","Name":"CollisionSoundEnabled","tags":["deprecated"],"Class":"GameSettings"},{"ValueType":"float","type":"Property","Name":"CollisionSoundVolume","tags":["deprecated"],"Class":"GameSettings"},{"ValueType":"bool","type":"Property","Name":"HardwareMouse","tags":[],"Class":"GameSettings"},{"ValueType":"int","type":"Property","Name":"MaxCollisionSounds","tags":["deprecated"],"Class":"GameSettings"},{"ValueType":"int","type":"Property","Name":"ReportAbuseChatHistory","tags":[],"Class":"GameSettings"},{"ValueType":"bool","type":"Property","Name":"SoftwareSound","tags":[],"Class":"GameSettings"},{"ValueType":"bool","type":"Property","Name":"SoundEnabled","tags":[],"Class":"GameSettings"},{"ValueType":"bool","type":"Property","Name":"VideoCaptureEnabled","tags":[],"Class":"GameSettings"},{"ValueType":"VideoQualitySettings","type":"Property","Name":"VideoQuality","tags":[],"Class":"GameSettings"},{"Arguments":[{"Name":"recording","Type":"bool"}],"Name":"VideoRecordingChangeRequest","tags":["RobloxScriptSecurity"],"Class":"GameSettings","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"GamepadService","tags":[]},{"Superclass":"Instance","type":"Class","Name":"Geometry","tags":[]},{"Superclass":"Instance","type":"Class","Name":"GlobalDataStore","tags":[]},{"ReturnType":"Connection","Arguments":[{"Type":"string","Name":"key","Default":null},{"Type":"Function","Name":"callback","Default":null}],"Name":"OnUpdate","tags":[],"Class":"GlobalDataStore","type":"Function"},{"ReturnType":"Variant","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"GetAsync","tags":[],"Class":"GlobalDataStore","type":"YieldFunction"},{"ReturnType":"Variant","Arguments":[{"Type":"string","Name":"key","Default":null},{"Type":"int","Name":"delta","Default":"1"}],"Name":"IncrementAsync","tags":[],"Class":"GlobalDataStore","type":"YieldFunction"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null},{"Type":"Variant","Name":"value","Default":null}],"Name":"SetAsync","tags":[],"Class":"GlobalDataStore","type":"YieldFunction"},{"ReturnType":"Tuple","Arguments":[{"Type":"string","Name":"key","Default":null},{"Type":"Function","Name":"transformFunction","Default":null}],"Name":"UpdateAsync","tags":[],"Class":"GlobalDataStore","type":"YieldFunction"},{"Superclass":"GlobalDataStore","type":"Class","Name":"OrderedDataStore","tags":[]},{"ReturnType":"Instance","Arguments":[{"Type":"bool","Name":"ascending","Default":null},{"Type":"int","Name":"pagesize","Default":null},{"Type":"Variant","Name":"minValue","Default":null},{"Type":"Variant","Name":"maxValue","Default":null}],"Name":"GetSortedAsync","tags":[],"Class":"OrderedDataStore","type":"YieldFunction"},{"Superclass":"Instance","type":"Class","Name":"GroupService","tags":["notCreatable"]},{"ReturnType":"Instance","Arguments":[{"Type":"int","Name":"groupId","Default":null}],"Name":"GetAlliesAsync","tags":[],"Class":"GroupService","type":"YieldFunction"},{"ReturnType":"Instance","Arguments":[{"Type":"int","Name":"groupId","Default":null}],"Name":"GetEnemiesAsync","tags":[],"Class":"GroupService","type":"YieldFunction"},{"ReturnType":"Variant","Arguments":[{"Type":"int","Name":"groupId","Default":null}],"Name":"GetGroupInfoAsync","tags":[],"Class":"GroupService","type":"YieldFunction"},{"ReturnType":"Array","Arguments":[{"Type":"int","Name":"userId","Default":null}],"Name":"GetGroupsAsync","tags":[],"Class":"GroupService","type":"YieldFunction"},{"Superclass":"Instance","type":"Class","Name":"GuiBase","tags":[]},{"Superclass":"GuiBase","type":"Class","Name":"GuiBase2d","tags":["notbrowsable"]},{"ValueType":"Vector2","type":"Property","Name":"AbsolutePosition","tags":["readonly"],"Class":"GuiBase2d"},{"ValueType":"Vector2","type":"Property","Name":"AbsoluteSize","tags":["readonly"],"Class":"GuiBase2d"},{"Superclass":"GuiBase2d","type":"Class","Name":"GuiObject","tags":["notbrowsable"]},{"ValueType":"bool","type":"Property","Name":"Active","tags":[],"Class":"GuiObject"},{"ValueType":"BrickColor","type":"Property","Name":"BackgroundColor","tags":["deprecated","hidden"],"Class":"GuiObject"},{"ValueType":"Color3","type":"Property","Name":"BackgroundColor3","tags":[],"Class":"GuiObject"},{"ValueType":"float","type":"Property","Name":"BackgroundTransparency","tags":[],"Class":"GuiObject"},{"ValueType":"BrickColor","type":"Property","Name":"BorderColor","tags":["deprecated","hidden"],"Class":"GuiObject"},{"ValueType":"Color3","type":"Property","Name":"BorderColor3","tags":[],"Class":"GuiObject"},{"ValueType":"int","type":"Property","Name":"BorderSizePixel","tags":[],"Class":"GuiObject"},{"ValueType":"bool","type":"Property","Name":"ClipsDescendants","tags":[],"Class":"GuiObject"},{"ValueType":"bool","type":"Property","Name":"Draggable","tags":[],"Class":"GuiObject"},{"ValueType":"Object","type":"Property","Name":"NextSelectionDown","tags":[],"Class":"GuiObject"},{"ValueType":"Object","type":"Property","Name":"NextSelectionLeft","tags":[],"Class":"GuiObject"},{"ValueType":"Object","type":"Property","Name":"NextSelectionRight","tags":[],"Class":"GuiObject"},{"ValueType":"Object","type":"Property","Name":"NextSelectionUp","tags":[],"Class":"GuiObject"},{"ValueType":"UDim2","type":"Property","Name":"Position","tags":[],"Class":"GuiObject"},{"ValueType":"float","type":"Property","Name":"Rotation","tags":[],"Class":"GuiObject"},{"ValueType":"bool","type":"Property","Name":"Selectable","tags":[],"Class":"GuiObject"},{"ValueType":"Object","type":"Property","Name":"SelectionImageObject","tags":[],"Class":"GuiObject"},{"ValueType":"UDim2","type":"Property","Name":"Size","tags":[],"Class":"GuiObject"},{"ValueType":"SizeConstraint","type":"Property","Name":"SizeConstraint","tags":[],"Class":"GuiObject"},{"ValueType":"float","type":"Property","Name":"Transparency","tags":["hidden"],"Class":"GuiObject"},{"ValueType":"bool","type":"Property","Name":"Visible","tags":[],"Class":"GuiObject"},{"ValueType":"int","type":"Property","Name":"ZIndex","tags":[],"Class":"GuiObject"},{"ReturnType":"bool","Arguments":[{"Type":"UDim2","Name":"endPosition","Default":null},{"Type":"EasingDirection","Name":"easingDirection","Default":"Out"},{"Type":"EasingStyle","Name":"easingStyle","Default":"Quad"},{"Type":"float","Name":"time","Default":"1"},{"Type":"bool","Name":"override","Default":"false"},{"Type":"Function","Name":"callback","Default":"nil"}],"Name":"TweenPosition","tags":[],"Class":"GuiObject","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"UDim2","Name":"endSize","Default":null},{"Type":"EasingDirection","Name":"easingDirection","Default":"Out"},{"Type":"EasingStyle","Name":"easingStyle","Default":"Quad"},{"Type":"float","Name":"time","Default":"1"},{"Type":"bool","Name":"override","Default":"false"},{"Type":"Function","Name":"callback","Default":"nil"}],"Name":"TweenSize","tags":[],"Class":"GuiObject","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"UDim2","Name":"endSize","Default":null},{"Type":"UDim2","Name":"endPosition","Default":null},{"Type":"EasingDirection","Name":"easingDirection","Default":"Out"},{"Type":"EasingStyle","Name":"easingStyle","Default":"Quad"},{"Type":"float","Name":"time","Default":"1"},{"Type":"bool","Name":"override","Default":"false"},{"Type":"Function","Name":"callback","Default":"nil"}],"Name":"TweenSizeAndPosition","tags":[],"Class":"GuiObject","type":"Function"},{"Arguments":[{"Name":"initialPosition","Type":"UDim2"}],"Name":"DragBegin","tags":[],"Class":"GuiObject","type":"Event"},{"Arguments":[{"Name":"x","Type":"int"},{"Name":"y","Type":"int"}],"Name":"DragStopped","tags":[],"Class":"GuiObject","type":"Event"},{"Arguments":[{"Name":"input","Type":"Instance"}],"Name":"InputBegan","tags":[],"Class":"GuiObject","type":"Event"},{"Arguments":[{"Name":"input","Type":"Instance"}],"Name":"InputChanged","tags":[],"Class":"GuiObject","type":"Event"},{"Arguments":[{"Name":"input","Type":"Instance"}],"Name":"InputEnded","tags":[],"Class":"GuiObject","type":"Event"},{"Arguments":[{"Name":"x","Type":"int"},{"Name":"y","Type":"int"}],"Name":"MouseEnter","tags":[],"Class":"GuiObject","type":"Event"},{"Arguments":[{"Name":"x","Type":"int"},{"Name":"y","Type":"int"}],"Name":"MouseLeave","tags":[],"Class":"GuiObject","type":"Event"},{"Arguments":[{"Name":"x","Type":"int"},{"Name":"y","Type":"int"}],"Name":"MouseMoved","tags":[],"Class":"GuiObject","type":"Event"},{"Arguments":[{"Name":"x","Type":"int"},{"Name":"y","Type":"int"}],"Name":"MouseWheelBackward","tags":[],"Class":"GuiObject","type":"Event"},{"Arguments":[{"Name":"x","Type":"int"},{"Name":"y","Type":"int"}],"Name":"MouseWheelForward","tags":[],"Class":"GuiObject","type":"Event"},{"Arguments":[],"Name":"SelectionGained","tags":[],"Class":"GuiObject","type":"Event"},{"Arguments":[],"Name":"SelectionLost","tags":[],"Class":"GuiObject","type":"Event"},{"Arguments":[{"Name":"touchPositions","Type":"Array"},{"Name":"state","Type":"UserInputState"}],"Name":"TouchLongPress","tags":[],"Class":"GuiObject","type":"Event"},{"Arguments":[{"Name":"touchPositions","Type":"Array"},{"Name":"totalTranslation","Type":"Vector2"},{"Name":"velocity","Type":"Vector2"},{"Name":"state","Type":"UserInputState"}],"Name":"TouchPan","tags":[],"Class":"GuiObject","type":"Event"},{"Arguments":[{"Name":"touchPositions","Type":"Array"},{"Name":"scale","Type":"float"},{"Name":"velocity","Type":"float"},{"Name":"state","Type":"UserInputState"}],"Name":"TouchPinch","tags":[],"Class":"GuiObject","type":"Event"},{"Arguments":[{"Name":"touchPositions","Type":"Array"},{"Name":"rotation","Type":"float"},{"Name":"velocity","Type":"float"},{"Name":"state","Type":"UserInputState"}],"Name":"TouchRotate","tags":[],"Class":"GuiObject","type":"Event"},{"Arguments":[{"Name":"swipeDirection","Type":"SwipeDirection"},{"Name":"numberOfTouches","Type":"int"}],"Name":"TouchSwipe","tags":[],"Class":"GuiObject","type":"Event"},{"Arguments":[{"Name":"touchPositions","Type":"Array"}],"Name":"TouchTap","tags":[],"Class":"GuiObject","type":"Event"},{"Superclass":"GuiObject","type":"Class","Name":"Frame","tags":[]},{"ValueType":"FrameStyle","type":"Property","Name":"Style","tags":[],"Class":"Frame"},{"Superclass":"GuiObject","type":"Class","Name":"GuiButton","tags":["notbrowsable"]},{"ValueType":"bool","type":"Property","Name":"AutoButtonColor","tags":[],"Class":"GuiButton"},{"ValueType":"bool","type":"Property","Name":"Modal","tags":[],"Class":"GuiButton"},{"ValueType":"bool","type":"Property","Name":"Selected","tags":[],"Class":"GuiButton"},{"ValueType":"ButtonStyle","type":"Property","Name":"Style","tags":[],"Class":"GuiButton"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"verb","Default":null}],"Name":"SetVerb","tags":["RobloxScriptSecurity"],"Class":"GuiButton","type":"Function"},{"Arguments":[],"Name":"MouseButton1Click","tags":[],"Class":"GuiButton","type":"Event"},{"Arguments":[{"Name":"x","Type":"int"},{"Name":"y","Type":"int"}],"Name":"MouseButton1Down","tags":[],"Class":"GuiButton","type":"Event"},{"Arguments":[{"Name":"x","Type":"int"},{"Name":"y","Type":"int"}],"Name":"MouseButton1Up","tags":[],"Class":"GuiButton","type":"Event"},{"Arguments":[],"Name":"MouseButton2Click","tags":[],"Class":"GuiButton","type":"Event"},{"Arguments":[{"Name":"x","Type":"int"},{"Name":"y","Type":"int"}],"Name":"MouseButton2Down","tags":[],"Class":"GuiButton","type":"Event"},{"Arguments":[{"Name":"x","Type":"int"},{"Name":"y","Type":"int"}],"Name":"MouseButton2Up","tags":[],"Class":"GuiButton","type":"Event"},{"Superclass":"GuiButton","type":"Class","Name":"ImageButton","tags":[]},{"ValueType":"Content","type":"Property","Name":"Image","tags":[],"Class":"ImageButton"},{"ValueType":"Color3","type":"Property","Name":"ImageColor3","tags":[],"Class":"ImageButton"},{"ValueType":"Vector2","type":"Property","Name":"ImageRectOffset","tags":[],"Class":"ImageButton"},{"ValueType":"Vector2","type":"Property","Name":"ImageRectSize","tags":[],"Class":"ImageButton"},{"ValueType":"float","type":"Property","Name":"ImageTransparency","tags":[],"Class":"ImageButton"},{"ValueType":"ScaleType","type":"Property","Name":"ScaleType","tags":[],"Class":"ImageButton"},{"ValueType":"Rect2D","type":"Property","Name":"SliceCenter","tags":[],"Class":"ImageButton"},{"Superclass":"GuiButton","type":"Class","Name":"TextButton","tags":[]},{"ValueType":"Font","type":"Property","Name":"Font","tags":[],"Class":"TextButton"},{"ValueType":"FontSize","type":"Property","Name":"FontSize","tags":[],"Class":"TextButton"},{"ValueType":"string","type":"Property","Name":"Text","tags":[],"Class":"TextButton"},{"ValueType":"Vector2","type":"Property","Name":"TextBounds","tags":["readonly"],"Class":"TextButton"},{"ValueType":"BrickColor","type":"Property","Name":"TextColor","tags":["deprecated","hidden"],"Class":"TextButton"},{"ValueType":"Color3","type":"Property","Name":"TextColor3","tags":[],"Class":"TextButton"},{"ValueType":"bool","type":"Property","Name":"TextFits","tags":["readonly"],"Class":"TextButton"},{"ValueType":"bool","type":"Property","Name":"TextScaled","tags":[],"Class":"TextButton"},{"ValueType":"Color3","type":"Property","Name":"TextStrokeColor3","tags":[],"Class":"TextButton"},{"ValueType":"float","type":"Property","Name":"TextStrokeTransparency","tags":[],"Class":"TextButton"},{"ValueType":"float","type":"Property","Name":"TextTransparency","tags":[],"Class":"TextButton"},{"ValueType":"bool","type":"Property","Name":"TextWrap","tags":["deprecated"],"Class":"TextButton"},{"ValueType":"bool","type":"Property","Name":"TextWrapped","tags":[],"Class":"TextButton"},{"ValueType":"TextXAlignment","type":"Property","Name":"TextXAlignment","tags":[],"Class":"TextButton"},{"ValueType":"TextYAlignment","type":"Property","Name":"TextYAlignment","tags":[],"Class":"TextButton"},{"Superclass":"GuiObject","type":"Class","Name":"GuiLabel","tags":[]},{"Superclass":"GuiLabel","type":"Class","Name":"ImageLabel","tags":[]},{"ValueType":"Content","type":"Property","Name":"Image","tags":[],"Class":"ImageLabel"},{"ValueType":"Color3","type":"Property","Name":"ImageColor3","tags":[],"Class":"ImageLabel"},{"ValueType":"Vector2","type":"Property","Name":"ImageRectOffset","tags":[],"Class":"ImageLabel"},{"ValueType":"Vector2","type":"Property","Name":"ImageRectSize","tags":[],"Class":"ImageLabel"},{"ValueType":"float","type":"Property","Name":"ImageTransparency","tags":[],"Class":"ImageLabel"},{"ValueType":"ScaleType","type":"Property","Name":"ScaleType","tags":[],"Class":"ImageLabel"},{"ValueType":"Rect2D","type":"Property","Name":"SliceCenter","tags":[],"Class":"ImageLabel"},{"Superclass":"GuiLabel","type":"Class","Name":"TextLabel","tags":[]},{"ValueType":"Font","type":"Property","Name":"Font","tags":[],"Class":"TextLabel"},{"ValueType":"FontSize","type":"Property","Name":"FontSize","tags":[],"Class":"TextLabel"},{"ValueType":"string","type":"Property","Name":"Text","tags":[],"Class":"TextLabel"},{"ValueType":"Vector2","type":"Property","Name":"TextBounds","tags":["readonly"],"Class":"TextLabel"},{"ValueType":"BrickColor","type":"Property","Name":"TextColor","tags":["deprecated","hidden"],"Class":"TextLabel"},{"ValueType":"Color3","type":"Property","Name":"TextColor3","tags":[],"Class":"TextLabel"},{"ValueType":"bool","type":"Property","Name":"TextFits","tags":["readonly"],"Class":"TextLabel"},{"ValueType":"bool","type":"Property","Name":"TextScaled","tags":[],"Class":"TextLabel"},{"ValueType":"Color3","type":"Property","Name":"TextStrokeColor3","tags":[],"Class":"TextLabel"},{"ValueType":"float","type":"Property","Name":"TextStrokeTransparency","tags":[],"Class":"TextLabel"},{"ValueType":"float","type":"Property","Name":"TextTransparency","tags":[],"Class":"TextLabel"},{"ValueType":"bool","type":"Property","Name":"TextWrap","tags":["deprecated"],"Class":"TextLabel"},{"ValueType":"bool","type":"Property","Name":"TextWrapped","tags":[],"Class":"TextLabel"},{"ValueType":"TextXAlignment","type":"Property","Name":"TextXAlignment","tags":[],"Class":"TextLabel"},{"ValueType":"TextYAlignment","type":"Property","Name":"TextYAlignment","tags":[],"Class":"TextLabel"},{"Superclass":"GuiObject","type":"Class","Name":"Scale9Frame","tags":[]},{"ValueType":"Vector2int16","type":"Property","Name":"ScaleEdgeSize","tags":[],"Class":"Scale9Frame"},{"ValueType":"string","type":"Property","Name":"SlicePrefix","tags":[],"Class":"Scale9Frame"},{"Superclass":"GuiObject","type":"Class","Name":"ScrollingFrame","tags":[]},{"ValueType":"Vector2","type":"Property","Name":"AbsoluteWindowSize","tags":["readonly"],"Class":"ScrollingFrame"},{"ValueType":"Content","type":"Property","Name":"BottomImage","tags":[],"Class":"ScrollingFrame"},{"ValueType":"Vector2","type":"Property","Name":"CanvasPosition","tags":[],"Class":"ScrollingFrame"},{"ValueType":"UDim2","type":"Property","Name":"CanvasSize","tags":[],"Class":"ScrollingFrame"},{"ValueType":"Content","type":"Property","Name":"MidImage","tags":[],"Class":"ScrollingFrame"},{"ValueType":"int","type":"Property","Name":"ScrollBarThickness","tags":[],"Class":"ScrollingFrame"},{"ValueType":"bool","type":"Property","Name":"ScrollingEnabled","tags":[],"Class":"ScrollingFrame"},{"ValueType":"Content","type":"Property","Name":"TopImage","tags":[],"Class":"ScrollingFrame"},{"Superclass":"GuiObject","type":"Class","Name":"TextBox","tags":[]},{"ValueType":"bool","type":"Property","Name":"ClearTextOnFocus","tags":[],"Class":"TextBox"},{"ValueType":"Font","type":"Property","Name":"Font","tags":[],"Class":"TextBox"},{"ValueType":"FontSize","type":"Property","Name":"FontSize","tags":[],"Class":"TextBox"},{"ValueType":"bool","type":"Property","Name":"MultiLine","tags":[],"Class":"TextBox"},{"ValueType":"string","type":"Property","Name":"Text","tags":[],"Class":"TextBox"},{"ValueType":"Vector2","type":"Property","Name":"TextBounds","tags":["readonly"],"Class":"TextBox"},{"ValueType":"BrickColor","type":"Property","Name":"TextColor","tags":["deprecated","hidden"],"Class":"TextBox"},{"ValueType":"Color3","type":"Property","Name":"TextColor3","tags":[],"Class":"TextBox"},{"ValueType":"bool","type":"Property","Name":"TextFits","tags":["readonly"],"Class":"TextBox"},{"ValueType":"bool","type":"Property","Name":"TextScaled","tags":[],"Class":"TextBox"},{"ValueType":"Color3","type":"Property","Name":"TextStrokeColor3","tags":[],"Class":"TextBox"},{"ValueType":"float","type":"Property","Name":"TextStrokeTransparency","tags":[],"Class":"TextBox"},{"ValueType":"float","type":"Property","Name":"TextTransparency","tags":[],"Class":"TextBox"},{"ValueType":"bool","type":"Property","Name":"TextWrap","tags":["deprecated"],"Class":"TextBox"},{"ValueType":"bool","type":"Property","Name":"TextWrapped","tags":[],"Class":"TextBox"},{"ValueType":"TextXAlignment","type":"Property","Name":"TextXAlignment","tags":[],"Class":"TextBox"},{"ValueType":"TextYAlignment","type":"Property","Name":"TextYAlignment","tags":[],"Class":"TextBox"},{"ReturnType":"void","Arguments":[],"Name":"CaptureFocus","tags":[],"Class":"TextBox","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"IsFocused","tags":[],"Class":"TextBox","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"ReleaseFocus","tags":[],"Class":"TextBox","type":"Function"},{"Arguments":[{"Name":"enterPressed","Type":"bool"},{"Name":"inputThatCausedFocusLoss","Type":"Instance"}],"Name":"FocusLost","tags":[],"Class":"TextBox","type":"Event"},{"Arguments":[],"Name":"Focused","tags":[],"Class":"TextBox","type":"Event"},{"Superclass":"GuiBase2d","type":"Class","Name":"LayerCollector","tags":[]},{"Superclass":"LayerCollector","type":"Class","Name":"BillboardGui","tags":[]},{"ValueType":"bool","type":"Property","Name":"Active","tags":[],"Class":"BillboardGui"},{"ValueType":"Object","type":"Property","Name":"Adornee","tags":[],"Class":"BillboardGui"},{"ValueType":"bool","type":"Property","Name":"AlwaysOnTop","tags":[],"Class":"BillboardGui"},{"ValueType":"bool","type":"Property","Name":"Enabled","tags":[],"Class":"BillboardGui"},{"ValueType":"Vector3","type":"Property","Name":"ExtentsOffset","tags":[],"Class":"BillboardGui"},{"ValueType":"Object","type":"Property","Name":"PlayerToHideFrom","tags":[],"Class":"BillboardGui"},{"ValueType":"UDim2","type":"Property","Name":"Size","tags":[],"Class":"BillboardGui"},{"ValueType":"Vector2","type":"Property","Name":"SizeOffset","tags":[],"Class":"BillboardGui"},{"ValueType":"Vector3","type":"Property","Name":"StudsOffset","tags":[],"Class":"BillboardGui"},{"Superclass":"LayerCollector","type":"Class","Name":"ScreenGui","tags":[]},{"Superclass":"ScreenGui","type":"Class","Name":"GuiMain","tags":["deprecated"]},{"Superclass":"LayerCollector","type":"Class","Name":"SurfaceGui","tags":[]},{"ValueType":"bool","type":"Property","Name":"Active","tags":[],"Class":"SurfaceGui"},{"ValueType":"Object","type":"Property","Name":"Adornee","tags":[],"Class":"SurfaceGui"},{"ValueType":"bool","type":"Property","Name":"AlwaysOnTop","tags":[],"Class":"SurfaceGui"},{"ValueType":"Vector2","type":"Property","Name":"CanvasSize","tags":[],"Class":"SurfaceGui"},{"ValueType":"bool","type":"Property","Name":"Enabled","tags":[],"Class":"SurfaceGui"},{"ValueType":"NormalId","type":"Property","Name":"Face","tags":[],"Class":"SurfaceGui"},{"ValueType":"float","type":"Property","Name":"ToolPunchThroughDistance","tags":[],"Class":"SurfaceGui"},{"Superclass":"GuiBase","type":"Class","Name":"GuiBase3d","tags":[]},{"ValueType":"BrickColor","type":"Property","Name":"Color","tags":["deprecated","hidden"],"Class":"GuiBase3d"},{"ValueType":"Color3","type":"Property","Name":"Color3","tags":[],"Class":"GuiBase3d"},{"ValueType":"float","type":"Property","Name":"Transparency","tags":[],"Class":"GuiBase3d"},{"ValueType":"bool","type":"Property","Name":"Visible","tags":[],"Class":"GuiBase3d"},{"Superclass":"GuiBase3d","type":"Class","Name":"FloorWire","tags":["deprecated"]},{"ValueType":"float","type":"Property","Name":"CycleOffset","tags":[],"Class":"FloorWire"},{"ValueType":"Object","type":"Property","Name":"From","tags":[],"Class":"FloorWire"},{"ValueType":"float","type":"Property","Name":"StudsBetweenTextures","tags":[],"Class":"FloorWire"},{"ValueType":"Content","type":"Property","Name":"Texture","tags":[],"Class":"FloorWire"},{"ValueType":"Vector2","type":"Property","Name":"TextureSize","tags":[],"Class":"FloorWire"},{"ValueType":"Object","type":"Property","Name":"To","tags":[],"Class":"FloorWire"},{"ValueType":"float","type":"Property","Name":"Velocity","tags":[],"Class":"FloorWire"},{"ValueType":"float","type":"Property","Name":"WireRadius","tags":[],"Class":"FloorWire"},{"Superclass":"GuiBase3d","type":"Class","Name":"PVAdornment","tags":[]},{"ValueType":"Object","type":"Property","Name":"Adornee","tags":[],"Class":"PVAdornment"},{"Superclass":"PVAdornment","type":"Class","Name":"HandleAdornment","tags":[]},{"ValueType":"bool","type":"Property","Name":"AlwaysOnTop","tags":[],"Class":"HandleAdornment"},{"ValueType":"CoordinateFrame","type":"Property","Name":"CFrame","tags":[],"Class":"HandleAdornment"},{"ValueType":"Vector3","type":"Property","Name":"SizeRelativeOffset","tags":[],"Class":"HandleAdornment"},{"ValueType":"int","type":"Property","Name":"ZIndex","tags":[],"Class":"HandleAdornment"},{"Arguments":[],"Name":"MouseButton1Down","tags":[],"Class":"HandleAdornment","type":"Event"},{"Arguments":[],"Name":"MouseButton1Up","tags":[],"Class":"HandleAdornment","type":"Event"},{"Arguments":[],"Name":"MouseEnter","tags":[],"Class":"HandleAdornment","type":"Event"},{"Arguments":[],"Name":"MouseLeave","tags":[],"Class":"HandleAdornment","type":"Event"},{"Superclass":"HandleAdornment","type":"Class","Name":"BoxHandleAdornment","tags":[]},{"ValueType":"Vector3","type":"Property","Name":"Size","tags":[],"Class":"BoxHandleAdornment"},{"Superclass":"HandleAdornment","type":"Class","Name":"ConeHandleAdornment","tags":[]},{"ValueType":"float","type":"Property","Name":"Height","tags":[],"Class":"ConeHandleAdornment"},{"ValueType":"float","type":"Property","Name":"Radius","tags":[],"Class":"ConeHandleAdornment"},{"Superclass":"HandleAdornment","type":"Class","Name":"CylinderHandleAdornment","tags":[]},{"ValueType":"float","type":"Property","Name":"Height","tags":[],"Class":"CylinderHandleAdornment"},{"ValueType":"float","type":"Property","Name":"Radius","tags":[],"Class":"CylinderHandleAdornment"},{"Superclass":"HandleAdornment","type":"Class","Name":"ImageHandleAdornment","tags":[]},{"ValueType":"Content","type":"Property","Name":"Image","tags":[],"Class":"ImageHandleAdornment"},{"ValueType":"Vector2","type":"Property","Name":"Size","tags":[],"Class":"ImageHandleAdornment"},{"Superclass":"HandleAdornment","type":"Class","Name":"LineHandleAdornment","tags":[]},{"ValueType":"float","type":"Property","Name":"Length","tags":[],"Class":"LineHandleAdornment"},{"ValueType":"float","type":"Property","Name":"Thickness","tags":[],"Class":"LineHandleAdornment"},{"Superclass":"HandleAdornment","type":"Class","Name":"SphereHandleAdornment","tags":[]},{"ValueType":"float","type":"Property","Name":"Radius","tags":[],"Class":"SphereHandleAdornment"},{"Superclass":"PVAdornment","type":"Class","Name":"SelectionBox","tags":[]},{"ValueType":"float","type":"Property","Name":"LineThickness","tags":[],"Class":"SelectionBox"},{"ValueType":"BrickColor","type":"Property","Name":"SurfaceColor","tags":["deprecated","hidden"],"Class":"SelectionBox"},{"ValueType":"Color3","type":"Property","Name":"SurfaceColor3","tags":[],"Class":"SelectionBox"},{"ValueType":"float","type":"Property","Name":"SurfaceTransparency","tags":[],"Class":"SelectionBox"},{"Superclass":"PVAdornment","type":"Class","Name":"SelectionSphere","tags":[]},{"ValueType":"BrickColor","type":"Property","Name":"SurfaceColor","tags":["deprecated","hidden"],"Class":"SelectionSphere"},{"ValueType":"Color3","type":"Property","Name":"SurfaceColor3","tags":[],"Class":"SelectionSphere"},{"ValueType":"float","type":"Property","Name":"SurfaceTransparency","tags":[],"Class":"SelectionSphere"},{"Superclass":"GuiBase3d","type":"Class","Name":"PartAdornment","tags":[]},{"ValueType":"Object","type":"Property","Name":"Adornee","tags":[],"Class":"PartAdornment"},{"Superclass":"PartAdornment","type":"Class","Name":"HandlesBase","tags":[]},{"Superclass":"HandlesBase","type":"Class","Name":"ArcHandles","tags":[]},{"ValueType":"Axes","type":"Property","Name":"Axes","tags":[],"Class":"ArcHandles"},{"Arguments":[{"Name":"axis","Type":"Axis"}],"Name":"MouseButton1Down","tags":[],"Class":"ArcHandles","type":"Event"},{"Arguments":[{"Name":"axis","Type":"Axis"}],"Name":"MouseButton1Up","tags":[],"Class":"ArcHandles","type":"Event"},{"Arguments":[{"Name":"axis","Type":"Axis"},{"Name":"relativeAngle","Type":"float"},{"Name":"deltaRadius","Type":"float"}],"Name":"MouseDrag","tags":[],"Class":"ArcHandles","type":"Event"},{"Arguments":[{"Name":"axis","Type":"Axis"}],"Name":"MouseEnter","tags":[],"Class":"ArcHandles","type":"Event"},{"Arguments":[{"Name":"axis","Type":"Axis"}],"Name":"MouseLeave","tags":[],"Class":"ArcHandles","type":"Event"},{"Superclass":"HandlesBase","type":"Class","Name":"Handles","tags":[]},{"ValueType":"Faces","type":"Property","Name":"Faces","tags":[],"Class":"Handles"},{"ValueType":"HandlesStyle","type":"Property","Name":"Style","tags":[],"Class":"Handles"},{"Arguments":[{"Name":"face","Type":"NormalId"}],"Name":"MouseButton1Down","tags":[],"Class":"Handles","type":"Event"},{"Arguments":[{"Name":"face","Type":"NormalId"}],"Name":"MouseButton1Up","tags":[],"Class":"Handles","type":"Event"},{"Arguments":[{"Name":"face","Type":"NormalId"},{"Name":"distance","Type":"float"}],"Name":"MouseDrag","tags":[],"Class":"Handles","type":"Event"},{"Arguments":[{"Name":"face","Type":"NormalId"}],"Name":"MouseEnter","tags":[],"Class":"Handles","type":"Event"},{"Arguments":[{"Name":"face","Type":"NormalId"}],"Name":"MouseLeave","tags":[],"Class":"Handles","type":"Event"},{"Superclass":"PartAdornment","type":"Class","Name":"SurfaceSelection","tags":[]},{"ValueType":"NormalId","type":"Property","Name":"TargetSurface","tags":[],"Class":"SurfaceSelection"},{"Superclass":"GuiBase3d","type":"Class","Name":"SelectionLasso","tags":[]},{"ValueType":"Object","type":"Property","Name":"Humanoid","tags":[],"Class":"SelectionLasso"},{"Superclass":"SelectionLasso","type":"Class","Name":"SelectionPartLasso","tags":["deprecated"]},{"ValueType":"Object","type":"Property","Name":"Part","tags":[],"Class":"SelectionPartLasso"},{"Superclass":"SelectionLasso","type":"Class","Name":"SelectionPointLasso","tags":["deprecated"]},{"ValueType":"Vector3","type":"Property","Name":"Point","tags":[],"Class":"SelectionPointLasso"},{"Superclass":"GuiBase3d","type":"Class","Name":"TextureTrail","tags":["deprecated"]},{"ValueType":"float","type":"Property","Name":"CycleOffset","tags":["RobloxPlaceSecurity"],"Class":"TextureTrail"},{"ValueType":"Object","type":"Property","Name":"From","tags":["RobloxPlaceSecurity"],"Class":"TextureTrail"},{"ValueType":"float","type":"Property","Name":"StudsBetweenTextures","tags":["RobloxPlaceSecurity"],"Class":"TextureTrail"},{"ValueType":"Content","type":"Property","Name":"Texture","tags":["RobloxPlaceSecurity"],"Class":"TextureTrail"},{"ValueType":"Vector2","type":"Property","Name":"TextureSize","tags":["RobloxPlaceSecurity"],"Class":"TextureTrail"},{"ValueType":"Object","type":"Property","Name":"To","tags":["RobloxPlaceSecurity"],"Class":"TextureTrail"},{"ValueType":"float","type":"Property","Name":"Velocity","tags":["RobloxPlaceSecurity"],"Class":"TextureTrail"},{"Superclass":"Instance","type":"Class","Name":"GuiItem","tags":[]},{"Superclass":"GuiItem","type":"Class","Name":"Backpack","tags":[]},{"Superclass":"GuiItem","type":"Class","Name":"BackpackItem","tags":[]},{"ValueType":"Content","type":"Property","Name":"TextureId","tags":[],"Class":"BackpackItem"},{"Superclass":"BackpackItem","type":"Class","Name":"HopperBin","tags":["deprecated"]},{"ValueType":"bool","type":"Property","Name":"Active","tags":[],"Class":"HopperBin"},{"ValueType":"BinType","type":"Property","Name":"BinType","tags":[],"Class":"HopperBin"},{"ReturnType":"void","Arguments":[],"Name":"Disable","tags":["RobloxScriptSecurity"],"Class":"HopperBin","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"ToggleSelect","tags":["RobloxScriptSecurity"],"Class":"HopperBin","type":"Function"},{"Arguments":[],"Name":"Deselected","tags":[],"Class":"HopperBin","type":"Event"},{"Arguments":[{"Name":"mouse","Type":"Instance"}],"Name":"Selected","tags":[],"Class":"HopperBin","type":"Event"},{"Superclass":"BackpackItem","type":"Class","Name":"Tool","tags":[]},{"ValueType":"bool","type":"Property","Name":"CanBeDropped","tags":[],"Class":"Tool"},{"ValueType":"bool","type":"Property","Name":"Enabled","tags":[],"Class":"Tool"},{"ValueType":"CoordinateFrame","type":"Property","Name":"Grip","tags":[],"Class":"Tool"},{"ValueType":"Vector3","type":"Property","Name":"GripForward","tags":[],"Class":"Tool"},{"ValueType":"Vector3","type":"Property","Name":"GripPos","tags":[],"Class":"Tool"},{"ValueType":"Vector3","type":"Property","Name":"GripRight","tags":[],"Class":"Tool"},{"ValueType":"Vector3","type":"Property","Name":"GripUp","tags":[],"Class":"Tool"},{"ValueType":"bool","type":"Property","Name":"ManualActivationOnly","tags":[],"Class":"Tool"},{"ValueType":"bool","type":"Property","Name":"RequiresHandle","tags":[],"Class":"Tool"},{"ValueType":"string","type":"Property","Name":"ToolTip","tags":[],"Class":"Tool"},{"ReturnType":"void","Arguments":[],"Name":"Activate","tags":[],"Class":"Tool","type":"Function"},{"Arguments":[],"Name":"Activated","tags":[],"Class":"Tool","type":"Event"},{"Arguments":[],"Name":"Deactivated","tags":[],"Class":"Tool","type":"Event"},{"Arguments":[{"Name":"mouse","Type":"Instance"}],"Name":"Equipped","tags":[],"Class":"Tool","type":"Event"},{"Arguments":[],"Name":"Unequipped","tags":[],"Class":"Tool","type":"Event"},{"Superclass":"Tool","type":"Class","Name":"Flag","tags":["deprecated"]},{"ValueType":"BrickColor","type":"Property","Name":"TeamColor","tags":[],"Class":"Flag"},{"Superclass":"GuiItem","type":"Class","Name":"ButtonBindingWidget","tags":[]},{"Superclass":"GuiItem","type":"Class","Name":"GuiRoot","tags":["notCreatable"]},{"Superclass":"GuiItem","type":"Class","Name":"Hopper","tags":["deprecated"]},{"Superclass":"GuiItem","type":"Class","Name":"StarterPack","tags":[]},{"Superclass":"Instance","type":"Class","Name":"GuiService","tags":["notCreatable"]},{"ValueType":"bool","type":"Property","Name":"AutoSelectGuiEnabled","tags":[],"Class":"GuiService"},{"ValueType":"bool","type":"Property","Name":"CoreGuiNavigationEnabled","tags":[],"Class":"GuiService"},{"ValueType":"bool","type":"Property","Name":"GuiNavigationEnabled","tags":[],"Class":"GuiService"},{"ValueType":"bool","type":"Property","Name":"IsModalDialog","tags":["deprecated","readonly"],"Class":"GuiService"},{"ValueType":"bool","type":"Property","Name":"IsWindows","tags":["deprecated","readonly"],"Class":"GuiService"},{"ValueType":"bool","type":"Property","Name":"MenuIsOpen","tags":["readonly"],"Class":"GuiService"},{"ValueType":"bool","type":"Property","Name":"ScreenGuiEnabled","tags":["RobloxScriptSecurity"],"Class":"GuiService"},{"ValueType":"Object","type":"Property","Name":"SelectedCoreObject","tags":["RobloxScriptSecurity"],"Class":"GuiService"},{"ValueType":"Object","type":"Property","Name":"SelectedObject","tags":[],"Class":"GuiService"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"dialog","Default":null},{"Type":"CenterDialogType","Name":"centerDialogType","Default":null},{"Type":"Function","Name":"showFunction","Default":null},{"Type":"Function","Name":"hideFunction","Default":null}],"Name":"AddCenterDialog","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"AddKey","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"selectionName","Default":null},{"Type":"Instance","Name":"selectionParent","Default":null}],"Name":"AddSelectionParent","tags":[],"Class":"GuiService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"selectionName","Default":null},{"Type":"Tuple","Name":"selections","Default":null}],"Name":"AddSelectionTuple","tags":[],"Class":"GuiService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"SpecialKey","Name":"key","Default":null}],"Name":"AddSpecialKey","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Function"},{"ReturnType":"int","Arguments":[],"Name":"GetBrickCount","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"Vector3","Name":"position","Default":null}],"Name":"GetClosestDialogToPosition","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Function"},{"ReturnType":"string","Arguments":[],"Name":"GetErrorMessage","tags":["RobloxScriptSecurity","deprecated"],"Class":"GuiService","type":"Function"},{"ReturnType":"string","Arguments":[],"Name":"GetUiMessage","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"IsTenFootInterface","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"OpenBrowserWindow","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"dialog","Default":null}],"Name":"RemoveCenterDialog","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"RemoveKey","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"selectionName","Default":null}],"Name":"RemoveSelectionGroup","tags":[],"Class":"GuiService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"SpecialKey","Name":"key","Default":null}],"Name":"RemoveSpecialKey","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"errorMessage","Default":null}],"Name":"SetErrorMessage","tags":["LocalUserSecurity","deprecated"],"Class":"GuiService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"x1","Default":null},{"Type":"int","Name":"y1","Default":null},{"Type":"int","Name":"x2","Default":null},{"Type":"int","Name":"y2","Default":null}],"Name":"SetGlobalGuiInset","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"open","Default":null}],"Name":"SetMenuIsOpen","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"UiMessageType","Name":"msgType","Default":null},{"Type":"string","Name":"uiMessage","Default":null}],"Name":"SetUiMessage","tags":["LocalUserSecurity"],"Class":"GuiService","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"string","Name":"input","Default":null}],"Name":"ShowStatsBasedOnInputString","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"ToggleFullscreen","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Function"},{"ReturnType":"Vector2","Arguments":[],"Name":"GetScreenResolution","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"YieldFunction"},{"Arguments":[],"Name":"BrowserWindowClosed","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Event"},{"Arguments":[{"Name":"newErrorMessage","Type":"string"}],"Name":"ErrorMessageChanged","tags":["RobloxScriptSecurity","deprecated"],"Class":"GuiService","type":"Event"},{"Arguments":[],"Name":"EscapeKeyPressed","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Event"},{"Arguments":[{"Name":"key","Type":"string"},{"Name":"modifiers","Type":"string"}],"Name":"KeyPressed","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Event"},{"Arguments":[],"Name":"MenuClosed","tags":[],"Class":"GuiService","type":"Event"},{"Arguments":[],"Name":"MenuOpened","tags":[],"Class":"GuiService","type":"Event"},{"Arguments":[],"Name":"ShowLeaveConfirmation","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Event"},{"Arguments":[{"Name":"key","Type":"SpecialKey"},{"Name":"modifiers","Type":"string"}],"Name":"SpecialKeyPressed","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Event"},{"Arguments":[{"Name":"msgType","Type":"UiMessageType"},{"Name":"newUiMessage","Type":"string"}],"Name":"UiMessageChanged","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Event"},{"ReturnType":"void","Arguments":[{"Name":"title","Type":"string"},{"Name":"text","Type":"string"}],"Name":"SendCoreUiNotification","tags":["RobloxScriptSecurity"],"Class":"GuiService","type":"Callback"},{"Superclass":"Instance","type":"Class","Name":"GuidRegistryService","tags":[]},{"Superclass":"Instance","type":"Class","Name":"HapticService","tags":["notCreatable"]},{"ReturnType":"Tuple","Arguments":[{"Type":"UserInputType","Name":"inputType","Default":null},{"Type":"VibrationMotor","Name":"vibrationMotor","Default":null}],"Name":"GetMotor","tags":[],"Class":"HapticService","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"UserInputType","Name":"inputType","Default":null},{"Type":"VibrationMotor","Name":"vibrationMotor","Default":null}],"Name":"IsMotorSupported","tags":[],"Class":"HapticService","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"UserInputType","Name":"inputType","Default":null}],"Name":"IsVibrationSupported","tags":[],"Class":"HapticService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"UserInputType","Name":"inputType","Default":null},{"Type":"VibrationMotor","Name":"vibrationMotor","Default":null},{"Type":"Tuple","Name":"vibrationValues","Default":null}],"Name":"SetMotor","tags":[],"Class":"HapticService","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"HttpRbxApiService","tags":["notCreatable"]},{"ReturnType":"string","Arguments":[{"Type":"string","Name":"apiUrlPath","Default":null},{"Type":"bool","Name":"useHttps","Default":"true"},{"Type":"ThrottlingPriority","Name":"priority","Default":"Default"}],"Name":"GetAsync","tags":["RobloxScriptSecurity"],"Class":"HttpRbxApiService","type":"YieldFunction"},{"ReturnType":"string","Arguments":[{"Type":"string","Name":"apiUrlPath","Default":null},{"Type":"string","Name":"data","Default":null},{"Type":"bool","Name":"useHttps","Default":"true"},{"Type":"ThrottlingPriority","Name":"priority","Default":"Default"},{"Type":"HttpContentType","Name":"content_type","Default":"ApplicationJson"}],"Name":"PostAsync","tags":["RobloxScriptSecurity"],"Class":"HttpRbxApiService","type":"YieldFunction"},{"Superclass":"Instance","type":"Class","Name":"HttpService","tags":["notCreatable"]},{"ValueType":"bool","type":"Property","Name":"HttpEnabled","tags":["LocalUserSecurity"],"Class":"HttpService"},{"ReturnType":"string","Arguments":[{"Type":"bool","Name":"wrapInCurlyBraces","Default":"true"}],"Name":"GenerateGUID","tags":[],"Class":"HttpService","type":"Function"},{"ReturnType":"Variant","Arguments":[{"Type":"string","Name":"input","Default":null}],"Name":"JSONDecode","tags":[],"Class":"HttpService","type":"Function"},{"ReturnType":"string","Arguments":[{"Type":"Variant","Name":"input","Default":null}],"Name":"JSONEncode","tags":[],"Class":"HttpService","type":"Function"},{"ReturnType":"string","Arguments":[{"Type":"string","Name":"input","Default":null}],"Name":"UrlEncode","tags":[],"Class":"HttpService","type":"Function"},{"ReturnType":"string","Arguments":[{"Type":"string","Name":"url","Default":null},{"Type":"bool","Name":"nocache","Default":"false"}],"Name":"GetAsync","tags":[],"Class":"HttpService","type":"YieldFunction"},{"ReturnType":"string","Arguments":[{"Type":"string","Name":"url","Default":null},{"Type":"string","Name":"data","Default":null},{"Type":"HttpContentType","Name":"content_type","Default":"ApplicationJson"},{"Type":"bool","Name":"compress","Default":"false"}],"Name":"PostAsync","tags":[],"Class":"HttpService","type":"YieldFunction"},{"Superclass":"Instance","type":"Class","Name":"Humanoid","tags":[]},{"ValueType":"bool","type":"Property","Name":"AutoJumpEnabled","tags":[],"Class":"Humanoid"},{"ValueType":"bool","type":"Property","Name":"AutoRotate","tags":[],"Class":"Humanoid"},{"ValueType":"Vector3","type":"Property","Name":"CameraOffset","tags":[],"Class":"Humanoid"},{"ValueType":"HumanoidDisplayDistanceType","type":"Property","Name":"DisplayDistanceType","tags":[],"Class":"Humanoid"},{"ValueType":"float","type":"Property","Name":"Health","tags":[],"Class":"Humanoid"},{"ValueType":"float","type":"Property","Name":"HealthDisplayDistance","tags":[],"Class":"Humanoid"},{"ValueType":"float","type":"Property","Name":"HipHeight","tags":[],"Class":"Humanoid"},{"ValueType":"bool","type":"Property","Name":"Jump","tags":[],"Class":"Humanoid"},{"ValueType":"float","type":"Property","Name":"JumpPower","tags":[],"Class":"Humanoid"},{"ValueType":"Object","type":"Property","Name":"LeftLeg","tags":[],"Class":"Humanoid"},{"ValueType":"float","type":"Property","Name":"MaxHealth","tags":[],"Class":"Humanoid"},{"ValueType":"float","type":"Property","Name":"MaxSlopeAngle","tags":[],"Class":"Humanoid"},{"ValueType":"Vector3","type":"Property","Name":"MoveDirection","tags":["readonly"],"Class":"Humanoid"},{"ValueType":"float","type":"Property","Name":"NameDisplayDistance","tags":[],"Class":"Humanoid"},{"ValueType":"NameOcclusion","type":"Property","Name":"NameOcclusion","tags":[],"Class":"Humanoid"},{"ValueType":"bool","type":"Property","Name":"PlatformStand","tags":[],"Class":"Humanoid"},{"ValueType":"HumanoidRigType","type":"Property","Name":"RigType","tags":[],"Class":"Humanoid"},{"ValueType":"Object","type":"Property","Name":"RightLeg","tags":[],"Class":"Humanoid"},{"ValueType":"Object","type":"Property","Name":"SeatPart","tags":["readonly"],"Class":"Humanoid"},{"ValueType":"bool","type":"Property","Name":"Sit","tags":[],"Class":"Humanoid"},{"ValueType":"Vector3","type":"Property","Name":"TargetPoint","tags":[],"Class":"Humanoid"},{"ValueType":"Object","type":"Property","Name":"Torso","tags":[],"Class":"Humanoid"},{"ValueType":"float","type":"Property","Name":"WalkSpeed","tags":[],"Class":"Humanoid"},{"ValueType":"Object","type":"Property","Name":"WalkToPart","tags":[],"Class":"Humanoid"},{"ValueType":"Vector3","type":"Property","Name":"WalkToPoint","tags":[],"Class":"Humanoid"},{"ValueType":"float","type":"Property","Name":"maxHealth","tags":["deprecated"],"Class":"Humanoid"},{"ReturnType":"bool","Arguments":[{"Type":"string","Name":"status","Default":null}],"Name":"AddCustomStatus","tags":["deprecated"],"Class":"Humanoid","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"Status","Name":"status","Default":"Poison"}],"Name":"AddStatus","tags":["deprecated"],"Class":"Humanoid","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"HumanoidStateType","Name":"state","Default":"None"}],"Name":"ChangeState","tags":[],"Class":"Humanoid","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"tool","Default":null}],"Name":"EquipTool","tags":[],"Class":"Humanoid","type":"Function"},{"ReturnType":"Array","Arguments":[],"Name":"GetPlayingAnimationTracks","tags":[],"Class":"Humanoid","type":"Function"},{"ReturnType":"HumanoidStateType","Arguments":[],"Name":"GetState","tags":[],"Class":"Humanoid","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"HumanoidStateType","Name":"state","Default":null}],"Name":"GetStateEnabled","tags":[],"Class":"Humanoid","type":"Function"},{"ReturnType":"Array","Arguments":[],"Name":"GetStatuses","tags":["deprecated"],"Class":"Humanoid","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"string","Name":"status","Default":null}],"Name":"HasCustomStatus","tags":["deprecated"],"Class":"Humanoid","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"Status","Name":"status","Default":"Poison"}],"Name":"HasStatus","tags":["deprecated"],"Class":"Humanoid","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"Instance","Name":"animation","Default":null}],"Name":"LoadAnimation","tags":[],"Class":"Humanoid","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Vector3","Name":"moveDirection","Default":null},{"Type":"bool","Name":"relativeToCamera","Default":"false"}],"Name":"Move","tags":[],"Class":"Humanoid","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Vector3","Name":"location","Default":null},{"Type":"Instance","Name":"part","Default":"nil"}],"Name":"MoveTo","tags":[],"Class":"Humanoid","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"string","Name":"status","Default":null}],"Name":"RemoveCustomStatus","tags":["deprecated"],"Class":"Humanoid","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"Status","Name":"status","Default":"Poison"}],"Name":"RemoveStatus","tags":["deprecated"],"Class":"Humanoid","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"enabled","Default":null}],"Name":"SetClickToWalkEnabled","tags":["RobloxScriptSecurity"],"Class":"Humanoid","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"HumanoidStateType","Name":"state","Default":null},{"Type":"bool","Name":"enabled","Default":null}],"Name":"SetStateEnabled","tags":[],"Class":"Humanoid","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"float","Name":"amount","Default":null}],"Name":"TakeDamage","tags":[],"Class":"Humanoid","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"UnequipTools","tags":[],"Class":"Humanoid","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"Instance","Name":"animation","Default":null}],"Name":"loadAnimation","tags":["deprecated"],"Class":"Humanoid","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"float","Name":"amount","Default":null}],"Name":"takeDamage","tags":["deprecated"],"Class":"Humanoid","type":"Function"},{"Arguments":[{"Name":"animationTrack","Type":"Instance"}],"Name":"AnimationPlayed","tags":[],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"speed","Type":"float"}],"Name":"Climbing","tags":[],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"status","Type":"string"}],"Name":"CustomStatusAdded","tags":["deprecated"],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"status","Type":"string"}],"Name":"CustomStatusRemoved","tags":["deprecated"],"Class":"Humanoid","type":"Event"},{"Arguments":[],"Name":"Died","tags":[],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"active","Type":"bool"}],"Name":"FallingDown","tags":[],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"active","Type":"bool"}],"Name":"FreeFalling","tags":[],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"active","Type":"bool"}],"Name":"GettingUp","tags":[],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"health","Type":"float"}],"Name":"HealthChanged","tags":[],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"active","Type":"bool"}],"Name":"Jumping","tags":[],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"reached","Type":"bool"}],"Name":"MoveToFinished","tags":[],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"active","Type":"bool"}],"Name":"PlatformStanding","tags":[],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"active","Type":"bool"}],"Name":"Ragdoll","tags":[],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"speed","Type":"float"}],"Name":"Running","tags":[],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"active","Type":"bool"},{"Name":"currentSeatPart","Type":"Instance"}],"Name":"Seated","tags":[],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"old","Type":"HumanoidStateType"},{"Name":"new","Type":"HumanoidStateType"}],"Name":"StateChanged","tags":[],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"state","Type":"HumanoidStateType"},{"Name":"isEnabled","Type":"bool"}],"Name":"StateEnabledChanged","tags":[],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"status","Type":"Status"}],"Name":"StatusAdded","tags":["deprecated"],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"status","Type":"Status"}],"Name":"StatusRemoved","tags":["deprecated"],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"active","Type":"bool"}],"Name":"Strafing","tags":[],"Class":"Humanoid","type":"Event"},{"Arguments":[{"Name":"speed","Type":"float"}],"Name":"Swimming","tags":[],"Class":"Humanoid","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"InputObject","tags":["notCreatable"]},{"ValueType":"Vector3","type":"Property","Name":"Delta","tags":[],"Class":"InputObject"},{"ValueType":"KeyCode","type":"Property","Name":"KeyCode","tags":[],"Class":"InputObject"},{"ValueType":"Vector3","type":"Property","Name":"Position","tags":[],"Class":"InputObject"},{"ValueType":"UserInputState","type":"Property","Name":"UserInputState","tags":[],"Class":"InputObject"},{"ValueType":"UserInputType","type":"Property","Name":"UserInputType","tags":[],"Class":"InputObject"},{"Superclass":"Instance","type":"Class","Name":"InsertService","tags":["notCreatable"]},{"ValueType":"bool","type":"Property","Name":"AllowInsertFreeModels","tags":[],"Class":"InsertService"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"assetId","Default":null}],"Name":"ApproveAssetId","tags":["deprecated"],"Class":"InsertService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"assetVersionId","Default":null}],"Name":"ApproveAssetVersionId","tags":["deprecated"],"Class":"InsertService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"instance","Default":null}],"Name":"Insert","tags":["deprecated"],"Class":"InsertService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"enable","Default":null},{"Type":"bool","Name":"user","Default":"false"}],"Name":"SetAdvancedResults","tags":["LocalUserSecurity"],"Class":"InsertService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"assetUrl","Default":null}],"Name":"SetAssetUrl","tags":["LocalUserSecurity"],"Class":"InsertService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"assetVersionUrl","Default":null}],"Name":"SetAssetVersionUrl","tags":["LocalUserSecurity"],"Class":"InsertService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"baseSetsUrl","Default":null}],"Name":"SetBaseCategoryUrl","tags":["LocalUserSecurity"],"Class":"InsertService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"baseSetsUrl","Default":null}],"Name":"SetBaseSetsUrl","tags":["LocalUserSecurity"],"Class":"InsertService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"collectionUrl","Default":null}],"Name":"SetCollectionUrl","tags":["LocalUserSecurity"],"Class":"InsertService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"freeDecalUrl","Default":null}],"Name":"SetFreeDecalUrl","tags":["LocalUserSecurity"],"Class":"InsertService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"freeModelUrl","Default":null}],"Name":"SetFreeModelUrl","tags":["LocalUserSecurity"],"Class":"InsertService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"float","Name":"trustLevel","Default":null}],"Name":"SetTrustLevel","tags":["LocalUserSecurity"],"Class":"InsertService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"userSetsUrl","Default":null}],"Name":"SetUserCategoryUrl","tags":["LocalUserSecurity"],"Class":"InsertService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"userSetsUrl","Default":null}],"Name":"SetUserSetsUrl","tags":["LocalUserSecurity"],"Class":"InsertService","type":"Function"},{"ReturnType":"Array","Arguments":[],"Name":"GetBaseCategories","tags":["deprecated"],"Class":"InsertService","type":"YieldFunction"},{"ReturnType":"Array","Arguments":[],"Name":"GetBaseSets","tags":[],"Class":"InsertService","type":"YieldFunction"},{"ReturnType":"Array","Arguments":[{"Type":"int","Name":"categoryId","Default":null}],"Name":"GetCollection","tags":[],"Class":"InsertService","type":"YieldFunction"},{"ReturnType":"Array","Arguments":[{"Type":"string","Name":"searchText","Default":null},{"Type":"int","Name":"pageNum","Default":null}],"Name":"GetFreeDecals","tags":[],"Class":"InsertService","type":"YieldFunction"},{"ReturnType":"Array","Arguments":[{"Type":"string","Name":"searchText","Default":null},{"Type":"int","Name":"pageNum","Default":null}],"Name":"GetFreeModels","tags":[],"Class":"InsertService","type":"YieldFunction"},{"ReturnType":"int","Arguments":[{"Type":"int","Name":"assetId","Default":null}],"Name":"GetLatestAssetVersionAsync","tags":[],"Class":"InsertService","type":"YieldFunction"},{"ReturnType":"Array","Arguments":[{"Type":"int","Name":"userId","Default":null}],"Name":"GetUserCategories","tags":["deprecated"],"Class":"InsertService","type":"YieldFunction"},{"ReturnType":"Array","Arguments":[{"Type":"int","Name":"userId","Default":null}],"Name":"GetUserSets","tags":[],"Class":"InsertService","type":"YieldFunction"},{"ReturnType":"Instance","Arguments":[{"Type":"int","Name":"assetId","Default":null}],"Name":"LoadAsset","tags":[],"Class":"InsertService","type":"YieldFunction"},{"ReturnType":"Instance","Arguments":[{"Type":"int","Name":"assetVersionId","Default":null}],"Name":"LoadAssetVersion","tags":[],"Class":"InsertService","type":"YieldFunction"},{"ReturnType":"Instance","Arguments":[{"Type":"int","Name":"assetId","Default":null}],"Name":"loadAsset","tags":["deprecated"],"Class":"InsertService","type":"YieldFunction"},{"Superclass":"Instance","type":"Class","Name":"InstancePacketCache","tags":[]},{"Superclass":"Instance","type":"Class","Name":"IntConstrainedValue","tags":[]},{"ValueType":"int","type":"Property","Name":"ConstrainedValue","tags":["hidden"],"Class":"IntConstrainedValue"},{"ValueType":"int","type":"Property","Name":"MaxValue","tags":[],"Class":"IntConstrainedValue"},{"ValueType":"int","type":"Property","Name":"MinValue","tags":[],"Class":"IntConstrainedValue"},{"ValueType":"int","type":"Property","Name":"Value","tags":[],"Class":"IntConstrainedValue"},{"Arguments":[{"Name":"value","Type":"int"}],"Name":"Changed","tags":[],"Class":"IntConstrainedValue","type":"Event"},{"Arguments":[{"Name":"value","Type":"int"}],"Name":"changed","tags":["deprecated"],"Class":"IntConstrainedValue","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"IntValue","tags":[]},{"ValueType":"int","type":"Property","Name":"Value","tags":[],"Class":"IntValue"},{"Arguments":[{"Name":"value","Type":"int"}],"Name":"Changed","tags":[],"Class":"IntValue","type":"Event"},{"Arguments":[{"Name":"value","Type":"int"}],"Name":"changed","tags":["deprecated"],"Class":"IntValue","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"JointInstance","tags":[]},{"ValueType":"CoordinateFrame","type":"Property","Name":"C0","tags":[],"Class":"JointInstance"},{"ValueType":"CoordinateFrame","type":"Property","Name":"C1","tags":[],"Class":"JointInstance"},{"ValueType":"Object","type":"Property","Name":"Part0","tags":[],"Class":"JointInstance"},{"ValueType":"Object","type":"Property","Name":"Part1","tags":[],"Class":"JointInstance"},{"ValueType":"Object","type":"Property","Name":"part1","tags":["deprecated","hidden"],"Class":"JointInstance"},{"Superclass":"JointInstance","type":"Class","Name":"DynamicRotate","tags":[]},{"ValueType":"float","type":"Property","Name":"BaseAngle","tags":[],"Class":"DynamicRotate"},{"Superclass":"DynamicRotate","type":"Class","Name":"RotateP","tags":[]},{"Superclass":"DynamicRotate","type":"Class","Name":"RotateV","tags":[]},{"Superclass":"JointInstance","type":"Class","Name":"Glue","tags":[]},{"ValueType":"Vector3","type":"Property","Name":"F0","tags":[],"Class":"Glue"},{"ValueType":"Vector3","type":"Property","Name":"F1","tags":[],"Class":"Glue"},{"ValueType":"Vector3","type":"Property","Name":"F2","tags":[],"Class":"Glue"},{"ValueType":"Vector3","type":"Property","Name":"F3","tags":[],"Class":"Glue"},{"Superclass":"JointInstance","type":"Class","Name":"ManualSurfaceJointInstance","tags":[]},{"Superclass":"ManualSurfaceJointInstance","type":"Class","Name":"ManualGlue","tags":[]},{"Superclass":"ManualSurfaceJointInstance","type":"Class","Name":"ManualWeld","tags":[]},{"Superclass":"JointInstance","type":"Class","Name":"Motor","tags":[]},{"ValueType":"float","type":"Property","Name":"CurrentAngle","tags":[],"Class":"Motor"},{"ValueType":"float","type":"Property","Name":"DesiredAngle","tags":[],"Class":"Motor"},{"ValueType":"float","type":"Property","Name":"MaxVelocity","tags":[],"Class":"Motor"},{"ReturnType":"void","Arguments":[{"Type":"float","Name":"value","Default":null}],"Name":"SetDesiredAngle","tags":[],"Class":"Motor","type":"Function"},{"Superclass":"Motor","type":"Class","Name":"Motor6D","tags":[]},{"Superclass":"JointInstance","type":"Class","Name":"Rotate","tags":[]},{"Superclass":"JointInstance","type":"Class","Name":"Snap","tags":[]},{"Superclass":"JointInstance","type":"Class","Name":"VelocityMotor","tags":[]},{"ValueType":"float","type":"Property","Name":"CurrentAngle","tags":[],"Class":"VelocityMotor"},{"ValueType":"float","type":"Property","Name":"DesiredAngle","tags":[],"Class":"VelocityMotor"},{"ValueType":"Object","type":"Property","Name":"Hole","tags":[],"Class":"VelocityMotor"},{"ValueType":"float","type":"Property","Name":"MaxVelocity","tags":[],"Class":"VelocityMotor"},{"Superclass":"JointInstance","type":"Class","Name":"Weld","tags":[]},{"Superclass":"Instance","type":"Class","Name":"JointsService","tags":["notCreatable"]},{"ReturnType":"void","Arguments":[],"Name":"ClearJoinAfterMoveJoints","tags":[],"Class":"JointsService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"CreateJoinAfterMoveJoints","tags":[],"Class":"JointsService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"joinInstance","Default":null}],"Name":"SetJoinAfterMoveInstance","tags":[],"Class":"JointsService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"joinTarget","Default":null}],"Name":"SetJoinAfterMoveTarget","tags":[],"Class":"JointsService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"ShowPermissibleJoints","tags":[],"Class":"JointsService","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"Keyframe","tags":[]},{"ValueType":"float","type":"Property","Name":"Time","tags":[],"Class":"Keyframe"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"pose","Default":null}],"Name":"AddPose","tags":[],"Class":"Keyframe","type":"Function"},{"ReturnType":"Objects","Arguments":[],"Name":"GetPoses","tags":[],"Class":"Keyframe","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"pose","Default":null}],"Name":"RemovePose","tags":[],"Class":"Keyframe","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"KeyframeSequence","tags":[]},{"ValueType":"bool","type":"Property","Name":"Loop","tags":[],"Class":"KeyframeSequence"},{"ValueType":"AnimationPriority","type":"Property","Name":"Priority","tags":[],"Class":"KeyframeSequence"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"keyframe","Default":null}],"Name":"AddKeyframe","tags":[],"Class":"KeyframeSequence","type":"Function"},{"ReturnType":"Objects","Arguments":[],"Name":"GetKeyframes","tags":[],"Class":"KeyframeSequence","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"keyframe","Default":null}],"Name":"RemoveKeyframe","tags":[],"Class":"KeyframeSequence","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"KeyframeSequenceProvider","tags":[]},{"ReturnType":"Instance","Arguments":[{"Type":"Content","Name":"assetId","Default":null}],"Name":"GetKeyframeSequence","tags":[],"Class":"KeyframeSequenceProvider","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"int","Name":"assetId","Default":null},{"Type":"bool","Name":"useCache","Default":null}],"Name":"GetKeyframeSequenceById","tags":[],"Class":"KeyframeSequenceProvider","type":"Function"},{"ReturnType":"Content","Arguments":[{"Type":"Instance","Name":"keyframeSequence","Default":null}],"Name":"RegisterActiveKeyframeSequence","tags":[],"Class":"KeyframeSequenceProvider","type":"Function"},{"ReturnType":"Content","Arguments":[{"Type":"Instance","Name":"keyframeSequence","Default":null}],"Name":"RegisterKeyframeSequence","tags":[],"Class":"KeyframeSequenceProvider","type":"Function"},{"ReturnType":"Dictionary","Arguments":[{"Type":"int","Name":"userId","Default":null},{"Type":"int","Name":"page","Default":"1"}],"Name":"GetAnimations","tags":[],"Class":"KeyframeSequenceProvider","type":"YieldFunction"},{"Superclass":"Instance","type":"Class","Name":"Light","tags":[]},{"ValueType":"float","type":"Property","Name":"Brightness","tags":[],"Class":"Light"},{"ValueType":"Color3","type":"Property","Name":"Color","tags":[],"Class":"Light"},{"ValueType":"bool","type":"Property","Name":"Enabled","tags":[],"Class":"Light"},{"ValueType":"bool","type":"Property","Name":"Shadows","tags":[],"Class":"Light"},{"Superclass":"Light","type":"Class","Name":"PointLight","tags":[]},{"ValueType":"float","type":"Property","Name":"Range","tags":[],"Class":"PointLight"},{"Superclass":"Light","type":"Class","Name":"SpotLight","tags":[]},{"ValueType":"float","type":"Property","Name":"Angle","tags":[],"Class":"SpotLight"},{"ValueType":"NormalId","type":"Property","Name":"Face","tags":[],"Class":"SpotLight"},{"ValueType":"float","type":"Property","Name":"Range","tags":[],"Class":"SpotLight"},{"Superclass":"Light","type":"Class","Name":"SurfaceLight","tags":[]},{"ValueType":"float","type":"Property","Name":"Angle","tags":[],"Class":"SurfaceLight"},{"ValueType":"NormalId","type":"Property","Name":"Face","tags":[],"Class":"SurfaceLight"},{"ValueType":"float","type":"Property","Name":"Range","tags":[],"Class":"SurfaceLight"},{"Superclass":"Instance","type":"Class","Name":"Lighting","tags":["notCreatable"]},{"ValueType":"Color3","type":"Property","Name":"Ambient","tags":[],"Class":"Lighting"},{"ValueType":"float","type":"Property","Name":"Brightness","tags":[],"Class":"Lighting"},{"ValueType":"Color3","type":"Property","Name":"ColorShift_Bottom","tags":[],"Class":"Lighting"},{"ValueType":"Color3","type":"Property","Name":"ColorShift_Top","tags":[],"Class":"Lighting"},{"ValueType":"Color3","type":"Property","Name":"FogColor","tags":[],"Class":"Lighting"},{"ValueType":"float","type":"Property","Name":"FogEnd","tags":[],"Class":"Lighting"},{"ValueType":"float","type":"Property","Name":"FogStart","tags":[],"Class":"Lighting"},{"ValueType":"float","type":"Property","Name":"GeographicLatitude","tags":[],"Class":"Lighting"},{"ValueType":"bool","type":"Property","Name":"GlobalShadows","tags":[],"Class":"Lighting"},{"ValueType":"Color3","type":"Property","Name":"OutdoorAmbient","tags":[],"Class":"Lighting"},{"ValueType":"bool","type":"Property","Name":"Outlines","tags":[],"Class":"Lighting"},{"ValueType":"Color3","type":"Property","Name":"ShadowColor","tags":[],"Class":"Lighting"},{"ValueType":"string","type":"Property","Name":"TimeOfDay","tags":[],"Class":"Lighting"},{"ReturnType":"double","Arguments":[],"Name":"GetMinutesAfterMidnight","tags":[],"Class":"Lighting","type":"Function"},{"ReturnType":"Vector3","Arguments":[],"Name":"GetMoonDirection","tags":[],"Class":"Lighting","type":"Function"},{"ReturnType":"float","Arguments":[],"Name":"GetMoonPhase","tags":[],"Class":"Lighting","type":"Function"},{"ReturnType":"Vector3","Arguments":[],"Name":"GetSunDirection","tags":[],"Class":"Lighting","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"double","Name":"minutes","Default":null}],"Name":"SetMinutesAfterMidnight","tags":[],"Class":"Lighting","type":"Function"},{"ReturnType":"double","Arguments":[],"Name":"getMinutesAfterMidnight","tags":["deprecated"],"Class":"Lighting","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"double","Name":"minutes","Default":null}],"Name":"setMinutesAfterMidnight","tags":["deprecated"],"Class":"Lighting","type":"Function"},{"Arguments":[{"Name":"skyboxChanged","Type":"bool"}],"Name":"LightingChanged","tags":[],"Class":"Lighting","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"LocalWorkspace","tags":["notCreatable"]},{"Superclass":"Instance","type":"Class","Name":"LogService","tags":["notCreatable"]},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"source","Default":null}],"Name":"ExecuteScript","tags":["RobloxScriptSecurity"],"Class":"LogService","type":"Function"},{"ReturnType":"Array","Arguments":[],"Name":"GetLogHistory","tags":[],"Class":"LogService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"RequestServerOutput","tags":["RobloxScriptSecurity"],"Class":"LogService","type":"Function"},{"Arguments":[{"Name":"message","Type":"string"},{"Name":"messageType","Type":"MessageType"}],"Name":"MessageOut","tags":[],"Class":"LogService","type":"Event"},{"Arguments":[{"Name":"message","Type":"string"},{"Name":"messageType","Type":"MessageType"},{"Name":"timestamp","Type":"int"}],"Name":"ServerMessageOut","tags":["RobloxScriptSecurity"],"Class":"LogService","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"LoginService","tags":[]},{"ReturnType":"void","Arguments":[],"Name":"Logout","tags":["RobloxSecurity"],"Class":"LoginService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"PromptLogin","tags":["RobloxSecurity"],"Class":"LoginService","type":"Function"},{"Arguments":[{"Name":"loginError","Type":"string"}],"Name":"LoginFailed","tags":["RobloxSecurity"],"Class":"LoginService","type":"Event"},{"Arguments":[{"Name":"username","Type":"string"}],"Name":"LoginSucceeded","tags":["RobloxSecurity"],"Class":"LoginService","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"LuaSettings","tags":[]},{"ValueType":"bool","type":"Property","Name":"AreScriptStartsReported","tags":[],"Class":"LuaSettings"},{"ValueType":"double","type":"Property","Name":"DefaultWaitTime","tags":[],"Class":"LuaSettings"},{"ValueType":"int","type":"Property","Name":"GcFrequency","tags":[],"Class":"LuaSettings"},{"ValueType":"int","type":"Property","Name":"GcLimit","tags":[],"Class":"LuaSettings"},{"ValueType":"int","type":"Property","Name":"GcPause","tags":[],"Class":"LuaSettings"},{"ValueType":"int","type":"Property","Name":"GcStepMul","tags":[],"Class":"LuaSettings"},{"ValueType":"float","type":"Property","Name":"WaitingThreadsBudget","tags":[],"Class":"LuaSettings"},{"Superclass":"Instance","type":"Class","Name":"LuaSourceContainer","tags":[]},{"Superclass":"LuaSourceContainer","type":"Class","Name":"BaseScript","tags":[]},{"ValueType":"bool","type":"Property","Name":"Disabled","tags":[],"Class":"BaseScript"},{"ValueType":"Content","type":"Property","Name":"LinkedSource","tags":[],"Class":"BaseScript"},{"Superclass":"BaseScript","type":"Class","Name":"CoreScript","tags":["notCreatable"]},{"Superclass":"BaseScript","type":"Class","Name":"Script","tags":[]},{"ValueType":"ProtectedString","type":"Property","Name":"Source","tags":["PluginSecurity"],"Class":"Script"},{"ReturnType":"string","Arguments":[],"Name":"GetHash","tags":["RobloxPlaceSecurity"],"Class":"Script","type":"Function"},{"Superclass":"Script","type":"Class","Name":"LocalScript","tags":[]},{"Superclass":"LuaSourceContainer","type":"Class","Name":"ModuleScript","tags":[]},{"ValueType":"Content","type":"Property","Name":"LinkedSource","tags":[],"Class":"ModuleScript"},{"ValueType":"ProtectedString","type":"Property","Name":"Source","tags":["PluginSecurity"],"Class":"ModuleScript"},{"Superclass":"Instance","type":"Class","Name":"LuaWebService","tags":[]},{"Superclass":"Instance","type":"Class","Name":"MarketplaceService","tags":["notCreatable"]},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"player","Default":null},{"Type":"string","Name":"productId","Default":null}],"Name":"PromptNativePurchase","tags":["RobloxScriptSecurity"],"Class":"MarketplaceService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"player","Default":null},{"Type":"int","Name":"productId","Default":null},{"Type":"bool","Name":"equipIfPurchased","Default":"true"},{"Type":"CurrencyType","Name":"currencyType","Default":"Default"}],"Name":"PromptProductPurchase","tags":[],"Class":"MarketplaceService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"player","Default":null},{"Type":"int","Name":"assetId","Default":null},{"Type":"bool","Name":"equipIfPurchased","Default":"true"},{"Type":"CurrencyType","Name":"currencyType","Default":"Default"}],"Name":"PromptPurchase","tags":[],"Class":"MarketplaceService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"player","Default":null},{"Type":"string","Name":"productId","Default":null}],"Name":"PromptThirdPartyPurchase","tags":["RobloxPlaceSecurity"],"Class":"MarketplaceService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"assetId","Default":null},{"Type":"int","Name":"robuxAmount","Default":null}],"Name":"ReportAssetSale","tags":["RobloxScriptSecurity"],"Class":"MarketplaceService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"ReportRobuxUpsellStarted","tags":["RobloxScriptSecurity"],"Class":"MarketplaceService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"ticket","Default":null},{"Type":"int","Name":"playerId","Default":null},{"Type":"int","Name":"productId","Default":null}],"Name":"SignalClientPurchaseSuccess","tags":["RobloxScriptSecurity"],"Class":"MarketplaceService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"userId","Default":null},{"Type":"int","Name":"productId","Default":null},{"Type":"bool","Name":"success","Default":null}],"Name":"SignalPromptProductPurchaseFinished","tags":["RobloxScriptSecurity"],"Class":"MarketplaceService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"player","Default":null},{"Type":"int","Name":"assetId","Default":null},{"Type":"bool","Name":"success","Default":null}],"Name":"SignalPromptPurchaseFinished","tags":["RobloxScriptSecurity"],"Class":"MarketplaceService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"value","Default":null}],"Name":"SignalServerLuaDialogClosed","tags":["RobloxScriptSecurity"],"Class":"MarketplaceService","type":"Function"},{"ReturnType":"Instance","Arguments":[],"Name":"GetDeveloperProductsAsync","tags":[],"Class":"MarketplaceService","type":"YieldFunction"},{"ReturnType":"Dictionary","Arguments":[{"Type":"int","Name":"assetId","Default":null},{"Type":"InfoType","Name":"infoType","Default":"Asset"}],"Name":"GetProductInfo","tags":[],"Class":"MarketplaceService","type":"YieldFunction"},{"ReturnType":"bool","Arguments":[{"Type":"Instance","Name":"player","Default":null},{"Type":"int","Name":"assetId","Default":null}],"Name":"PlayerOwnsAsset","tags":[],"Class":"MarketplaceService","type":"YieldFunction"},{"Arguments":[{"Name":"arguments","Type":"Tuple"}],"Name":"ClientLuaDialogRequested","tags":["RobloxScriptSecurity"],"Class":"MarketplaceService","type":"Event"},{"Arguments":[{"Name":"ticket","Type":"string"},{"Name":"playerId","Type":"int"},{"Name":"productId","Type":"int"}],"Name":"ClientPurchaseSuccess","tags":["RobloxScriptSecurity"],"Class":"MarketplaceService","type":"Event"},{"Arguments":[{"Name":"player","Type":"Instance"},{"Name":"productId","Type":"string"},{"Name":"wasPurchased","Type":"bool"}],"Name":"NativePurchaseFinished","tags":["RobloxScriptSecurity"],"Class":"MarketplaceService","type":"Event"},{"Arguments":[{"Name":"userId","Type":"int"},{"Name":"productId","Type":"int"},{"Name":"isPurchased","Type":"bool"}],"Name":"PromptProductPurchaseFinished","tags":["deprecated"],"Class":"MarketplaceService","type":"Event"},{"Arguments":[{"Name":"player","Type":"Instance"},{"Name":"productId","Type":"int"},{"Name":"equipIfPurchased","Type":"bool"},{"Name":"currencyType","Type":"CurrencyType"}],"Name":"PromptProductPurchaseRequested","tags":["RobloxScriptSecurity"],"Class":"MarketplaceService","type":"Event"},{"Arguments":[{"Name":"player","Type":"Instance"},{"Name":"assetId","Type":"int"},{"Name":"isPurchased","Type":"bool"}],"Name":"PromptPurchaseFinished","tags":[],"Class":"MarketplaceService","type":"Event"},{"Arguments":[{"Name":"player","Type":"Instance"},{"Name":"assetId","Type":"int"},{"Name":"equipIfPurchased","Type":"bool"},{"Name":"currencyType","Type":"CurrencyType"}],"Name":"PromptPurchaseRequested","tags":["RobloxScriptSecurity"],"Class":"MarketplaceService","type":"Event"},{"Arguments":[{"Name":"serverResponseTable","Type":"Dictionary"}],"Name":"ServerPurchaseVerification","tags":["RobloxScriptSecurity"],"Class":"MarketplaceService","type":"Event"},{"Arguments":[{"Name":"player","Type":"Instance"},{"Name":"productId","Type":"string"},{"Name":"receipt","Type":"string"},{"Name":"wasPurchased","Type":"bool"}],"Name":"ThirdPartyPurchaseFinished","tags":["RobloxPlaceSecurity"],"Class":"MarketplaceService","type":"Event"},{"ReturnType":"ProductPurchaseDecision","Arguments":[{"Name":"receiptInfo","Type":"Dictionary"}],"Name":"ProcessReceipt","tags":[],"Class":"MarketplaceService","type":"Callback"},{"Superclass":"Instance","type":"Class","Name":"Message","tags":["deprecated"]},{"ValueType":"string","type":"Property","Name":"Text","tags":[],"Class":"Message"},{"Superclass":"Message","type":"Class","Name":"Hint","tags":["deprecated"]},{"Superclass":"Instance","type":"Class","Name":"Mouse","tags":[]},{"ValueType":"CoordinateFrame","type":"Property","Name":"Hit","tags":["readonly"],"Class":"Mouse"},{"ValueType":"Content","type":"Property","Name":"Icon","tags":[],"Class":"Mouse"},{"ValueType":"CoordinateFrame","type":"Property","Name":"Origin","tags":["readonly"],"Class":"Mouse"},{"ValueType":"Object","type":"Property","Name":"Target","tags":["readonly"],"Class":"Mouse"},{"ValueType":"Object","type":"Property","Name":"TargetFilter","tags":[],"Class":"Mouse"},{"ValueType":"NormalId","type":"Property","Name":"TargetSurface","tags":["readonly"],"Class":"Mouse"},{"ValueType":"Ray","type":"Property","Name":"UnitRay","tags":["readonly"],"Class":"Mouse"},{"ValueType":"int","type":"Property","Name":"ViewSizeX","tags":["readonly"],"Class":"Mouse"},{"ValueType":"int","type":"Property","Name":"ViewSizeY","tags":["readonly"],"Class":"Mouse"},{"ValueType":"int","type":"Property","Name":"X","tags":["readonly"],"Class":"Mouse"},{"ValueType":"int","type":"Property","Name":"Y","tags":["readonly"],"Class":"Mouse"},{"ValueType":"CoordinateFrame","type":"Property","Name":"hit","tags":["deprecated","hidden","readonly"],"Class":"Mouse"},{"ValueType":"Object","type":"Property","Name":"target","tags":["deprecated","readonly"],"Class":"Mouse"},{"Arguments":[],"Name":"Button1Down","tags":[],"Class":"Mouse","type":"Event"},{"Arguments":[],"Name":"Button1Up","tags":[],"Class":"Mouse","type":"Event"},{"Arguments":[],"Name":"Button2Down","tags":[],"Class":"Mouse","type":"Event"},{"Arguments":[],"Name":"Button2Up","tags":[],"Class":"Mouse","type":"Event"},{"Arguments":[],"Name":"Idle","tags":[],"Class":"Mouse","type":"Event"},{"Arguments":[{"Name":"key","Type":"string"}],"Name":"KeyDown","tags":["deprecated"],"Class":"Mouse","type":"Event"},{"Arguments":[{"Name":"key","Type":"string"}],"Name":"KeyUp","tags":["deprecated"],"Class":"Mouse","type":"Event"},{"Arguments":[],"Name":"Move","tags":[],"Class":"Mouse","type":"Event"},{"Arguments":[],"Name":"WheelBackward","tags":[],"Class":"Mouse","type":"Event"},{"Arguments":[],"Name":"WheelForward","tags":[],"Class":"Mouse","type":"Event"},{"Arguments":[{"Name":"key","Type":"string"}],"Name":"keyDown","tags":["deprecated"],"Class":"Mouse","type":"Event"},{"Superclass":"Mouse","type":"Class","Name":"PlayerMouse","tags":[]},{"Superclass":"Mouse","type":"Class","Name":"PluginMouse","tags":[]},{"Arguments":[{"Name":"instances","Type":"Objects"}],"Name":"DragEnter","tags":["PluginSecurity"],"Class":"PluginMouse","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"NetworkMarker","tags":["notbrowsable"]},{"Arguments":[],"Name":"Received","tags":[],"Class":"NetworkMarker","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"NetworkPeer","tags":["notbrowsable"]},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"limit","Default":null}],"Name":"SetOutgoingKBPSLimit","tags":["PluginSecurity"],"Class":"NetworkPeer","type":"Function"},{"Superclass":"NetworkPeer","type":"Class","Name":"NetworkClient","tags":["notCreatable"]},{"ValueType":"string","type":"Property","Name":"Ticket","tags":[],"Class":"NetworkClient"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"blockDuration","Default":"3000"}],"Name":"Disconnect","tags":["LocalUserSecurity"],"Class":"NetworkClient","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"int","Name":"userId","Default":null},{"Type":"string","Name":"server","Default":null},{"Type":"int","Name":"serverPort","Default":null},{"Type":"int","Name":"clientPort","Default":"0"},{"Type":"int","Name":"threadSleepTime","Default":"30"}],"Name":"PlayerConnect","tags":["PluginSecurity"],"Class":"NetworkClient","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"gameSessionID","Default":null}],"Name":"SetGameSessionID","tags":["RobloxSecurity"],"Class":"NetworkClient","type":"Function"},{"Arguments":[{"Name":"peer","Type":"string"},{"Name":"replicator","Type":"Instance"}],"Name":"ConnectionAccepted","tags":[],"Class":"NetworkClient","type":"Event"},{"Arguments":[{"Name":"peer","Type":"string"},{"Name":"code","Type":"int"},{"Name":"reason","Type":"string"}],"Name":"ConnectionFailed","tags":[],"Class":"NetworkClient","type":"Event"},{"Arguments":[{"Name":"peer","Type":"string"}],"Name":"ConnectionRejected","tags":[],"Class":"NetworkClient","type":"Event"},{"Superclass":"NetworkPeer","type":"Class","Name":"NetworkServer","tags":["notCreatable"]},{"ValueType":"int","type":"Property","Name":"Port","tags":["readonly"],"Class":"NetworkServer"},{"ReturnType":"void","Arguments":[],"Name":"ConfigureAsCloudEditServer","tags":["RobloxSecurity"],"Class":"NetworkServer","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"ConfigureAsTeamTestServer","tags":["RobloxSecurity"],"Class":"NetworkServer","type":"Function"},{"ReturnType":"int","Arguments":[],"Name":"GetClientCount","tags":["LocalUserSecurity"],"Class":"NetworkServer","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"value","Default":null}],"Name":"SetIsPlayerAuthenticationRequired","tags":["RobloxSecurity"],"Class":"NetworkServer","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"port","Default":"0"},{"Type":"int","Name":"threadSleepTime","Default":"20"}],"Name":"Start","tags":["PluginSecurity"],"Class":"NetworkServer","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"blockDuration","Default":"1000"}],"Name":"Stop","tags":["LocalUserSecurity"],"Class":"NetworkServer","type":"Function"},{"Arguments":[{"Name":"peer","Type":"Instance"},{"Name":"result","Type":"FilterResult"},{"Name":"instance","Type":"Instance"},{"Name":"member","Type":"string"}],"Name":"DataBasicFiltered","tags":["LocalUserSecurity"],"Class":"NetworkServer","type":"Event"},{"Arguments":[{"Name":"peer","Type":"Instance"},{"Name":"result","Type":"FilterResult"},{"Name":"instance","Type":"Instance"},{"Name":"member","Type":"string"}],"Name":"DataCustomFiltered","tags":["LocalUserSecurity"],"Class":"NetworkServer","type":"Event"},{"Arguments":[{"Name":"peer","Type":"string"},{"Name":"replicator","Type":"Instance"}],"Name":"IncommingConnection","tags":["RobloxScriptSecurity"],"Class":"NetworkServer","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"NetworkReplicator","tags":["notCreatable"]},{"ValueType":"string","type":"Property","Name":"MachineAddress","tags":["LocalUserSecurity","readonly"],"Class":"NetworkReplicator"},{"ValueType":"int","type":"Property","Name":"Port","tags":["LocalUserSecurity","readonly"],"Class":"NetworkReplicator"},{"ReturnType":"void","Arguments":[],"Name":"CloseConnection","tags":["LocalUserSecurity"],"Class":"NetworkReplicator","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"DisableProcessPackets","tags":["LocalUserSecurity"],"Class":"NetworkReplicator","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"EnableProcessPackets","tags":["LocalUserSecurity"],"Class":"NetworkReplicator","type":"Function"},{"ReturnType":"Instance","Arguments":[],"Name":"GetPlayer","tags":[],"Class":"NetworkReplicator","type":"Function"},{"ReturnType":"string","Arguments":[{"Type":"int","Name":"verbosityLevel","Default":"0"}],"Name":"GetRakStatsString","tags":["PluginSecurity"],"Class":"NetworkReplicator","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"RequestCharacter","tags":["LocalUserSecurity"],"Class":"NetworkReplicator","type":"Function"},{"ReturnType":"Instance","Arguments":[],"Name":"SendMarker","tags":["LocalUserSecurity"],"Class":"NetworkReplicator","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"double","Name":"seconds","Default":null}],"Name":"SetPropSyncExpiration","tags":["LocalUserSecurity"],"Class":"NetworkReplicator","type":"Function"},{"Arguments":[{"Name":"peer","Type":"string"},{"Name":"lostConnection","Type":"bool"}],"Name":"Disconnection","tags":["LocalUserSecurity"],"Class":"NetworkReplicator","type":"Event"},{"Superclass":"NetworkReplicator","type":"Class","Name":"ClientReplicator","tags":["notCreatable"]},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"request","Default":null}],"Name":"RequestServerStats","tags":["RobloxScriptSecurity"],"Class":"ClientReplicator","type":"Function"},{"Arguments":[{"Name":"stats","Type":"Dictionary"}],"Name":"StatsReceived","tags":["RobloxScriptSecurity"],"Class":"ClientReplicator","type":"Event"},{"Superclass":"NetworkReplicator","type":"Class","Name":"ServerReplicator","tags":["notCreatable"]},{"ReturnType":"void","Arguments":[],"Name":"PreventTerrainChanges","tags":["RobloxPlaceSecurity"],"Class":"ServerReplicator","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"value","Default":null}],"Name":"SetBasicFilteringEnabled","tags":["RobloxPlaceSecurity"],"Class":"ServerReplicator","type":"Function"},{"Arguments":[{"Name":"userId","Type":"int"},{"Name":"isAuthenticated","Type":"bool"},{"Name":"protocolVersion","Type":"int"}],"Name":"TicketProcessed","tags":[],"Class":"ServerReplicator","type":"Event"},{"ReturnType":"FilterResult","Arguments":[{"Name":"deletingItem","Type":"Instance"}],"Name":"DeleteFilter","tags":["RobloxPlaceSecurity","noyield"],"Class":"ServerReplicator","type":"Callback"},{"ReturnType":"FilterResult","Arguments":[{"Name":"firingItem","Type":"Instance"},{"Name":"event","Type":"string"}],"Name":"EventFilter","tags":["RobloxPlaceSecurity","noyield"],"Class":"ServerReplicator","type":"Callback"},{"ReturnType":"FilterResult","Arguments":[{"Name":"newItem","Type":"Instance"},{"Name":"parent","Type":"Instance"}],"Name":"NewFilter","tags":["RobloxPlaceSecurity","noyield"],"Class":"ServerReplicator","type":"Callback"},{"ReturnType":"FilterResult","Arguments":[{"Name":"changingItem","Type":"Instance"},{"Name":"member","Type":"string"},{"Name":"value","Type":"Variant"}],"Name":"PropertyFilter","tags":["RobloxPlaceSecurity","noyield"],"Class":"ServerReplicator","type":"Callback"},{"Superclass":"Instance","type":"Class","Name":"NetworkSettings","tags":["notbrowsable"]},{"ValueType":"bool","type":"Property","Name":"ArePhysicsRejectionsReported","tags":[],"Class":"NetworkSettings"},{"ValueType":"int","type":"Property","Name":"CanSendPacketBufferLimit","tags":[],"Class":"NetworkSettings"},{"ValueType":"float","type":"Property","Name":"ClientPhysicsSendRate","tags":[],"Class":"NetworkSettings"},{"ValueType":"float","type":"Property","Name":"DataGCRate","tags":[],"Class":"NetworkSettings"},{"ValueType":"int","type":"Property","Name":"DataMtuAdjust","tags":[],"Class":"NetworkSettings"},{"ValueType":"PacketPriority","type":"Property","Name":"DataSendPriority","tags":["hidden"],"Class":"NetworkSettings"},{"ValueType":"float","type":"Property","Name":"DataSendRate","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"EnableHeavyCompression","tags":["hidden"],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"ExperimentalPhysicsEnabled","tags":[],"Class":"NetworkSettings"},{"ValueType":"int","type":"Property","Name":"ExtraMemoryUsed","tags":["PluginSecurity","hidden"],"Class":"NetworkSettings"},{"ValueType":"float","type":"Property","Name":"FreeMemoryMBytes","tags":["PluginSecurity","hidden","readonly"],"Class":"NetworkSettings"},{"ValueType":"float","type":"Property","Name":"FreeMemoryPoolMBytes","tags":["PluginSecurity","hidden","readonly"],"Class":"NetworkSettings"},{"ValueType":"double","type":"Property","Name":"IncommingReplicationLag","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"IsQueueErrorComputed","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"IsThrottledByCongestionControl","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"IsThrottledByOutgoingBandwidthLimit","tags":[],"Class":"NetworkSettings"},{"ValueType":"int","type":"Property","Name":"MaxDataModelSendBuffer","tags":["deprecated"],"Class":"NetworkSettings"},{"ValueType":"float","type":"Property","Name":"NetworkOwnerRate","tags":[],"Class":"NetworkSettings"},{"ValueType":"int","type":"Property","Name":"PhysicsMtuAdjust","tags":[],"Class":"NetworkSettings"},{"ValueType":"PhysicsReceiveMethod","type":"Property","Name":"PhysicsReceive","tags":[],"Class":"NetworkSettings"},{"ValueType":"PhysicsSendMethod","type":"Property","Name":"PhysicsSend","tags":[],"Class":"NetworkSettings"},{"ValueType":"PacketPriority","type":"Property","Name":"PhysicsSendPriority","tags":["hidden"],"Class":"NetworkSettings"},{"ValueType":"float","type":"Property","Name":"PhysicsSendRate","tags":[],"Class":"NetworkSettings"},{"ValueType":"int","type":"Property","Name":"PreferredClientPort","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"PrintBits","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"PrintEvents","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"PrintFilters","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"PrintInstances","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"PrintPhysicsErrors","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"PrintProperties","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"PrintSplitMessage","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"PrintStreamInstanceQuota","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"PrintTouches","tags":[],"Class":"NetworkSettings"},{"ValueType":"double","type":"Property","Name":"ReceiveRate","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"RenderStreamedRegions","tags":[],"Class":"NetworkSettings"},{"ValueType":"string","type":"Property","Name":"ReportStatURL","tags":["deprecated","hidden"],"Class":"NetworkSettings"},{"ValueType":"int","type":"Property","Name":"SendPacketBufferLimit","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"ShowActiveAnimationAsset","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"ShowPartMovementWayPoint","tags":[],"Class":"NetworkSettings"},{"ValueType":"int","type":"Property","Name":"TotalNumMovementWayPoint","tags":[],"Class":"NetworkSettings"},{"ValueType":"float","type":"Property","Name":"TouchSendRate","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"TrackDataTypes","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"TrackPhysicsDetails","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"UseInstancePacketCache","tags":[],"Class":"NetworkSettings"},{"ValueType":"bool","type":"Property","Name":"UsePhysicsPacketCache","tags":[],"Class":"NetworkSettings"},{"ValueType":"int","type":"Property","Name":"WaitingForCharacterLogRate","tags":["deprecated","hidden"],"Class":"NetworkSettings"},{"Superclass":"Instance","type":"Class","Name":"NotificationService","tags":["notCreatable"]},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"userId","Default":null}],"Name":"CancelAllNotification","tags":["RobloxPlaceSecurity"],"Class":"NotificationService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"userId","Default":null},{"Type":"int","Name":"alertId","Default":null}],"Name":"CancelNotification","tags":["RobloxPlaceSecurity"],"Class":"NotificationService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"userId","Default":null},{"Type":"int","Name":"alertId","Default":null},{"Type":"string","Name":"alertMsg","Default":null},{"Type":"int","Name":"minutesToFire","Default":null}],"Name":"ScheduleNotification","tags":["RobloxPlaceSecurity"],"Class":"NotificationService","type":"Function"},{"ReturnType":"Array","Arguments":[{"Type":"int","Name":"userId","Default":null}],"Name":"GetScheduledNotifications","tags":["RobloxPlaceSecurity"],"Class":"NotificationService","type":"YieldFunction"},{"Superclass":"Instance","type":"Class","Name":"NumberValue","tags":[]},{"ValueType":"double","type":"Property","Name":"Value","tags":[],"Class":"NumberValue"},{"Arguments":[{"Name":"value","Type":"double"}],"Name":"Changed","tags":[],"Class":"NumberValue","type":"Event"},{"Arguments":[{"Name":"value","Type":"double"}],"Name":"changed","tags":["deprecated"],"Class":"NumberValue","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"ObjectValue","tags":[]},{"ValueType":"Object","type":"Property","Name":"Value","tags":[],"Class":"ObjectValue"},{"Arguments":[{"Name":"value","Type":"Instance"}],"Name":"Changed","tags":[],"Class":"ObjectValue","type":"Event"},{"Arguments":[{"Name":"value","Type":"Instance"}],"Name":"changed","tags":["deprecated"],"Class":"ObjectValue","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"OneQuarterClusterPacketCacheBase","tags":[]},{"Superclass":"Instance","type":"Class","Name":"PVInstance","tags":["notbrowsable"]},{"ValueType":"CoordinateFrame","type":"Property","Name":"CoordinateFrame","tags":["deprecated","writeonly"],"Class":"PVInstance"},{"Superclass":"PVInstance","type":"Class","Name":"BasePart","tags":["notbrowsable"]},{"ValueType":"bool","type":"Property","Name":"Anchored","tags":[],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"BackParamA","tags":[],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"BackParamB","tags":[],"Class":"BasePart"},{"ValueType":"SurfaceType","type":"Property","Name":"BackSurface","tags":[],"Class":"BasePart"},{"ValueType":"InputType","type":"Property","Name":"BackSurfaceInput","tags":[],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"BottomParamA","tags":[],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"BottomParamB","tags":[],"Class":"BasePart"},{"ValueType":"SurfaceType","type":"Property","Name":"BottomSurface","tags":[],"Class":"BasePart"},{"ValueType":"InputType","type":"Property","Name":"BottomSurfaceInput","tags":[],"Class":"BasePart"},{"ValueType":"BrickColor","type":"Property","Name":"BrickColor","tags":[],"Class":"BasePart"},{"ValueType":"CoordinateFrame","type":"Property","Name":"CFrame","tags":[],"Class":"BasePart"},{"ValueType":"bool","type":"Property","Name":"CanCollide","tags":[],"Class":"BasePart"},{"ValueType":"Color3","type":"Property","Name":"Color","tags":["deprecated"],"Class":"BasePart"},{"ValueType":"PhysicalProperties","type":"Property","Name":"CustomPhysicalProperties","tags":[],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"Elasticity","tags":[],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"Friction","tags":[],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"FrontParamA","tags":[],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"FrontParamB","tags":[],"Class":"BasePart"},{"ValueType":"SurfaceType","type":"Property","Name":"FrontSurface","tags":[],"Class":"BasePart"},{"ValueType":"InputType","type":"Property","Name":"FrontSurfaceInput","tags":[],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"LeftParamA","tags":[],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"LeftParamB","tags":[],"Class":"BasePart"},{"ValueType":"SurfaceType","type":"Property","Name":"LeftSurface","tags":[],"Class":"BasePart"},{"ValueType":"InputType","type":"Property","Name":"LeftSurfaceInput","tags":[],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"LocalTransparencyModifier","tags":["hidden"],"Class":"BasePart"},{"ValueType":"bool","type":"Property","Name":"Locked","tags":[],"Class":"BasePart"},{"ValueType":"Material","type":"Property","Name":"Material","tags":[],"Class":"BasePart"},{"ValueType":"Vector3","type":"Property","Name":"Position","tags":[],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"ReceiveAge","tags":["hidden","readonly"],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"Reflectance","tags":[],"Class":"BasePart"},{"ValueType":"int","type":"Property","Name":"ResizeIncrement","tags":["readonly"],"Class":"BasePart"},{"ValueType":"Faces","type":"Property","Name":"ResizeableFaces","tags":["readonly"],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"RightParamA","tags":[],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"RightParamB","tags":[],"Class":"BasePart"},{"ValueType":"SurfaceType","type":"Property","Name":"RightSurface","tags":[],"Class":"BasePart"},{"ValueType":"InputType","type":"Property","Name":"RightSurfaceInput","tags":[],"Class":"BasePart"},{"ValueType":"Vector3","type":"Property","Name":"RotVelocity","tags":[],"Class":"BasePart"},{"ValueType":"Vector3","type":"Property","Name":"Rotation","tags":[],"Class":"BasePart"},{"ValueType":"Vector3","type":"Property","Name":"Size","tags":[],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"SpecificGravity","tags":["readonly"],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"TopParamA","tags":[],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"TopParamB","tags":[],"Class":"BasePart"},{"ValueType":"SurfaceType","type":"Property","Name":"TopSurface","tags":[],"Class":"BasePart"},{"ValueType":"InputType","type":"Property","Name":"TopSurfaceInput","tags":[],"Class":"BasePart"},{"ValueType":"float","type":"Property","Name":"Transparency","tags":[],"Class":"BasePart"},{"ValueType":"Vector3","type":"Property","Name":"Velocity","tags":[],"Class":"BasePart"},{"ValueType":"BrickColor","type":"Property","Name":"brickColor","tags":["deprecated"],"Class":"BasePart"},{"ReturnType":"void","Arguments":[],"Name":"BreakJoints","tags":[],"Class":"BasePart","type":"Function"},{"ReturnType":"Tuple","Arguments":[],"Name":"CanSetNetworkOwnership","tags":[],"Class":"BasePart","type":"Function"},{"ReturnType":"Objects","Arguments":[{"Type":"bool","Name":"recursive","Default":"false"}],"Name":"GetConnectedParts","tags":[],"Class":"BasePart","type":"Function"},{"ReturnType":"float","Arguments":[],"Name":"GetMass","tags":[],"Class":"BasePart","type":"Function"},{"ReturnType":"Instance","Arguments":[],"Name":"GetNetworkOwner","tags":[],"Class":"BasePart","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"GetNetworkOwnershipAuto","tags":[],"Class":"BasePart","type":"Function"},{"ReturnType":"CoordinateFrame","Arguments":[],"Name":"GetRenderCFrame","tags":[],"Class":"BasePart","type":"Function"},{"ReturnType":"Instance","Arguments":[],"Name":"GetRootPart","tags":[],"Class":"BasePart","type":"Function"},{"ReturnType":"Objects","Arguments":[],"Name":"GetTouchingParts","tags":[],"Class":"BasePart","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"IsGrounded","tags":[],"Class":"BasePart","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"MakeJoints","tags":[],"Class":"BasePart","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"NormalId","Name":"normalId","Default":null},{"Type":"int","Name":"deltaAmount","Default":null}],"Name":"Resize","tags":[],"Class":"BasePart","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"playerInstance","Default":"nil"}],"Name":"SetNetworkOwner","tags":[],"Class":"BasePart","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"SetNetworkOwnershipAuto","tags":[],"Class":"BasePart","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"breakJoints","tags":["deprecated"],"Class":"BasePart","type":"Function"},{"ReturnType":"float","Arguments":[],"Name":"getMass","tags":["deprecated"],"Class":"BasePart","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"makeJoints","tags":["deprecated"],"Class":"BasePart","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"NormalId","Name":"normalId","Default":null},{"Type":"int","Name":"deltaAmount","Default":null}],"Name":"resize","tags":["deprecated"],"Class":"BasePart","type":"Function"},{"Arguments":[{"Name":"part","Type":"Instance"}],"Name":"LocalSimulationTouched","tags":["deprecated"],"Class":"BasePart","type":"Event"},{"Arguments":[],"Name":"OutfitChanged","tags":["deprecated"],"Class":"BasePart","type":"Event"},{"Arguments":[{"Name":"otherPart","Type":"Instance"}],"Name":"StoppedTouching","tags":["deprecated"],"Class":"BasePart","type":"Event"},{"Arguments":[{"Name":"otherPart","Type":"Instance"}],"Name":"TouchEnded","tags":[],"Class":"BasePart","type":"Event"},{"Arguments":[{"Name":"otherPart","Type":"Instance"}],"Name":"Touched","tags":[],"Class":"BasePart","type":"Event"},{"Arguments":[{"Name":"otherPart","Type":"Instance"}],"Name":"touched","tags":["deprecated"],"Class":"BasePart","type":"Event"},{"Superclass":"BasePart","type":"Class","Name":"CornerWedgePart","tags":[]},{"Superclass":"BasePart","type":"Class","Name":"FormFactorPart","tags":[]},{"ValueType":"FormFactor","type":"Property","Name":"FormFactor","tags":["deprecated"],"Class":"FormFactorPart"},{"ValueType":"FormFactor","type":"Property","Name":"formFactor","tags":["deprecated","hidden"],"Class":"FormFactorPart"},{"Superclass":"FormFactorPart","type":"Class","Name":"Part","tags":[]},{"ValueType":"PartType","type":"Property","Name":"Shape","tags":[],"Class":"Part"},{"Superclass":"Part","type":"Class","Name":"FlagStand","tags":["deprecated"]},{"ValueType":"BrickColor","type":"Property","Name":"TeamColor","tags":[],"Class":"FlagStand"},{"Arguments":[{"Name":"player","Type":"Instance"}],"Name":"FlagCaptured","tags":[],"Class":"FlagStand","type":"Event"},{"Superclass":"Part","type":"Class","Name":"Platform","tags":[]},{"Superclass":"Part","type":"Class","Name":"Seat","tags":[]},{"ValueType":"bool","type":"Property","Name":"Disabled","tags":[],"Class":"Seat"},{"ValueType":"Object","type":"Property","Name":"Occupant","tags":["readonly"],"Class":"Seat"},{"Superclass":"Part","type":"Class","Name":"SkateboardPlatform","tags":["deprecated"]},{"ValueType":"Object","type":"Property","Name":"Controller","tags":["readonly"],"Class":"SkateboardPlatform"},{"ValueType":"Object","type":"Property","Name":"ControllingHumanoid","tags":["readonly"],"Class":"SkateboardPlatform"},{"ValueType":"int","type":"Property","Name":"Steer","tags":[],"Class":"SkateboardPlatform"},{"ValueType":"bool","type":"Property","Name":"StickyWheels","tags":[],"Class":"SkateboardPlatform"},{"ValueType":"int","type":"Property","Name":"Throttle","tags":[],"Class":"SkateboardPlatform"},{"ReturnType":"void","Arguments":[{"Type":"Vector3","Name":"impulseWorld","Default":null}],"Name":"ApplySpecificImpulse","tags":[],"Class":"SkateboardPlatform","type":"Function"},{"Arguments":[{"Name":"humanoid","Type":"Instance"},{"Name":"skateboardController","Type":"Instance"}],"Name":"Equipped","tags":[],"Class":"SkateboardPlatform","type":"Event"},{"Arguments":[{"Name":"newState","Type":"MoveState"},{"Name":"oldState","Type":"MoveState"}],"Name":"MoveStateChanged","tags":[],"Class":"SkateboardPlatform","type":"Event"},{"Arguments":[{"Name":"humanoid","Type":"Instance"}],"Name":"Unequipped","tags":[],"Class":"SkateboardPlatform","type":"Event"},{"Arguments":[{"Name":"humanoid","Type":"Instance"},{"Name":"skateboardController","Type":"Instance"}],"Name":"equipped","tags":["deprecated"],"Class":"SkateboardPlatform","type":"Event"},{"Arguments":[{"Name":"humanoid","Type":"Instance"}],"Name":"unequipped","tags":["deprecated"],"Class":"SkateboardPlatform","type":"Event"},{"Superclass":"Part","type":"Class","Name":"SpawnLocation","tags":[]},{"ValueType":"bool","type":"Property","Name":"AllowTeamChangeOnTouch","tags":[],"Class":"SpawnLocation"},{"ValueType":"int","type":"Property","Name":"Duration","tags":[],"Class":"SpawnLocation"},{"ValueType":"bool","type":"Property","Name":"Enabled","tags":[],"Class":"SpawnLocation"},{"ValueType":"bool","type":"Property","Name":"Neutral","tags":[],"Class":"SpawnLocation"},{"ValueType":"BrickColor","type":"Property","Name":"TeamColor","tags":[],"Class":"SpawnLocation"},{"Superclass":"FormFactorPart","type":"Class","Name":"WedgePart","tags":[]},{"Superclass":"BasePart","type":"Class","Name":"MeshPart","tags":[]},{"ValueType":"Material","type":"Property","Name":"Material","tags":["deprecated","readonly"],"Class":"MeshPart"},{"ValueType":"Content","type":"Property","Name":"TextureID","tags":[],"Class":"MeshPart"},{"Superclass":"BasePart","type":"Class","Name":"ParallelRampPart","tags":["deprecated","notbrowsable"]},{"Superclass":"BasePart","type":"Class","Name":"PartOperation","tags":[]},{"ValueType":"bool","type":"Property","Name":"UsePartColor","tags":[],"Class":"PartOperation"},{"Superclass":"PartOperation","type":"Class","Name":"NegateOperation","tags":[]},{"Superclass":"PartOperation","type":"Class","Name":"UnionOperation","tags":[]},{"Superclass":"BasePart","type":"Class","Name":"PrismPart","tags":["deprecated","notbrowsable"]},{"ValueType":"PrismSides","type":"Property","Name":"Sides","tags":[],"Class":"PrismPart"},{"Superclass":"BasePart","type":"Class","Name":"PyramidPart","tags":["deprecated","notbrowsable"]},{"ValueType":"PyramidSides","type":"Property","Name":"Sides","tags":[],"Class":"PyramidPart"},{"Superclass":"BasePart","type":"Class","Name":"RightAngleRampPart","tags":["deprecated","notbrowsable"]},{"Superclass":"BasePart","type":"Class","Name":"Terrain","tags":["notCreatable"]},{"ValueType":"bool","type":"Property","Name":"IsSmooth","tags":["readonly"],"Class":"Terrain"},{"ValueType":"Region3int16","type":"Property","Name":"MaxExtents","tags":["readonly"],"Class":"Terrain"},{"ValueType":"Color3","type":"Property","Name":"WaterColor","tags":[],"Class":"Terrain"},{"ValueType":"float","type":"Property","Name":"WaterTransparency","tags":[],"Class":"Terrain"},{"ValueType":"float","type":"Property","Name":"WaterWaveSize","tags":[],"Class":"Terrain"},{"ValueType":"float","type":"Property","Name":"WaterWaveSpeed","tags":[],"Class":"Terrain"},{"ReturnType":"bool","Arguments":[{"Type":"int","Name":"x","Default":null},{"Type":"int","Name":"y","Default":null},{"Type":"int","Name":"z","Default":null}],"Name":"AutowedgeCell","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Region3int16","Name":"region","Default":null}],"Name":"AutowedgeCells","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"Vector3","Arguments":[{"Type":"int","Name":"x","Default":null},{"Type":"int","Name":"y","Default":null},{"Type":"int","Name":"z","Default":null}],"Name":"CellCenterToWorld","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"Vector3","Arguments":[{"Type":"int","Name":"x","Default":null},{"Type":"int","Name":"y","Default":null},{"Type":"int","Name":"z","Default":null}],"Name":"CellCornerToWorld","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Clear","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"ConvertToSmooth","tags":["PluginSecurity"],"Class":"Terrain","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"Region3int16","Name":"region","Default":null}],"Name":"CopyRegion","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"int","Arguments":[],"Name":"CountCells","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Vector3","Name":"center","Default":null},{"Type":"float","Name":"radius","Default":null},{"Type":"Material","Name":"material","Default":null}],"Name":"FillBall","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"CoordinateFrame","Name":"cframe","Default":null},{"Type":"Vector3","Name":"size","Default":null},{"Type":"Material","Name":"material","Default":null}],"Name":"FillBlock","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Region3","Name":"region","Default":null},{"Type":"float","Name":"resolution","Default":null},{"Type":"Material","Name":"material","Default":null}],"Name":"FillRegion","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"Tuple","Arguments":[{"Type":"int","Name":"x","Default":null},{"Type":"int","Name":"y","Default":null},{"Type":"int","Name":"z","Default":null}],"Name":"GetCell","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"Tuple","Arguments":[{"Type":"int","Name":"x","Default":null},{"Type":"int","Name":"y","Default":null},{"Type":"int","Name":"z","Default":null}],"Name":"GetWaterCell","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"region","Default":null},{"Type":"Vector3int16","Name":"corner","Default":null},{"Type":"bool","Name":"pasteEmptyCells","Default":null}],"Name":"PasteRegion","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"Tuple","Arguments":[{"Type":"Region3","Name":"region","Default":null},{"Type":"float","Name":"resolution","Default":null}],"Name":"ReadVoxels","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"x","Default":null},{"Type":"int","Name":"y","Default":null},{"Type":"int","Name":"z","Default":null},{"Type":"CellMaterial","Name":"material","Default":null},{"Type":"CellBlock","Name":"block","Default":null},{"Type":"CellOrientation","Name":"orientation","Default":null}],"Name":"SetCell","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Region3int16","Name":"region","Default":null},{"Type":"CellMaterial","Name":"material","Default":null},{"Type":"CellBlock","Name":"block","Default":null},{"Type":"CellOrientation","Name":"orientation","Default":null}],"Name":"SetCells","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"x","Default":null},{"Type":"int","Name":"y","Default":null},{"Type":"int","Name":"z","Default":null},{"Type":"WaterForce","Name":"force","Default":null},{"Type":"WaterDirection","Name":"direction","Default":null}],"Name":"SetWaterCell","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"Vector3","Arguments":[{"Type":"Vector3","Name":"position","Default":null}],"Name":"WorldToCell","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"Vector3","Arguments":[{"Type":"Vector3","Name":"position","Default":null}],"Name":"WorldToCellPreferEmpty","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"Vector3","Arguments":[{"Type":"Vector3","Name":"position","Default":null}],"Name":"WorldToCellPreferSolid","tags":[],"Class":"Terrain","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Region3","Name":"region","Default":null},{"Type":"float","Name":"resolution","Default":null},{"Type":"Array","Name":"materials","Default":null},{"Type":"Array","Name":"occupancy","Default":null}],"Name":"WriteVoxels","tags":[],"Class":"Terrain","type":"Function"},{"Superclass":"BasePart","type":"Class","Name":"TrussPart","tags":[]},{"ValueType":"Style","type":"Property","Name":"Style","tags":[],"Class":"TrussPart"},{"Superclass":"BasePart","type":"Class","Name":"VehicleSeat","tags":[]},{"ValueType":"int","type":"Property","Name":"AreHingesDetected","tags":["readonly"],"Class":"VehicleSeat"},{"ValueType":"bool","type":"Property","Name":"Disabled","tags":[],"Class":"VehicleSeat"},{"ValueType":"bool","type":"Property","Name":"HeadsUpDisplay","tags":[],"Class":"VehicleSeat"},{"ValueType":"float","type":"Property","Name":"MaxSpeed","tags":[],"Class":"VehicleSeat"},{"ValueType":"Object","type":"Property","Name":"Occupant","tags":["readonly"],"Class":"VehicleSeat"},{"ValueType":"int","type":"Property","Name":"Steer","tags":[],"Class":"VehicleSeat"},{"ValueType":"int","type":"Property","Name":"Throttle","tags":[],"Class":"VehicleSeat"},{"ValueType":"float","type":"Property","Name":"Torque","tags":[],"Class":"VehicleSeat"},{"ValueType":"float","type":"Property","Name":"TurnSpeed","tags":[],"Class":"VehicleSeat"},{"Superclass":"PVInstance","type":"Class","Name":"Model","tags":[]},{"ValueType":"Object","type":"Property","Name":"PrimaryPart","tags":[],"Class":"Model"},{"ReturnType":"void","Arguments":[],"Name":"BreakJoints","tags":[],"Class":"Model","type":"Function"},{"ReturnType":"Vector3","Arguments":[],"Name":"GetExtentsSize","tags":[],"Class":"Model","type":"Function"},{"ReturnType":"CoordinateFrame","Arguments":[],"Name":"GetModelCFrame","tags":["deprecated"],"Class":"Model","type":"Function"},{"ReturnType":"Vector3","Arguments":[],"Name":"GetModelSize","tags":["deprecated"],"Class":"Model","type":"Function"},{"ReturnType":"CoordinateFrame","Arguments":[],"Name":"GetPrimaryPartCFrame","tags":[],"Class":"Model","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"MakeJoints","tags":[],"Class":"Model","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Vector3","Name":"position","Default":null}],"Name":"MoveTo","tags":[],"Class":"Model","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"ResetOrientationToIdentity","tags":["deprecated"],"Class":"Model","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"SetIdentityOrientation","tags":["deprecated"],"Class":"Model","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"CoordinateFrame","Name":"cframe","Default":null}],"Name":"SetPrimaryPartCFrame","tags":[],"Class":"Model","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Vector3","Name":"delta","Default":null}],"Name":"TranslateBy","tags":[],"Class":"Model","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"breakJoints","tags":["deprecated"],"Class":"Model","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"makeJoints","tags":["deprecated"],"Class":"Model","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Vector3","Name":"location","Default":null}],"Name":"move","tags":["deprecated"],"Class":"Model","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Vector3","Name":"location","Default":null}],"Name":"moveTo","tags":["deprecated"],"Class":"Model","type":"Function"},{"Superclass":"Model","type":"Class","Name":"RootInstance","tags":["notbrowsable"]},{"Superclass":"RootInstance","type":"Class","Name":"Workspace","tags":[]},{"ValueType":"bool","type":"Property","Name":"AllowThirdPartySales","tags":[],"Class":"Workspace"},{"ValueType":"Object","type":"Property","Name":"CurrentCamera","tags":[],"Class":"Workspace"},{"ValueType":"double","type":"Property","Name":"DistributedGameTime","tags":[],"Class":"Workspace"},{"ValueType":"bool","type":"Property","Name":"FilteringEnabled","tags":[],"Class":"Workspace"},{"ValueType":"float","type":"Property","Name":"Gravity","tags":[],"Class":"Workspace"},{"ValueType":"bool","type":"Property","Name":"StreamingEnabled","tags":[],"Class":"Workspace"},{"ValueType":"Object","type":"Property","Name":"Terrain","tags":["readonly"],"Class":"Workspace"},{"ReturnType":"void","Arguments":[{"Type":"Objects","Name":"objects","Default":null}],"Name":"BreakJoints","tags":["PluginSecurity"],"Class":"Workspace","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"ExperimentalSolverIsEnabled","tags":["LocalUserSecurity"],"Class":"Workspace","type":"Function"},{"ReturnType":"Tuple","Arguments":[{"Type":"Ray","Name":"ray","Default":null},{"Type":"Instance","Name":"ignoreDescendentsInstance","Default":"nil"},{"Type":"bool","Name":"terrainCellsAreCubes","Default":"false"},{"Type":"bool","Name":"ignoreWater","Default":"false"}],"Name":"FindPartOnRay","tags":[],"Class":"Workspace","type":"Function"},{"ReturnType":"Tuple","Arguments":[{"Type":"Ray","Name":"ray","Default":null},{"Type":"Objects","Name":"ignoreDescendentsTable","Default":null},{"Type":"bool","Name":"terrainCellsAreCubes","Default":"false"},{"Type":"bool","Name":"ignoreWater","Default":"false"}],"Name":"FindPartOnRayWithIgnoreList","tags":[],"Class":"Workspace","type":"Function"},{"ReturnType":"Objects","Arguments":[{"Type":"Region3","Name":"region","Default":null},{"Type":"Instance","Name":"ignoreDescendentsInstance","Default":"nil"},{"Type":"int","Name":"maxParts","Default":"20"}],"Name":"FindPartsInRegion3","tags":[],"Class":"Workspace","type":"Function"},{"ReturnType":"Objects","Arguments":[{"Type":"Region3","Name":"region","Default":null},{"Type":"Objects","Name":"ignoreDescendentsTable","Default":null},{"Type":"int","Name":"maxParts","Default":"20"}],"Name":"FindPartsInRegion3WithIgnoreList","tags":[],"Class":"Workspace","type":"Function"},{"ReturnType":"int","Arguments":[],"Name":"GetNumAwakeParts","tags":[],"Class":"Workspace","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"GetPhysicsAnalyzerBreakOnIssue","tags":["PluginSecurity"],"Class":"Workspace","type":"Function"},{"ReturnType":"Objects","Arguments":[{"Type":"int","Name":"index","Default":null}],"Name":"GetPhysicsAnalyzerIssue","tags":["PluginSecurity"],"Class":"Workspace","type":"Function"},{"ReturnType":"int","Arguments":[],"Name":"GetPhysicsThrottling","tags":[],"Class":"Workspace","type":"Function"},{"ReturnType":"double","Arguments":[],"Name":"GetRealPhysicsFPS","tags":[],"Class":"Workspace","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"Region3","Name":"region","Default":null},{"Type":"Instance","Name":"ignoreDescendentsInstance","Default":"nil"}],"Name":"IsRegion3Empty","tags":[],"Class":"Workspace","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"Region3","Name":"region","Default":null},{"Type":"Objects","Name":"ignoreDescendentsTable","Default":null}],"Name":"IsRegion3EmptyWithIgnoreList","tags":[],"Class":"Workspace","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Objects","Name":"objects","Default":null},{"Type":"JointCreationMode","Name":"jointType","Default":null}],"Name":"JoinToOutsiders","tags":[],"Class":"Workspace","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Objects","Name":"objects","Default":null}],"Name":"MakeJoints","tags":["PluginSecurity"],"Class":"Workspace","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"PGSIsEnabled","tags":[],"Class":"Workspace","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"enable","Default":null}],"Name":"SetPhysicsAnalyzerBreakOnIssue","tags":["PluginSecurity"],"Class":"Workspace","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"value","Default":null}],"Name":"SetPhysicsThrottleEnabled","tags":["LocalUserSecurity"],"Class":"Workspace","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Objects","Name":"objects","Default":null}],"Name":"UnjoinFromOutsiders","tags":[],"Class":"Workspace","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"ZoomToExtents","tags":["PluginSecurity"],"Class":"Workspace","type":"Function"},{"ReturnType":"Tuple","Arguments":[{"Type":"Ray","Name":"ray","Default":null},{"Type":"Instance","Name":"ignoreDescendentsInstance","Default":"nil"},{"Type":"bool","Name":"terrainCellsAreCubes","Default":"false"},{"Type":"bool","Name":"ignoreWater","Default":"false"}],"Name":"findPartOnRay","tags":["deprecated"],"Class":"Workspace","type":"Function"},{"ReturnType":"Objects","Arguments":[{"Type":"Region3","Name":"region","Default":null},{"Type":"Instance","Name":"ignoreDescendentsInstance","Default":"nil"},{"Type":"int","Name":"maxParts","Default":"20"}],"Name":"findPartsInRegion3","tags":["deprecated"],"Class":"Workspace","type":"Function"},{"Arguments":[{"Name":"count","Type":"int"}],"Name":"PhysicsAnalyzerIssuesFound","tags":["PluginSecurity"],"Class":"Workspace","type":"Event"},{"Superclass":"Model","type":"Class","Name":"Status","tags":["deprecated","notCreatable"]},{"Superclass":"Instance","type":"Class","Name":"Pages","tags":[]},{"ValueType":"bool","type":"Property","Name":"IsFinished","tags":["readonly"],"Class":"Pages"},{"ReturnType":"Array","Arguments":[],"Name":"GetCurrentPage","tags":[],"Class":"Pages","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"AdvanceToNextPageAsync","tags":[],"Class":"Pages","type":"YieldFunction"},{"Superclass":"Pages","type":"Class","Name":"DataStorePages","tags":[]},{"Superclass":"Pages","type":"Class","Name":"FriendPages","tags":[]},{"Superclass":"Pages","type":"Class","Name":"StandardPages","tags":[]},{"Superclass":"Instance","type":"Class","Name":"PartOperationAsset","tags":[]},{"Superclass":"Instance","type":"Class","Name":"ParticleEmitter","tags":[]},{"ValueType":"Vector3","type":"Property","Name":"Acceleration","tags":[],"Class":"ParticleEmitter"},{"ValueType":"ColorSequence","type":"Property","Name":"Color","tags":[],"Class":"ParticleEmitter"},{"ValueType":"float","type":"Property","Name":"Drag","tags":[],"Class":"ParticleEmitter"},{"ValueType":"NormalId","type":"Property","Name":"EmissionDirection","tags":[],"Class":"ParticleEmitter"},{"ValueType":"bool","type":"Property","Name":"Enabled","tags":[],"Class":"ParticleEmitter"},{"ValueType":"NumberRange","type":"Property","Name":"Lifetime","tags":[],"Class":"ParticleEmitter"},{"ValueType":"float","type":"Property","Name":"LightEmission","tags":[],"Class":"ParticleEmitter"},{"ValueType":"bool","type":"Property","Name":"LockedToPart","tags":[],"Class":"ParticleEmitter"},{"ValueType":"float","type":"Property","Name":"Rate","tags":[],"Class":"ParticleEmitter"},{"ValueType":"NumberRange","type":"Property","Name":"RotSpeed","tags":[],"Class":"ParticleEmitter"},{"ValueType":"NumberRange","type":"Property","Name":"Rotation","tags":[],"Class":"ParticleEmitter"},{"ValueType":"NumberSequence","type":"Property","Name":"Size","tags":[],"Class":"ParticleEmitter"},{"ValueType":"NumberRange","type":"Property","Name":"Speed","tags":[],"Class":"ParticleEmitter"},{"ValueType":"Content","type":"Property","Name":"Texture","tags":[],"Class":"ParticleEmitter"},{"ValueType":"NumberSequence","type":"Property","Name":"Transparency","tags":[],"Class":"ParticleEmitter"},{"ValueType":"float","type":"Property","Name":"VelocityInheritance","tags":[],"Class":"ParticleEmitter"},{"ValueType":"float","type":"Property","Name":"VelocitySpread","tags":[],"Class":"ParticleEmitter"},{"ValueType":"float","type":"Property","Name":"ZOffset","tags":[],"Class":"ParticleEmitter"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"particleCount","Default":"16"}],"Name":"Emit","tags":[],"Class":"ParticleEmitter","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"Path","tags":[]},{"ValueType":"PathStatus","type":"Property","Name":"Status","tags":["readonly"],"Class":"Path"},{"ReturnType":"Array","Arguments":[],"Name":"GetPointCoordinates","tags":[],"Class":"Path","type":"Function"},{"ReturnType":"int","Arguments":[{"Type":"int","Name":"start","Default":null}],"Name":"CheckOcclusionAsync","tags":[],"Class":"Path","type":"YieldFunction"},{"Superclass":"Instance","type":"Class","Name":"PathfindingService","tags":["notCreatable"]},{"ValueType":"float","type":"Property","Name":"EmptyCutoff","tags":[],"Class":"PathfindingService"},{"ReturnType":"Instance","Arguments":[{"Type":"Vector3","Name":"start","Default":null},{"Type":"Vector3","Name":"finish","Default":null},{"Type":"float","Name":"maxDistance","Default":null}],"Name":"ComputeRawPathAsync","tags":[],"Class":"PathfindingService","type":"YieldFunction"},{"ReturnType":"Instance","Arguments":[{"Type":"Vector3","Name":"start","Default":null},{"Type":"Vector3","Name":"finish","Default":null},{"Type":"float","Name":"maxDistance","Default":null}],"Name":"ComputeSmoothPathAsync","tags":[],"Class":"PathfindingService","type":"YieldFunction"},{"Superclass":"Instance","type":"Class","Name":"PersonalServerService","tags":[]},{"ValueType":"string","type":"Property","Name":"RoleSets","tags":["RobloxScriptSecurity"],"Class":"PersonalServerService"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"player","Default":null}],"Name":"Demote","tags":["RobloxScriptSecurity"],"Class":"PersonalServerService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"player","Default":null}],"Name":"Promote","tags":["RobloxScriptSecurity"],"Class":"PersonalServerService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"personalServerGetRankUrl","Default":null}],"Name":"SetPersonalServerGetRankUrl","tags":["LocalUserSecurity"],"Class":"PersonalServerService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"personalServerRoleSetsUrl","Default":null}],"Name":"SetPersonalServerRoleSetsUrl","tags":["LocalUserSecurity"],"Class":"PersonalServerService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"personalServerSetRankUrl","Default":null}],"Name":"SetPersonalServerSetRankUrl","tags":["LocalUserSecurity"],"Class":"PersonalServerService","type":"Function"},{"ReturnType":"string","Arguments":[{"Type":"int","Name":"placeId","Default":null}],"Name":"GetRoleSets","tags":["RobloxScriptSecurity"],"Class":"PersonalServerService","type":"YieldFunction"},{"Superclass":"Instance","type":"Class","Name":"PhysicsPacketCache","tags":[]},{"Superclass":"Instance","type":"Class","Name":"PhysicsService","tags":[]},{"Superclass":"Instance","type":"Class","Name":"PhysicsSettings","tags":[]},{"ValueType":"bool","type":"Property","Name":"AllowSleep","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"AreAnchorsShown","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"AreAssembliesShown","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"AreAttachmentsShown","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"AreAwakePartsHighlighted","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"AreBodyTypesShown","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"AreConstraintsShown","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"AreContactPointsShown","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"AreJointCoordinatesShown","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"AreMechanismsShown","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"AreModelCoordsShown","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"AreOwnersShown","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"ArePartCoordsShown","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"AreRegionsShown","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"AreUnalignedPartsShown","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"AreWorldCoordsShown","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"IsReceiveAgeShown","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"IsTreeShown","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"ParallelPhysics","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"PhysicsAnalyzerEnabled","tags":["PluginSecurity","readonly"],"Class":"PhysicsSettings"},{"ValueType":"EnviromentalPhysicsThrottle","type":"Property","Name":"PhysicsEnvironmentalThrottle","tags":[],"Class":"PhysicsSettings"},{"ValueType":"bool","type":"Property","Name":"ShowDecompositionGeometry","tags":[],"Class":"PhysicsSettings"},{"ValueType":"double","type":"Property","Name":"ThrottleAdjustTime","tags":[],"Class":"PhysicsSettings"},{"Superclass":"Instance","type":"Class","Name":"Player","tags":[]},{"ValueType":"int","type":"Property","Name":"AccountAge","tags":["readonly"],"Class":"Player"},{"ValueType":"bool","type":"Property","Name":"AppearanceDidLoad","tags":["RobloxScriptSecurity","deprecated","readonly"],"Class":"Player"},{"ValueType":"bool","type":"Property","Name":"AutoJumpEnabled","tags":[],"Class":"Player"},{"ValueType":"float","type":"Property","Name":"CameraMaxZoomDistance","tags":[],"Class":"Player"},{"ValueType":"float","type":"Property","Name":"CameraMinZoomDistance","tags":[],"Class":"Player"},{"ValueType":"CameraMode","type":"Property","Name":"CameraMode","tags":[],"Class":"Player"},{"ValueType":"bool","type":"Property","Name":"CanLoadCharacterAppearance","tags":[],"Class":"Player"},{"ValueType":"Object","type":"Property","Name":"Character","tags":[],"Class":"Player"},{"ValueType":"string","type":"Property","Name":"CharacterAppearance","tags":["notbrowsable"],"Class":"Player"},{"ValueType":"ChatMode","type":"Property","Name":"ChatMode","tags":["RobloxScriptSecurity","readonly"],"Class":"Player"},{"ValueType":"int","type":"Property","Name":"DataComplexity","tags":["readonly"],"Class":"Player"},{"ValueType":"int","type":"Property","Name":"DataComplexityLimit","tags":["LocalUserSecurity"],"Class":"Player"},{"ValueType":"bool","type":"Property","Name":"DataReady","tags":["readonly"],"Class":"Player"},{"ValueType":"DevCameraOcclusionMode","type":"Property","Name":"DevCameraOcclusionMode","tags":[],"Class":"Player"},{"ValueType":"DevComputerCameraMovementMode","type":"Property","Name":"DevComputerCameraMode","tags":[],"Class":"Player"},{"ValueType":"DevComputerMovementMode","type":"Property","Name":"DevComputerMovementMode","tags":[],"Class":"Player"},{"ValueType":"bool","type":"Property","Name":"DevEnableMouseLock","tags":[],"Class":"Player"},{"ValueType":"DevTouchCameraMovementMode","type":"Property","Name":"DevTouchCameraMode","tags":[],"Class":"Player"},{"ValueType":"DevTouchMovementMode","type":"Property","Name":"DevTouchMovementMode","tags":[],"Class":"Player"},{"ValueType":"int","type":"Property","Name":"FollowUserId","tags":["readonly"],"Class":"Player"},{"ValueType":"bool","type":"Property","Name":"Guest","tags":["RobloxScriptSecurity","readonly"],"Class":"Player"},{"ValueType":"bool","type":"Property","Name":"HasBuildTools","tags":["RobloxScriptSecurity"],"Class":"Player"},{"ValueType":"float","type":"Property","Name":"HealthDisplayDistance","tags":[],"Class":"Player"},{"ValueType":"float","type":"Property","Name":"MaximumSimulationRadius","tags":["LocalUserSecurity"],"Class":"Player"},{"ValueType":"MembershipType","type":"Property","Name":"MembershipType","tags":["readonly"],"Class":"Player"},{"ValueType":"float","type":"Property","Name":"NameDisplayDistance","tags":[],"Class":"Player"},{"ValueType":"bool","type":"Property","Name":"Neutral","tags":[],"Class":"Player"},{"ValueType":"int","type":"Property","Name":"PersonalServerRank","tags":["RobloxScriptSecurity"],"Class":"Player"},{"ValueType":"Object","type":"Property","Name":"RespawnLocation","tags":[],"Class":"Player"},{"ValueType":"float","type":"Property","Name":"SimulationRadius","tags":["LocalUserSecurity"],"Class":"Player"},{"ValueType":"BrickColor","type":"Property","Name":"TeamColor","tags":[],"Class":"Player"},{"ValueType":"bool","type":"Property","Name":"Teleported","tags":["RobloxScriptSecurity","hidden","readonly"],"Class":"Player"},{"ValueType":"bool","type":"Property","Name":"TeleportedIn","tags":["RobloxScriptSecurity"],"Class":"Player"},{"ValueType":"int","type":"Property","Name":"UserId","tags":[],"Class":"Player"},{"ValueType":"string","type":"Property","Name":"VRDevice","tags":["RobloxScriptSecurity"],"Class":"Player"},{"ValueType":"int","type":"Property","Name":"userId","tags":["deprecated"],"Class":"Player"},{"ReturnType":"void","Arguments":[],"Name":"ClearCharacterAppearance","tags":[],"Class":"Player","type":"Function"},{"ReturnType":"float","Arguments":[{"Type":"Vector3","Name":"point","Default":null}],"Name":"DistanceFromCharacter","tags":[],"Class":"Player","type":"Function"},{"ReturnType":"FriendStatus","Arguments":[{"Type":"Instance","Name":"player","Default":null}],"Name":"GetFriendStatus","tags":["RobloxScriptSecurity"],"Class":"Player","type":"Function"},{"ReturnType":"string","Arguments":[],"Name":"GetGameSessionID","tags":["RobloxSecurity"],"Class":"Player","type":"Function"},{"ReturnType":"Instance","Arguments":[],"Name":"GetMouse","tags":[],"Class":"Player","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"GetUnder13","tags":["RobloxScriptSecurity"],"Class":"Player","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"HasAppearanceLoaded","tags":[],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"JumpCharacter","tags":["RobloxScriptSecurity"],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"message","Default":""}],"Name":"Kick","tags":[],"Class":"Player","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"LoadBoolean","tags":[],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"inGame","Default":"true"}],"Name":"LoadCharacter","tags":[],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"assetInstance","Default":null}],"Name":"LoadCharacterAppearance","tags":[],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"LoadData","tags":["LocalUserSecurity"],"Class":"Player","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"LoadInstance","tags":[],"Class":"Player","type":"Function"},{"ReturnType":"double","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"LoadNumber","tags":[],"Class":"Player","type":"Function"},{"ReturnType":"string","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"LoadString","tags":[],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Vector3","Name":"walkDirection","Default":null},{"Type":"bool","Name":"relativeToCamera","Default":"false"}],"Name":"Move","tags":[],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Vector2","Name":"walkDirection","Default":null},{"Type":"float","Name":"maxWalkDelta","Default":null}],"Name":"MoveCharacter","tags":["RobloxScriptSecurity"],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"RemoveCharacter","tags":["LocalUserSecurity"],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"player","Default":null}],"Name":"RequestFriendship","tags":["RobloxScriptSecurity"],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"player","Default":null}],"Name":"RevokeFriendship","tags":["RobloxScriptSecurity"],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null},{"Type":"bool","Name":"value","Default":null}],"Name":"SaveBoolean","tags":[],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"SaveData","tags":["LocalUserSecurity"],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null},{"Type":"Instance","Name":"value","Default":null}],"Name":"SaveInstance","tags":[],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"SaveLeaderboardData","tags":["LocalUserSecurity"],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null},{"Type":"double","Name":"value","Default":null}],"Name":"SaveNumber","tags":[],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null},{"Type":"string","Name":"value","Default":null}],"Name":"SaveString","tags":[],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"accountAge","Default":null}],"Name":"SetAccountAge","tags":["PluginSecurity"],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"MembershipType","Name":"membershipType","Default":null}],"Name":"SetMembershipType","tags":["RobloxScriptSecurity"],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"value","Default":null}],"Name":"SetSuperSafeChat","tags":["PluginSecurity"],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"value","Default":null}],"Name":"SetUnder13","tags":["RobloxSecurity","deprecated"],"Class":"Player","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"loadBoolean","tags":["deprecated"],"Class":"Player","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"loadInstance","tags":["deprecated"],"Class":"Player","type":"Function"},{"ReturnType":"double","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"loadNumber","tags":["deprecated"],"Class":"Player","type":"Function"},{"ReturnType":"string","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"loadString","tags":["deprecated"],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null},{"Type":"bool","Name":"value","Default":null}],"Name":"saveBoolean","tags":["deprecated"],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null},{"Type":"Instance","Name":"value","Default":null}],"Name":"saveInstance","tags":["deprecated"],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null},{"Type":"double","Name":"value","Default":null}],"Name":"saveNumber","tags":["deprecated"],"Class":"Player","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null},{"Type":"string","Name":"value","Default":null}],"Name":"saveString","tags":["deprecated"],"Class":"Player","type":"Function"},{"ReturnType":"Array","Arguments":[{"Type":"int","Name":"maxFriends","Default":"200"}],"Name":"GetFriendsOnline","tags":[],"Class":"Player","type":"YieldFunction"},{"ReturnType":"int","Arguments":[{"Type":"int","Name":"groupId","Default":null}],"Name":"GetRankInGroup","tags":[],"Class":"Player","type":"YieldFunction"},{"ReturnType":"string","Arguments":[{"Type":"int","Name":"groupId","Default":null}],"Name":"GetRoleInGroup","tags":[],"Class":"Player","type":"YieldFunction"},{"ReturnType":"string","Arguments":[],"Name":"GetWebPersonalServerRank","tags":["LocalUserSecurity","backend"],"Class":"Player","type":"YieldFunction"},{"ReturnType":"bool","Arguments":[{"Type":"int","Name":"userId","Default":null}],"Name":"IsBestFriendsWith","tags":["deprecated"],"Class":"Player","type":"YieldFunction"},{"ReturnType":"bool","Arguments":[{"Type":"int","Name":"userId","Default":null}],"Name":"IsFriendsWith","tags":[],"Class":"Player","type":"YieldFunction"},{"ReturnType":"bool","Arguments":[{"Type":"int","Name":"groupId","Default":null}],"Name":"IsInGroup","tags":[],"Class":"Player","type":"YieldFunction"},{"ReturnType":"bool","Arguments":[{"Type":"int","Name":"rank","Default":null}],"Name":"SetWebPersonalServerRank","tags":["WritePlayerSecurity"],"Class":"Player","type":"YieldFunction"},{"ReturnType":"bool","Arguments":[],"Name":"WaitForDataReady","tags":[],"Class":"Player","type":"YieldFunction"},{"ReturnType":"bool","Arguments":[{"Type":"int","Name":"userId","Default":null}],"Name":"isFriendsWith","tags":["deprecated"],"Class":"Player","type":"YieldFunction"},{"ReturnType":"bool","Arguments":[],"Name":"waitForDataReady","tags":["deprecated"],"Class":"Player","type":"YieldFunction"},{"Arguments":[{"Name":"character","Type":"Instance"}],"Name":"CharacterAdded","tags":[],"Class":"Player","type":"Event"},{"Arguments":[{"Name":"character","Type":"Instance"}],"Name":"CharacterAppearanceLoaded","tags":[],"Class":"Player","type":"Event"},{"Arguments":[{"Name":"character","Type":"Instance"}],"Name":"CharacterRemoving","tags":[],"Class":"Player","type":"Event"},{"Arguments":[{"Name":"message","Type":"string"},{"Name":"recipient","Type":"Instance"}],"Name":"Chatted","tags":[],"Class":"Player","type":"Event"},{"Arguments":[{"Name":"player","Type":"Instance"},{"Name":"friendStatus","Type":"FriendStatus"}],"Name":"FriendStatusChanged","tags":["RobloxScriptSecurity"],"Class":"Player","type":"Event"},{"Arguments":[{"Name":"time","Type":"double"}],"Name":"Idled","tags":[],"Class":"Player","type":"Event"},{"Arguments":[{"Name":"teleportState","Type":"TeleportState"},{"Name":"placeId","Type":"int"},{"Name":"spawnName","Type":"string"}],"Name":"OnTeleport","tags":[],"Class":"Player","type":"Event"},{"Arguments":[{"Name":"radius","Type":"float"}],"Name":"SimulationRadiusChanged","tags":["LocalUserSecurity"],"Class":"Player","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"PlayerScripts","tags":["notCreatable"]},{"Superclass":"Instance","type":"Class","Name":"Players","tags":[]},{"ValueType":"bool","type":"Property","Name":"BubbleChat","tags":["readonly"],"Class":"Players"},{"ValueType":"bool","type":"Property","Name":"CharacterAutoLoads","tags":[],"Class":"Players"},{"ValueType":"bool","type":"Property","Name":"ClassicChat","tags":["readonly"],"Class":"Players"},{"ValueType":"Object","type":"Property","Name":"LocalPlayer","tags":["readonly"],"Class":"Players"},{"ValueType":"int","type":"Property","Name":"MaxPlayers","tags":["readonly"],"Class":"Players"},{"ValueType":"int","type":"Property","Name":"MaxPlayersInternal","tags":["LocalUserSecurity"],"Class":"Players"},{"ValueType":"int","type":"Property","Name":"NumPlayers","tags":["readonly"],"Class":"Players"},{"ValueType":"int","type":"Property","Name":"PreferredPlayers","tags":["readonly"],"Class":"Players"},{"ValueType":"int","type":"Property","Name":"PreferredPlayersInternal","tags":["LocalUserSecurity"],"Class":"Players"},{"ValueType":"Object","type":"Property","Name":"localPlayer","tags":["deprecated","hidden","readonly"],"Class":"Players"},{"ValueType":"int","type":"Property","Name":"numPlayers","tags":["deprecated","hidden","readonly"],"Class":"Players"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"AddLeaderboardKey","tags":["LocalUserSecurity"],"Class":"Players","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"message","Default":null}],"Name":"Chat","tags":["PluginSecurity"],"Class":"Players","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"int","Name":"userId","Default":null},{"Type":"bool","Name":"isTeleport","Default":"false"}],"Name":"CreateLocalPlayer","tags":["PluginSecurity"],"Class":"Players","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"int","Name":"userID","Default":null}],"Name":"GetPlayerByID","tags":["LocalUserSecurity","deprecated"],"Class":"Players","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"int","Name":"userId","Default":null}],"Name":"GetPlayerById","tags":["LocalUserSecurity"],"Class":"Players","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"int","Name":"userId","Default":null}],"Name":"GetPlayerByUserId","tags":[],"Class":"Players","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"Instance","Name":"character","Default":null}],"Name":"GetPlayerFromCharacter","tags":[],"Class":"Players","type":"Function"},{"ReturnType":"Objects","Arguments":[],"Name":"GetPlayers","tags":[],"Class":"Players","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"GetUseCoreScriptHealthBar","tags":["RobloxScriptSecurity"],"Class":"Players","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"player","Default":null},{"Type":"string","Name":"reason","Default":null},{"Type":"string","Name":"optionalMessage","Default":null}],"Name":"ReportAbuse","tags":["LocalUserSecurity"],"Class":"Players","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetAbuseReportUrl","tags":["RobloxSecurity"],"Class":"Players","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetBuildUserPermissionsUrl","tags":["RobloxSecurity"],"Class":"Players","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetChatFilterUrl","tags":["RobloxSecurity"],"Class":"Players","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"ChatStyle","Name":"style","Default":"Classic"}],"Name":"SetChatStyle","tags":["PluginSecurity"],"Class":"Players","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetLoadDataUrl","tags":["LocalUserSecurity"],"Class":"Players","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetSaveDataUrl","tags":["LocalUserSecurity"],"Class":"Players","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetSaveLeaderboardDataUrl","tags":["LocalUserSecurity"],"Class":"Players","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetSysStatsUrl","tags":["LocalUserSecurity"],"Class":"Players","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"urlId","Default":null}],"Name":"SetSysStatsUrlId","tags":["LocalUserSecurity"],"Class":"Players","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"message","Default":null}],"Name":"TeamChat","tags":["PluginSecurity"],"Class":"Players","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"message","Default":null},{"Type":"Instance","Name":"player","Default":null}],"Name":"WhisperChat","tags":["LocalUserSecurity"],"Class":"Players","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"Instance","Name":"character","Default":null}],"Name":"getPlayerFromCharacter","tags":["deprecated"],"Class":"Players","type":"Function"},{"ReturnType":"Objects","Arguments":[],"Name":"getPlayers","tags":["deprecated"],"Class":"Players","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"Instance","Name":"character","Default":null}],"Name":"playerFromCharacter","tags":["deprecated"],"Class":"Players","type":"Function"},{"ReturnType":"Objects","Arguments":[],"Name":"players","tags":["deprecated"],"Class":"Players","type":"Function"},{"ReturnType":"string","Arguments":[{"Type":"int","Name":"blockerUserId","Default":null},{"Type":"int","Name":"blockeeUserId","Default":null}],"Name":"BlockUser","tags":["RobloxScriptSecurity"],"Class":"Players","type":"YieldFunction"},{"ReturnType":"Instance","Arguments":[{"Type":"int","Name":"userId","Default":null}],"Name":"GetCharacterAppearanceAsync","tags":[],"Class":"Players","type":"YieldFunction"},{"ReturnType":"Instance","Arguments":[{"Type":"int","Name":"userId","Default":null}],"Name":"GetFriendsAsync","tags":[],"Class":"Players","type":"YieldFunction"},{"ReturnType":"string","Arguments":[{"Type":"int","Name":"userId","Default":null}],"Name":"GetNameFromUserIdAsync","tags":[],"Class":"Players","type":"YieldFunction"},{"ReturnType":"int","Arguments":[{"Type":"string","Name":"userName","Default":null}],"Name":"GetUserIdFromNameAsync","tags":[],"Class":"Players","type":"YieldFunction"},{"ReturnType":"string","Arguments":[{"Type":"int","Name":"exblockerUserId","Default":null},{"Type":"int","Name":"exblockeeUserId","Default":null}],"Name":"UnblockUser","tags":["RobloxScriptSecurity"],"Class":"Players","type":"YieldFunction"},{"Arguments":[{"Name":"player","Type":"Instance"},{"Name":"player","Type":"Instance"},{"Name":"friendRequestEvent","Type":"FriendRequestEvent"}],"Name":"FriendRequestEvent","tags":["RobloxScriptSecurity"],"Class":"Players","type":"Event"},{"Arguments":[{"Name":"message","Type":"string"}],"Name":"GameAnnounce","tags":["RobloxScriptSecurity"],"Class":"Players","type":"Event"},{"Arguments":[{"Name":"player","Type":"Instance"}],"Name":"PlayerAdded","tags":[],"Class":"Players","type":"Event"},{"Arguments":[{"Name":"player","Type":"Instance"}],"Name":"PlayerAddedEarly","tags":["LocalUserSecurity"],"Class":"Players","type":"Event"},{"Arguments":[{"Name":"chatType","Type":"PlayerChatType"},{"Name":"player","Type":"Instance"},{"Name":"message","Type":"string"},{"Name":"targetPlayer","Type":"Instance"}],"Name":"PlayerChatted","tags":["LocalUserSecurity"],"Class":"Players","type":"Event"},{"Arguments":[{"Name":"player","Type":"Instance"}],"Name":"PlayerRemoving","tags":[],"Class":"Players","type":"Event"},{"Arguments":[{"Name":"player","Type":"Instance"}],"Name":"PlayerRemovingLate","tags":["LocalUserSecurity"],"Class":"Players","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"Plugin","tags":[]},{"ValueType":"bool","type":"Property","Name":"CollisionEnabled","tags":["readonly"],"Class":"Plugin"},{"ValueType":"float","type":"Property","Name":"GridSize","tags":["readonly"],"Class":"Plugin"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"exclusiveMouse","Default":null}],"Name":"Activate","tags":["PluginSecurity"],"Class":"Plugin","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"string","Name":"name","Default":null}],"Name":"CreateToolbar","tags":["PluginSecurity"],"Class":"Plugin","type":"Function"},{"ReturnType":"JointCreationMode","Arguments":[],"Name":"GetJoinMode","tags":["PluginSecurity"],"Class":"Plugin","type":"Function"},{"ReturnType":"Instance","Arguments":[],"Name":"GetMouse","tags":["PluginSecurity"],"Class":"Plugin","type":"Function"},{"ReturnType":"Variant","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"GetSetting","tags":["PluginSecurity"],"Class":"Plugin","type":"Function"},{"ReturnType":"int","Arguments":[],"Name":"GetStudioUserId","tags":["PluginSecurity"],"Class":"Plugin","type":"Function"},{"ReturnType":"Objects","Arguments":[{"Type":"Objects","Name":"objects","Default":null}],"Name":"Negate","tags":["PluginSecurity"],"Class":"Plugin","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"script","Default":null},{"Type":"int","Name":"lineNumber","Default":"0"}],"Name":"OpenScript","tags":["PluginSecurity"],"Class":"Plugin","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"OpenWikiPage","tags":["PluginSecurity"],"Class":"Plugin","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"SaveSelectedToRoblox","tags":["PluginSecurity"],"Class":"Plugin","type":"Function"},{"ReturnType":"Objects","Arguments":[{"Type":"Objects","Name":"objects","Default":null}],"Name":"Separate","tags":["PluginSecurity"],"Class":"Plugin","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null},{"Type":"Variant","Name":"value","Default":null}],"Name":"SetSetting","tags":["PluginSecurity"],"Class":"Plugin","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"Objects","Name":"objects","Default":null}],"Name":"Union","tags":["PluginSecurity"],"Class":"Plugin","type":"Function"},{"ReturnType":"int","Arguments":[{"Type":"string","Name":"assetType","Default":null}],"Name":"PromptForExistingAssetId","tags":["PluginSecurity"],"Class":"Plugin","type":"YieldFunction"},{"Arguments":[],"Name":"Deactivation","tags":["PluginSecurity"],"Class":"Plugin","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"PluginManager","tags":[]},{"ReturnType":"Instance","Arguments":[],"Name":"CreatePlugin","tags":["PluginSecurity"],"Class":"PluginManager","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"filePath","Default":""}],"Name":"ExportPlace","tags":["PluginSecurity"],"Class":"PluginManager","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"filePath","Default":""}],"Name":"ExportSelection","tags":["PluginSecurity"],"Class":"PluginManager","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"PointsService","tags":["notCreatable"]},{"ReturnType":"int","Arguments":[],"Name":"GetAwardablePoints","tags":["deprecated"],"Class":"PointsService","type":"Function"},{"ReturnType":"Tuple","Arguments":[{"Type":"int","Name":"userId","Default":null},{"Type":"int","Name":"amount","Default":null}],"Name":"AwardPoints","tags":[],"Class":"PointsService","type":"YieldFunction"},{"ReturnType":"int","Arguments":[{"Type":"int","Name":"userId","Default":null}],"Name":"GetGamePointBalance","tags":[],"Class":"PointsService","type":"YieldFunction"},{"ReturnType":"int","Arguments":[{"Type":"int","Name":"userId","Default":null}],"Name":"GetPointBalance","tags":["deprecated"],"Class":"PointsService","type":"YieldFunction"},{"Arguments":[{"Name":"userId","Type":"int"},{"Name":"pointsAwarded","Type":"int"},{"Name":"userBalanceInGame","Type":"int"},{"Name":"userTotalBalance","Type":"int"}],"Name":"PointsAwarded","tags":[],"Class":"PointsService","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"Pose","tags":[]},{"ValueType":"CoordinateFrame","type":"Property","Name":"CFrame","tags":[],"Class":"Pose"},{"ValueType":"PoseEasingDirection","type":"Property","Name":"EasingDirection","tags":[],"Class":"Pose"},{"ValueType":"PoseEasingStyle","type":"Property","Name":"EasingStyle","tags":[],"Class":"Pose"},{"ValueType":"float","type":"Property","Name":"MaskWeight","tags":[],"Class":"Pose"},{"ValueType":"float","type":"Property","Name":"Weight","tags":[],"Class":"Pose"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"pose","Default":null}],"Name":"AddSubPose","tags":[],"Class":"Pose","type":"Function"},{"ReturnType":"Objects","Arguments":[],"Name":"GetSubPoses","tags":[],"Class":"Pose","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"pose","Default":null}],"Name":"RemoveSubPose","tags":[],"Class":"Pose","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"PostEffect","tags":[]},{"ValueType":"bool","type":"Property","Name":"Enabled","tags":[],"Class":"PostEffect"},{"Superclass":"PostEffect","type":"Class","Name":"BloomEffect","tags":[]},{"ValueType":"float","type":"Property","Name":"Intensity","tags":[],"Class":"BloomEffect"},{"ValueType":"float","type":"Property","Name":"Size","tags":[],"Class":"BloomEffect"},{"ValueType":"float","type":"Property","Name":"Threshold","tags":[],"Class":"BloomEffect"},{"Superclass":"PostEffect","type":"Class","Name":"BlurEffect","tags":[]},{"ValueType":"float","type":"Property","Name":"Size","tags":[],"Class":"BlurEffect"},{"Superclass":"PostEffect","type":"Class","Name":"ColorCorrectionEffect","tags":[]},{"ValueType":"float","type":"Property","Name":"Brightness","tags":[],"Class":"ColorCorrectionEffect"},{"ValueType":"float","type":"Property","Name":"Contrast","tags":[],"Class":"ColorCorrectionEffect"},{"ValueType":"float","type":"Property","Name":"Saturation","tags":[],"Class":"ColorCorrectionEffect"},{"ValueType":"Color3","type":"Property","Name":"TintColor","tags":[],"Class":"ColorCorrectionEffect"},{"Superclass":"PostEffect","type":"Class","Name":"SunRaysEffect","tags":[]},{"ValueType":"float","type":"Property","Name":"Intensity","tags":[],"Class":"SunRaysEffect"},{"ValueType":"float","type":"Property","Name":"Spread","tags":[],"Class":"SunRaysEffect"},{"Superclass":"Instance","type":"Class","Name":"RayValue","tags":[]},{"ValueType":"Ray","type":"Property","Name":"Value","tags":[],"Class":"RayValue"},{"Arguments":[{"Name":"value","Type":"Ray"}],"Name":"Changed","tags":[],"Class":"RayValue","type":"Event"},{"Arguments":[{"Name":"value","Type":"Ray"}],"Name":"changed","tags":["deprecated"],"Class":"RayValue","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"ReflectionMetadata","tags":[]},{"Superclass":"Instance","type":"Class","Name":"ReflectionMetadataCallbacks","tags":[]},{"Superclass":"Instance","type":"Class","Name":"ReflectionMetadataClasses","tags":[]},{"Superclass":"Instance","type":"Class","Name":"ReflectionMetadataEnums","tags":[]},{"Superclass":"Instance","type":"Class","Name":"ReflectionMetadataEvents","tags":[]},{"Superclass":"Instance","type":"Class","Name":"ReflectionMetadataFunctions","tags":[]},{"Superclass":"Instance","type":"Class","Name":"ReflectionMetadataItem","tags":[]},{"ValueType":"bool","type":"Property","Name":"Browsable","tags":[],"Class":"ReflectionMetadataItem"},{"ValueType":"bool","type":"Property","Name":"Deprecated","tags":[],"Class":"ReflectionMetadataItem"},{"ValueType":"bool","type":"Property","Name":"IsBackend","tags":[],"Class":"ReflectionMetadataItem"},{"ValueType":"double","type":"Property","Name":"UIMaximum","tags":[],"Class":"ReflectionMetadataItem"},{"ValueType":"double","type":"Property","Name":"UIMinimum","tags":[],"Class":"ReflectionMetadataItem"},{"ValueType":"string","type":"Property","Name":"summary","tags":[],"Class":"ReflectionMetadataItem"},{"Superclass":"ReflectionMetadataItem","type":"Class","Name":"ReflectionMetadataClass","tags":[]},{"ValueType":"int","type":"Property","Name":"ExplorerImageIndex","tags":[],"Class":"ReflectionMetadataClass"},{"ValueType":"int","type":"Property","Name":"ExplorerOrder","tags":[],"Class":"ReflectionMetadataClass"},{"ValueType":"bool","type":"Property","Name":"Insertable","tags":[],"Class":"ReflectionMetadataClass"},{"ValueType":"string","type":"Property","Name":"PreferredParent","tags":[],"Class":"ReflectionMetadataClass"},{"Superclass":"ReflectionMetadataItem","type":"Class","Name":"ReflectionMetadataEnum","tags":[]},{"Superclass":"ReflectionMetadataItem","type":"Class","Name":"ReflectionMetadataEnumItem","tags":[]},{"Superclass":"ReflectionMetadataItem","type":"Class","Name":"ReflectionMetadataMember","tags":[]},{"Superclass":"Instance","type":"Class","Name":"ReflectionMetadataProperties","tags":[]},{"Superclass":"Instance","type":"Class","Name":"ReflectionMetadataYieldFunctions","tags":[]},{"Superclass":"Instance","type":"Class","Name":"RemoteEvent","tags":[]},{"ReturnType":"void","Arguments":[{"Type":"Tuple","Name":"arguments","Default":null}],"Name":"FireAllClients","tags":[],"Class":"RemoteEvent","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Instance","Name":"player","Default":null},{"Type":"Tuple","Name":"arguments","Default":null}],"Name":"FireClient","tags":[],"Class":"RemoteEvent","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Tuple","Name":"arguments","Default":null}],"Name":"FireServer","tags":[],"Class":"RemoteEvent","type":"Function"},{"Arguments":[{"Name":"arguments","Type":"Tuple"}],"Name":"OnClientEvent","tags":[],"Class":"RemoteEvent","type":"Event"},{"Arguments":[{"Name":"player","Type":"Instance"},{"Name":"arguments","Type":"Tuple"}],"Name":"OnServerEvent","tags":[],"Class":"RemoteEvent","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"RemoteFunction","tags":[]},{"ReturnType":"Tuple","Arguments":[{"Type":"Instance","Name":"player","Default":null},{"Type":"Tuple","Name":"arguments","Default":null}],"Name":"InvokeClient","tags":[],"Class":"RemoteFunction","type":"YieldFunction"},{"ReturnType":"Tuple","Arguments":[{"Type":"Tuple","Name":"arguments","Default":null}],"Name":"InvokeServer","tags":[],"Class":"RemoteFunction","type":"YieldFunction"},{"ReturnType":"Tuple","Arguments":[{"Name":"arguments","Type":"Tuple"}],"Name":"OnClientInvoke","tags":[],"Class":"RemoteFunction","type":"Callback"},{"ReturnType":"Tuple","Arguments":[{"Name":"player","Type":"Instance"},{"Name":"arguments","Type":"Tuple"}],"Name":"OnServerInvoke","tags":[],"Class":"RemoteFunction","type":"Callback"},{"Superclass":"Instance","type":"Class","Name":"RenderHooksService","tags":[]},{"ReturnType":"void","Arguments":[],"Name":"CaptureMetrics","tags":["LocalUserSecurity"],"Class":"RenderHooksService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"qId","Default":null}],"Name":"DisableQueue","tags":["LocalUserSecurity"],"Class":"RenderHooksService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"enabled","Default":null}],"Name":"EnableAdorns","tags":["LocalUserSecurity"],"Class":"RenderHooksService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"qId","Default":null}],"Name":"EnableQueue","tags":["LocalUserSecurity"],"Class":"RenderHooksService","type":"Function"},{"ReturnType":"double","Arguments":[],"Name":"GetDeltaAve","tags":["LocalUserSecurity"],"Class":"RenderHooksService","type":"Function"},{"ReturnType":"double","Arguments":[],"Name":"GetGPUDelay","tags":["LocalUserSecurity"],"Class":"RenderHooksService","type":"Function"},{"ReturnType":"double","Arguments":[],"Name":"GetPresentTime","tags":["LocalUserSecurity"],"Class":"RenderHooksService","type":"Function"},{"ReturnType":"double","Arguments":[],"Name":"GetRenderAve","tags":["LocalUserSecurity"],"Class":"RenderHooksService","type":"Function"},{"ReturnType":"double","Arguments":[],"Name":"GetRenderConfMax","tags":["LocalUserSecurity"],"Class":"RenderHooksService","type":"Function"},{"ReturnType":"double","Arguments":[],"Name":"GetRenderConfMin","tags":["LocalUserSecurity"],"Class":"RenderHooksService","type":"Function"},{"ReturnType":"double","Arguments":[],"Name":"GetRenderStd","tags":["LocalUserSecurity"],"Class":"RenderHooksService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"PrintScene","tags":["LocalUserSecurity"],"Class":"RenderHooksService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"ReloadShaders","tags":["LocalUserSecurity"],"Class":"RenderHooksService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"width","Default":null},{"Type":"int","Name":"height","Default":null}],"Name":"ResizeWindow","tags":["LocalUserSecurity"],"Class":"RenderHooksService","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"RenderSettings","tags":["notbrowsable"]},{"ValueType":"AASamples","type":"Property","Name":"AASamples","tags":[],"Class":"RenderSettings"},{"ValueType":"Antialiasing","type":"Property","Name":"Antialiasing","tags":[],"Class":"RenderSettings"},{"ValueType":"int","type":"Property","Name":"AutoFRMLevel","tags":[],"Class":"RenderSettings"},{"ValueType":"bool","type":"Property","Name":"DebugDisableInterpolation","tags":[],"Class":"RenderSettings"},{"ValueType":"bool","type":"Property","Name":"EagerBulkExecution","tags":[],"Class":"RenderSettings"},{"ValueType":"QualityLevel","type":"Property","Name":"EditQualityLevel","tags":[],"Class":"RenderSettings"},{"ValueType":"bool","type":"Property","Name":"EnableFRM","tags":["hidden"],"Class":"RenderSettings"},{"ValueType":"bool","type":"Property","Name":"ExportMergeByMaterial","tags":[],"Class":"RenderSettings"},{"ValueType":"FramerateManagerMode","type":"Property","Name":"FrameRateManager","tags":[],"Class":"RenderSettings"},{"ValueType":"GraphicsMode","type":"Property","Name":"GraphicsMode","tags":[],"Class":"RenderSettings"},{"ValueType":"bool","type":"Property","Name":"IsAggregationShown","tags":[],"Class":"RenderSettings"},{"ValueType":"bool","type":"Property","Name":"IsSynchronizedWithPhysics","tags":[],"Class":"RenderSettings"},{"ValueType":"int","type":"Property","Name":"MeshCacheSize","tags":[],"Class":"RenderSettings"},{"ValueType":"QualityLevel","type":"Property","Name":"QualityLevel","tags":[],"Class":"RenderSettings"},{"ValueType":"bool","type":"Property","Name":"ReloadAssets","tags":[],"Class":"RenderSettings"},{"ValueType":"Resolution","type":"Property","Name":"Resolution","tags":[],"Class":"RenderSettings"},{"ValueType":"bool","type":"Property","Name":"ShowBoundingBoxes","tags":[],"Class":"RenderSettings"},{"ValueType":"bool","type":"Property","Name":"ShowInterpolationpath","tags":[],"Class":"RenderSettings"},{"ValueType":"int","type":"Property","Name":"TextureCacheSize","tags":[],"Class":"RenderSettings"},{"ReturnType":"int","Arguments":[],"Name":"GetMaxQualityLevel","tags":[],"Class":"RenderSettings","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"ReplicatedFirst","tags":["notCreatable"]},{"ReturnType":"bool","Arguments":[],"Name":"IsDefaultLoadingGuiRemoved","tags":["RobloxScriptSecurity"],"Class":"ReplicatedFirst","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"IsFinishedReplicating","tags":["RobloxScriptSecurity"],"Class":"ReplicatedFirst","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"RemoveDefaultLoadingScreen","tags":[],"Class":"ReplicatedFirst","type":"Function"},{"Arguments":[],"Name":"FinishedReplicating","tags":["RobloxScriptSecurity"],"Class":"ReplicatedFirst","type":"Event"},{"Arguments":[],"Name":"RemoveDefaultLoadingGuiSignal","tags":["RobloxScriptSecurity"],"Class":"ReplicatedFirst","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"ReplicatedStorage","tags":["notCreatable"]},{"Superclass":"Instance","type":"Class","Name":"RobloxReplicatedStorage","tags":["notCreatable","notbrowsable"]},{"Superclass":"Instance","type":"Class","Name":"RunService","tags":[]},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"name","Default":null},{"Type":"int","Name":"priority","Default":null},{"Type":"Function","Name":"function","Default":null}],"Name":"BindToRenderStep","tags":[],"Class":"RunService","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"IsClient","tags":[],"Class":"RunService","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"IsRunMode","tags":[],"Class":"RunService","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"IsRunning","tags":["RobloxScriptSecurity"],"Class":"RunService","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"IsServer","tags":[],"Class":"RunService","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"IsStudio","tags":[],"Class":"RunService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Pause","tags":["PluginSecurity"],"Class":"RunService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Reset","tags":["PluginSecurity","deprecated"],"Class":"RunService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Run","tags":["PluginSecurity"],"Class":"RunService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Stop","tags":["PluginSecurity"],"Class":"RunService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"name","Default":null}],"Name":"UnbindFromRenderStep","tags":[],"Class":"RunService","type":"Function"},{"Arguments":[{"Name":"step","Type":"double"}],"Name":"Heartbeat","tags":[],"Class":"RunService","type":"Event"},{"Arguments":[{"Name":"step","Type":"double"}],"Name":"RenderStepped","tags":[],"Class":"RunService","type":"Event"},{"Arguments":[{"Name":"time","Type":"double"},{"Name":"step","Type":"double"}],"Name":"Stepped","tags":[],"Class":"RunService","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"RuntimeScriptService","tags":["notCreatable"]},{"Superclass":"Instance","type":"Class","Name":"ScriptContext","tags":["notCreatable"]},{"ValueType":"bool","type":"Property","Name":"ScriptsDisabled","tags":["LocalUserSecurity"],"Class":"ScriptContext"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"assetId","Default":null},{"Type":"Instance","Name":"parent","Default":null},{"Type":"string","Name":"name","Default":null}],"Name":"AddCoreScript","tags":["RobloxScriptSecurity"],"Class":"ScriptContext","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"name","Default":null},{"Type":"Instance","Name":"parent","Default":null}],"Name":"AddCoreScriptLocal","tags":["RobloxScriptSecurity"],"Class":"ScriptContext","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"assetId","Default":null}],"Name":"AddStarterScript","tags":["LocalUserSecurity"],"Class":"ScriptContext","type":"Function"},{"ReturnType":"Tuple","Arguments":[{"Type":"bool","Name":"clearHighwaterMark","Default":"true"}],"Name":"GetHeapStats","tags":["RobloxScriptSecurity"],"Class":"ScriptContext","type":"Function"},{"ReturnType":"Array","Arguments":[],"Name":"GetScriptStats","tags":["RobloxScriptSecurity"],"Class":"ScriptContext","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"enable","Default":"false"}],"Name":"SetCollectScriptStats","tags":["RobloxScriptSecurity"],"Class":"ScriptContext","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"double","Name":"seconds","Default":null}],"Name":"SetTimeout","tags":["PluginSecurity"],"Class":"ScriptContext","type":"Function"},{"Arguments":[{"Name":"object","Type":"Instance"},{"Name":"member","Type":"string"},{"Name":"script","Type":"Instance"}],"Name":"CamelCaseViolation","tags":["RobloxScriptSecurity"],"Class":"ScriptContext","type":"Event"},{"Arguments":[{"Name":"message","Type":"string"},{"Name":"stackTrace","Type":"string"},{"Name":"script","Type":"Instance"}],"Name":"Error","tags":[],"Class":"ScriptContext","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"ScriptDebugger","tags":["notCreatable"]},{"ValueType":"int","type":"Property","Name":"CurrentLine","tags":["readonly"],"Class":"ScriptDebugger"},{"ValueType":"bool","type":"Property","Name":"IsDebugging","tags":["readonly"],"Class":"ScriptDebugger"},{"ValueType":"bool","type":"Property","Name":"IsPaused","tags":["readonly"],"Class":"ScriptDebugger"},{"ValueType":"Object","type":"Property","Name":"Script","tags":["readonly"],"Class":"ScriptDebugger"},{"ReturnType":"Instance","Arguments":[{"Type":"string","Name":"expression","Default":null}],"Name":"AddWatch","tags":[],"Class":"ScriptDebugger","type":"Function"},{"ReturnType":"Objects","Arguments":[],"Name":"GetBreakpoints","tags":[],"Class":"ScriptDebugger","type":"Function"},{"ReturnType":"Map","Arguments":[],"Name":"GetGlobals","tags":[],"Class":"ScriptDebugger","type":"Function"},{"ReturnType":"Map","Arguments":[{"Type":"int","Name":"stackFrame","Default":"0"}],"Name":"GetLocals","tags":[],"Class":"ScriptDebugger","type":"Function"},{"ReturnType":"Array","Arguments":[],"Name":"GetStack","tags":[],"Class":"ScriptDebugger","type":"Function"},{"ReturnType":"Map","Arguments":[{"Type":"int","Name":"stackFrame","Default":"0"}],"Name":"GetUpvalues","tags":[],"Class":"ScriptDebugger","type":"Function"},{"ReturnType":"Variant","Arguments":[{"Type":"Instance","Name":"watch","Default":null}],"Name":"GetWatchValue","tags":[],"Class":"ScriptDebugger","type":"Function"},{"ReturnType":"Objects","Arguments":[],"Name":"GetWatches","tags":[],"Class":"ScriptDebugger","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Resume","tags":["deprecated"],"Class":"ScriptDebugger","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"int","Name":"line","Default":null}],"Name":"SetBreakpoint","tags":[],"Class":"ScriptDebugger","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"name","Default":null},{"Type":"Variant","Name":"value","Default":null}],"Name":"SetGlobal","tags":[],"Class":"ScriptDebugger","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"name","Default":null},{"Type":"Variant","Name":"value","Default":null},{"Type":"int","Name":"stackFrame","Default":"0"}],"Name":"SetLocal","tags":[],"Class":"ScriptDebugger","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"name","Default":null},{"Type":"Variant","Name":"value","Default":null},{"Type":"int","Name":"stackFrame","Default":"0"}],"Name":"SetUpvalue","tags":[],"Class":"ScriptDebugger","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"StepIn","tags":["deprecated"],"Class":"ScriptDebugger","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"StepOut","tags":["deprecated"],"Class":"ScriptDebugger","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"StepOver","tags":["deprecated"],"Class":"ScriptDebugger","type":"Function"},{"Arguments":[{"Name":"breakpoint","Type":"Instance"}],"Name":"BreakpointAdded","tags":[],"Class":"ScriptDebugger","type":"Event"},{"Arguments":[{"Name":"breakpoint","Type":"Instance"}],"Name":"BreakpointRemoved","tags":[],"Class":"ScriptDebugger","type":"Event"},{"Arguments":[{"Name":"line","Type":"int"}],"Name":"EncounteredBreak","tags":[],"Class":"ScriptDebugger","type":"Event"},{"Arguments":[],"Name":"Resuming","tags":[],"Class":"ScriptDebugger","type":"Event"},{"Arguments":[{"Name":"watch","Type":"Instance"}],"Name":"WatchAdded","tags":[],"Class":"ScriptDebugger","type":"Event"},{"Arguments":[{"Name":"watch","Type":"Instance"}],"Name":"WatchRemoved","tags":[],"Class":"ScriptDebugger","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"ScriptInformationProvider","tags":[]},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"access","Default":null}],"Name":"SetAccessKey","tags":["RobloxSecurity"],"Class":"ScriptInformationProvider","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetAssetUrl","tags":["LocalUserSecurity"],"Class":"ScriptInformationProvider","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"ScriptService","tags":[]},{"Superclass":"Instance","type":"Class","Name":"Selection","tags":[]},{"ReturnType":"Objects","Arguments":[],"Name":"Get","tags":["PluginSecurity"],"Class":"Selection","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Objects","Name":"selection","Default":null}],"Name":"Set","tags":["PluginSecurity"],"Class":"Selection","type":"Function"},{"Arguments":[],"Name":"SelectionChanged","tags":[],"Class":"Selection","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"ServerScriptService","tags":["notCreatable"]},{"Superclass":"Instance","type":"Class","Name":"ServerStorage","tags":["notCreatable"]},{"Superclass":"Instance","type":"Class","Name":"ServiceProvider","tags":["notbrowsable"]},{"ReturnType":"Instance","Arguments":[{"Type":"string","Name":"className","Default":null}],"Name":"FindService","tags":[],"Class":"ServiceProvider","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"string","Name":"className","Default":null}],"Name":"GetService","tags":[],"Class":"ServiceProvider","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"string","Name":"className","Default":null}],"Name":"getService","tags":["deprecated"],"Class":"ServiceProvider","type":"Function"},{"ReturnType":"Instance","Arguments":[{"Type":"string","Name":"className","Default":null}],"Name":"service","tags":["deprecated"],"Class":"ServiceProvider","type":"Function"},{"Arguments":[],"Name":"Close","tags":[],"Class":"ServiceProvider","type":"Event"},{"Arguments":[],"Name":"CloseLate","tags":["LocalUserSecurity"],"Class":"ServiceProvider","type":"Event"},{"Arguments":[{"Name":"service","Type":"Instance"}],"Name":"ServiceAdded","tags":[],"Class":"ServiceProvider","type":"Event"},{"Arguments":[{"Name":"service","Type":"Instance"}],"Name":"ServiceRemoving","tags":[],"Class":"ServiceProvider","type":"Event"},{"Superclass":"ServiceProvider","type":"Class","Name":"DataModel","tags":[]},{"ValueType":"int","type":"Property","Name":"CreatorId","tags":["readonly"],"Class":"DataModel"},{"ValueType":"CreatorType","type":"Property","Name":"CreatorType","tags":["readonly"],"Class":"DataModel"},{"ValueType":"GearGenreSetting","type":"Property","Name":"GearGenreSetting","tags":["readonly"],"Class":"DataModel"},{"ValueType":"Genre","type":"Property","Name":"Genre","tags":["readonly"],"Class":"DataModel"},{"ValueType":"bool","type":"Property","Name":"IsPersonalServer","tags":["RobloxScriptSecurity"],"Class":"DataModel"},{"ValueType":"string","type":"Property","Name":"JobId","tags":["readonly"],"Class":"DataModel"},{"ValueType":"bool","type":"Property","Name":"LocalSaveEnabled","tags":["RobloxScriptSecurity","readonly"],"Class":"DataModel"},{"ValueType":"int","type":"Property","Name":"PlaceId","tags":["readonly"],"Class":"DataModel"},{"ValueType":"int","type":"Property","Name":"PlaceVersion","tags":["readonly"],"Class":"DataModel"},{"ValueType":"string","type":"Property","Name":"VIPServerId","tags":["readonly"],"Class":"DataModel"},{"ValueType":"int","type":"Property","Name":"VIPServerOwnerId","tags":["readonly"],"Class":"DataModel"},{"ValueType":"Object","type":"Property","Name":"Workspace","tags":["readonly"],"Class":"DataModel"},{"ValueType":"Object","type":"Property","Name":"lighting","tags":["deprecated","readonly"],"Class":"DataModel"},{"ValueType":"Object","type":"Property","Name":"workspace","tags":["deprecated","readonly"],"Class":"DataModel"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"displayName","Default":null},{"Type":"string","Name":"stat","Default":null}],"Name":"AddStat","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"ClearMessage","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"localSave","Default":null}],"Name":"FinishShutdown","tags":["RobloxScriptSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"double","Arguments":[{"Type":"string","Name":"jobname","Default":null},{"Type":"double","Name":"greaterThan","Default":null}],"Name":"GetJobIntervalPeakFraction","tags":["PluginSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"double","Arguments":[{"Type":"string","Name":"jobname","Default":null},{"Type":"double","Name":"greaterThan","Default":null}],"Name":"GetJobTimePeakFraction","tags":["PluginSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"Array","Arguments":[],"Name":"GetJobsExtendedStats","tags":["PluginSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"Array","Arguments":[],"Name":"GetJobsInfo","tags":["PluginSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"string","Arguments":[],"Name":"GetMessage","tags":[],"Class":"DataModel","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"GetRemoteBuildMode","tags":[],"Class":"DataModel","type":"Function"},{"ReturnType":"string","Arguments":[{"Type":"string","Name":"url","Default":null},{"Type":"bool","Name":"synchronous","Default":"false"}],"Name":"HttpGet","tags":["RobloxScriptSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"string","Arguments":[{"Type":"string","Name":"url","Default":null},{"Type":"string","Name":"data","Default":null},{"Type":"bool","Name":"synchronous","Default":"false"},{"Type":"string","Name":"contentType","Default":"*/*"}],"Name":"HttpPost","tags":["RobloxScriptSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"GearType","Name":"gearType","Default":null}],"Name":"IsGearTypeAllowed","tags":[],"Class":"DataModel","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"IsLoaded","tags":[],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Content","Name":"url","Default":null}],"Name":"Load","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"assetID","Default":null}],"Name":"LoadGame","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"LoadPlugins","tags":["RobloxSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"assetID","Default":null}],"Name":"LoadWorld","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"stat","Default":null}],"Name":"RemoveStat","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"category","Default":null},{"Type":"string","Name":"action","Default":"custom"},{"Type":"string","Name":"label","Default":"none"},{"Type":"int","Name":"value","Default":"0"}],"Name":"ReportInGoogleAnalytics","tags":["RobloxScriptSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"id","Default":null},{"Type":"string","Name":"key1","Default":null},{"Type":"string","Name":"value1","Default":null},{"Type":"string","Name":"key2","Default":null},{"Type":"string","Name":"value2","Default":null}],"Name":"ReportMeasurement","tags":["RobloxScriptSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Content","Name":"url","Default":null}],"Name":"Save","tags":["RobloxSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"SaveStats","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"ServerSave","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"creatorID","Default":null},{"Type":"CreatorType","Name":"creatorType","Default":null}],"Name":"SetCreatorID","tags":["PluginSecurity","deprecated"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"creatorId","Default":null},{"Type":"CreatorType","Name":"creatorType","Default":null}],"Name":"SetCreatorId","tags":["PluginSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"GearGenreSetting","Name":"genreRestriction","Default":null},{"Type":"int","Name":"allowedGenres","Default":null}],"Name":"SetGearSettings","tags":["PluginSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Genre","Name":"genre","Default":null}],"Name":"SetGenre","tags":["PluginSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"double","Name":"seconds","Default":null}],"Name":"SetJobsExtendedStatsWindow","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"message","Default":null}],"Name":"SetMessage","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"SetMessageBrickCount","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"placeID","Default":null},{"Type":"bool","Name":"robloxPlace","Default":"false"}],"Name":"SetPlaceID","tags":["PluginSecurity","deprecated"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"placeId","Default":null},{"Type":"bool","Name":"robloxPlace","Default":"false"}],"Name":"SetPlaceId","tags":["PluginSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"placeId","Default":null}],"Name":"SetPlaceVersion","tags":["PluginSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"buildModeEnabled","Default":null}],"Name":"SetRemoteBuildMode","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"info","Default":null}],"Name":"SetScreenshotInfo","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetServerSaveUrl","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"universeId","Default":null}],"Name":"SetUniverseId","tags":["PluginSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"newId","Default":null}],"Name":"SetVIPServerId","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"newId","Default":null}],"Name":"SetVIPServerOwnerId","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"info","Default":null}],"Name":"SetVideoInfo","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Shutdown","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"ToggleTools","tags":["LocalUserSecurity"],"Class":"DataModel","type":"Function"},{"ReturnType":"string","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"HttpGetAsync","tags":["RobloxScriptSecurity"],"Class":"DataModel","type":"YieldFunction"},{"ReturnType":"string","Arguments":[{"Type":"string","Name":"url","Default":null},{"Type":"string","Name":"data","Default":null},{"Type":"string","Name":"contentType","Default":"*/*"}],"Name":"HttpPostAsync","tags":["RobloxScriptSecurity"],"Class":"DataModel","type":"YieldFunction"},{"ReturnType":"bool","Arguments":[{"Type":"SaveFilter","Name":"saveFilter","Default":"SaveAll"}],"Name":"SavePlace","tags":[],"Class":"DataModel","type":"YieldFunction"},{"ReturnType":"bool","Arguments":[],"Name":"SaveToRoblox","tags":["RobloxScriptSecurity"],"Class":"DataModel","type":"YieldFunction"},{"Arguments":[],"Name":"AllowedGearTypeChanged","tags":[],"Class":"DataModel","type":"Event"},{"Arguments":[{"Name":"betterQuality","Type":"bool"}],"Name":"GraphicsQualityChangeRequest","tags":[],"Class":"DataModel","type":"Event"},{"Arguments":[{"Name":"object","Type":"Instance"},{"Name":"descriptor","Type":"Property"}],"Name":"ItemChanged","tags":[],"Class":"DataModel","type":"Event"},{"Arguments":[],"Name":"Loaded","tags":[],"Class":"DataModel","type":"Event"},{"ReturnType":"Tuple","Arguments":[],"Name":"OnClose","tags":[],"Class":"DataModel","type":"Callback"},{"ReturnType":"bool","Arguments":[],"Name":"RequestShutdown","tags":["RobloxScriptSecurity","noyield"],"Class":"DataModel","type":"Callback"},{"Superclass":"ServiceProvider","type":"Class","Name":"GenericSettings","tags":[]},{"Superclass":"GenericSettings","type":"Class","Name":"GlobalSettings","tags":["notbrowsable"]},{"ReturnType":"bool","Arguments":[{"Type":"string","Name":"name","Default":null}],"Name":"GetFFlag","tags":[],"Class":"GlobalSettings","type":"Function"},{"ReturnType":"string","Arguments":[{"Type":"string","Name":"name","Default":null}],"Name":"GetFVariable","tags":[],"Class":"GlobalSettings","type":"Function"},{"ReturnType":"Dictionary","Arguments":[],"Name":"GetFVariables","tags":["RobloxScriptSecurity"],"Class":"GlobalSettings","type":"Function"},{"Superclass":"GenericSettings","type":"Class","Name":"UserSettings","tags":[]},{"ReturnType":"bool","Arguments":[{"Type":"string","Name":"name","Default":null}],"Name":"IsUserFeatureEnabled","tags":[],"Class":"UserSettings","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Reset","tags":[],"Class":"UserSettings","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"Sky","tags":[]},{"ValueType":"bool","type":"Property","Name":"CelestialBodiesShown","tags":[],"Class":"Sky"},{"ValueType":"Content","type":"Property","Name":"SkyboxBk","tags":[],"Class":"Sky"},{"ValueType":"Content","type":"Property","Name":"SkyboxDn","tags":[],"Class":"Sky"},{"ValueType":"Content","type":"Property","Name":"SkyboxFt","tags":[],"Class":"Sky"},{"ValueType":"Content","type":"Property","Name":"SkyboxLf","tags":[],"Class":"Sky"},{"ValueType":"Content","type":"Property","Name":"SkyboxRt","tags":[],"Class":"Sky"},{"ValueType":"Content","type":"Property","Name":"SkyboxUp","tags":[],"Class":"Sky"},{"ValueType":"int","type":"Property","Name":"StarCount","tags":[],"Class":"Sky"},{"Superclass":"Instance","type":"Class","Name":"Smoke","tags":[]},{"ValueType":"Color3","type":"Property","Name":"Color","tags":[],"Class":"Smoke"},{"ValueType":"bool","type":"Property","Name":"Enabled","tags":[],"Class":"Smoke"},{"ValueType":"float","type":"Property","Name":"Opacity","tags":[],"Class":"Smoke"},{"ValueType":"float","type":"Property","Name":"RiseVelocity","tags":[],"Class":"Smoke"},{"ValueType":"float","type":"Property","Name":"Size","tags":[],"Class":"Smoke"},{"Superclass":"Instance","type":"Class","Name":"SocialService","tags":[]},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"bestFriendUrl","Default":null}],"Name":"SetBestFriendUrl","tags":["LocalUserSecurity"],"Class":"SocialService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"friendUrl","Default":null}],"Name":"SetFriendUrl","tags":["LocalUserSecurity"],"Class":"SocialService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"groupRankUrl","Default":null}],"Name":"SetGroupRankUrl","tags":["LocalUserSecurity"],"Class":"SocialService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"groupRoleUrl","Default":null}],"Name":"SetGroupRoleUrl","tags":["LocalUserSecurity"],"Class":"SocialService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"groupUrl","Default":null}],"Name":"SetGroupUrl","tags":["LocalUserSecurity"],"Class":"SocialService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"stuffUrl","Default":null}],"Name":"SetPackageContentsUrl","tags":["LocalUserSecurity"],"Class":"SocialService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"stuffUrl","Default":null}],"Name":"SetStuffUrl","tags":["LocalUserSecurity"],"Class":"SocialService","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"Sound","tags":[]},{"ValueType":"bool","type":"Property","Name":"IsPaused","tags":["readonly"],"Class":"Sound"},{"ValueType":"bool","type":"Property","Name":"IsPlaying","tags":["readonly"],"Class":"Sound"},{"ValueType":"bool","type":"Property","Name":"Looped","tags":[],"Class":"Sound"},{"ValueType":"float","type":"Property","Name":"MaxDistance","tags":[],"Class":"Sound"},{"ValueType":"float","type":"Property","Name":"MinDistance","tags":[],"Class":"Sound"},{"ValueType":"float","type":"Property","Name":"Pitch","tags":[],"Class":"Sound"},{"ValueType":"bool","type":"Property","Name":"PlayOnRemove","tags":[],"Class":"Sound"},{"ValueType":"Content","type":"Property","Name":"SoundId","tags":[],"Class":"Sound"},{"ValueType":"double","type":"Property","Name":"TimeLength","tags":["readonly"],"Class":"Sound"},{"ValueType":"double","type":"Property","Name":"TimePosition","tags":[],"Class":"Sound"},{"ValueType":"float","type":"Property","Name":"Volume","tags":[],"Class":"Sound"},{"ValueType":"bool","type":"Property","Name":"isPlaying","tags":["deprecated","readonly"],"Class":"Sound"},{"ReturnType":"void","Arguments":[],"Name":"Pause","tags":[],"Class":"Sound","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Play","tags":[],"Class":"Sound","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Resume","tags":[],"Class":"Sound","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Stop","tags":[],"Class":"Sound","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"pause","tags":["deprecated"],"Class":"Sound","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"play","tags":["deprecated"],"Class":"Sound","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"stop","tags":["deprecated"],"Class":"Sound","type":"Function"},{"Arguments":[{"Name":"soundId","Type":"string"},{"Name":"numOfTimesLooped","Type":"int"}],"Name":"DidLoop","tags":[],"Class":"Sound","type":"Event"},{"Arguments":[{"Name":"soundId","Type":"string"}],"Name":"Ended","tags":[],"Class":"Sound","type":"Event"},{"Arguments":[{"Name":"soundId","Type":"string"}],"Name":"Paused","tags":[],"Class":"Sound","type":"Event"},{"Arguments":[{"Name":"soundId","Type":"string"}],"Name":"Played","tags":[],"Class":"Sound","type":"Event"},{"Arguments":[{"Name":"soundId","Type":"string"}],"Name":"Stopped","tags":[],"Class":"Sound","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"SoundService","tags":["notCreatable"]},{"ValueType":"ReverbType","type":"Property","Name":"AmbientReverb","tags":[],"Class":"SoundService"},{"ValueType":"float","type":"Property","Name":"DistanceFactor","tags":[],"Class":"SoundService"},{"ValueType":"float","type":"Property","Name":"DopplerScale","tags":[],"Class":"SoundService"},{"ValueType":"float","type":"Property","Name":"RolloffScale","tags":[],"Class":"SoundService"},{"ReturnType":"Tuple","Arguments":[],"Name":"GetListener","tags":[],"Class":"SoundService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"SoundType","Name":"sound","Default":null}],"Name":"PlayStockSound","tags":["RobloxScriptSecurity"],"Class":"SoundService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"ListenerType","Name":"listenerType","Default":null},{"Type":"Tuple","Name":"listener","Default":null}],"Name":"SetListener","tags":[],"Class":"SoundService","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"Sparkles","tags":[]},{"ValueType":"Color3","type":"Property","Name":"Color","tags":["hidden"],"Class":"Sparkles"},{"ValueType":"bool","type":"Property","Name":"Enabled","tags":[],"Class":"Sparkles"},{"ValueType":"Color3","type":"Property","Name":"SparkleColor","tags":[],"Class":"Sparkles"},{"Superclass":"Instance","type":"Class","Name":"SpawnerService","tags":[]},{"Superclass":"Instance","type":"Class","Name":"StarterGear","tags":[]},{"Superclass":"Instance","type":"Class","Name":"StarterPlayer","tags":[]},{"ValueType":"bool","type":"Property","Name":"AutoJumpEnabled","tags":[],"Class":"StarterPlayer"},{"ValueType":"float","type":"Property","Name":"CameraMaxZoomDistance","tags":[],"Class":"StarterPlayer"},{"ValueType":"float","type":"Property","Name":"CameraMinZoomDistance","tags":[],"Class":"StarterPlayer"},{"ValueType":"CameraMode","type":"Property","Name":"CameraMode","tags":[],"Class":"StarterPlayer"},{"ValueType":"DevCameraOcclusionMode","type":"Property","Name":"DevCameraOcclusionMode","tags":[],"Class":"StarterPlayer"},{"ValueType":"DevComputerCameraMovementMode","type":"Property","Name":"DevComputerCameraMovementMode","tags":[],"Class":"StarterPlayer"},{"ValueType":"DevComputerMovementMode","type":"Property","Name":"DevComputerMovementMode","tags":[],"Class":"StarterPlayer"},{"ValueType":"DevTouchCameraMovementMode","type":"Property","Name":"DevTouchCameraMovementMode","tags":[],"Class":"StarterPlayer"},{"ValueType":"DevTouchMovementMode","type":"Property","Name":"DevTouchMovementMode","tags":[],"Class":"StarterPlayer"},{"ValueType":"bool","type":"Property","Name":"EnableMouseLockOption","tags":[],"Class":"StarterPlayer"},{"ValueType":"float","type":"Property","Name":"HealthDisplayDistance","tags":[],"Class":"StarterPlayer"},{"ValueType":"bool","type":"Property","Name":"LoadCharacterAppearance","tags":[],"Class":"StarterPlayer"},{"ValueType":"float","type":"Property","Name":"NameDisplayDistance","tags":[],"Class":"StarterPlayer"},{"Superclass":"Instance","type":"Class","Name":"StarterPlayerScripts","tags":[]},{"Superclass":"StarterPlayerScripts","type":"Class","Name":"StarterCharacterScripts","tags":[]},{"Superclass":"Instance","type":"Class","Name":"Stats","tags":["notCreatable"]},{"ValueType":"double","type":"Property","Name":"MinReportInterval","tags":["RobloxScriptSecurity"],"Class":"Stats"},{"ValueType":"string","type":"Property","Name":"ReporterType","tags":["RobloxScriptSecurity"],"Class":"Stats"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"category","Default":null},{"Type":"Dictionary","Name":"data","Default":null}],"Name":"Report","tags":["RobloxScriptSecurity"],"Class":"Stats","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"ReportJobsStepWindow","tags":["RobloxScriptSecurity"],"Class":"Stats","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"includeJobs","Default":"false"}],"Name":"ReportTaskScheduler","tags":["RobloxScriptSecurity"],"Class":"Stats","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetReportUrl","tags":["RobloxScriptSecurity"],"Class":"Stats","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"StatsItem","tags":[]},{"ReturnType":"double","Arguments":[],"Name":"GetValue","tags":["PluginSecurity"],"Class":"StatsItem","type":"Function"},{"ReturnType":"string","Arguments":[],"Name":"GetValueString","tags":["PluginSecurity"],"Class":"StatsItem","type":"Function"},{"Superclass":"StatsItem","type":"Class","Name":"ProfilingItem","tags":[]},{"ReturnType":"Tuple","Arguments":[{"Type":"double","Name":"window","Default":"0"}],"Name":"GetTimes","tags":["PluginSecurity"],"Class":"ProfilingItem","type":"Function"},{"ReturnType":"Tuple","Arguments":[{"Type":"int","Name":"frames","Default":"1"}],"Name":"GetTimesForFrames","tags":["PluginSecurity"],"Class":"ProfilingItem","type":"Function"},{"Superclass":"StatsItem","type":"Class","Name":"RunningAverageItemDouble","tags":[]},{"Superclass":"StatsItem","type":"Class","Name":"RunningAverageItemInt","tags":[]},{"Superclass":"StatsItem","type":"Class","Name":"RunningAverageTimeIntervalItem","tags":[]},{"Superclass":"StatsItem","type":"Class","Name":"TotalCountTimeIntervalItem","tags":[]},{"Superclass":"Instance","type":"Class","Name":"StringValue","tags":[]},{"ValueType":"string","type":"Property","Name":"Value","tags":[],"Class":"StringValue"},{"Arguments":[{"Name":"value","Type":"string"}],"Name":"Changed","tags":[],"Class":"StringValue","type":"Event"},{"Arguments":[{"Name":"value","Type":"string"}],"Name":"changed","tags":["deprecated"],"Class":"StringValue","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"StudioTool","tags":[]},{"ValueType":"bool","type":"Property","Name":"Enabled","tags":[],"Class":"StudioTool"},{"Arguments":[],"Name":"Activated","tags":[],"Class":"StudioTool","type":"Event"},{"Arguments":[],"Name":"Deactivated","tags":[],"Class":"StudioTool","type":"Event"},{"Arguments":[{"Name":"mouse","Type":"Instance"}],"Name":"Equipped","tags":[],"Class":"StudioTool","type":"Event"},{"Arguments":[],"Name":"Unequipped","tags":[],"Class":"StudioTool","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"TaskScheduler","tags":[]},{"ValueType":"bool","type":"Property","Name":"AreArbitersThrottled","tags":[],"Class":"TaskScheduler"},{"ValueType":"ConcurrencyModel","type":"Property","Name":"Concurrency","tags":[],"Class":"TaskScheduler"},{"ValueType":"double","type":"Property","Name":"NumRunningJobs","tags":["readonly"],"Class":"TaskScheduler"},{"ValueType":"double","type":"Property","Name":"NumSleepingJobs","tags":["readonly"],"Class":"TaskScheduler"},{"ValueType":"double","type":"Property","Name":"NumWaitingJobs","tags":["readonly"],"Class":"TaskScheduler"},{"ValueType":"PriorityMethod","type":"Property","Name":"PriorityMethod","tags":[],"Class":"TaskScheduler"},{"ValueType":"double","type":"Property","Name":"SchedulerDutyCycle","tags":["readonly"],"Class":"TaskScheduler"},{"ValueType":"double","type":"Property","Name":"SchedulerRate","tags":["readonly"],"Class":"TaskScheduler"},{"ValueType":"SleepAdjustMethod","type":"Property","Name":"SleepAdjustMethod","tags":[],"Class":"TaskScheduler"},{"ValueType":"double","type":"Property","Name":"ThreadAffinity","tags":["readonly"],"Class":"TaskScheduler"},{"ValueType":"ThreadPoolConfig","type":"Property","Name":"ThreadPoolConfig","tags":[],"Class":"TaskScheduler"},{"ValueType":"int","type":"Property","Name":"ThreadPoolSize","tags":["readonly"],"Class":"TaskScheduler"},{"ValueType":"double","type":"Property","Name":"ThrottledJobSleepTime","tags":[],"Class":"TaskScheduler"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"exclusive","Default":"true"},{"Type":"double","Name":"fps","Default":"30"}],"Name":"AddDummyJob","tags":["LocalUserSecurity"],"Class":"TaskScheduler","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"double","Name":"timeSlice","Default":null},{"Type":"int","Name":"numShare","Default":null}],"Name":"SetThreadShare","tags":["LocalUserSecurity","deprecated"],"Class":"TaskScheduler","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"Team","tags":[]},{"ValueType":"bool","type":"Property","Name":"AutoAssignable","tags":[],"Class":"Team"},{"ValueType":"bool","type":"Property","Name":"AutoColorCharacters","tags":["deprecated"],"Class":"Team"},{"ValueType":"int","type":"Property","Name":"Score","tags":["deprecated"],"Class":"Team"},{"ValueType":"BrickColor","type":"Property","Name":"TeamColor","tags":[],"Class":"Team"},{"Superclass":"Instance","type":"Class","Name":"Teams","tags":["notCreatable"]},{"ReturnType":"Objects","Arguments":[],"Name":"GetTeams","tags":[],"Class":"Teams","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"RebalanceTeams","tags":["deprecated"],"Class":"Teams","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"TeleportService","tags":[]},{"ValueType":"bool","type":"Property","Name":"CustomizedTeleportUI","tags":["deprecated"],"Class":"TeleportService"},{"ReturnType":"Variant","Arguments":[],"Name":"GetLocalPlayerTeleportData","tags":[],"Class":"TeleportService","type":"Function"},{"ReturnType":"Variant","Arguments":[{"Type":"string","Name":"setting","Default":null}],"Name":"GetTeleportSetting","tags":[],"Class":"TeleportService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"setting","Default":null},{"Type":"Variant","Name":"value","Default":null}],"Name":"SetTeleportSetting","tags":[],"Class":"TeleportService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"placeId","Default":null},{"Type":"Instance","Name":"player","Default":"nil"},{"Type":"Variant","Name":"teleportData","Default":null},{"Type":"Instance","Name":"customLoadingScreen","Default":"nil"}],"Name":"Teleport","tags":[],"Class":"TeleportService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"TeleportCancel","tags":["RobloxScriptSecurity"],"Class":"TeleportService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"placeId","Default":null},{"Type":"string","Name":"instanceId","Default":null},{"Type":"Instance","Name":"player","Default":"nil"},{"Type":"string","Name":"spawnName","Default":""},{"Type":"Variant","Name":"teleportData","Default":null},{"Type":"Instance","Name":"customLoadingScreen","Default":"nil"}],"Name":"TeleportToPlaceInstance","tags":[],"Class":"TeleportService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"placeId","Default":null},{"Type":"string","Name":"reservedServerAccessCode","Default":null},{"Type":"Objects","Name":"players","Default":null},{"Type":"string","Name":"spawnName","Default":""},{"Type":"Variant","Name":"teleportData","Default":null},{"Type":"Instance","Name":"customLoadingScreen","Default":"nil"}],"Name":"TeleportToPrivateServer","tags":[],"Class":"TeleportService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"int","Name":"placeId","Default":null},{"Type":"string","Name":"spawnName","Default":null},{"Type":"Instance","Name":"player","Default":"nil"},{"Type":"Variant","Name":"teleportData","Default":null},{"Type":"Instance","Name":"customLoadingScreen","Default":"nil"}],"Name":"TeleportToSpawnByName","tags":[],"Class":"TeleportService","type":"Function"},{"ReturnType":"Tuple","Arguments":[{"Type":"int","Name":"userId","Default":null}],"Name":"GetPlayerPlaceInstanceAsync","tags":[],"Class":"TeleportService","type":"YieldFunction"},{"ReturnType":"string","Arguments":[{"Type":"int","Name":"placeId","Default":null}],"Name":"ReserveServer","tags":[],"Class":"TeleportService","type":"YieldFunction"},{"Arguments":[{"Name":"loadingGui","Type":"Instance"},{"Name":"dataTable","Type":"Variant"}],"Name":"LocalPlayerArrivedFromTeleport","tags":[],"Class":"TeleportService","type":"Event"},{"ReturnType":"bool","Arguments":[{"Name":"message","Type":"string"},{"Name":"placeId","Type":"int"},{"Name":"spawnName","Type":"string"}],"Name":"ConfirmationCallback","tags":["RobloxScriptSecurity","noyield"],"Class":"TeleportService","type":"Callback"},{"ReturnType":"void","Arguments":[{"Name":"message","Type":"string"}],"Name":"ErrorCallback","tags":["RobloxScriptSecurity","noyield"],"Class":"TeleportService","type":"Callback"},{"Superclass":"Instance","type":"Class","Name":"TerrainRegion","tags":[]},{"ValueType":"bool","type":"Property","Name":"IsSmooth","tags":["readonly"],"Class":"TerrainRegion"},{"ValueType":"Vector3","type":"Property","Name":"SizeInCells","tags":["readonly"],"Class":"TerrainRegion"},{"ReturnType":"void","Arguments":[],"Name":"ConvertToSmooth","tags":["PluginSecurity"],"Class":"TerrainRegion","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"TestService","tags":[]},{"ValueType":"bool","type":"Property","Name":"AutoRuns","tags":[],"Class":"TestService"},{"ValueType":"string","type":"Property","Name":"Description","tags":[],"Class":"TestService"},{"ValueType":"int","type":"Property","Name":"ErrorCount","tags":["readonly"],"Class":"TestService"},{"ValueType":"bool","type":"Property","Name":"Is30FpsThrottleEnabled","tags":[],"Class":"TestService"},{"ValueType":"bool","type":"Property","Name":"IsPhysicsEnvironmentalThrottled","tags":[],"Class":"TestService"},{"ValueType":"bool","type":"Property","Name":"IsSleepAllowed","tags":[],"Class":"TestService"},{"ValueType":"int","type":"Property","Name":"NumberOfPlayers","tags":[],"Class":"TestService"},{"ValueType":"double","type":"Property","Name":"SimulateSecondsLag","tags":[],"Class":"TestService"},{"ValueType":"int","type":"Property","Name":"TestCount","tags":["readonly"],"Class":"TestService"},{"ValueType":"double","type":"Property","Name":"Timeout","tags":[],"Class":"TestService"},{"ValueType":"int","type":"Property","Name":"WarnCount","tags":["readonly"],"Class":"TestService"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"condition","Default":null},{"Type":"string","Name":"description","Default":null},{"Type":"Instance","Name":"source","Default":"nil"},{"Type":"int","Name":"line","Default":"0"}],"Name":"Check","tags":[],"Class":"TestService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"text","Default":null},{"Type":"Instance","Name":"source","Default":"nil"},{"Type":"int","Name":"line","Default":"0"}],"Name":"Checkpoint","tags":[],"Class":"TestService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Done","tags":[],"Class":"TestService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"description","Default":null},{"Type":"Instance","Name":"source","Default":"nil"},{"Type":"int","Name":"line","Default":"0"}],"Name":"Error","tags":[],"Class":"TestService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"description","Default":null},{"Type":"Instance","Name":"source","Default":"nil"},{"Type":"int","Name":"line","Default":"0"}],"Name":"Fail","tags":[],"Class":"TestService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"text","Default":null},{"Type":"Instance","Name":"source","Default":"nil"},{"Type":"int","Name":"line","Default":"0"}],"Name":"Message","tags":[],"Class":"TestService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"condition","Default":null},{"Type":"string","Name":"description","Default":null},{"Type":"Instance","Name":"source","Default":"nil"},{"Type":"int","Name":"line","Default":"0"}],"Name":"Require","tags":[],"Class":"TestService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"bool","Name":"condition","Default":null},{"Type":"string","Name":"description","Default":null},{"Type":"Instance","Name":"source","Default":"nil"},{"Type":"int","Name":"line","Default":"0"}],"Name":"Warn","tags":[],"Class":"TestService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"Run","tags":["PluginSecurity"],"Class":"TestService","type":"YieldFunction"},{"Arguments":[{"Name":"condition","Type":"bool"},{"Name":"text","Type":"string"},{"Name":"script","Type":"Instance"},{"Name":"line","Type":"int"}],"Name":"ServerCollectConditionalResult","tags":[],"Class":"TestService","type":"Event"},{"Arguments":[{"Name":"text","Type":"string"},{"Name":"script","Type":"Instance"},{"Name":"line","Type":"int"}],"Name":"ServerCollectResult","tags":[],"Class":"TestService","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"TextService","tags":["notCreatable"]},{"ReturnType":"Vector2","Arguments":[{"Type":"string","Name":"string","Default":null},{"Type":"int","Name":"fontSize","Default":null},{"Type":"Font","Name":"font","Default":null},{"Type":"Vector2","Name":"frameSize","Default":null}],"Name":"GetTextSize","tags":["RobloxScriptSecurity"],"Class":"TextService","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"TimerService","tags":["notCreatable"]},{"Superclass":"Instance","type":"Class","Name":"Toolbar","tags":[]},{"ReturnType":"Instance","Arguments":[{"Type":"string","Name":"text","Default":null},{"Type":"string","Name":"tooltip","Default":null},{"Type":"string","Name":"iconname","Default":null}],"Name":"CreateButton","tags":["PluginSecurity"],"Class":"Toolbar","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"TouchInputService","tags":[]},{"Superclass":"Instance","type":"Class","Name":"TouchTransmitter","tags":["notCreatable","notbrowsable"]},{"Superclass":"Instance","type":"Class","Name":"TweenService","tags":[]},{"Superclass":"Instance","type":"Class","Name":"UserGameSettings","tags":[]},{"ValueType":"bool","type":"Property","Name":"AllTutorialsDisabled","tags":["RobloxScriptSecurity"],"Class":"UserGameSettings"},{"ValueType":"CustomCameraMode","type":"Property","Name":"CameraMode","tags":["RobloxScriptSecurity"],"Class":"UserGameSettings"},{"ValueType":"ComputerCameraMovementMode","type":"Property","Name":"ComputerCameraMovementMode","tags":[],"Class":"UserGameSettings"},{"ValueType":"ComputerMovementMode","type":"Property","Name":"ComputerMovementMode","tags":[],"Class":"UserGameSettings"},{"ValueType":"ControlMode","type":"Property","Name":"ControlMode","tags":[],"Class":"UserGameSettings"},{"ValueType":"bool","type":"Property","Name":"Fullscreen","tags":["RobloxScriptSecurity"],"Class":"UserGameSettings"},{"ValueType":"UploadSetting","type":"Property","Name":"ImageUploadPromptBehavior","tags":["RobloxScriptSecurity"],"Class":"UserGameSettings"},{"ValueType":"float","type":"Property","Name":"MasterVolume","tags":[],"Class":"UserGameSettings"},{"ValueType":"float","type":"Property","Name":"MouseSensitivity","tags":[],"Class":"UserGameSettings"},{"ValueType":"RotationType","type":"Property","Name":"RotationType","tags":[],"Class":"UserGameSettings"},{"ValueType":"SavedQualitySetting","type":"Property","Name":"SavedQualityLevel","tags":[],"Class":"UserGameSettings"},{"ValueType":"TouchCameraMovementMode","type":"Property","Name":"TouchCameraMovementMode","tags":[],"Class":"UserGameSettings"},{"ValueType":"TouchMovementMode","type":"Property","Name":"TouchMovementMode","tags":[],"Class":"UserGameSettings"},{"ValueType":"bool","type":"Property","Name":"UsedHideHudShortcut","tags":["RobloxScriptSecurity"],"Class":"UserGameSettings"},{"ValueType":"int","type":"Property","Name":"VRRotationIntensity","tags":["RobloxScriptSecurity"],"Class":"UserGameSettings"},{"ValueType":"UploadSetting","type":"Property","Name":"VideoUploadPromptBehavior","tags":["RobloxScriptSecurity"],"Class":"UserGameSettings"},{"ReturnType":"bool","Arguments":[{"Type":"string","Name":"tutorialId","Default":null}],"Name":"GetTutorialState","tags":["RobloxScriptSecurity"],"Class":"UserGameSettings","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"InFullScreen","tags":[],"Class":"UserGameSettings","type":"Function"},{"ReturnType":"bool","Arguments":[],"Name":"InStudioMode","tags":[],"Class":"UserGameSettings","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"tutorialId","Default":null},{"Type":"bool","Name":"value","Default":null}],"Name":"SetTutorialState","tags":["RobloxScriptSecurity"],"Class":"UserGameSettings","type":"Function"},{"Arguments":[{"Name":"isFullscreen","Type":"bool"}],"Name":"FullscreenChanged","tags":[],"Class":"UserGameSettings","type":"Event"},{"Arguments":[{"Name":"isStudioMode","Type":"bool"}],"Name":"StudioModeChanged","tags":[],"Class":"UserGameSettings","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"UserInputService","tags":["notCreatable"]},{"ValueType":"bool","type":"Property","Name":"AccelerometerEnabled","tags":["readonly"],"Class":"UserInputService"},{"ValueType":"bool","type":"Property","Name":"GamepadEnabled","tags":["readonly"],"Class":"UserInputService"},{"ValueType":"bool","type":"Property","Name":"GyroscopeEnabled","tags":["readonly"],"Class":"UserInputService"},{"ValueType":"bool","type":"Property","Name":"KeyboardEnabled","tags":["readonly"],"Class":"UserInputService"},{"ValueType":"bool","type":"Property","Name":"ModalEnabled","tags":[],"Class":"UserInputService"},{"ValueType":"MouseBehavior","type":"Property","Name":"MouseBehavior","tags":[],"Class":"UserInputService"},{"ValueType":"bool","type":"Property","Name":"MouseEnabled","tags":["readonly"],"Class":"UserInputService"},{"ValueType":"bool","type":"Property","Name":"MouseIconEnabled","tags":[],"Class":"UserInputService"},{"ValueType":"OverrideMouseIconBehavior","type":"Property","Name":"OverrideMouseIconBehavior","tags":["RobloxScriptSecurity"],"Class":"UserInputService"},{"ValueType":"bool","type":"Property","Name":"TouchEnabled","tags":["readonly"],"Class":"UserInputService"},{"ValueType":"CoordinateFrame","type":"Property","Name":"UserHeadCFrame","tags":["deprecated","readonly"],"Class":"UserInputService"},{"ValueType":"bool","type":"Property","Name":"VREnabled","tags":["readonly"],"Class":"UserInputService"},{"ReturnType":"bool","Arguments":[{"Type":"UserInputType","Name":"gamepadNum","Default":null},{"Type":"KeyCode","Name":"gamepadKeyCode","Default":null}],"Name":"GamepadSupports","tags":[],"Class":"UserInputService","type":"Function"},{"ReturnType":"Array","Arguments":[],"Name":"GetConnectedGamepads","tags":[],"Class":"UserInputService","type":"Function"},{"ReturnType":"Instance","Arguments":[],"Name":"GetDeviceAcceleration","tags":[],"Class":"UserInputService","type":"Function"},{"ReturnType":"Instance","Arguments":[],"Name":"GetDeviceGravity","tags":[],"Class":"UserInputService","type":"Function"},{"ReturnType":"Tuple","Arguments":[],"Name":"GetDeviceRotation","tags":[],"Class":"UserInputService","type":"Function"},{"ReturnType":"Instance","Arguments":[],"Name":"GetFocusedTextBox","tags":[],"Class":"UserInputService","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"UserInputType","Name":"gamepadNum","Default":null}],"Name":"GetGamepadConnected","tags":[],"Class":"UserInputService","type":"Function"},{"ReturnType":"Array","Arguments":[{"Type":"UserInputType","Name":"gamepadNum","Default":null}],"Name":"GetGamepadState","tags":[],"Class":"UserInputService","type":"Function"},{"ReturnType":"Array","Arguments":[],"Name":"GetKeysPressed","tags":[],"Class":"UserInputService","type":"Function"},{"ReturnType":"UserInputType","Arguments":[],"Name":"GetLastInputType","tags":[],"Class":"UserInputService","type":"Function"},{"ReturnType":"Array","Arguments":[],"Name":"GetNavigationGamepads","tags":[],"Class":"UserInputService","type":"Function"},{"ReturnType":"Platform","Arguments":[],"Name":"GetPlatform","tags":["RobloxScriptSecurity"],"Class":"UserInputService","type":"Function"},{"ReturnType":"Array","Arguments":[{"Type":"UserInputType","Name":"gamepadNum","Default":null}],"Name":"GetSupportedGamepadKeyCodes","tags":[],"Class":"UserInputService","type":"Function"},{"ReturnType":"CoordinateFrame","Arguments":[{"Type":"UserCFrame","Name":"type","Default":null}],"Name":"GetUserCFrame","tags":[],"Class":"UserInputService","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"KeyCode","Name":"keyCode","Default":null}],"Name":"IsKeyDown","tags":[],"Class":"UserInputService","type":"Function"},{"ReturnType":"bool","Arguments":[{"Type":"UserInputType","Name":"gamepadEnum","Default":null}],"Name":"IsNavigationGamepad","tags":[],"Class":"UserInputService","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"RecenterUserHeadCFrame","tags":[],"Class":"UserInputService","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"UserInputType","Name":"gamepadEnum","Default":null},{"Type":"bool","Name":"enabled","Default":null}],"Name":"SetNavigationGamepad","tags":[],"Class":"UserInputService","type":"Function"},{"Arguments":[{"Name":"acceleration","Type":"Instance"}],"Name":"DeviceAccelerationChanged","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"gravity","Type":"Instance"}],"Name":"DeviceGravityChanged","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"rotation","Type":"Instance"},{"Name":"cframe","Type":"CoordinateFrame"}],"Name":"DeviceRotationChanged","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"gamepadNum","Type":"UserInputType"}],"Name":"GamepadConnected","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"gamepadNum","Type":"UserInputType"}],"Name":"GamepadDisconnected","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"input","Type":"Instance"},{"Name":"gameProcessedEvent","Type":"bool"}],"Name":"InputBegan","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"input","Type":"Instance"},{"Name":"gameProcessedEvent","Type":"bool"}],"Name":"InputChanged","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"input","Type":"Instance"},{"Name":"gameProcessedEvent","Type":"bool"}],"Name":"InputEnded","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[],"Name":"JumpRequest","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"lastInputType","Type":"UserInputType"}],"Name":"LastInputTypeChanged","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"textboxReleased","Type":"Instance"}],"Name":"TextBoxFocusReleased","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"textboxFocused","Type":"Instance"}],"Name":"TextBoxFocused","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"touch","Type":"Instance"},{"Name":"gameProcessedEvent","Type":"bool"}],"Name":"TouchEnded","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"touchPositions","Type":"Array"},{"Name":"state","Type":"UserInputState"},{"Name":"gameProcessedEvent","Type":"bool"}],"Name":"TouchLongPress","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"touch","Type":"Instance"},{"Name":"gameProcessedEvent","Type":"bool"}],"Name":"TouchMoved","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"touchPositions","Type":"Array"},{"Name":"totalTranslation","Type":"Vector2"},{"Name":"velocity","Type":"Vector2"},{"Name":"state","Type":"UserInputState"},{"Name":"gameProcessedEvent","Type":"bool"}],"Name":"TouchPan","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"touchPositions","Type":"Array"},{"Name":"scale","Type":"float"},{"Name":"velocity","Type":"float"},{"Name":"state","Type":"UserInputState"},{"Name":"gameProcessedEvent","Type":"bool"}],"Name":"TouchPinch","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"touchPositions","Type":"Array"},{"Name":"rotation","Type":"float"},{"Name":"velocity","Type":"float"},{"Name":"state","Type":"UserInputState"},{"Name":"gameProcessedEvent","Type":"bool"}],"Name":"TouchRotate","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"touch","Type":"Instance"},{"Name":"gameProcessedEvent","Type":"bool"}],"Name":"TouchStarted","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"swipeDirection","Type":"SwipeDirection"},{"Name":"numberOfTouches","Type":"int"},{"Name":"gameProcessedEvent","Type":"bool"}],"Name":"TouchSwipe","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"touchPositions","Type":"Array"},{"Name":"gameProcessedEvent","Type":"bool"}],"Name":"TouchTap","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[{"Name":"type","Type":"UserCFrame"},{"Name":"value","Type":"CoordinateFrame"}],"Name":"UserCFrameChanged","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[],"Name":"WindowFocusReleased","tags":[],"Class":"UserInputService","type":"Event"},{"Arguments":[],"Name":"WindowFocused","tags":[],"Class":"UserInputService","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"Vector3Value","tags":[]},{"ValueType":"Vector3","type":"Property","Name":"Value","tags":[],"Class":"Vector3Value"},{"Arguments":[{"Name":"value","Type":"Vector3"}],"Name":"Changed","tags":[],"Class":"Vector3Value","type":"Event"},{"Arguments":[{"Name":"value","Type":"Vector3"}],"Name":"changed","tags":["deprecated"],"Class":"Vector3Value","type":"Event"},{"Superclass":"Instance","type":"Class","Name":"VirtualUser","tags":["notCreatable"]},{"ReturnType":"void","Arguments":[{"Type":"Vector2","Name":"position","Default":null},{"Type":"CoordinateFrame","Name":"camera","Default":"Identity"}],"Name":"Button1Down","tags":["LocalUserSecurity"],"Class":"VirtualUser","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Vector2","Name":"position","Default":null},{"Type":"CoordinateFrame","Name":"camera","Default":"Identity"}],"Name":"Button1Up","tags":["LocalUserSecurity"],"Class":"VirtualUser","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Vector2","Name":"position","Default":null},{"Type":"CoordinateFrame","Name":"camera","Default":"Identity"}],"Name":"Button2Down","tags":["LocalUserSecurity"],"Class":"VirtualUser","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Vector2","Name":"position","Default":null},{"Type":"CoordinateFrame","Name":"camera","Default":"Identity"}],"Name":"Button2Up","tags":["LocalUserSecurity"],"Class":"VirtualUser","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"CaptureController","tags":["LocalUserSecurity"],"Class":"VirtualUser","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Vector2","Name":"position","Default":null},{"Type":"CoordinateFrame","Name":"camera","Default":"Identity"}],"Name":"ClickButton1","tags":["LocalUserSecurity"],"Class":"VirtualUser","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Vector2","Name":"position","Default":null},{"Type":"CoordinateFrame","Name":"camera","Default":"Identity"}],"Name":"ClickButton2","tags":["LocalUserSecurity"],"Class":"VirtualUser","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"Vector2","Name":"position","Default":null},{"Type":"CoordinateFrame","Name":"camera","Default":"Identity"}],"Name":"MoveMouse","tags":["LocalUserSecurity"],"Class":"VirtualUser","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"SetKeyDown","tags":["LocalUserSecurity"],"Class":"VirtualUser","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"SetKeyUp","tags":["LocalUserSecurity"],"Class":"VirtualUser","type":"Function"},{"ReturnType":"void","Arguments":[],"Name":"StartRecording","tags":["LocalUserSecurity"],"Class":"VirtualUser","type":"Function"},{"ReturnType":"string","Arguments":[],"Name":"StopRecording","tags":["LocalUserSecurity"],"Class":"VirtualUser","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"key","Default":null}],"Name":"TypeKey","tags":["LocalUserSecurity"],"Class":"VirtualUser","type":"Function"},{"Superclass":"Instance","type":"Class","Name":"Visit","tags":["notCreatable"]},{"ReturnType":"string","Arguments":[],"Name":"GetUploadUrl","tags":["RobloxSecurity"],"Class":"Visit","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"pingUrl","Default":null},{"Type":"int","Name":"interval","Default":null}],"Name":"SetPing","tags":["RobloxSecurity"],"Class":"Visit","type":"Function"},{"ReturnType":"void","Arguments":[{"Type":"string","Name":"url","Default":null}],"Name":"SetUploadUrl","tags":["RobloxSecurity"],"Class":"Visit","type":"Function"},{"type":"Enum","Name":"AASamples","tags":[]},{"type":"EnumItem","Name":"None","tags":[],"Value":1,"Enum":"AASamples"},{"type":"EnumItem","Name":"4","tags":[],"Value":4,"Enum":"AASamples"},{"type":"EnumItem","Name":"8","tags":[],"Value":8,"Enum":"AASamples"},{"type":"Enum","Name":"AccessType","tags":[]},{"type":"EnumItem","Name":"Me","tags":[],"Value":0,"Enum":"AccessType"},{"type":"EnumItem","Name":"Friends","tags":[],"Value":1,"Enum":"AccessType"},{"type":"EnumItem","Name":"Everyone","tags":[],"Value":2,"Enum":"AccessType"},{"type":"EnumItem","Name":"InviteOnly","tags":[],"Value":3,"Enum":"AccessType"},{"type":"Enum","Name":"ActionType","tags":[]},{"type":"EnumItem","Name":"Nothing","tags":[],"Value":0,"Enum":"ActionType"},{"type":"EnumItem","Name":"Pause","tags":[],"Value":1,"Enum":"ActionType"},{"type":"EnumItem","Name":"Lose","tags":[],"Value":2,"Enum":"ActionType"},{"type":"EnumItem","Name":"Draw","tags":[],"Value":3,"Enum":"ActionType"},{"type":"EnumItem","Name":"Win","tags":[],"Value":4,"Enum":"ActionType"},{"type":"Enum","Name":"ActuatorType","tags":[]},{"type":"EnumItem","Name":"None","tags":[],"Value":0,"Enum":"ActuatorType"},{"type":"EnumItem","Name":"Motor","tags":[],"Value":1,"Enum":"ActuatorType"},{"type":"EnumItem","Name":"Servo","tags":[],"Value":2,"Enum":"ActuatorType"},{"type":"Enum","Name":"AnimationPriority","tags":[]},{"type":"EnumItem","Name":"Idle","tags":[],"Value":0,"Enum":"AnimationPriority"},{"type":"EnumItem","Name":"Movement","tags":[],"Value":1,"Enum":"AnimationPriority"},{"type":"EnumItem","Name":"Action","tags":[],"Value":2,"Enum":"AnimationPriority"},{"type":"EnumItem","Name":"Core","tags":[],"Value":1000,"Enum":"AnimationPriority"},{"type":"Enum","Name":"Antialiasing","tags":[]},{"type":"EnumItem","Name":"Automatic","tags":[],"Value":0,"Enum":"Antialiasing"},{"type":"EnumItem","Name":"Off","tags":[],"Value":2,"Enum":"Antialiasing"},{"type":"EnumItem","Name":"On","tags":[],"Value":1,"Enum":"Antialiasing"},{"type":"Enum","Name":"Axis","tags":[]},{"type":"EnumItem","Name":"X","tags":[],"Value":0,"Enum":"Axis"},{"type":"EnumItem","Name":"Y","tags":[],"Value":1,"Enum":"Axis"},{"type":"EnumItem","Name":"Z","tags":[],"Value":2,"Enum":"Axis"},{"type":"Enum","Name":"BinType","tags":[]},{"type":"EnumItem","Name":"Script","tags":[],"Value":0,"Enum":"BinType"},{"type":"EnumItem","Name":"GameTool","tags":[],"Value":1,"Enum":"BinType"},{"type":"EnumItem","Name":"Grab","tags":[],"Value":2,"Enum":"BinType"},{"type":"EnumItem","Name":"Clone","tags":[],"Value":3,"Enum":"BinType"},{"type":"EnumItem","Name":"Hammer","tags":[],"Value":4,"Enum":"BinType"},{"type":"Enum","Name":"BodyPart","tags":[]},{"type":"EnumItem","Name":"Head","tags":[],"Value":0,"Enum":"BodyPart"},{"type":"EnumItem","Name":"Torso","tags":[],"Value":1,"Enum":"BodyPart"},{"type":"EnumItem","Name":"LeftArm","tags":[],"Value":2,"Enum":"BodyPart"},{"type":"EnumItem","Name":"RightArm","tags":[],"Value":3,"Enum":"BodyPart"},{"type":"EnumItem","Name":"LeftLeg","tags":[],"Value":4,"Enum":"BodyPart"},{"type":"EnumItem","Name":"RightLeg","tags":[],"Value":5,"Enum":"BodyPart"},{"type":"Enum","Name":"Button","tags":[]},{"type":"EnumItem","Name":"Jump","tags":[],"Value":32,"Enum":"Button"},{"type":"EnumItem","Name":"Dismount","tags":[],"Value":8,"Enum":"Button"},{"type":"Enum","Name":"ButtonStyle","tags":[]},{"type":"EnumItem","Name":"Custom","tags":[],"Value":0,"Enum":"ButtonStyle"},{"type":"EnumItem","Name":"RobloxButtonDefault","tags":[],"Value":1,"Enum":"ButtonStyle"},{"type":"EnumItem","Name":"RobloxButton","tags":[],"Value":2,"Enum":"ButtonStyle"},{"type":"EnumItem","Name":"RobloxRoundButton","tags":[],"Value":3,"Enum":"ButtonStyle"},{"type":"EnumItem","Name":"RobloxRoundDefaultButton","tags":[],"Value":4,"Enum":"ButtonStyle"},{"type":"EnumItem","Name":"RobloxRoundDropdownButton","tags":[],"Value":5,"Enum":"ButtonStyle"},{"type":"Enum","Name":"CameraMode","tags":[]},{"type":"EnumItem","Name":"Classic","tags":[],"Value":0,"Enum":"CameraMode"},{"type":"EnumItem","Name":"LockFirstPerson","tags":[],"Value":1,"Enum":"CameraMode"},{"type":"Enum","Name":"CameraPanMode","tags":[]},{"type":"EnumItem","Name":"Classic","tags":[],"Value":0,"Enum":"CameraPanMode"},{"type":"EnumItem","Name":"EdgeBump","tags":[],"Value":1,"Enum":"CameraPanMode"},{"type":"Enum","Name":"CameraType","tags":[]},{"type":"EnumItem","Name":"Fixed","tags":[],"Value":0,"Enum":"CameraType"},{"type":"EnumItem","Name":"Watch","tags":[],"Value":2,"Enum":"CameraType"},{"type":"EnumItem","Name":"Attach","tags":[],"Value":1,"Enum":"CameraType"},{"type":"EnumItem","Name":"Track","tags":[],"Value":3,"Enum":"CameraType"},{"type":"EnumItem","Name":"Follow","tags":[],"Value":4,"Enum":"CameraType"},{"type":"EnumItem","Name":"Custom","tags":[],"Value":5,"Enum":"CameraType"},{"type":"EnumItem","Name":"Scriptable","tags":[],"Value":6,"Enum":"CameraType"},{"type":"Enum","Name":"CellBlock","tags":[]},{"type":"EnumItem","Name":"Solid","tags":[],"Value":0,"Enum":"CellBlock"},{"type":"EnumItem","Name":"VerticalWedge","tags":[],"Value":1,"Enum":"CellBlock"},{"type":"EnumItem","Name":"CornerWedge","tags":[],"Value":2,"Enum":"CellBlock"},{"type":"EnumItem","Name":"InverseCornerWedge","tags":[],"Value":3,"Enum":"CellBlock"},{"type":"EnumItem","Name":"HorizontalWedge","tags":[],"Value":4,"Enum":"CellBlock"},{"type":"Enum","Name":"CellMaterial","tags":[]},{"type":"EnumItem","Name":"Empty","tags":[],"Value":0,"Enum":"CellMaterial"},{"type":"EnumItem","Name":"Grass","tags":[],"Value":1,"Enum":"CellMaterial"},{"type":"EnumItem","Name":"Sand","tags":[],"Value":2,"Enum":"CellMaterial"},{"type":"EnumItem","Name":"Brick","tags":[],"Value":3,"Enum":"CellMaterial"},{"type":"EnumItem","Name":"Granite","tags":[],"Value":4,"Enum":"CellMaterial"},{"type":"EnumItem","Name":"Asphalt","tags":[],"Value":5,"Enum":"CellMaterial"},{"type":"EnumItem","Name":"Iron","tags":[],"Value":6,"Enum":"CellMaterial"},{"type":"EnumItem","Name":"Aluminum","tags":[],"Value":7,"Enum":"CellMaterial"},{"type":"EnumItem","Name":"Gold","tags":[],"Value":8,"Enum":"CellMaterial"},{"type":"EnumItem","Name":"WoodPlank","tags":[],"Value":9,"Enum":"CellMaterial"},{"type":"EnumItem","Name":"WoodLog","tags":[],"Value":10,"Enum":"CellMaterial"},{"type":"EnumItem","Name":"Gravel","tags":[],"Value":11,"Enum":"CellMaterial"},{"type":"EnumItem","Name":"CinderBlock","tags":[],"Value":12,"Enum":"CellMaterial"},{"type":"EnumItem","Name":"MossyStone","tags":[],"Value":13,"Enum":"CellMaterial"},{"type":"EnumItem","Name":"Cement","tags":[],"Value":14,"Enum":"CellMaterial"},{"type":"EnumItem","Name":"RedPlastic","tags":[],"Value":15,"Enum":"CellMaterial"},{"type":"EnumItem","Name":"BluePlastic","tags":[],"Value":16,"Enum":"CellMaterial"},{"type":"EnumItem","Name":"Water","tags":[],"Value":17,"Enum":"CellMaterial"},{"type":"Enum","Name":"CellOrientation","tags":[]},{"type":"EnumItem","Name":"NegZ","tags":[],"Value":0,"Enum":"CellOrientation"},{"type":"EnumItem","Name":"X","tags":[],"Value":1,"Enum":"CellOrientation"},{"type":"EnumItem","Name":"Z","tags":[],"Value":2,"Enum":"CellOrientation"},{"type":"EnumItem","Name":"NegX","tags":[],"Value":3,"Enum":"CellOrientation"},{"type":"Enum","Name":"CenterDialogType","tags":[]},{"type":"EnumItem","Name":"UnsolicitedDialog","tags":[],"Value":1,"Enum":"CenterDialogType"},{"type":"EnumItem","Name":"PlayerInitiatedDialog","tags":[],"Value":2,"Enum":"CenterDialogType"},{"type":"EnumItem","Name":"ModalDialog","tags":[],"Value":3,"Enum":"CenterDialogType"},{"type":"EnumItem","Name":"QuitDialog","tags":[],"Value":4,"Enum":"CenterDialogType"},{"type":"Enum","Name":"ChatColor","tags":[]},{"type":"EnumItem","Name":"Blue","tags":[],"Value":0,"Enum":"ChatColor"},{"type":"EnumItem","Name":"Green","tags":[],"Value":1,"Enum":"ChatColor"},{"type":"EnumItem","Name":"Red","tags":[],"Value":2,"Enum":"ChatColor"},{"type":"Enum","Name":"ChatMode","tags":[]},{"type":"EnumItem","Name":"Menu","tags":[],"Value":0,"Enum":"ChatMode"},{"type":"EnumItem","Name":"TextAndMenu","tags":[],"Value":1,"Enum":"ChatMode"},{"type":"Enum","Name":"ChatStyle","tags":[]},{"type":"EnumItem","Name":"Classic","tags":[],"Value":0,"Enum":"ChatStyle"},{"type":"EnumItem","Name":"Bubble","tags":[],"Value":1,"Enum":"ChatStyle"},{"type":"EnumItem","Name":"ClassicAndBubble","tags":[],"Value":2,"Enum":"ChatStyle"},{"type":"Enum","Name":"CollisionFidelity","tags":[]},{"type":"EnumItem","Name":"Default","tags":[],"Value":0,"Enum":"CollisionFidelity"},{"type":"EnumItem","Name":"Hull","tags":[],"Value":1,"Enum":"CollisionFidelity"},{"type":"EnumItem","Name":"Box","tags":[],"Value":2,"Enum":"CollisionFidelity"},{"type":"Enum","Name":"ComputerCameraMovementMode","tags":[]},{"type":"EnumItem","Name":"Default","tags":[],"Value":0,"Enum":"ComputerCameraMovementMode"},{"type":"EnumItem","Name":"Follow","tags":[],"Value":2,"Enum":"ComputerCameraMovementMode"},{"type":"EnumItem","Name":"Classic","tags":[],"Value":1,"Enum":"ComputerCameraMovementMode"},{"type":"Enum","Name":"ComputerMovementMode","tags":[]},{"type":"EnumItem","Name":"Default","tags":[],"Value":0,"Enum":"ComputerMovementMode"},{"type":"EnumItem","Name":"KeyboardMouse","tags":[],"Value":1,"Enum":"ComputerMovementMode"},{"type":"EnumItem","Name":"ClickToMove","tags":[],"Value":2,"Enum":"ComputerMovementMode"},{"type":"Enum","Name":"ConcurrencyModel","tags":[]},{"type":"EnumItem","Name":"Serial","tags":[],"Value":0,"Enum":"ConcurrencyModel"},{"type":"EnumItem","Name":"Safe","tags":[],"Value":1,"Enum":"ConcurrencyModel"},{"type":"EnumItem","Name":"Logical","tags":[],"Value":2,"Enum":"ConcurrencyModel"},{"type":"EnumItem","Name":"Empirical","tags":[],"Value":3,"Enum":"ConcurrencyModel"},{"type":"Enum","Name":"ControlMode","tags":[]},{"type":"EnumItem","Name":"MouseLockSwitch","tags":[],"Value":1,"Enum":"ControlMode"},{"type":"EnumItem","Name":"Classic","tags":[],"Value":0,"Enum":"ControlMode"},{"type":"Enum","Name":"CoreGuiType","tags":[]},{"type":"EnumItem","Name":"PlayerList","tags":[],"Value":0,"Enum":"CoreGuiType"},{"type":"EnumItem","Name":"Health","tags":[],"Value":1,"Enum":"CoreGuiType"},{"type":"EnumItem","Name":"Backpack","tags":[],"Value":2,"Enum":"CoreGuiType"},{"type":"EnumItem","Name":"Chat","tags":[],"Value":3,"Enum":"CoreGuiType"},{"type":"EnumItem","Name":"All","tags":[],"Value":4,"Enum":"CoreGuiType"},{"type":"Enum","Name":"CreatorType","tags":[]},{"type":"EnumItem","Name":"User","tags":[],"Value":0,"Enum":"CreatorType"},{"type":"EnumItem","Name":"Group","tags":[],"Value":1,"Enum":"CreatorType"},{"type":"Enum","Name":"CurrencyType","tags":[]},{"type":"EnumItem","Name":"Default","tags":[],"Value":0,"Enum":"CurrencyType"},{"type":"EnumItem","Name":"Robux","tags":[],"Value":1,"Enum":"CurrencyType"},{"type":"EnumItem","Name":"Tix","tags":[],"Value":2,"Enum":"CurrencyType"},{"type":"Enum","Name":"CustomCameraMode","tags":[]},{"type":"EnumItem","Name":"Default","tags":[],"Value":0,"Enum":"CustomCameraMode"},{"type":"EnumItem","Name":"Follow","tags":[],"Value":2,"Enum":"CustomCameraMode"},{"type":"EnumItem","Name":"Classic","tags":[],"Value":1,"Enum":"CustomCameraMode"},{"type":"Enum","Name":"DevCameraOcclusionMode","tags":[]},{"type":"EnumItem","Name":"Zoom","tags":[],"Value":0,"Enum":"DevCameraOcclusionMode"},{"type":"EnumItem","Name":"Invisicam","tags":[],"Value":1,"Enum":"DevCameraOcclusionMode"},{"type":"Enum","Name":"DevComputerCameraMovementMode","tags":[]},{"type":"EnumItem","Name":"UserChoice","tags":[],"Value":0,"Enum":"DevComputerCameraMovementMode"},{"type":"EnumItem","Name":"Classic","tags":[],"Value":1,"Enum":"DevComputerCameraMovementMode"},{"type":"EnumItem","Name":"Follow","tags":[],"Value":2,"Enum":"DevComputerCameraMovementMode"},{"type":"Enum","Name":"DevComputerMovementMode","tags":[]},{"type":"EnumItem","Name":"UserChoice","tags":[],"Value":0,"Enum":"DevComputerMovementMode"},{"type":"EnumItem","Name":"KeyboardMouse","tags":[],"Value":1,"Enum":"DevComputerMovementMode"},{"type":"EnumItem","Name":"ClickToMove","tags":[],"Value":2,"Enum":"DevComputerMovementMode"},{"type":"EnumItem","Name":"Scriptable","tags":[],"Value":3,"Enum":"DevComputerMovementMode"},{"type":"Enum","Name":"DevTouchCameraMovementMode","tags":[]},{"type":"EnumItem","Name":"UserChoice","tags":[],"Value":0,"Enum":"DevTouchCameraMovementMode"},{"type":"EnumItem","Name":"Classic","tags":[],"Value":1,"Enum":"DevTouchCameraMovementMode"},{"type":"EnumItem","Name":"Follow","tags":[],"Value":2,"Enum":"DevTouchCameraMovementMode"},{"type":"Enum","Name":"DevTouchMovementMode","tags":[]},{"type":"EnumItem","Name":"UserChoice","tags":[],"Value":0,"Enum":"DevTouchMovementMode"},{"type":"EnumItem","Name":"Thumbstick","tags":[],"Value":1,"Enum":"DevTouchMovementMode"},{"type":"EnumItem","Name":"DPad","tags":[],"Value":2,"Enum":"DevTouchMovementMode"},{"type":"EnumItem","Name":"Thumbpad","tags":[],"Value":3,"Enum":"DevTouchMovementMode"},{"type":"EnumItem","Name":"ClickToMove","tags":[],"Value":4,"Enum":"DevTouchMovementMode"},{"type":"EnumItem","Name":"Scriptable","tags":[],"Value":5,"Enum":"DevTouchMovementMode"},{"type":"Enum","Name":"DialogPurpose","tags":[]},{"type":"EnumItem","Name":"Quest","tags":[],"Value":0,"Enum":"DialogPurpose"},{"type":"EnumItem","Name":"Help","tags":[],"Value":1,"Enum":"DialogPurpose"},{"type":"EnumItem","Name":"Shop","tags":[],"Value":2,"Enum":"DialogPurpose"},{"type":"Enum","Name":"DialogTone","tags":[]},{"type":"EnumItem","Name":"Neutral","tags":[],"Value":0,"Enum":"DialogTone"},{"type":"EnumItem","Name":"Friendly","tags":[],"Value":1,"Enum":"DialogTone"},{"type":"EnumItem","Name":"Enemy","tags":[],"Value":2,"Enum":"DialogTone"},{"type":"Enum","Name":"EasingDirection","tags":[]},{"type":"EnumItem","Name":"In","tags":[],"Value":0,"Enum":"EasingDirection"},{"type":"EnumItem","Name":"Out","tags":[],"Value":1,"Enum":"EasingDirection"},{"type":"EnumItem","Name":"InOut","tags":[],"Value":2,"Enum":"EasingDirection"},{"type":"Enum","Name":"EasingStyle","tags":[]},{"type":"EnumItem","Name":"Linear","tags":[],"Value":0,"Enum":"EasingStyle"},{"type":"EnumItem","Name":"Sine","tags":[],"Value":1,"Enum":"EasingStyle"},{"type":"EnumItem","Name":"Back","tags":[],"Value":2,"Enum":"EasingStyle"},{"type":"EnumItem","Name":"Quad","tags":[],"Value":3,"Enum":"EasingStyle"},{"type":"EnumItem","Name":"Quart","tags":[],"Value":4,"Enum":"EasingStyle"},{"type":"EnumItem","Name":"Quint","tags":[],"Value":5,"Enum":"EasingStyle"},{"type":"EnumItem","Name":"Bounce","tags":[],"Value":6,"Enum":"EasingStyle"},{"type":"EnumItem","Name":"Elastic","tags":[],"Value":7,"Enum":"EasingStyle"},{"type":"Enum","Name":"EnviromentalPhysicsThrottle","tags":[]},{"type":"EnumItem","Name":"DefaultAuto","tags":[],"Value":0,"Enum":"EnviromentalPhysicsThrottle"},{"type":"EnumItem","Name":"Disabled","tags":[],"Value":1,"Enum":"EnviromentalPhysicsThrottle"},{"type":"EnumItem","Name":"Always","tags":[],"Value":2,"Enum":"EnviromentalPhysicsThrottle"},{"type":"EnumItem","Name":"Skip2","tags":[],"Value":3,"Enum":"EnviromentalPhysicsThrottle"},{"type":"EnumItem","Name":"Skip4","tags":[],"Value":4,"Enum":"EnviromentalPhysicsThrottle"},{"type":"EnumItem","Name":"Skip8","tags":[],"Value":5,"Enum":"EnviromentalPhysicsThrottle"},{"type":"EnumItem","Name":"Skip16","tags":[],"Value":6,"Enum":"EnviromentalPhysicsThrottle"},{"type":"Enum","Name":"ErrorReporting","tags":[]},{"type":"EnumItem","Name":"DontReport","tags":[],"Value":0,"Enum":"ErrorReporting"},{"type":"EnumItem","Name":"Prompt","tags":[],"Value":1,"Enum":"ErrorReporting"},{"type":"EnumItem","Name":"Report","tags":[],"Value":2,"Enum":"ErrorReporting"},{"type":"Enum","Name":"ExplosionType","tags":[]},{"type":"EnumItem","Name":"NoCraters","tags":[],"Value":0,"Enum":"ExplosionType"},{"type":"EnumItem","Name":"Craters","tags":[],"Value":1,"Enum":"ExplosionType"},{"type":"EnumItem","Name":"CratersAndDebris","tags":[],"Value":2,"Enum":"ExplosionType"},{"type":"Enum","Name":"FilterResult","tags":[]},{"type":"EnumItem","Name":"Rejected","tags":[],"Value":1,"Enum":"FilterResult"},{"type":"EnumItem","Name":"Accepted","tags":[],"Value":0,"Enum":"FilterResult"},{"type":"Enum","Name":"Font","tags":[]},{"type":"EnumItem","Name":"Legacy","tags":[],"Value":0,"Enum":"Font"},{"type":"EnumItem","Name":"Arial","tags":[],"Value":1,"Enum":"Font"},{"type":"EnumItem","Name":"ArialBold","tags":[],"Value":2,"Enum":"Font"},{"type":"EnumItem","Name":"SourceSans","tags":[],"Value":3,"Enum":"Font"},{"type":"EnumItem","Name":"SourceSansBold","tags":[],"Value":4,"Enum":"Font"},{"type":"EnumItem","Name":"SourceSansLight","tags":[],"Value":5,"Enum":"Font"},{"type":"EnumItem","Name":"SourceSansItalic","tags":[],"Value":6,"Enum":"Font"},{"type":"Enum","Name":"FontSize","tags":[]},{"type":"EnumItem","Name":"Size8","tags":[],"Value":0,"Enum":"FontSize"},{"type":"EnumItem","Name":"Size9","tags":[],"Value":1,"Enum":"FontSize"},{"type":"EnumItem","Name":"Size10","tags":[],"Value":2,"Enum":"FontSize"},{"type":"EnumItem","Name":"Size11","tags":[],"Value":3,"Enum":"FontSize"},{"type":"EnumItem","Name":"Size12","tags":[],"Value":4,"Enum":"FontSize"},{"type":"EnumItem","Name":"Size14","tags":[],"Value":5,"Enum":"FontSize"},{"type":"EnumItem","Name":"Size18","tags":[],"Value":6,"Enum":"FontSize"},{"type":"EnumItem","Name":"Size24","tags":[],"Value":7,"Enum":"FontSize"},{"type":"EnumItem","Name":"Size36","tags":[],"Value":8,"Enum":"FontSize"},{"type":"EnumItem","Name":"Size48","tags":[],"Value":9,"Enum":"FontSize"},{"type":"EnumItem","Name":"Size28","tags":[],"Value":10,"Enum":"FontSize"},{"type":"EnumItem","Name":"Size32","tags":[],"Value":11,"Enum":"FontSize"},{"type":"EnumItem","Name":"Size42","tags":[],"Value":12,"Enum":"FontSize"},{"type":"EnumItem","Name":"Size60","tags":[],"Value":13,"Enum":"FontSize"},{"type":"EnumItem","Name":"Size96","tags":[],"Value":14,"Enum":"FontSize"},{"type":"Enum","Name":"FormFactor","tags":[]},{"type":"EnumItem","Name":"Symmetric","tags":[],"Value":0,"Enum":"FormFactor"},{"type":"EnumItem","Name":"Brick","tags":[],"Value":1,"Enum":"FormFactor"},{"type":"EnumItem","Name":"Plate","tags":[],"Value":2,"Enum":"FormFactor"},{"type":"EnumItem","Name":"Custom","tags":[],"Value":3,"Enum":"FormFactor"},{"type":"Enum","Name":"FrameStyle","tags":[]},{"type":"EnumItem","Name":"Custom","tags":[],"Value":0,"Enum":"FrameStyle"},{"type":"EnumItem","Name":"ChatBlue","tags":[],"Value":1,"Enum":"FrameStyle"},{"type":"EnumItem","Name":"RobloxSquare","tags":[],"Value":2,"Enum":"FrameStyle"},{"type":"EnumItem","Name":"RobloxRound","tags":[],"Value":3,"Enum":"FrameStyle"},{"type":"EnumItem","Name":"ChatGreen","tags":[],"Value":4,"Enum":"FrameStyle"},{"type":"EnumItem","Name":"ChatRed","tags":[],"Value":5,"Enum":"FrameStyle"},{"type":"EnumItem","Name":"DropShadow","tags":[],"Value":6,"Enum":"FrameStyle"},{"type":"Enum","Name":"FramerateManagerMode","tags":[]},{"type":"EnumItem","Name":"Automatic","tags":[],"Value":0,"Enum":"FramerateManagerMode"},{"type":"EnumItem","Name":"On","tags":[],"Value":1,"Enum":"FramerateManagerMode"},{"type":"EnumItem","Name":"Off","tags":[],"Value":2,"Enum":"FramerateManagerMode"},{"type":"Enum","Name":"FriendRequestEvent","tags":[]},{"type":"EnumItem","Name":"Issue","tags":[],"Value":0,"Enum":"FriendRequestEvent"},{"type":"EnumItem","Name":"Revoke","tags":[],"Value":1,"Enum":"FriendRequestEvent"},{"type":"EnumItem","Name":"Accept","tags":[],"Value":2,"Enum":"FriendRequestEvent"},{"type":"EnumItem","Name":"Deny","tags":[],"Value":3,"Enum":"FriendRequestEvent"},{"type":"Enum","Name":"FriendStatus","tags":[]},{"type":"EnumItem","Name":"Unknown","tags":[],"Value":0,"Enum":"FriendStatus"},{"type":"EnumItem","Name":"NotFriend","tags":[],"Value":1,"Enum":"FriendStatus"},{"type":"EnumItem","Name":"Friend","tags":[],"Value":2,"Enum":"FriendStatus"},{"type":"EnumItem","Name":"FriendRequestSent","tags":[],"Value":3,"Enum":"FriendStatus"},{"type":"EnumItem","Name":"FriendRequestReceived","tags":[],"Value":4,"Enum":"FriendStatus"},{"type":"Enum","Name":"FunctionalTestResult","tags":[]},{"type":"EnumItem","Name":"Passed","tags":[],"Value":0,"Enum":"FunctionalTestResult"},{"type":"EnumItem","Name":"Warning","tags":[],"Value":1,"Enum":"FunctionalTestResult"},{"type":"EnumItem","Name":"Error","tags":[],"Value":2,"Enum":"FunctionalTestResult"},{"type":"Enum","Name":"GearGenreSetting","tags":[]},{"type":"EnumItem","Name":"AllGenres","tags":[],"Value":0,"Enum":"GearGenreSetting"},{"type":"EnumItem","Name":"MatchingGenreOnly","tags":[],"Value":1,"Enum":"GearGenreSetting"},{"type":"Enum","Name":"GearType","tags":[]},{"type":"EnumItem","Name":"MeleeWeapons","tags":[],"Value":0,"Enum":"GearType"},{"type":"EnumItem","Name":"RangedWeapons","tags":[],"Value":1,"Enum":"GearType"},{"type":"EnumItem","Name":"Explosives","tags":[],"Value":2,"Enum":"GearType"},{"type":"EnumItem","Name":"PowerUps","tags":[],"Value":3,"Enum":"GearType"},{"type":"EnumItem","Name":"NavigationEnhancers","tags":[],"Value":4,"Enum":"GearType"},{"type":"EnumItem","Name":"MusicalInstruments","tags":[],"Value":5,"Enum":"GearType"},{"type":"EnumItem","Name":"SocialItems","tags":[],"Value":6,"Enum":"GearType"},{"type":"EnumItem","Name":"BuildingTools","tags":[],"Value":7,"Enum":"GearType"},{"type":"EnumItem","Name":"Transport","tags":[],"Value":8,"Enum":"GearType"},{"type":"Enum","Name":"Genre","tags":[]},{"type":"EnumItem","Name":"All","tags":[],"Value":0,"Enum":"Genre"},{"type":"EnumItem","Name":"TownAndCity","tags":[],"Value":1,"Enum":"Genre"},{"type":"EnumItem","Name":"Fantasy","tags":[],"Value":2,"Enum":"Genre"},{"type":"EnumItem","Name":"SciFi","tags":[],"Value":3,"Enum":"Genre"},{"type":"EnumItem","Name":"Ninja","tags":[],"Value":4,"Enum":"Genre"},{"type":"EnumItem","Name":"Scary","tags":[],"Value":5,"Enum":"Genre"},{"type":"EnumItem","Name":"Pirate","tags":[],"Value":6,"Enum":"Genre"},{"type":"EnumItem","Name":"Adventure","tags":[],"Value":7,"Enum":"Genre"},{"type":"EnumItem","Name":"Sports","tags":[],"Value":8,"Enum":"Genre"},{"type":"EnumItem","Name":"Funny","tags":[],"Value":9,"Enum":"Genre"},{"type":"EnumItem","Name":"WildWest","tags":[],"Value":10,"Enum":"Genre"},{"type":"EnumItem","Name":"War","tags":[],"Value":11,"Enum":"Genre"},{"type":"EnumItem","Name":"SkatePark","tags":[],"Value":12,"Enum":"Genre"},{"type":"EnumItem","Name":"Tutorial","tags":[],"Value":13,"Enum":"Genre"},{"type":"Enum","Name":"GraphicsMode","tags":[]},{"type":"EnumItem","Name":"Automatic","tags":[],"Value":1,"Enum":"GraphicsMode"},{"type":"EnumItem","Name":"Direct3D9","tags":[],"Value":3,"Enum":"GraphicsMode"},{"type":"EnumItem","Name":"Direct3D11","tags":[],"Value":2,"Enum":"GraphicsMode"},{"type":"EnumItem","Name":"OpenGL","tags":[],"Value":4,"Enum":"GraphicsMode"},{"type":"EnumItem","Name":"NoGraphics","tags":[],"Value":5,"Enum":"GraphicsMode"},{"type":"Enum","Name":"HandlesStyle","tags":[]},{"type":"EnumItem","Name":"Resize","tags":[],"Value":0,"Enum":"HandlesStyle"},{"type":"EnumItem","Name":"Movement","tags":[],"Value":1,"Enum":"HandlesStyle"},{"type":"Enum","Name":"HttpContentType","tags":[]},{"type":"EnumItem","Name":"ApplicationJson","tags":[],"Value":0,"Enum":"HttpContentType"},{"type":"EnumItem","Name":"ApplicationXml","tags":[],"Value":1,"Enum":"HttpContentType"},{"type":"EnumItem","Name":"ApplicationUrlEncoded","tags":[],"Value":2,"Enum":"HttpContentType"},{"type":"EnumItem","Name":"TextPlain","tags":[],"Value":3,"Enum":"HttpContentType"},{"type":"EnumItem","Name":"TextXml","tags":[],"Value":4,"Enum":"HttpContentType"},{"type":"Enum","Name":"HumanoidDisplayDistanceType","tags":[]},{"type":"EnumItem","Name":"Viewer","tags":[],"Value":0,"Enum":"HumanoidDisplayDistanceType"},{"type":"EnumItem","Name":"Subject","tags":[],"Value":1,"Enum":"HumanoidDisplayDistanceType"},{"type":"EnumItem","Name":"None","tags":[],"Value":2,"Enum":"HumanoidDisplayDistanceType"},{"type":"Enum","Name":"HumanoidRigType","tags":[]},{"type":"EnumItem","Name":"R6","tags":[],"Value":0,"Enum":"HumanoidRigType"},{"type":"EnumItem","Name":"R15","tags":[],"Value":1,"Enum":"HumanoidRigType"},{"type":"Enum","Name":"HumanoidStateType","tags":[]},{"type":"EnumItem","Name":"FallingDown","tags":[],"Value":0,"Enum":"HumanoidStateType"},{"type":"EnumItem","Name":"Running","tags":[],"Value":8,"Enum":"HumanoidStateType"},{"type":"EnumItem","Name":"RunningNoPhysics","tags":[],"Value":10,"Enum":"HumanoidStateType"},{"type":"EnumItem","Name":"Climbing","tags":[],"Value":12,"Enum":"HumanoidStateType"},{"type":"EnumItem","Name":"StrafingNoPhysics","tags":[],"Value":11,"Enum":"HumanoidStateType"},{"type":"EnumItem","Name":"Ragdoll","tags":[],"Value":1,"Enum":"HumanoidStateType"},{"type":"EnumItem","Name":"GettingUp","tags":[],"Value":2,"Enum":"HumanoidStateType"},{"type":"EnumItem","Name":"Jumping","tags":[],"Value":3,"Enum":"HumanoidStateType"},{"type":"EnumItem","Name":"Landed","tags":[],"Value":7,"Enum":"HumanoidStateType"},{"type":"EnumItem","Name":"Flying","tags":[],"Value":6,"Enum":"HumanoidStateType"},{"type":"EnumItem","Name":"Freefall","tags":[],"Value":5,"Enum":"HumanoidStateType"},{"type":"EnumItem","Name":"Seated","tags":[],"Value":13,"Enum":"HumanoidStateType"},{"type":"EnumItem","Name":"PlatformStanding","tags":[],"Value":14,"Enum":"HumanoidStateType"},{"type":"EnumItem","Name":"Dead","tags":[],"Value":15,"Enum":"HumanoidStateType"},{"type":"EnumItem","Name":"Swimming","tags":[],"Value":4,"Enum":"HumanoidStateType"},{"type":"EnumItem","Name":"Physics","tags":[],"Value":16,"Enum":"HumanoidStateType"},{"type":"EnumItem","Name":"None","tags":[],"Value":18,"Enum":"HumanoidStateType"},{"type":"Enum","Name":"InOut","tags":[]},{"type":"EnumItem","Name":"Edge","tags":[],"Value":0,"Enum":"InOut"},{"type":"EnumItem","Name":"Inset","tags":[],"Value":1,"Enum":"InOut"},{"type":"EnumItem","Name":"Center","tags":[],"Value":2,"Enum":"InOut"},{"type":"Enum","Name":"InfoType","tags":[]},{"type":"EnumItem","Name":"Asset","tags":[],"Value":0,"Enum":"InfoType"},{"type":"EnumItem","Name":"Product","tags":[],"Value":1,"Enum":"InfoType"},{"type":"Enum","Name":"InputType","tags":[]},{"type":"EnumItem","Name":"NoInput","tags":[],"Value":0,"Enum":"InputType"},{"type":"EnumItem","Name":"LeftTread","tags":[],"Value":1,"Enum":"InputType"},{"type":"EnumItem","Name":"RightTread","tags":[],"Value":2,"Enum":"InputType"},{"type":"EnumItem","Name":"Steer","tags":[],"Value":3,"Enum":"InputType"},{"type":"EnumItem","Name":"Throtle","tags":[],"Value":4,"Enum":"InputType"},{"type":"EnumItem","Name":"UpDown","tags":[],"Value":6,"Enum":"InputType"},{"type":"EnumItem","Name":"Action1","tags":[],"Value":7,"Enum":"InputType"},{"type":"EnumItem","Name":"Action2","tags":[],"Value":8,"Enum":"InputType"},{"type":"EnumItem","Name":"Action3","tags":[],"Value":9,"Enum":"InputType"},{"type":"EnumItem","Name":"Action4","tags":[],"Value":10,"Enum":"InputType"},{"type":"EnumItem","Name":"Action5","tags":[],"Value":11,"Enum":"InputType"},{"type":"EnumItem","Name":"Constant","tags":[],"Value":12,"Enum":"InputType"},{"type":"EnumItem","Name":"Sin","tags":[],"Value":13,"Enum":"InputType"},{"type":"Enum","Name":"JointCreationMode","tags":[]},{"type":"EnumItem","Name":"All","tags":[],"Value":0,"Enum":"JointCreationMode"},{"type":"EnumItem","Name":"Surface","tags":[],"Value":1,"Enum":"JointCreationMode"},{"type":"EnumItem","Name":"None","tags":[],"Value":2,"Enum":"JointCreationMode"},{"type":"Enum","Name":"JointType","tags":[]},{"type":"EnumItem","Name":"None","tags":[],"Value":22,"Enum":"JointType"},{"type":"EnumItem","Name":"Rotate","tags":[],"Value":6,"Enum":"JointType"},{"type":"EnumItem","Name":"RotateP","tags":[],"Value":7,"Enum":"JointType"},{"type":"EnumItem","Name":"RotateV","tags":[],"Value":8,"Enum":"JointType"},{"type":"EnumItem","Name":"Glue","tags":[],"Value":9,"Enum":"JointType"},{"type":"EnumItem","Name":"Weld","tags":[],"Value":1,"Enum":"JointType"},{"type":"EnumItem","Name":"Snap","tags":[],"Value":3,"Enum":"JointType"},{"type":"Enum","Name":"KeyCode","tags":[]},{"type":"EnumItem","Name":"Unknown","tags":[],"Value":0,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Backspace","tags":[],"Value":8,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Tab","tags":[],"Value":9,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Clear","tags":[],"Value":12,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Return","tags":[],"Value":13,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Pause","tags":[],"Value":19,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Escape","tags":[],"Value":27,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Space","tags":[],"Value":32,"Enum":"KeyCode"},{"type":"EnumItem","Name":"QuotedDouble","tags":[],"Value":34,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Hash","tags":[],"Value":35,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Dollar","tags":[],"Value":36,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Percent","tags":[],"Value":37,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Ampersand","tags":[],"Value":38,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Quote","tags":[],"Value":39,"Enum":"KeyCode"},{"type":"EnumItem","Name":"LeftParenthesis","tags":[],"Value":40,"Enum":"KeyCode"},{"type":"EnumItem","Name":"RightParenthesis","tags":[],"Value":41,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Asterisk","tags":[],"Value":42,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Plus","tags":[],"Value":43,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Comma","tags":[],"Value":44,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Minus","tags":[],"Value":45,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Period","tags":[],"Value":46,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Slash","tags":[],"Value":47,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Zero","tags":[],"Value":48,"Enum":"KeyCode"},{"type":"EnumItem","Name":"One","tags":[],"Value":49,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Two","tags":[],"Value":50,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Three","tags":[],"Value":51,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Four","tags":[],"Value":52,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Five","tags":[],"Value":53,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Six","tags":[],"Value":54,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Seven","tags":[],"Value":55,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Eight","tags":[],"Value":56,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Nine","tags":[],"Value":57,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Colon","tags":[],"Value":58,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Semicolon","tags":[],"Value":59,"Enum":"KeyCode"},{"type":"EnumItem","Name":"LessThan","tags":[],"Value":60,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Equals","tags":[],"Value":61,"Enum":"KeyCode"},{"type":"EnumItem","Name":"GreaterThan","tags":[],"Value":62,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Question","tags":[],"Value":63,"Enum":"KeyCode"},{"type":"EnumItem","Name":"At","tags":[],"Value":64,"Enum":"KeyCode"},{"type":"EnumItem","Name":"LeftBracket","tags":[],"Value":91,"Enum":"KeyCode"},{"type":"EnumItem","Name":"BackSlash","tags":[],"Value":92,"Enum":"KeyCode"},{"type":"EnumItem","Name":"RightBracket","tags":[],"Value":93,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Caret","tags":[],"Value":94,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Underscore","tags":[],"Value":95,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Backquote","tags":[],"Value":96,"Enum":"KeyCode"},{"type":"EnumItem","Name":"A","tags":[],"Value":97,"Enum":"KeyCode"},{"type":"EnumItem","Name":"B","tags":[],"Value":98,"Enum":"KeyCode"},{"type":"EnumItem","Name":"C","tags":[],"Value":99,"Enum":"KeyCode"},{"type":"EnumItem","Name":"D","tags":[],"Value":100,"Enum":"KeyCode"},{"type":"EnumItem","Name":"E","tags":[],"Value":101,"Enum":"KeyCode"},{"type":"EnumItem","Name":"F","tags":[],"Value":102,"Enum":"KeyCode"},{"type":"EnumItem","Name":"G","tags":[],"Value":103,"Enum":"KeyCode"},{"type":"EnumItem","Name":"H","tags":[],"Value":104,"Enum":"KeyCode"},{"type":"EnumItem","Name":"I","tags":[],"Value":105,"Enum":"KeyCode"},{"type":"EnumItem","Name":"J","tags":[],"Value":106,"Enum":"KeyCode"},{"type":"EnumItem","Name":"K","tags":[],"Value":107,"Enum":"KeyCode"},{"type":"EnumItem","Name":"L","tags":[],"Value":108,"Enum":"KeyCode"},{"type":"EnumItem","Name":"M","tags":[],"Value":109,"Enum":"KeyCode"},{"type":"EnumItem","Name":"N","tags":[],"Value":110,"Enum":"KeyCode"},{"type":"EnumItem","Name":"O","tags":[],"Value":111,"Enum":"KeyCode"},{"type":"EnumItem","Name":"P","tags":[],"Value":112,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Q","tags":[],"Value":113,"Enum":"KeyCode"},{"type":"EnumItem","Name":"R","tags":[],"Value":114,"Enum":"KeyCode"},{"type":"EnumItem","Name":"S","tags":[],"Value":115,"Enum":"KeyCode"},{"type":"EnumItem","Name":"T","tags":[],"Value":116,"Enum":"KeyCode"},{"type":"EnumItem","Name":"U","tags":[],"Value":117,"Enum":"KeyCode"},{"type":"EnumItem","Name":"V","tags":[],"Value":118,"Enum":"KeyCode"},{"type":"EnumItem","Name":"W","tags":[],"Value":119,"Enum":"KeyCode"},{"type":"EnumItem","Name":"X","tags":[],"Value":120,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Y","tags":[],"Value":121,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Z","tags":[],"Value":122,"Enum":"KeyCode"},{"type":"EnumItem","Name":"LeftCurly","tags":[],"Value":123,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Pipe","tags":[],"Value":124,"Enum":"KeyCode"},{"type":"EnumItem","Name":"RightCurly","tags":[],"Value":125,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Tilde","tags":[],"Value":126,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Delete","tags":[],"Value":127,"Enum":"KeyCode"},{"type":"EnumItem","Name":"KeypadZero","tags":[],"Value":256,"Enum":"KeyCode"},{"type":"EnumItem","Name":"KeypadOne","tags":[],"Value":257,"Enum":"KeyCode"},{"type":"EnumItem","Name":"KeypadTwo","tags":[],"Value":258,"Enum":"KeyCode"},{"type":"EnumItem","Name":"KeypadThree","tags":[],"Value":259,"Enum":"KeyCode"},{"type":"EnumItem","Name":"KeypadFour","tags":[],"Value":260,"Enum":"KeyCode"},{"type":"EnumItem","Name":"KeypadFive","tags":[],"Value":261,"Enum":"KeyCode"},{"type":"EnumItem","Name":"KeypadSix","tags":[],"Value":262,"Enum":"KeyCode"},{"type":"EnumItem","Name":"KeypadSeven","tags":[],"Value":263,"Enum":"KeyCode"},{"type":"EnumItem","Name":"KeypadEight","tags":[],"Value":264,"Enum":"KeyCode"},{"type":"EnumItem","Name":"KeypadNine","tags":[],"Value":265,"Enum":"KeyCode"},{"type":"EnumItem","Name":"KeypadPeriod","tags":[],"Value":266,"Enum":"KeyCode"},{"type":"EnumItem","Name":"KeypadDivide","tags":[],"Value":267,"Enum":"KeyCode"},{"type":"EnumItem","Name":"KeypadMultiply","tags":[],"Value":268,"Enum":"KeyCode"},{"type":"EnumItem","Name":"KeypadMinus","tags":[],"Value":269,"Enum":"KeyCode"},{"type":"EnumItem","Name":"KeypadPlus","tags":[],"Value":270,"Enum":"KeyCode"},{"type":"EnumItem","Name":"KeypadEnter","tags":[],"Value":271,"Enum":"KeyCode"},{"type":"EnumItem","Name":"KeypadEquals","tags":[],"Value":272,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Up","tags":[],"Value":273,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Down","tags":[],"Value":274,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Right","tags":[],"Value":275,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Left","tags":[],"Value":276,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Insert","tags":[],"Value":277,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Home","tags":[],"Value":278,"Enum":"KeyCode"},{"type":"EnumItem","Name":"End","tags":[],"Value":279,"Enum":"KeyCode"},{"type":"EnumItem","Name":"PageUp","tags":[],"Value":280,"Enum":"KeyCode"},{"type":"EnumItem","Name":"PageDown","tags":[],"Value":281,"Enum":"KeyCode"},{"type":"EnumItem","Name":"LeftShift","tags":[],"Value":304,"Enum":"KeyCode"},{"type":"EnumItem","Name":"RightShift","tags":[],"Value":303,"Enum":"KeyCode"},{"type":"EnumItem","Name":"LeftMeta","tags":[],"Value":310,"Enum":"KeyCode"},{"type":"EnumItem","Name":"RightMeta","tags":[],"Value":309,"Enum":"KeyCode"},{"type":"EnumItem","Name":"LeftAlt","tags":[],"Value":308,"Enum":"KeyCode"},{"type":"EnumItem","Name":"RightAlt","tags":[],"Value":307,"Enum":"KeyCode"},{"type":"EnumItem","Name":"LeftControl","tags":[],"Value":306,"Enum":"KeyCode"},{"type":"EnumItem","Name":"RightControl","tags":[],"Value":305,"Enum":"KeyCode"},{"type":"EnumItem","Name":"CapsLock","tags":[],"Value":301,"Enum":"KeyCode"},{"type":"EnumItem","Name":"NumLock","tags":[],"Value":300,"Enum":"KeyCode"},{"type":"EnumItem","Name":"ScrollLock","tags":[],"Value":302,"Enum":"KeyCode"},{"type":"EnumItem","Name":"LeftSuper","tags":[],"Value":311,"Enum":"KeyCode"},{"type":"EnumItem","Name":"RightSuper","tags":[],"Value":312,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Mode","tags":[],"Value":313,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Compose","tags":[],"Value":314,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Help","tags":[],"Value":315,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Print","tags":[],"Value":316,"Enum":"KeyCode"},{"type":"EnumItem","Name":"SysReq","tags":[],"Value":317,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Break","tags":[],"Value":318,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Menu","tags":[],"Value":319,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Power","tags":[],"Value":320,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Euro","tags":[],"Value":321,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Undo","tags":[],"Value":322,"Enum":"KeyCode"},{"type":"EnumItem","Name":"F1","tags":[],"Value":282,"Enum":"KeyCode"},{"type":"EnumItem","Name":"F2","tags":[],"Value":283,"Enum":"KeyCode"},{"type":"EnumItem","Name":"F3","tags":[],"Value":284,"Enum":"KeyCode"},{"type":"EnumItem","Name":"F4","tags":[],"Value":285,"Enum":"KeyCode"},{"type":"EnumItem","Name":"F5","tags":[],"Value":286,"Enum":"KeyCode"},{"type":"EnumItem","Name":"F6","tags":[],"Value":287,"Enum":"KeyCode"},{"type":"EnumItem","Name":"F7","tags":[],"Value":288,"Enum":"KeyCode"},{"type":"EnumItem","Name":"F8","tags":[],"Value":289,"Enum":"KeyCode"},{"type":"EnumItem","Name":"F9","tags":[],"Value":290,"Enum":"KeyCode"},{"type":"EnumItem","Name":"F10","tags":[],"Value":291,"Enum":"KeyCode"},{"type":"EnumItem","Name":"F11","tags":[],"Value":292,"Enum":"KeyCode"},{"type":"EnumItem","Name":"F12","tags":[],"Value":293,"Enum":"KeyCode"},{"type":"EnumItem","Name":"F13","tags":[],"Value":294,"Enum":"KeyCode"},{"type":"EnumItem","Name":"F14","tags":[],"Value":295,"Enum":"KeyCode"},{"type":"EnumItem","Name":"F15","tags":[],"Value":296,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World0","tags":[],"Value":160,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World1","tags":[],"Value":161,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World2","tags":[],"Value":162,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World3","tags":[],"Value":163,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World4","tags":[],"Value":164,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World5","tags":[],"Value":165,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World6","tags":[],"Value":166,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World7","tags":[],"Value":167,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World8","tags":[],"Value":168,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World9","tags":[],"Value":169,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World10","tags":[],"Value":170,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World11","tags":[],"Value":171,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World12","tags":[],"Value":172,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World13","tags":[],"Value":173,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World14","tags":[],"Value":174,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World15","tags":[],"Value":175,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World16","tags":[],"Value":176,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World17","tags":[],"Value":177,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World18","tags":[],"Value":178,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World19","tags":[],"Value":179,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World20","tags":[],"Value":180,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World21","tags":[],"Value":181,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World22","tags":[],"Value":182,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World23","tags":[],"Value":183,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World24","tags":[],"Value":184,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World25","tags":[],"Value":185,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World26","tags":[],"Value":186,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World27","tags":[],"Value":187,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World28","tags":[],"Value":188,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World29","tags":[],"Value":189,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World30","tags":[],"Value":190,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World31","tags":[],"Value":191,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World32","tags":[],"Value":192,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World33","tags":[],"Value":193,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World34","tags":[],"Value":194,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World35","tags":[],"Value":195,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World36","tags":[],"Value":196,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World37","tags":[],"Value":197,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World38","tags":[],"Value":198,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World39","tags":[],"Value":199,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World40","tags":[],"Value":200,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World41","tags":[],"Value":201,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World42","tags":[],"Value":202,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World43","tags":[],"Value":203,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World44","tags":[],"Value":204,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World45","tags":[],"Value":205,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World46","tags":[],"Value":206,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World47","tags":[],"Value":207,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World48","tags":[],"Value":208,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World49","tags":[],"Value":209,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World50","tags":[],"Value":210,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World51","tags":[],"Value":211,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World52","tags":[],"Value":212,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World53","tags":[],"Value":213,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World54","tags":[],"Value":214,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World55","tags":[],"Value":215,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World56","tags":[],"Value":216,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World57","tags":[],"Value":217,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World58","tags":[],"Value":218,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World59","tags":[],"Value":219,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World60","tags":[],"Value":220,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World61","tags":[],"Value":221,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World62","tags":[],"Value":222,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World63","tags":[],"Value":223,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World64","tags":[],"Value":224,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World65","tags":[],"Value":225,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World66","tags":[],"Value":226,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World67","tags":[],"Value":227,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World68","tags":[],"Value":228,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World69","tags":[],"Value":229,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World70","tags":[],"Value":230,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World71","tags":[],"Value":231,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World72","tags":[],"Value":232,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World73","tags":[],"Value":233,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World74","tags":[],"Value":234,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World75","tags":[],"Value":235,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World76","tags":[],"Value":236,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World77","tags":[],"Value":237,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World78","tags":[],"Value":238,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World79","tags":[],"Value":239,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World80","tags":[],"Value":240,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World81","tags":[],"Value":241,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World82","tags":[],"Value":242,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World83","tags":[],"Value":243,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World84","tags":[],"Value":244,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World85","tags":[],"Value":245,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World86","tags":[],"Value":246,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World87","tags":[],"Value":247,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World88","tags":[],"Value":248,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World89","tags":[],"Value":249,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World90","tags":[],"Value":250,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World91","tags":[],"Value":251,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World92","tags":[],"Value":252,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World93","tags":[],"Value":253,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World94","tags":[],"Value":254,"Enum":"KeyCode"},{"type":"EnumItem","Name":"World95","tags":[],"Value":255,"Enum":"KeyCode"},{"type":"EnumItem","Name":"ButtonX","tags":[],"Value":1000,"Enum":"KeyCode"},{"type":"EnumItem","Name":"ButtonY","tags":[],"Value":1001,"Enum":"KeyCode"},{"type":"EnumItem","Name":"ButtonA","tags":[],"Value":1002,"Enum":"KeyCode"},{"type":"EnumItem","Name":"ButtonB","tags":[],"Value":1003,"Enum":"KeyCode"},{"type":"EnumItem","Name":"ButtonR1","tags":[],"Value":1004,"Enum":"KeyCode"},{"type":"EnumItem","Name":"ButtonL1","tags":[],"Value":1005,"Enum":"KeyCode"},{"type":"EnumItem","Name":"ButtonR2","tags":[],"Value":1006,"Enum":"KeyCode"},{"type":"EnumItem","Name":"ButtonL2","tags":[],"Value":1007,"Enum":"KeyCode"},{"type":"EnumItem","Name":"ButtonR3","tags":[],"Value":1008,"Enum":"KeyCode"},{"type":"EnumItem","Name":"ButtonL3","tags":[],"Value":1009,"Enum":"KeyCode"},{"type":"EnumItem","Name":"ButtonStart","tags":[],"Value":1010,"Enum":"KeyCode"},{"type":"EnumItem","Name":"ButtonSelect","tags":[],"Value":1011,"Enum":"KeyCode"},{"type":"EnumItem","Name":"DPadLeft","tags":[],"Value":1012,"Enum":"KeyCode"},{"type":"EnumItem","Name":"DPadRight","tags":[],"Value":1013,"Enum":"KeyCode"},{"type":"EnumItem","Name":"DPadUp","tags":[],"Value":1014,"Enum":"KeyCode"},{"type":"EnumItem","Name":"DPadDown","tags":[],"Value":1015,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Thumbstick1","tags":[],"Value":1016,"Enum":"KeyCode"},{"type":"EnumItem","Name":"Thumbstick2","tags":[],"Value":1017,"Enum":"KeyCode"},{"type":"Enum","Name":"KeywordFilterType","tags":[]},{"type":"EnumItem","Name":"Include","tags":[],"Value":0,"Enum":"KeywordFilterType"},{"type":"EnumItem","Name":"Exclude","tags":[],"Value":1,"Enum":"KeywordFilterType"},{"type":"Enum","Name":"LeftRight","tags":[]},{"type":"EnumItem","Name":"Left","tags":[],"Value":0,"Enum":"LeftRight"},{"type":"EnumItem","Name":"Center","tags":[],"Value":1,"Enum":"LeftRight"},{"type":"EnumItem","Name":"Right","tags":[],"Value":2,"Enum":"LeftRight"},{"type":"Enum","Name":"LevelOfDetailSetting","tags":[]},{"type":"EnumItem","Name":"High","tags":[],"Value":2,"Enum":"LevelOfDetailSetting"},{"type":"EnumItem","Name":"Medium","tags":[],"Value":1,"Enum":"LevelOfDetailSetting"},{"type":"EnumItem","Name":"Low","tags":[],"Value":0,"Enum":"LevelOfDetailSetting"},{"type":"Enum","Name":"ListenerType","tags":[]},{"type":"EnumItem","Name":"Camera","tags":[],"Value":0,"Enum":"ListenerType"},{"type":"EnumItem","Name":"CFrame","tags":[],"Value":1,"Enum":"ListenerType"},{"type":"EnumItem","Name":"ObjectPosition","tags":[],"Value":2,"Enum":"ListenerType"},{"type":"EnumItem","Name":"ObjectCFrame","tags":[],"Value":3,"Enum":"ListenerType"},{"type":"Enum","Name":"Material","tags":[]},{"type":"EnumItem","Name":"Plastic","tags":[],"Value":256,"Enum":"Material"},{"type":"EnumItem","Name":"Wood","tags":[],"Value":512,"Enum":"Material"},{"type":"EnumItem","Name":"Slate","tags":[],"Value":800,"Enum":"Material"},{"type":"EnumItem","Name":"Concrete","tags":[],"Value":816,"Enum":"Material"},{"type":"EnumItem","Name":"CorrodedMetal","tags":[],"Value":1040,"Enum":"Material"},{"type":"EnumItem","Name":"DiamondPlate","tags":[],"Value":1056,"Enum":"Material"},{"type":"EnumItem","Name":"Foil","tags":[],"Value":1072,"Enum":"Material"},{"type":"EnumItem","Name":"Grass","tags":[],"Value":1280,"Enum":"Material"},{"type":"EnumItem","Name":"Ice","tags":[],"Value":1536,"Enum":"Material"},{"type":"EnumItem","Name":"Marble","tags":[],"Value":784,"Enum":"Material"},{"type":"EnumItem","Name":"Granite","tags":[],"Value":832,"Enum":"Material"},{"type":"EnumItem","Name":"Brick","tags":[],"Value":848,"Enum":"Material"},{"type":"EnumItem","Name":"Pebble","tags":[],"Value":864,"Enum":"Material"},{"type":"EnumItem","Name":"Sand","tags":[],"Value":1296,"Enum":"Material"},{"type":"EnumItem","Name":"Fabric","tags":[],"Value":1312,"Enum":"Material"},{"type":"EnumItem","Name":"SmoothPlastic","tags":[],"Value":272,"Enum":"Material"},{"type":"EnumItem","Name":"Metal","tags":[],"Value":1088,"Enum":"Material"},{"type":"EnumItem","Name":"WoodPlanks","tags":[],"Value":528,"Enum":"Material"},{"type":"EnumItem","Name":"Cobblestone","tags":[],"Value":880,"Enum":"Material"},{"type":"EnumItem","Name":"Air","tags":["notbrowsable"],"Value":1792,"Enum":"Material"},{"type":"EnumItem","Name":"Water","tags":["notbrowsable"],"Value":2048,"Enum":"Material"},{"type":"EnumItem","Name":"Rock","tags":["notbrowsable"],"Value":896,"Enum":"Material"},{"type":"EnumItem","Name":"Glacier","tags":["notbrowsable"],"Value":1552,"Enum":"Material"},{"type":"EnumItem","Name":"Snow","tags":["notbrowsable"],"Value":1328,"Enum":"Material"},{"type":"EnumItem","Name":"Sandstone","tags":["notbrowsable"],"Value":912,"Enum":"Material"},{"type":"EnumItem","Name":"Mud","tags":["notbrowsable"],"Value":1344,"Enum":"Material"},{"type":"EnumItem","Name":"Basalt","tags":["notbrowsable"],"Value":788,"Enum":"Material"},{"type":"EnumItem","Name":"Ground","tags":["notbrowsable"],"Value":1360,"Enum":"Material"},{"type":"EnumItem","Name":"CrackedLava","tags":["notbrowsable"],"Value":804,"Enum":"Material"},{"type":"EnumItem","Name":"Neon","tags":[],"Value":288,"Enum":"Material"},{"type":"EnumItem","Name":"Asphalt","tags":["notbrowsable"],"Value":1376,"Enum":"Material"},{"type":"EnumItem","Name":"LeafyGrass","tags":["notbrowsable"],"Value":1284,"Enum":"Material"},{"type":"EnumItem","Name":"Salt","tags":["notbrowsable"],"Value":1392,"Enum":"Material"},{"type":"EnumItem","Name":"Limestone","tags":["notbrowsable"],"Value":820,"Enum":"Material"},{"type":"EnumItem","Name":"Pavement","tags":["notbrowsable"],"Value":836,"Enum":"Material"},{"type":"Enum","Name":"MembershipType","tags":[]},{"type":"EnumItem","Name":"None","tags":[],"Value":0,"Enum":"MembershipType"},{"type":"EnumItem","Name":"BuildersClub","tags":[],"Value":1,"Enum":"MembershipType"},{"type":"EnumItem","Name":"TurboBuildersClub","tags":[],"Value":2,"Enum":"MembershipType"},{"type":"EnumItem","Name":"OutrageousBuildersClub","tags":[],"Value":3,"Enum":"MembershipType"},{"type":"Enum","Name":"MeshType","tags":[]},{"type":"EnumItem","Name":"Head","tags":[],"Value":0,"Enum":"MeshType"},{"type":"EnumItem","Name":"Torso","tags":[],"Value":1,"Enum":"MeshType"},{"type":"EnumItem","Name":"Wedge","tags":[],"Value":2,"Enum":"MeshType"},{"type":"EnumItem","Name":"Prism","tags":["deprecated"],"Value":7,"Enum":"MeshType"},{"type":"EnumItem","Name":"Pyramid","tags":["deprecated"],"Value":8,"Enum":"MeshType"},{"type":"EnumItem","Name":"ParallelRamp","tags":["deprecated"],"Value":9,"Enum":"MeshType"},{"type":"EnumItem","Name":"RightAngleRamp","tags":["deprecated"],"Value":10,"Enum":"MeshType"},{"type":"EnumItem","Name":"CornerWedge","tags":["deprecated"],"Value":11,"Enum":"MeshType"},{"type":"EnumItem","Name":"Brick","tags":[],"Value":6,"Enum":"MeshType"},{"type":"EnumItem","Name":"Sphere","tags":[],"Value":3,"Enum":"MeshType"},{"type":"EnumItem","Name":"Cylinder","tags":[],"Value":4,"Enum":"MeshType"},{"type":"EnumItem","Name":"FileMesh","tags":[],"Value":5,"Enum":"MeshType"},{"type":"Enum","Name":"MessageType","tags":[]},{"type":"EnumItem","Name":"MessageOutput","tags":[],"Value":0,"Enum":"MessageType"},{"type":"EnumItem","Name":"MessageInfo","tags":[],"Value":1,"Enum":"MessageType"},{"type":"EnumItem","Name":"MessageWarning","tags":[],"Value":2,"Enum":"MessageType"},{"type":"EnumItem","Name":"MessageError","tags":[],"Value":3,"Enum":"MessageType"},{"type":"Enum","Name":"MouseBehavior","tags":[]},{"type":"EnumItem","Name":"Default","tags":[],"Value":0,"Enum":"MouseBehavior"},{"type":"EnumItem","Name":"LockCenter","tags":[],"Value":1,"Enum":"MouseBehavior"},{"type":"EnumItem","Name":"LockCurrentPosition","tags":[],"Value":2,"Enum":"MouseBehavior"},{"type":"Enum","Name":"MoveState","tags":[]},{"type":"EnumItem","Name":"Stopped","tags":[],"Value":0,"Enum":"MoveState"},{"type":"EnumItem","Name":"Coasting","tags":[],"Value":1,"Enum":"MoveState"},{"type":"EnumItem","Name":"Pushing","tags":[],"Value":2,"Enum":"MoveState"},{"type":"EnumItem","Name":"Stopping","tags":[],"Value":3,"Enum":"MoveState"},{"type":"EnumItem","Name":"AirFree","tags":[],"Value":4,"Enum":"MoveState"},{"type":"Enum","Name":"NameOcclusion","tags":[]},{"type":"EnumItem","Name":"OccludeAll","tags":[],"Value":2,"Enum":"NameOcclusion"},{"type":"EnumItem","Name":"EnemyOcclusion","tags":[],"Value":1,"Enum":"NameOcclusion"},{"type":"EnumItem","Name":"NoOcclusion","tags":[],"Value":0,"Enum":"NameOcclusion"},{"type":"Enum","Name":"NetworkOwnership","tags":[]},{"type":"EnumItem","Name":"Automatic","tags":[],"Value":0,"Enum":"NetworkOwnership"},{"type":"EnumItem","Name":"Manual","tags":[],"Value":1,"Enum":"NetworkOwnership"},{"type":"Enum","Name":"NormalId","tags":[]},{"type":"EnumItem","Name":"Top","tags":[],"Value":1,"Enum":"NormalId"},{"type":"EnumItem","Name":"Bottom","tags":[],"Value":4,"Enum":"NormalId"},{"type":"EnumItem","Name":"Back","tags":[],"Value":2,"Enum":"NormalId"},{"type":"EnumItem","Name":"Front","tags":[],"Value":5,"Enum":"NormalId"},{"type":"EnumItem","Name":"Right","tags":[],"Value":0,"Enum":"NormalId"},{"type":"EnumItem","Name":"Left","tags":[],"Value":3,"Enum":"NormalId"},{"type":"Enum","Name":"OverrideMouseIconBehavior","tags":[]},{"type":"EnumItem","Name":"None","tags":[],"Value":0,"Enum":"OverrideMouseIconBehavior"},{"type":"EnumItem","Name":"ForceShow","tags":[],"Value":1,"Enum":"OverrideMouseIconBehavior"},{"type":"EnumItem","Name":"ForceHide","tags":[],"Value":2,"Enum":"OverrideMouseIconBehavior"},{"type":"Enum","Name":"PacketPriority","tags":[]},{"type":"EnumItem","Name":"IMMEDIATE_PRIORITY","tags":[],"Value":0,"Enum":"PacketPriority"},{"type":"EnumItem","Name":"HIGH_PRIORITY","tags":[],"Value":1,"Enum":"PacketPriority"},{"type":"EnumItem","Name":"MEDIUM_PRIORITY","tags":[],"Value":2,"Enum":"PacketPriority"},{"type":"EnumItem","Name":"LOW_PRIORITY","tags":[],"Value":3,"Enum":"PacketPriority"},{"type":"Enum","Name":"PacketReliability","tags":[]},{"type":"EnumItem","Name":"UNRELIABLE","tags":[],"Value":0,"Enum":"PacketReliability"},{"type":"EnumItem","Name":"UNRELIABLE_SEQUENCED","tags":[],"Value":1,"Enum":"PacketReliability"},{"type":"EnumItem","Name":"RELIABLE","tags":[],"Value":2,"Enum":"PacketReliability"},{"type":"EnumItem","Name":"RELIABLE_ORDERED","tags":[],"Value":3,"Enum":"PacketReliability"},{"type":"EnumItem","Name":"RELIABLE_SEQUENCED","tags":[],"Value":4,"Enum":"PacketReliability"},{"type":"Enum","Name":"PartType","tags":[]},{"type":"EnumItem","Name":"Ball","tags":[],"Value":0,"Enum":"PartType"},{"type":"EnumItem","Name":"Block","tags":[],"Value":1,"Enum":"PartType"},{"type":"EnumItem","Name":"Cylinder","tags":[],"Value":2,"Enum":"PartType"},{"type":"Enum","Name":"PathStatus","tags":[]},{"type":"EnumItem","Name":"Success","tags":[],"Value":0,"Enum":"PathStatus"},{"type":"EnumItem","Name":"ClosestNoPath","tags":[],"Value":1,"Enum":"PathStatus"},{"type":"EnumItem","Name":"ClosestOutOfRange","tags":[],"Value":2,"Enum":"PathStatus"},{"type":"EnumItem","Name":"FailStartNotEmpty","tags":[],"Value":3,"Enum":"PathStatus"},{"type":"EnumItem","Name":"FailFinishNotEmpty","tags":[],"Value":4,"Enum":"PathStatus"},{"type":"Enum","Name":"PhysicalPropertiesMode","tags":[]},{"type":"EnumItem","Name":"Default","tags":[],"Value":1,"Enum":"PhysicalPropertiesMode"},{"type":"EnumItem","Name":"Legacy","tags":[],"Value":0,"Enum":"PhysicalPropertiesMode"},{"type":"EnumItem","Name":"New","tags":[],"Value":2,"Enum":"PhysicalPropertiesMode"},{"type":"Enum","Name":"PhysicsReceiveMethod","tags":[]},{"type":"EnumItem","Name":"Direct","tags":[],"Value":0,"Enum":"PhysicsReceiveMethod"},{"type":"EnumItem","Name":"Interpolation","tags":[],"Value":1,"Enum":"PhysicsReceiveMethod"},{"type":"Enum","Name":"PhysicsSendMethod","tags":[]},{"type":"EnumItem","Name":"ErrorComputation","tags":[],"Value":0,"Enum":"PhysicsSendMethod"},{"type":"EnumItem","Name":"ErrorComputation2","tags":[],"Value":1,"Enum":"PhysicsSendMethod"},{"type":"EnumItem","Name":"RoundRobin","tags":[],"Value":2,"Enum":"PhysicsSendMethod"},{"type":"EnumItem","Name":"TopNErrors","tags":[],"Value":3,"Enum":"PhysicsSendMethod"},{"type":"Enum","Name":"Platform","tags":[]},{"type":"EnumItem","Name":"Windows","tags":[],"Value":0,"Enum":"Platform"},{"type":"EnumItem","Name":"OSX","tags":[],"Value":1,"Enum":"Platform"},{"type":"EnumItem","Name":"IOS","tags":[],"Value":2,"Enum":"Platform"},{"type":"EnumItem","Name":"Android","tags":[],"Value":3,"Enum":"Platform"},{"type":"EnumItem","Name":"XBoxOne","tags":[],"Value":4,"Enum":"Platform"},{"type":"EnumItem","Name":"PS4","tags":[],"Value":5,"Enum":"Platform"},{"type":"EnumItem","Name":"PS3","tags":[],"Value":6,"Enum":"Platform"},{"type":"EnumItem","Name":"XBox360","tags":[],"Value":7,"Enum":"Platform"},{"type":"EnumItem","Name":"WiiU","tags":[],"Value":8,"Enum":"Platform"},{"type":"EnumItem","Name":"NX","tags":[],"Value":9,"Enum":"Platform"},{"type":"EnumItem","Name":"Ouya","tags":[],"Value":10,"Enum":"Platform"},{"type":"EnumItem","Name":"AndroidTV","tags":[],"Value":11,"Enum":"Platform"},{"type":"EnumItem","Name":"Chromecast","tags":[],"Value":12,"Enum":"Platform"},{"type":"EnumItem","Name":"Linux","tags":[],"Value":13,"Enum":"Platform"},{"type":"EnumItem","Name":"SteamOS","tags":[],"Value":14,"Enum":"Platform"},{"type":"EnumItem","Name":"WebOS","tags":[],"Value":15,"Enum":"Platform"},{"type":"EnumItem","Name":"DOS","tags":[],"Value":16,"Enum":"Platform"},{"type":"EnumItem","Name":"BeOS","tags":[],"Value":17,"Enum":"Platform"},{"type":"EnumItem","Name":"UWP","tags":[],"Value":18,"Enum":"Platform"},{"type":"EnumItem","Name":"None","tags":[],"Value":19,"Enum":"Platform"},{"type":"Enum","Name":"PlayerActions","tags":[]},{"type":"EnumItem","Name":"CharacterForward","tags":[],"Value":0,"Enum":"PlayerActions"},{"type":"EnumItem","Name":"CharacterBackward","tags":[],"Value":1,"Enum":"PlayerActions"},{"type":"EnumItem","Name":"CharacterLeft","tags":[],"Value":2,"Enum":"PlayerActions"},{"type":"EnumItem","Name":"CharacterRight","tags":[],"Value":3,"Enum":"PlayerActions"},{"type":"EnumItem","Name":"CharacterJump","tags":[],"Value":4,"Enum":"PlayerActions"},{"type":"Enum","Name":"PlayerChatType","tags":[]},{"type":"EnumItem","Name":"All","tags":[],"Value":0,"Enum":"PlayerChatType"},{"type":"EnumItem","Name":"Team","tags":[],"Value":1,"Enum":"PlayerChatType"},{"type":"EnumItem","Name":"Whisper","tags":[],"Value":2,"Enum":"PlayerChatType"},{"type":"Enum","Name":"PoseEasingDirection","tags":[]},{"type":"EnumItem","Name":"Out","tags":[],"Value":1,"Enum":"PoseEasingDirection"},{"type":"EnumItem","Name":"InOut","tags":[],"Value":2,"Enum":"PoseEasingDirection"},{"type":"EnumItem","Name":"In","tags":[],"Value":0,"Enum":"PoseEasingDirection"},{"type":"Enum","Name":"PoseEasingStyle","tags":[]},{"type":"EnumItem","Name":"Linear","tags":[],"Value":0,"Enum":"PoseEasingStyle"},{"type":"EnumItem","Name":"Constant","tags":[],"Value":1,"Enum":"PoseEasingStyle"},{"type":"EnumItem","Name":"Elastic","tags":[],"Value":2,"Enum":"PoseEasingStyle"},{"type":"EnumItem","Name":"Cubic","tags":[],"Value":3,"Enum":"PoseEasingStyle"},{"type":"EnumItem","Name":"Bounce","tags":[],"Value":4,"Enum":"PoseEasingStyle"},{"type":"Enum","Name":"PriorityMethod","tags":[]},{"type":"EnumItem","Name":"LastError","tags":[],"Value":0,"Enum":"PriorityMethod"},{"type":"EnumItem","Name":"AccumulatedError","tags":[],"Value":1,"Enum":"PriorityMethod"},{"type":"EnumItem","Name":"FIFO","tags":[],"Value":2,"Enum":"PriorityMethod"},{"type":"Enum","Name":"PrismSides","tags":[]},{"type":"EnumItem","Name":"3","tags":[],"Value":3,"Enum":"PrismSides"},{"type":"EnumItem","Name":"5","tags":[],"Value":5,"Enum":"PrismSides"},{"type":"EnumItem","Name":"6","tags":[],"Value":6,"Enum":"PrismSides"},{"type":"EnumItem","Name":"8","tags":[],"Value":8,"Enum":"PrismSides"},{"type":"EnumItem","Name":"10","tags":[],"Value":10,"Enum":"PrismSides"},{"type":"EnumItem","Name":"20","tags":[],"Value":20,"Enum":"PrismSides"},{"type":"Enum","Name":"PrivilegeType","tags":[]},{"type":"EnumItem","Name":"Owner","tags":[],"Value":255,"Enum":"PrivilegeType"},{"type":"EnumItem","Name":"Admin","tags":[],"Value":240,"Enum":"PrivilegeType"},{"type":"EnumItem","Name":"Member","tags":[],"Value":128,"Enum":"PrivilegeType"},{"type":"EnumItem","Name":"Visitor","tags":[],"Value":10,"Enum":"PrivilegeType"},{"type":"EnumItem","Name":"Banned","tags":[],"Value":0,"Enum":"PrivilegeType"},{"type":"Enum","Name":"ProductPurchaseDecision","tags":[]},{"type":"EnumItem","Name":"NotProcessedYet","tags":[],"Value":0,"Enum":"ProductPurchaseDecision"},{"type":"EnumItem","Name":"PurchaseGranted","tags":[],"Value":1,"Enum":"ProductPurchaseDecision"},{"type":"Enum","Name":"PyramidSides","tags":[]},{"type":"EnumItem","Name":"3","tags":[],"Value":3,"Enum":"PyramidSides"},{"type":"EnumItem","Name":"4","tags":[],"Value":4,"Enum":"PyramidSides"},{"type":"EnumItem","Name":"5","tags":[],"Value":5,"Enum":"PyramidSides"},{"type":"EnumItem","Name":"6","tags":[],"Value":6,"Enum":"PyramidSides"},{"type":"EnumItem","Name":"8","tags":[],"Value":8,"Enum":"PyramidSides"},{"type":"EnumItem","Name":"10","tags":[],"Value":10,"Enum":"PyramidSides"},{"type":"EnumItem","Name":"20","tags":[],"Value":20,"Enum":"PyramidSides"},{"type":"Enum","Name":"QualityLevel","tags":[]},{"type":"EnumItem","Name":"Automatic","tags":[],"Value":0,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level01","tags":[],"Value":1,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level02","tags":[],"Value":2,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level03","tags":[],"Value":3,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level04","tags":[],"Value":4,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level05","tags":[],"Value":5,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level06","tags":[],"Value":6,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level07","tags":[],"Value":7,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level08","tags":[],"Value":8,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level09","tags":[],"Value":9,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level10","tags":[],"Value":10,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level11","tags":[],"Value":11,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level12","tags":[],"Value":12,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level13","tags":[],"Value":13,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level14","tags":[],"Value":14,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level15","tags":[],"Value":15,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level16","tags":[],"Value":16,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level17","tags":[],"Value":17,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level18","tags":[],"Value":18,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level19","tags":[],"Value":19,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level20","tags":[],"Value":20,"Enum":"QualityLevel"},{"type":"EnumItem","Name":"Level21","tags":[],"Value":21,"Enum":"QualityLevel"},{"type":"Enum","Name":"RenderPriority","tags":[]},{"type":"EnumItem","Name":"First","tags":[],"Value":0,"Enum":"RenderPriority"},{"type":"EnumItem","Name":"Input","tags":[],"Value":100,"Enum":"RenderPriority"},{"type":"EnumItem","Name":"Camera","tags":[],"Value":200,"Enum":"RenderPriority"},{"type":"EnumItem","Name":"Character","tags":[],"Value":300,"Enum":"RenderPriority"},{"type":"EnumItem","Name":"Last","tags":[],"Value":2000,"Enum":"RenderPriority"},{"type":"Enum","Name":"Resolution","tags":[]},{"type":"EnumItem","Name":"Automatic","tags":[],"Value":0,"Enum":"Resolution"},{"type":"EnumItem","Name":"720x526","tags":[],"Value":1,"Enum":"Resolution"},{"type":"EnumItem","Name":"800x600","tags":[],"Value":2,"Enum":"Resolution"},{"type":"EnumItem","Name":"1024x600","tags":[],"Value":3,"Enum":"Resolution"},{"type":"EnumItem","Name":"1024x768","tags":[],"Value":4,"Enum":"Resolution"},{"type":"EnumItem","Name":"1280x720","tags":[],"Value":5,"Enum":"Resolution"},{"type":"EnumItem","Name":"1280x768","tags":[],"Value":6,"Enum":"Resolution"},{"type":"EnumItem","Name":"1152x864","tags":[],"Value":7,"Enum":"Resolution"},{"type":"EnumItem","Name":"1280x800","tags":[],"Value":8,"Enum":"Resolution"},{"type":"EnumItem","Name":"1360x768","tags":[],"Value":9,"Enum":"Resolution"},{"type":"EnumItem","Name":"1280x960","tags":[],"Value":10,"Enum":"Resolution"},{"type":"EnumItem","Name":"1280x1024","tags":[],"Value":11,"Enum":"Resolution"},{"type":"EnumItem","Name":"1440x900","tags":[],"Value":12,"Enum":"Resolution"},{"type":"EnumItem","Name":"1600x900","tags":[],"Value":13,"Enum":"Resolution"},{"type":"EnumItem","Name":"1600x1024","tags":[],"Value":14,"Enum":"Resolution"},{"type":"EnumItem","Name":"1600x1200","tags":[],"Value":15,"Enum":"Resolution"},{"type":"EnumItem","Name":"1680x1050","tags":[],"Value":16,"Enum":"Resolution"},{"type":"EnumItem","Name":"1920x1080","tags":[],"Value":17,"Enum":"Resolution"},{"type":"EnumItem","Name":"1920x1200","tags":[],"Value":18,"Enum":"Resolution"},{"type":"Enum","Name":"ReverbType","tags":[]},{"type":"EnumItem","Name":"NoReverb","tags":[],"Value":0,"Enum":"ReverbType"},{"type":"EnumItem","Name":"GenericReverb","tags":[],"Value":1,"Enum":"ReverbType"},{"type":"EnumItem","Name":"PaddedCell","tags":[],"Value":2,"Enum":"ReverbType"},{"type":"EnumItem","Name":"Room","tags":[],"Value":3,"Enum":"ReverbType"},{"type":"EnumItem","Name":"Bathroom","tags":[],"Value":4,"Enum":"ReverbType"},{"type":"EnumItem","Name":"LivingRoom","tags":[],"Value":5,"Enum":"ReverbType"},{"type":"EnumItem","Name":"StoneRoom","tags":[],"Value":6,"Enum":"ReverbType"},{"type":"EnumItem","Name":"Auditorium","tags":[],"Value":7,"Enum":"ReverbType"},{"type":"EnumItem","Name":"ConcertHall","tags":[],"Value":8,"Enum":"ReverbType"},{"type":"EnumItem","Name":"Cave","tags":[],"Value":9,"Enum":"ReverbType"},{"type":"EnumItem","Name":"Arena","tags":[],"Value":10,"Enum":"ReverbType"},{"type":"EnumItem","Name":"Hangar","tags":[],"Value":11,"Enum":"ReverbType"},{"type":"EnumItem","Name":"CarpettedHallway","tags":[],"Value":12,"Enum":"ReverbType"},{"type":"EnumItem","Name":"Hallway","tags":[],"Value":13,"Enum":"ReverbType"},{"type":"EnumItem","Name":"StoneCorridor","tags":[],"Value":14,"Enum":"ReverbType"},{"type":"EnumItem","Name":"Alley","tags":[],"Value":15,"Enum":"ReverbType"},{"type":"EnumItem","Name":"Forest","tags":[],"Value":16,"Enum":"ReverbType"},{"type":"EnumItem","Name":"City","tags":[],"Value":17,"Enum":"ReverbType"},{"type":"EnumItem","Name":"Mountains","tags":[],"Value":18,"Enum":"ReverbType"},{"type":"EnumItem","Name":"Quarry","tags":[],"Value":19,"Enum":"ReverbType"},{"type":"EnumItem","Name":"Plain","tags":[],"Value":20,"Enum":"ReverbType"},{"type":"EnumItem","Name":"ParkingLot","tags":[],"Value":21,"Enum":"ReverbType"},{"type":"EnumItem","Name":"SewerPipe","tags":[],"Value":22,"Enum":"ReverbType"},{"type":"EnumItem","Name":"UnderWater","tags":[],"Value":23,"Enum":"ReverbType"},{"type":"Enum","Name":"RollOffMode","tags":[]},{"type":"EnumItem","Name":"Inverse","tags":[],"Value":0,"Enum":"RollOffMode"},{"type":"EnumItem","Name":"Linear","tags":[],"Value":1,"Enum":"RollOffMode"},{"type":"Enum","Name":"RotationType","tags":[]},{"type":"EnumItem","Name":"MovementRelative","tags":[],"Value":0,"Enum":"RotationType"},{"type":"EnumItem","Name":"CameraRelative","tags":[],"Value":1,"Enum":"RotationType"},{"type":"Enum","Name":"RuntimeUndoBehavior","tags":[]},{"type":"EnumItem","Name":"Aggregate","tags":[],"Value":0,"Enum":"RuntimeUndoBehavior"},{"type":"EnumItem","Name":"Snapshot","tags":[],"Value":1,"Enum":"RuntimeUndoBehavior"},{"type":"EnumItem","Name":"Hybrid","tags":[],"Value":2,"Enum":"RuntimeUndoBehavior"},{"type":"Enum","Name":"SaveFilter","tags":[]},{"type":"EnumItem","Name":"SaveAll","tags":[],"Value":2,"Enum":"SaveFilter"},{"type":"EnumItem","Name":"SaveWorld","tags":[],"Value":0,"Enum":"SaveFilter"},{"type":"EnumItem","Name":"SaveGame","tags":[],"Value":1,"Enum":"SaveFilter"},{"type":"Enum","Name":"SavedQualitySetting","tags":[]},{"type":"EnumItem","Name":"Automatic","tags":[],"Value":0,"Enum":"SavedQualitySetting"},{"type":"EnumItem","Name":"QualityLevel1","tags":[],"Value":1,"Enum":"SavedQualitySetting"},{"type":"EnumItem","Name":"QualityLevel2","tags":[],"Value":2,"Enum":"SavedQualitySetting"},{"type":"EnumItem","Name":"QualityLevel3","tags":[],"Value":3,"Enum":"SavedQualitySetting"},{"type":"EnumItem","Name":"QualityLevel4","tags":[],"Value":4,"Enum":"SavedQualitySetting"},{"type":"EnumItem","Name":"QualityLevel5","tags":[],"Value":5,"Enum":"SavedQualitySetting"},{"type":"EnumItem","Name":"QualityLevel6","tags":[],"Value":6,"Enum":"SavedQualitySetting"},{"type":"EnumItem","Name":"QualityLevel7","tags":[],"Value":7,"Enum":"SavedQualitySetting"},{"type":"EnumItem","Name":"QualityLevel8","tags":[],"Value":8,"Enum":"SavedQualitySetting"},{"type":"EnumItem","Name":"QualityLevel9","tags":[],"Value":9,"Enum":"SavedQualitySetting"},{"type":"EnumItem","Name":"QualityLevel10","tags":[],"Value":10,"Enum":"SavedQualitySetting"},{"type":"Enum","Name":"ScaleType","tags":[]},{"type":"EnumItem","Name":"Stretch","tags":[],"Value":0,"Enum":"ScaleType"},{"type":"EnumItem","Name":"Slice","tags":[],"Value":1,"Enum":"ScaleType"},{"type":"Enum","Name":"SizeConstraint","tags":[]},{"type":"EnumItem","Name":"RelativeXY","tags":[],"Value":0,"Enum":"SizeConstraint"},{"type":"EnumItem","Name":"RelativeXX","tags":[],"Value":1,"Enum":"SizeConstraint"},{"type":"EnumItem","Name":"RelativeYY","tags":[],"Value":2,"Enum":"SizeConstraint"},{"type":"Enum","Name":"SleepAdjustMethod","tags":[]},{"type":"EnumItem","Name":"None","tags":[],"Value":0,"Enum":"SleepAdjustMethod"},{"type":"EnumItem","Name":"LastSample","tags":[],"Value":1,"Enum":"SleepAdjustMethod"},{"type":"EnumItem","Name":"AverageInterval","tags":[],"Value":2,"Enum":"SleepAdjustMethod"},{"type":"Enum","Name":"SoundType","tags":[]},{"type":"EnumItem","Name":"NoSound","tags":[],"Value":0,"Enum":"SoundType"},{"type":"EnumItem","Name":"Boing","tags":[],"Value":1,"Enum":"SoundType"},{"type":"EnumItem","Name":"Bomb","tags":[],"Value":2,"Enum":"SoundType"},{"type":"EnumItem","Name":"Break","tags":[],"Value":3,"Enum":"SoundType"},{"type":"EnumItem","Name":"Click","tags":[],"Value":4,"Enum":"SoundType"},{"type":"EnumItem","Name":"Clock","tags":[],"Value":5,"Enum":"SoundType"},{"type":"EnumItem","Name":"Slingshot","tags":[],"Value":6,"Enum":"SoundType"},{"type":"EnumItem","Name":"Page","tags":[],"Value":7,"Enum":"SoundType"},{"type":"EnumItem","Name":"Ping","tags":[],"Value":8,"Enum":"SoundType"},{"type":"EnumItem","Name":"Snap","tags":[],"Value":9,"Enum":"SoundType"},{"type":"EnumItem","Name":"Splat","tags":[],"Value":10,"Enum":"SoundType"},{"type":"EnumItem","Name":"Step","tags":[],"Value":11,"Enum":"SoundType"},{"type":"EnumItem","Name":"StepOn","tags":[],"Value":12,"Enum":"SoundType"},{"type":"EnumItem","Name":"Swoosh","tags":[],"Value":13,"Enum":"SoundType"},{"type":"EnumItem","Name":"Victory","tags":[],"Value":14,"Enum":"SoundType"},{"type":"Enum","Name":"SpecialKey","tags":[]},{"type":"EnumItem","Name":"Insert","tags":[],"Value":0,"Enum":"SpecialKey"},{"type":"EnumItem","Name":"Home","tags":[],"Value":1,"Enum":"SpecialKey"},{"type":"EnumItem","Name":"End","tags":[],"Value":2,"Enum":"SpecialKey"},{"type":"EnumItem","Name":"PageUp","tags":[],"Value":3,"Enum":"SpecialKey"},{"type":"EnumItem","Name":"PageDown","tags":[],"Value":4,"Enum":"SpecialKey"},{"type":"EnumItem","Name":"ChatHotkey","tags":[],"Value":5,"Enum":"SpecialKey"},{"type":"Enum","Name":"Status","tags":[]},{"type":"EnumItem","Name":"Poison","tags":["deprecated"],"Value":0,"Enum":"Status"},{"type":"EnumItem","Name":"Confusion","tags":["deprecated"],"Value":1,"Enum":"Status"},{"type":"Enum","Name":"Stuff","tags":[]},{"type":"EnumItem","Name":"Heads","tags":[],"Value":0,"Enum":"Stuff"},{"type":"EnumItem","Name":"Faces","tags":[],"Value":1,"Enum":"Stuff"},{"type":"EnumItem","Name":"Hats","tags":[],"Value":2,"Enum":"Stuff"},{"type":"EnumItem","Name":"TShirts","tags":[],"Value":3,"Enum":"Stuff"},{"type":"EnumItem","Name":"Shirts","tags":[],"Value":4,"Enum":"Stuff"},{"type":"EnumItem","Name":"Pants","tags":[],"Value":5,"Enum":"Stuff"},{"type":"EnumItem","Name":"Gears","tags":[],"Value":6,"Enum":"Stuff"},{"type":"EnumItem","Name":"Torsos","tags":[],"Value":7,"Enum":"Stuff"},{"type":"EnumItem","Name":"LeftArms","tags":[],"Value":8,"Enum":"Stuff"},{"type":"EnumItem","Name":"RightArms","tags":[],"Value":9,"Enum":"Stuff"},{"type":"EnumItem","Name":"LeftLegs","tags":[],"Value":10,"Enum":"Stuff"},{"type":"EnumItem","Name":"RightLegs","tags":[],"Value":11,"Enum":"Stuff"},{"type":"EnumItem","Name":"Bodies","tags":[],"Value":12,"Enum":"Stuff"},{"type":"EnumItem","Name":"Costumes","tags":[],"Value":13,"Enum":"Stuff"},{"type":"Enum","Name":"Style","tags":[]},{"type":"EnumItem","Name":"AlternatingSupports","tags":[],"Value":0,"Enum":"Style"},{"type":"EnumItem","Name":"BridgeStyleSupports","tags":[],"Value":1,"Enum":"Style"},{"type":"EnumItem","Name":"NoSupports","tags":[],"Value":2,"Enum":"Style"},{"type":"Enum","Name":"SurfaceConstraint","tags":[]},{"type":"EnumItem","Name":"None","tags":[],"Value":0,"Enum":"SurfaceConstraint"},{"type":"EnumItem","Name":"Hinge","tags":[],"Value":1,"Enum":"SurfaceConstraint"},{"type":"EnumItem","Name":"SteppingMotor","tags":[],"Value":2,"Enum":"SurfaceConstraint"},{"type":"EnumItem","Name":"Motor","tags":[],"Value":3,"Enum":"SurfaceConstraint"},{"type":"Enum","Name":"SurfaceType","tags":[]},{"type":"EnumItem","Name":"Smooth","tags":[],"Value":0,"Enum":"SurfaceType"},{"type":"EnumItem","Name":"Glue","tags":[],"Value":1,"Enum":"SurfaceType"},{"type":"EnumItem","Name":"Weld","tags":[],"Value":2,"Enum":"SurfaceType"},{"type":"EnumItem","Name":"Studs","tags":[],"Value":3,"Enum":"SurfaceType"},{"type":"EnumItem","Name":"Inlet","tags":[],"Value":4,"Enum":"SurfaceType"},{"type":"EnumItem","Name":"Universal","tags":[],"Value":5,"Enum":"SurfaceType"},{"type":"EnumItem","Name":"Hinge","tags":[],"Value":6,"Enum":"SurfaceType"},{"type":"EnumItem","Name":"Motor","tags":[],"Value":7,"Enum":"SurfaceType"},{"type":"EnumItem","Name":"SteppingMotor","tags":[],"Value":8,"Enum":"SurfaceType"},{"type":"EnumItem","Name":"Unjoinable","tags":[],"Value":9,"Enum":"SurfaceType"},{"type":"EnumItem","Name":"SmoothNoOutlines","tags":[],"Value":10,"Enum":"SurfaceType"},{"type":"Enum","Name":"SwipeDirection","tags":[]},{"type":"EnumItem","Name":"Right","tags":[],"Value":0,"Enum":"SwipeDirection"},{"type":"EnumItem","Name":"Left","tags":[],"Value":1,"Enum":"SwipeDirection"},{"type":"EnumItem","Name":"Up","tags":[],"Value":2,"Enum":"SwipeDirection"},{"type":"EnumItem","Name":"Down","tags":[],"Value":3,"Enum":"SwipeDirection"},{"type":"EnumItem","Name":"None","tags":[],"Value":4,"Enum":"SwipeDirection"},{"type":"Enum","Name":"TeleportState","tags":[]},{"type":"EnumItem","Name":"RequestedFromServer","tags":[],"Value":0,"Enum":"TeleportState"},{"type":"EnumItem","Name":"Started","tags":[],"Value":1,"Enum":"TeleportState"},{"type":"EnumItem","Name":"WaitingForServer","tags":[],"Value":2,"Enum":"TeleportState"},{"type":"EnumItem","Name":"Failed","tags":[],"Value":3,"Enum":"TeleportState"},{"type":"EnumItem","Name":"InProgress","tags":[],"Value":4,"Enum":"TeleportState"},{"type":"Enum","Name":"TeleportType","tags":[]},{"type":"EnumItem","Name":"ToPlace","tags":[],"Value":0,"Enum":"TeleportType"},{"type":"EnumItem","Name":"ToInstance","tags":[],"Value":1,"Enum":"TeleportType"},{"type":"EnumItem","Name":"ToReservedServer","tags":[],"Value":2,"Enum":"TeleportType"},{"type":"Enum","Name":"TextXAlignment","tags":[]},{"type":"EnumItem","Name":"Left","tags":[],"Value":0,"Enum":"TextXAlignment"},{"type":"EnumItem","Name":"Center","tags":[],"Value":2,"Enum":"TextXAlignment"},{"type":"EnumItem","Name":"Right","tags":[],"Value":1,"Enum":"TextXAlignment"},{"type":"Enum","Name":"TextYAlignment","tags":[]},{"type":"EnumItem","Name":"Top","tags":[],"Value":0,"Enum":"TextYAlignment"},{"type":"EnumItem","Name":"Center","tags":[],"Value":1,"Enum":"TextYAlignment"},{"type":"EnumItem","Name":"Bottom","tags":[],"Value":2,"Enum":"TextYAlignment"},{"type":"Enum","Name":"ThreadPoolConfig","tags":[]},{"type":"EnumItem","Name":"Auto","tags":[],"Value":0,"Enum":"ThreadPoolConfig"},{"type":"EnumItem","Name":"PerCore1","tags":[],"Value":101,"Enum":"ThreadPoolConfig"},{"type":"EnumItem","Name":"PerCore2","tags":[],"Value":102,"Enum":"ThreadPoolConfig"},{"type":"EnumItem","Name":"PerCore3","tags":[],"Value":103,"Enum":"ThreadPoolConfig"},{"type":"EnumItem","Name":"PerCore4","tags":[],"Value":104,"Enum":"ThreadPoolConfig"},{"type":"EnumItem","Name":"Threads1","tags":[],"Value":1,"Enum":"ThreadPoolConfig"},{"type":"EnumItem","Name":"Threads2","tags":[],"Value":2,"Enum":"ThreadPoolConfig"},{"type":"EnumItem","Name":"Threads3","tags":[],"Value":3,"Enum":"ThreadPoolConfig"},{"type":"EnumItem","Name":"Threads4","tags":[],"Value":4,"Enum":"ThreadPoolConfig"},{"type":"EnumItem","Name":"Threads8","tags":[],"Value":8,"Enum":"ThreadPoolConfig"},{"type":"EnumItem","Name":"Threads16","tags":[],"Value":16,"Enum":"ThreadPoolConfig"},{"type":"Enum","Name":"ThrottlingPriority","tags":[]},{"type":"EnumItem","Name":"Extreme","tags":[],"Value":2,"Enum":"ThrottlingPriority"},{"type":"EnumItem","Name":"ElevatedOnServer","tags":[],"Value":1,"Enum":"ThrottlingPriority"},{"type":"EnumItem","Name":"Default","tags":[],"Value":0,"Enum":"ThrottlingPriority"},{"type":"Enum","Name":"TickCountSampleMethod","tags":[]},{"type":"EnumItem","Name":"Fast","tags":[],"Value":0,"Enum":"TickCountSampleMethod"},{"type":"EnumItem","Name":"Benchmark","tags":[],"Value":1,"Enum":"TickCountSampleMethod"},{"type":"EnumItem","Name":"Precise","tags":[],"Value":2,"Enum":"TickCountSampleMethod"},{"type":"Enum","Name":"TopBottom","tags":[]},{"type":"EnumItem","Name":"Top","tags":[],"Value":0,"Enum":"TopBottom"},{"type":"EnumItem","Name":"Center","tags":[],"Value":1,"Enum":"TopBottom"},{"type":"EnumItem","Name":"Bottom","tags":[],"Value":2,"Enum":"TopBottom"},{"type":"Enum","Name":"TouchCameraMovementMode","tags":[]},{"type":"EnumItem","Name":"Default","tags":[],"Value":0,"Enum":"TouchCameraMovementMode"},{"type":"EnumItem","Name":"Follow","tags":[],"Value":2,"Enum":"TouchCameraMovementMode"},{"type":"EnumItem","Name":"Classic","tags":[],"Value":1,"Enum":"TouchCameraMovementMode"},{"type":"Enum","Name":"TouchMovementMode","tags":[]},{"type":"EnumItem","Name":"Default","tags":[],"Value":0,"Enum":"TouchMovementMode"},{"type":"EnumItem","Name":"Thumbstick","tags":[],"Value":1,"Enum":"TouchMovementMode"},{"type":"EnumItem","Name":"DPad","tags":[],"Value":2,"Enum":"TouchMovementMode"},{"type":"EnumItem","Name":"Thumbpad","tags":[],"Value":3,"Enum":"TouchMovementMode"},{"type":"EnumItem","Name":"ClickToMove","tags":[],"Value":4,"Enum":"TouchMovementMode"},{"type":"Enum","Name":"TweenStatus","tags":[]},{"type":"EnumItem","Name":"Canceled","tags":[],"Value":0,"Enum":"TweenStatus"},{"type":"EnumItem","Name":"Completed","tags":[],"Value":1,"Enum":"TweenStatus"},{"type":"Enum","Name":"UiMessageType","tags":[]},{"type":"EnumItem","Name":"UiMessageError","tags":[],"Value":0,"Enum":"UiMessageType"},{"type":"EnumItem","Name":"UiMessageInfo","tags":[],"Value":1,"Enum":"UiMessageType"},{"type":"Enum","Name":"UploadSetting","tags":[]},{"type":"EnumItem","Name":"Never","tags":[],"Value":0,"Enum":"UploadSetting"},{"type":"EnumItem","Name":"Ask","tags":[],"Value":1,"Enum":"UploadSetting"},{"type":"EnumItem","Name":"Always","tags":[],"Value":2,"Enum":"UploadSetting"},{"type":"Enum","Name":"UserCFrame","tags":[]},{"type":"EnumItem","Name":"Head","tags":[],"Value":0,"Enum":"UserCFrame"},{"type":"EnumItem","Name":"LeftHand","tags":[],"Value":1,"Enum":"UserCFrame"},{"type":"EnumItem","Name":"RightHand","tags":[],"Value":2,"Enum":"UserCFrame"},{"type":"Enum","Name":"UserInputState","tags":[]},{"type":"EnumItem","Name":"Begin","tags":[],"Value":0,"Enum":"UserInputState"},{"type":"EnumItem","Name":"Change","tags":[],"Value":1,"Enum":"UserInputState"},{"type":"EnumItem","Name":"End","tags":[],"Value":2,"Enum":"UserInputState"},{"type":"EnumItem","Name":"Cancel","tags":[],"Value":3,"Enum":"UserInputState"},{"type":"EnumItem","Name":"None","tags":[],"Value":4,"Enum":"UserInputState"},{"type":"Enum","Name":"UserInputType","tags":[]},{"type":"EnumItem","Name":"MouseButton1","tags":[],"Value":0,"Enum":"UserInputType"},{"type":"EnumItem","Name":"MouseButton2","tags":[],"Value":1,"Enum":"UserInputType"},{"type":"EnumItem","Name":"MouseButton3","tags":[],"Value":2,"Enum":"UserInputType"},{"type":"EnumItem","Name":"MouseWheel","tags":[],"Value":3,"Enum":"UserInputType"},{"type":"EnumItem","Name":"MouseMovement","tags":[],"Value":4,"Enum":"UserInputType"},{"type":"EnumItem","Name":"Touch","tags":[],"Value":7,"Enum":"UserInputType"},{"type":"EnumItem","Name":"Keyboard","tags":[],"Value":8,"Enum":"UserInputType"},{"type":"EnumItem","Name":"Focus","tags":[],"Value":9,"Enum":"UserInputType"},{"type":"EnumItem","Name":"Accelerometer","tags":[],"Value":10,"Enum":"UserInputType"},{"type":"EnumItem","Name":"Gyro","tags":[],"Value":11,"Enum":"UserInputType"},{"type":"EnumItem","Name":"Gamepad1","tags":[],"Value":12,"Enum":"UserInputType"},{"type":"EnumItem","Name":"Gamepad2","tags":[],"Value":13,"Enum":"UserInputType"},{"type":"EnumItem","Name":"Gamepad3","tags":[],"Value":14,"Enum":"UserInputType"},{"type":"EnumItem","Name":"Gamepad4","tags":[],"Value":15,"Enum":"UserInputType"},{"type":"EnumItem","Name":"Gamepad5","tags":[],"Value":16,"Enum":"UserInputType"},{"type":"EnumItem","Name":"Gamepad6","tags":[],"Value":17,"Enum":"UserInputType"},{"type":"EnumItem","Name":"Gamepad7","tags":[],"Value":18,"Enum":"UserInputType"},{"type":"EnumItem","Name":"Gamepad8","tags":[],"Value":19,"Enum":"UserInputType"},{"type":"EnumItem","Name":"TextInput","tags":[],"Value":20,"Enum":"UserInputType"},{"type":"EnumItem","Name":"None","tags":[],"Value":21,"Enum":"UserInputType"},{"type":"Enum","Name":"VibrationMotor","tags":[]},{"type":"EnumItem","Name":"Large","tags":[],"Value":0,"Enum":"VibrationMotor"},{"type":"EnumItem","Name":"Small","tags":[],"Value":1,"Enum":"VibrationMotor"},{"type":"EnumItem","Name":"LeftTrigger","tags":[],"Value":2,"Enum":"VibrationMotor"},{"type":"EnumItem","Name":"RightTrigger","tags":[],"Value":3,"Enum":"VibrationMotor"},{"type":"EnumItem","Name":"LeftHand","tags":[],"Value":4,"Enum":"VibrationMotor"},{"type":"EnumItem","Name":"RightHand","tags":[],"Value":5,"Enum":"VibrationMotor"},{"type":"Enum","Name":"VideoQualitySettings","tags":[]},{"type":"EnumItem","Name":"LowResolution","tags":[],"Value":0,"Enum":"VideoQualitySettings"},{"type":"EnumItem","Name":"MediumResolution","tags":[],"Value":1,"Enum":"VideoQualitySettings"},{"type":"EnumItem","Name":"HighResolution","tags":[],"Value":2,"Enum":"VideoQualitySettings"},{"type":"Enum","Name":"WaterDirection","tags":[]},{"type":"EnumItem","Name":"NegX","tags":[],"Value":0,"Enum":"WaterDirection"},{"type":"EnumItem","Name":"X","tags":[],"Value":1,"Enum":"WaterDirection"},{"type":"EnumItem","Name":"NegY","tags":[],"Value":2,"Enum":"WaterDirection"},{"type":"EnumItem","Name":"Y","tags":[],"Value":3,"Enum":"WaterDirection"},{"type":"EnumItem","Name":"NegZ","tags":[],"Value":4,"Enum":"WaterDirection"},{"type":"EnumItem","Name":"Z","tags":[],"Value":5,"Enum":"WaterDirection"},{"type":"Enum","Name":"WaterForce","tags":[]},{"type":"EnumItem","Name":"None","tags":[],"Value":0,"Enum":"WaterForce"},{"type":"EnumItem","Name":"Small","tags":[],"Value":1,"Enum":"WaterForce"},{"type":"EnumItem","Name":"Medium","tags":[],"Value":2,"Enum":"WaterForce"},{"type":"EnumItem","Name":"Strong","tags":[],"Value":3,"Enum":"WaterForce"},{"type":"EnumItem","Name":"Max","tags":[],"Value":4,"Enum":"WaterForce"}]
6321]===]
6322 return rawApiJson
6323end
6324
6325function getCurrentApiJson()
6326 local jsonStr = nil
6327
6328 local success, err = pcall(function()
6329 jsonStr = httpGet(apiUrl)
6330 end)
6331 if success then
6332 return jsonStr
6333 else
6334 return getLocalApiJson()
6335 end
6336end
6337
6338function splitStringIntoChunks(jsonStr)
6339 -- Splits up a string into a table with a given size
6340 local t = {}
6341 for i = 1, math.ceil(string.len(jsonStr)/maxChunkSize) do
6342 local str = jsonStr:sub((i-1)*maxChunkSize+1, i*maxChunkSize)
6343 table.insert(t, str)
6344 end
6345 return t
6346end
6347
6348local jsonToParse = getCurrentApiJson()
6349local apiChunks = splitStringIntoChunks(jsonToParse)
6350
6351function getRbxApi()
6352--[[
6353 Api.Classes
6354 Api.Enums
6355 Api.GetProperties(className)
6356 Api.IsEnum(valueType)
6357--]]
6358
6359-- Services
6360local HttpService = game:GetService("HttpService")
6361local ServerStorage = game:GetService("ServerStorage")
6362local ReplicatedStorage = game:GetService("ReplicatedStorage")
6363
6364-- Remotes
6365--local Remotes = ReplicatedStorage:WaitForChild("OnlineStudio"):WaitForChild("Remotes")
6366--local GetApiJsonFunction = Remotes:WaitForChild("GetApiJson")
6367
6368-- Functions
6369local JsonDecode = function(s) return HttpService:JSONDecode(s) end
6370
6371local function GetApiRemoteFunction(index)
6372 if (apiChunks[index]) then
6373 return apiChunks[index], #apiChunks
6374 else
6375 return nil
6376 end
6377end
6378
6379local function getApiJson()
6380 local apiTable = {}
6381 local firstPage, pageCount = GetApiRemoteFunction(1)
6382 table.insert(apiTable, firstPage)
6383 for i = 2, pageCount do
6384 --print("Fetching API page # " .. tostring(i))
6385 local result = GetApiRemoteFunction(i)
6386 table.insert(apiTable, result)
6387 end
6388 return table.concat(apiTable)
6389end
6390
6391local json = getApiJson()
6392local apiDump = JsonDecode(json)
6393
6394local Classes = {}
6395local Enums = {}
6396
6397local function sortAlphabetic(t, property)
6398 table.sort(t,
6399 function(x,y) return x[property] < y[property]
6400 end)
6401end
6402
6403local function isEnum(name)
6404 return Enums[name] ~= nil
6405end
6406
6407local function getProperties(className)
6408 local class = Classes[className]
6409 local properties = {}
6410
6411 if not class then return properties end
6412
6413 while class do
6414 for _,property in pairs(class.Properties) do
6415 table.insert(properties, property)
6416 end
6417 class = Classes[class.Superclass]
6418 end
6419
6420 sortAlphabetic(properties, "Name")
6421
6422 return properties
6423end
6424
6425for _,item in pairs(apiDump) do
6426 local itemType = item.type
6427-- Classes --
6428 if (itemType == 'Class') then
6429 Classes[item.Name] = item
6430 item.Properties = {}
6431 item.Functions = {}
6432 item.YieldFunctions = {}
6433 item.Events = {}
6434 item.Callbacks = {}
6435-- Members --
6436 elseif (itemType == 'Property') then
6437 table.insert(Classes[item.Class].Properties, item)
6438 elseif (itemType == 'Function') then
6439 table.insert(Classes[item.Class].Functions, item)
6440 elseif (itemType == 'YieldFunction') then
6441 table.insert(Classes[item.Class].YieldFunctions, item)
6442 elseif (itemType == 'Event') then
6443 table.insert(Classes[item.Class].Events, item)
6444 elseif (itemType == 'Callback') then
6445 table.insert(Classes[item.Class].Callbacks, item)
6446-- Enums --
6447 elseif (itemType == 'Enum') then
6448 Enums[item.Name] = item
6449 item.EnumItems = {}
6450 elseif (itemType == 'EnumItem') then
6451 Enums[item.Enum].EnumItems[item.Name] = item
6452 end
6453end
6454
6455return {
6456 Classes = Classes;
6457 Enums = Enums;
6458 GetProperties = getProperties;
6459 IsEnum = isEnum;
6460}
6461end
6462
6463-- Modules
6464local Permissions = {CanEdit = true}
6465local RbxApi = getRbxApi()
6466
6467--[[
6468 RbxApi.Classes
6469 RbxApi.Enums
6470 RbxApi.GetProperties(className)
6471 RbxApi.IsEnum(valueType)
6472--]]
6473
6474-- Styles
6475
6476local function CreateColor3(r, g, b) return Color3.new(r/255,g/255,b/255) end
6477
6478local Styles = {
6479 Font = Enum.Font.Arial;
6480 Margin = 5;
6481 Black = CreateColor3(0,0,0);
6482 White = CreateColor3(24,24,24);
6483}
6484
6485local Row = {
6486 Font = Styles.Font;
6487 FontSize = Enum.FontSize.Size14;
6488 TextXAlignment = Enum.TextXAlignment.Left;
6489 TextColor = Color3.fromRGB(244,244,244);
6490 TextColorOver = Color3.fromRGB(244,244,244);
6491 TextLockedColor = CreateColor3(230,230,230);
6492 Height = 24;
6493 BorderColor = CreateColor3(216/4,216/4,216/4);
6494 BackgroundColor = Styles.White;
6495 BackgroundColorAlternate = CreateColor3(32, 32, 32);
6496 BackgroundColorMouseover = CreateColor3(40, 40, 40);
6497 TitleMarginLeft = 15;
6498}
6499
6500local DropDown = {
6501 Font = Styles.Font;
6502 FontSize = Enum.FontSize.Size14;
6503 TextColor = CreateColor3(255,255,255);
6504 TextColorOver = Color3.new(1, 1, 1);
6505 TextXAlignment = Enum.TextXAlignment.Left;
6506 Height = 16;
6507 BackColor = Styles.White;
6508 BackColorOver = CreateColor3(190, 90, 0);
6509 BorderColor = CreateColor3(45,45,45);
6510 BorderSizePixel = 2;
6511 ArrowColor = CreateColor3(160/2,160/2,160/2);
6512 ArrowColorOver = Styles.Black;
6513}
6514
6515local BrickColors = {
6516 BoxSize = 13;
6517 BorderSizePixel = 1;
6518 BorderColor = CreateColor3(160,160,160);
6519 FrameColor = CreateColor3(160,160,160);
6520 Size = 20;
6521 Padding = 4;
6522 ColorsPerRow = 8;
6523 OuterBorder = 1;
6524 OuterBorderColor = Styles.Black;
6525}
6526
6527wait(1)
6528
6529local Gui = D_E_X
6530local PropertiesFrame = Gui:WaitForChild("PropertiesFrame")
6531local ExplorerFrame = Gui:WaitForChild("ExplorerPanel")
6532
6533local bindGetSelection = ExplorerFrame.GetSelection
6534local bindSelectionChanged = ExplorerFrame.SelectionChanged
6535local bindGetApi = PropertiesFrame.GetApi
6536local bindGetAwait = PropertiesFrame.GetAwaiting
6537local bindSetAwait = PropertiesFrame.SetAwaiting
6538
6539local ContentUrl = ContentProvider.BaseUrl .. "asset/?id="
6540
6541local SettingsRemote = Gui:WaitForChild("SettingsPanel"):WaitForChild("GetSetting")
6542
6543local propertiesSearch = PropertiesFrame.Header.TextBox
6544
6545local AwaitingObjectValue = false
6546local AwaitingObjectObj
6547local AwaitingObjectProp
6548
6549function searchingProperties()
6550 if propertiesSearch.Text ~= "" and propertiesSearch.Text ~= "Search Properties" then
6551 return true
6552 end
6553 return false
6554end
6555
6556local function GetSelection()
6557 local selection = bindGetSelection:Invoke()
6558 if #selection == 0 then
6559 return nil
6560 else
6561 return selection
6562 end
6563end
6564
6565-- Number
6566
6567local function Round(number, decimalPlaces)
6568 return tonumber(string.format("%." .. (decimalPlaces or 0) .. "f", number))
6569end
6570
6571-- Strings
6572
6573local function Split(str, delimiter)
6574 local start = 1
6575 local t = {}
6576 while true do
6577 local pos = string.find (str, delimiter, start, true)
6578 if not pos then
6579 break
6580 end
6581 table.insert (t, string.sub (str, start, pos - 1))
6582 start = pos + string.len (delimiter)
6583 end
6584 table.insert (t, string.sub (str, start))
6585 return t
6586end
6587
6588-- Data Type Handling
6589
6590local function ToString(value, type)
6591 if type == "float" then
6592 return tostring(Round(value,2))
6593 elseif type == "Content" then
6594 if string.find(value,"/asset") then
6595 local match = string.find(value, "=") + 1
6596 local id = string.sub(value, match)
6597 return id
6598 else
6599 return tostring(value)
6600 end
6601 elseif type == "Vector2" then
6602 local x = value.x
6603 local y = value.y
6604 return string.format("%g, %g", x,y)
6605 elseif type == "Vector3" then
6606 local x = value.x
6607 local y = value.y
6608 local z = value.z
6609 return string.format("%g, %g, %g", x,y,z)
6610 elseif type == "Color3" then
6611 local r = value.r
6612 local g = value.g
6613 local b = value.b
6614 return string.format("%d, %d, %d", r*255,g*255,b*255)
6615 elseif type == "UDim2" then
6616 local xScale = value.X.Scale
6617 local xOffset = value.X.Offset
6618 local yScale = value.Y.Scale
6619 local yOffset = value.Y.Offset
6620 return string.format("{%d, %d}, {%d, %d}", xScale, xOffset, yScale, yOffset)
6621 else
6622 return tostring(value)
6623 end
6624end
6625
6626local function ToValue(value,type)
6627 if type == "Vector2" then
6628 local list = Split(value,",")
6629 if #list < 2 then return nil end
6630 local x = tonumber(list[1]) or 0
6631 local y = tonumber(list[2]) or 0
6632 return Vector2.new(x,y)
6633 elseif type == "Vector3" then
6634 local list = Split(value,",")
6635 if #list < 3 then return nil end
6636 local x = tonumber(list[1]) or 0
6637 local y = tonumber(list[2]) or 0
6638 local z = tonumber(list[3]) or 0
6639 return Vector3.new(x,y,z)
6640 elseif type == "Color3" then
6641 local list = Split(value,",")
6642 if #list < 3 then return nil end
6643 local r = tonumber(list[1]) or 0
6644 local g = tonumber(list[2]) or 0
6645 local b = tonumber(list[3]) or 0
6646 return Color3.new(r/255,g/255, b/255)
6647 elseif type == "UDim2" then
6648 local list = Split(string.gsub(string.gsub(value, "{", ""),"}",""),",")
6649 if #list < 4 then return nil end
6650 local xScale = tonumber(list[1]) or 0
6651 local xOffset = tonumber(list[2]) or 0
6652 local yScale = tonumber(list[3]) or 0
6653 local yOffset = tonumber(list[4]) or 0
6654 return UDim2.new(xScale, xOffset, yScale, yOffset)
6655 elseif type == "Content" then
6656 if tonumber(value) ~= nil then
6657 value = ContentUrl .. value
6658 end
6659 return value
6660 elseif type == "float" or type == "int" or type == "double" then
6661 return tonumber(value)
6662 elseif type == "string" then
6663 return value
6664 elseif type == "NumberRange" then
6665 local list = Split(value,",")
6666 if #list == 1 then
6667 if tonumber(list[1]) == nil then return nil end
6668 local newVal = tonumber(list[1]) or 0
6669 return NumberRange.new(newVal)
6670 end
6671 if #list < 2 then return nil end
6672 local x = tonumber(list[1]) or 0
6673 local y = tonumber(list[2]) or 0
6674 return NumberRange.new(x,y)
6675 else
6676 return nil
6677 end
6678end
6679
6680
6681-- Tables
6682
6683local function CopyTable(T)
6684 local t2 = {}
6685 for k,v in pairs(T) do
6686 t2[k] = v
6687 end
6688 return t2
6689end
6690
6691local function SortTable(T)
6692 table.sort(T,
6693 function(x,y) return x.Name < y.Name
6694 end)
6695end
6696
6697-- Spritesheet
6698local Sprite = {
6699 Width = 13;
6700 Height = 13;
6701}
6702
6703local Spritesheet = {
6704 Image = "http://www.roblox.com/asset/?id=128896947";
6705 Height = 256;
6706 Width = 256;
6707}
6708
6709local Images = {
6710 "unchecked",
6711 "checked",
6712 "unchecked_over",
6713 "checked_over",
6714 "unchecked_disabled",
6715 "checked_disabled"
6716}
6717
6718local function SpritePosition(spriteName)
6719 local x = 0
6720 local y = 0
6721 for i,v in pairs(Images) do
6722 if (v == spriteName) then
6723 return {x, y}
6724 end
6725 x = x + Sprite.Height
6726 if (x + Sprite.Width) > Spritesheet.Width then
6727 x = 0
6728 y = y + Sprite.Height
6729 end
6730 end
6731end
6732
6733local function GetCheckboxImageName(checked, readOnly, mouseover)
6734 if checked then
6735 if readOnly then
6736 return "checked_disabled"
6737 elseif mouseover then
6738 return "checked_over"
6739 else
6740 return "checked"
6741 end
6742 else
6743 if readOnly then
6744 return "unchecked_disabled"
6745 elseif mouseover then
6746 return "unchecked_over"
6747 else
6748 return "unchecked"
6749 end
6750 end
6751end
6752
6753local MAP_ID = 418720155
6754
6755-- Gui Controls --
6756
6757---- IconMap ----
6758-- Image size: 256px x 256px
6759-- Icon size: 16px x 16px
6760-- Padding between each icon: 2px
6761-- Padding around image edge: 1px
6762-- Total icons: 14 x 14 (196)
6763local Icon do
6764 local iconMap = 'http://www.roblox.com/asset/?id=' .. MAP_ID
6765 game:GetService('ContentProvider'):Preload(iconMap)
6766 local iconDehash do
6767 -- 14 x 14, 0-based input, 0-based output
6768 local f=math.floor
6769 function iconDehash(h)
6770 return f(h/14%14),f(h%14)
6771 end
6772 end
6773
6774 function Icon(IconFrame,index)
6775 local row,col = iconDehash(index)
6776 local mapSize = Vector2.new(256,256)
6777 local pad,border = 2,1
6778 local iconSize = 16
6779
6780 local class = 'Frame'
6781 if type(IconFrame) == 'string' then
6782 class = IconFrame
6783 IconFrame = nil
6784 end
6785
6786 if not IconFrame then
6787 IconFrame = Create(class,{
6788 Name = "Icon";
6789 BackgroundTransparency = 1;
6790 ClipsDescendants = true;
6791 Create('ImageLabel',{
6792 Name = "IconMap";
6793 Active = false;
6794 BackgroundTransparency = 1;
6795 Image = iconMap;
6796 Size = UDim2.new(mapSize.x/iconSize,0,mapSize.y/iconSize,0);
6797 });
6798 })
6799 end
6800
6801 IconFrame.IconMap.Position = UDim2.new(-col - (pad*(col+1) + border)/iconSize,0,-row - (pad*(row+1) + border)/iconSize,0)
6802 return IconFrame
6803 end
6804end
6805
6806local function CreateCell()
6807 local tableCell = Instance.new("Frame")
6808 tableCell.Size = UDim2.new(0.5, -1, 1, 0)
6809 tableCell.BackgroundColor3 = Row.BackgroundColor
6810 tableCell.BorderColor3 = Row.BorderColor
6811 return tableCell
6812end
6813
6814local function CreateLabel(readOnly)
6815 local label = Instance.new("TextLabel")
6816 label.Font = Row.Font
6817 label.FontSize = Row.FontSize
6818 label.TextXAlignment = Row.TextXAlignment
6819 label.BackgroundTransparency = 1
6820
6821 if readOnly then
6822 label.TextColor3 = Row.TextLockedColor
6823 else
6824 label.TextColor3 = Row.TextColor
6825 end
6826 return label
6827end
6828
6829local function CreateTextButton(readOnly, onClick)
6830 local button = Instance.new("TextButton")
6831 button.Font = Row.Font
6832 button.FontSize = Row.FontSize
6833 button.TextXAlignment = Row.TextXAlignment
6834 button.BackgroundTransparency = 1
6835 if readOnly then
6836 button.TextColor3 = Row.TextLockedColor
6837 else
6838 button.TextColor3 = Row.TextColor
6839 button.MouseButton1Click:connect(function()
6840 onClick()
6841 end)
6842 end
6843 return button
6844end
6845
6846local function CreateObject(readOnly)
6847 local button = Instance.new("TextButton")
6848 button.Font = Row.Font
6849 button.FontSize = Row.FontSize
6850 button.TextXAlignment = Row.TextXAlignment
6851 button.BackgroundTransparency = 1
6852 if readOnly then
6853 button.TextColor3 = Row.TextLockedColor
6854 else
6855 button.TextColor3 = Row.TextColor
6856 end
6857 local cancel = Create(Icon('ImageButton',177),{
6858 Name = "Cancel";
6859 Visible = false;
6860 Position = UDim2.new(1,-20,0,0);
6861 Size = UDim2.new(0,20,0,20);
6862 Parent = button;
6863 })
6864 return button
6865end
6866
6867local function CreateTextBox(readOnly)
6868 if readOnly then
6869 local box = CreateLabel(readOnly)
6870 return box
6871 else
6872 local box = Instance.new("TextBox")
6873 if not SettingsRemote:Invoke("ClearProps") then
6874 box.ClearTextOnFocus = false
6875 end
6876 box.Font = Row.Font
6877 box.FontSize = Row.FontSize
6878 box.TextXAlignment = Row.TextXAlignment
6879 box.BackgroundTransparency = 1
6880 box.TextColor3 = Row.TextColor
6881 return box
6882 end
6883end
6884
6885local function CreateDropDownItem(text, onClick)
6886 local button = Instance.new("TextButton")
6887 button.Font = DropDown.Font
6888 button.FontSize = DropDown.FontSize
6889 button.TextColor3 = DropDown.TextColor
6890 button.TextXAlignment = DropDown.TextXAlignment
6891 button.BackgroundColor3 = DropDown.BackColor
6892 button.AutoButtonColor = false
6893 button.BorderSizePixel = 0
6894 button.Active = true
6895 button.Text = text
6896
6897 button.MouseEnter:connect(function()
6898 button.TextColor3 = DropDown.TextColorOver
6899 button.BackgroundColor3 = DropDown.BackColorOver
6900 end)
6901 button.MouseLeave:connect(function()
6902 button.TextColor3 = DropDown.TextColor
6903 button.BackgroundColor3 = DropDown.BackColor
6904 end)
6905 button.MouseButton1Click:connect(function()
6906 onClick(text)
6907 end)
6908 return button
6909end
6910
6911local function CreateDropDown(choices, currentChoice, readOnly, onClick)
6912 local frame = Instance.new("Frame")
6913 frame.Name = "DropDown"
6914 frame.Size = UDim2.new(1, 0, 1, 0)
6915 frame.BackgroundTransparency = 1
6916 frame.Active = true
6917
6918 local menu = nil
6919 local arrow = nil
6920 local expanded = false
6921 local margin = DropDown.BorderSizePixel;
6922
6923 local button = Instance.new("TextButton")
6924 button.Font = Row.Font
6925 button.FontSize = Row.FontSize
6926 button.TextXAlignment = Row.TextXAlignment
6927 button.BackgroundTransparency = 1
6928 button.TextColor3 = Row.TextColor
6929 if readOnly then
6930 button.TextColor3 = Row.TextLockedColor
6931 end
6932 button.Text = currentChoice
6933 button.Size = UDim2.new(1, -2 * Styles.Margin, 1, 0)
6934 button.Position = UDim2.new(0, Styles.Margin, 0, 0)
6935 button.Parent = frame
6936
6937 local function showArrow(color)
6938 if arrow then arrow:Destroy() end
6939
6940 local graphicTemplate = Create('Frame',{
6941 Name="Graphic";
6942 BorderSizePixel = 0;
6943 BackgroundColor3 = Color3.new(1, 1, 1);
6944 })
6945 local graphicSize = 16/2
6946
6947 arrow = ArrowGraphic(graphicSize,'Down',true,graphicTemplate)
6948 arrow.Position = UDim2.new(1,-graphicSize * 2,0.5,-graphicSize/2)
6949 arrow.Parent = frame
6950 end
6951
6952 local function hideMenu()
6953 expanded = false
6954 showArrow(DropDown.ArrowColor)
6955 if menu then menu:Destroy() end
6956 end
6957
6958 local function showMenu()
6959 expanded = true
6960 menu = Instance.new("Frame")
6961 menu.Size = UDim2.new(1, -2 * margin, 0, #choices * DropDown.Height)
6962 menu.Position = UDim2.new(0, margin, 0, Row.Height + margin)
6963 menu.BackgroundTransparency = 0
6964 menu.BackgroundColor3 = DropDown.BackColor
6965 menu.BorderColor3 = DropDown.BorderColor
6966 menu.BorderSizePixel = DropDown.BorderSizePixel
6967 menu.Active = true
6968 menu.ZIndex = 5
6969 menu.Parent = frame
6970
6971 local parentFrameHeight = menu.Parent.Parent.Parent.Parent.Size.Y.Offset
6972 local rowHeight = menu.Parent.Parent.Parent.Position.Y.Offset
6973 if (rowHeight + menu.Size.Y.Offset) > math.max(parentFrameHeight,PropertiesFrame.AbsoluteSize.y) then
6974 menu.Position = UDim2.new(0, margin, 0, -1 * (#choices * DropDown.Height) - margin)
6975 end
6976
6977 local function choice(name)
6978 onClick(name)
6979 hideMenu()
6980 end
6981
6982 for i,name in pairs(choices) do
6983 local option = CreateDropDownItem(name, function()
6984 choice(name)
6985 end)
6986 option.Size = UDim2.new(1, 0, 0, 16)
6987 option.Position = UDim2.new(0, 0, 0, (i - 1) * DropDown.Height)
6988 option.ZIndex = menu.ZIndex
6989 option.Parent = menu
6990 end
6991 end
6992
6993 showArrow(DropDown.ArrowColor)
6994
6995 if not readOnly then
6996
6997 button.MouseEnter:connect(function()
6998 button.TextColor3 = Row.TextColor
6999 showArrow(DropDown.ArrowColorOver)
7000 end)
7001 button.MouseLeave:connect(function()
7002 button.TextColor3 = Row.TextColor
7003 if not expanded then
7004 showArrow(DropDown.ArrowColor)
7005 end
7006 end)
7007 button.MouseButton1Click:connect(function()
7008 if expanded then
7009 hideMenu()
7010 else
7011 showMenu()
7012 end
7013 end)
7014 end
7015
7016 return frame,button
7017end
7018
7019local function CreateBrickColor(readOnly, onClick)
7020 local frame = Instance.new("Frame")
7021 frame.Size = UDim2.new(1,0,1,0)
7022 frame.BackgroundTransparency = 1
7023
7024 local colorPalette = Instance.new("Frame")
7025 colorPalette.BackgroundTransparency = 0
7026 colorPalette.SizeConstraint = Enum.SizeConstraint.RelativeXX
7027 colorPalette.Size = UDim2.new(1, -2 * BrickColors.OuterBorder, 1, -2 * BrickColors.OuterBorder)
7028 colorPalette.BorderSizePixel = BrickColors.BorderSizePixel
7029 colorPalette.BorderColor3 = BrickColors.BorderColor
7030 colorPalette.Position = UDim2.new(0, BrickColors.OuterBorder, 0, BrickColors.OuterBorder + Row.Height)
7031 colorPalette.ZIndex = 5
7032 colorPalette.Visible = false
7033 colorPalette.BorderSizePixel = BrickColors.OuterBorder
7034 colorPalette.BorderColor3 = BrickColors.OuterBorderColor
7035 colorPalette.Parent = frame
7036
7037 local function show()
7038 colorPalette.Visible = true
7039 end
7040
7041 local function hide()
7042 colorPalette.Visible = false
7043 end
7044
7045 local function toggle()
7046 colorPalette.Visible = not colorPalette.Visible
7047 end
7048
7049 local colorBox = Instance.new("TextButton", frame)
7050 colorBox.Position = UDim2.new(0, Styles.Margin, 0, Styles.Margin)
7051 colorBox.Size = UDim2.new(0, BrickColors.BoxSize, 0, BrickColors.BoxSize)
7052 colorBox.Text = ""
7053 colorBox.MouseButton1Click:connect(function()
7054 if not readOnly then
7055 toggle()
7056 end
7057 end)
7058
7059 if readOnly then
7060 colorBox.AutoButtonColor = false
7061 end
7062
7063 local spacingBefore = (Styles.Margin * 2) + BrickColors.BoxSize
7064
7065 local propertyLabel = CreateTextButton(readOnly, function()
7066 if not readOnly then
7067 toggle()
7068 end
7069 end)
7070 propertyLabel.Size = UDim2.new(1, (-1 * spacingBefore) - Styles.Margin, 1, 0)
7071 propertyLabel.Position = UDim2.new(0, spacingBefore, 0, 0)
7072 propertyLabel.Parent = frame
7073
7074 local size = (1 / BrickColors.ColorsPerRow)
7075
7076 for index = 0, 127 do
7077 local brickColor = BrickColor.palette(index)
7078 local color3 = brickColor.Color
7079
7080 local x = size * (index % BrickColors.ColorsPerRow)
7081 local y = size * math.floor(index / BrickColors.ColorsPerRow)
7082
7083 local brickColorBox = Instance.new("TextButton")
7084 brickColorBox.Text = ""
7085 brickColorBox.Size = UDim2.new(size,0,size,0)
7086 brickColorBox.BackgroundColor3 = color3
7087 brickColorBox.Position = UDim2.new(x, 0, y, 0)
7088 brickColorBox.ZIndex = colorPalette.ZIndex
7089 brickColorBox.Parent = colorPalette
7090
7091 brickColorBox.MouseButton1Click:connect(function()
7092 hide()
7093 onClick(brickColor)
7094 end)
7095 end
7096
7097 return frame,propertyLabel,colorBox
7098end
7099
7100local function CreateColor3Control(readOnly, onClick)
7101 local frame = Instance.new("Frame")
7102 frame.Size = UDim2.new(1,0,1,0)
7103 frame.BackgroundTransparency = 1
7104
7105 local colorBox = Instance.new("TextButton", frame)
7106 colorBox.Position = UDim2.new(0, Styles.Margin, 0, Styles.Margin)
7107 colorBox.Size = UDim2.new(0, BrickColors.BoxSize, 0, BrickColors.BoxSize)
7108 colorBox.Text = ""
7109 colorBox.AutoButtonColor = false
7110
7111 local spacingBefore = (Styles.Margin * 2) + BrickColors.BoxSize
7112 local box = CreateTextBox(readOnly)
7113 box.Size = UDim2.new(1, (-1 * spacingBefore) - Styles.Margin, 1, 0)
7114 box.Position = UDim2.new(0, spacingBefore, 0, 0)
7115 box.Parent = frame
7116
7117 return frame,box,colorBox
7118end
7119
7120function CreateCheckbox(value, readOnly, onClick)
7121 local checked = value
7122 local mouseover = false
7123
7124 local checkboxFrame = Instance.new("ImageButton")
7125 checkboxFrame.Size = UDim2.new(0, Sprite.Width, 0, Sprite.Height)
7126 checkboxFrame.BackgroundTransparency = 1
7127 checkboxFrame.ClipsDescendants = true
7128 --checkboxFrame.Position = UDim2.new(0, Styles.Margin, 0, Styles.Margin)
7129
7130 local spritesheetImage = Instance.new("ImageLabel", checkboxFrame)
7131 spritesheetImage.Name = "SpritesheetImageLabel"
7132 spritesheetImage.Size = UDim2.new(0, Spritesheet.Width, 0, Spritesheet.Height)
7133 spritesheetImage.Image = Spritesheet.Image
7134 spritesheetImage.BackgroundTransparency = 1
7135
7136 local function updateSprite()
7137 local spriteName = GetCheckboxImageName(checked, readOnly, mouseover)
7138 local spritePosition = SpritePosition(spriteName)
7139 spritesheetImage.Position = UDim2.new(0, -1 * spritePosition[1], 0, -1 * spritePosition[2])
7140 end
7141
7142 local function setValue(val)
7143 checked = val
7144 updateSprite()
7145 end
7146
7147 if not readOnly then
7148 checkboxFrame.MouseEnter:connect(function() mouseover = true updateSprite() end)
7149 checkboxFrame.MouseLeave:connect(function() mouseover = false updateSprite() end)
7150 checkboxFrame.MouseButton1Click:connect(function()
7151 onClick(checked)
7152 end)
7153 end
7154
7155 updateSprite()
7156
7157 return checkboxFrame, setValue
7158end
7159
7160
7161
7162-- Code for handling controls of various data types --
7163
7164local Controls = {}
7165
7166Controls["default"] = function(object, propertyData, readOnly)
7167 local propertyName = propertyData["Name"]
7168 local propertyType = propertyData["ValueType"]
7169
7170 local box = CreateTextBox(readOnly)
7171 box.Size = UDim2.new(1, -2 * Styles.Margin, 1, 0)
7172 box.Position = UDim2.new(0, Styles.Margin, 0, 0)
7173
7174 local function update()
7175 local value = object[propertyName]
7176 box.Text = ToString(value, propertyType)
7177 end
7178
7179 if not readOnly then
7180 box.FocusLost:connect(function(enterPressed)
7181 Set(object, propertyData, ToValue(box.Text,propertyType))
7182 update()
7183 end)
7184 end
7185
7186 update()
7187
7188 object.Changed:connect(function(property)
7189 if (property == propertyName) then
7190 update()
7191 end
7192 end)
7193
7194 return box
7195end
7196
7197Controls["bool"] = function(object, propertyData, readOnly)
7198 local propertyName = propertyData["Name"]
7199 local checked = object[propertyName]
7200
7201 local checkbox, setValue = CreateCheckbox(checked, readOnly, function(value)
7202 Set(object, propertyData, not checked)
7203 end)
7204 checkbox.Position = UDim2.new(0, Styles.Margin, 0, Styles.Margin)
7205
7206 setValue(checked)
7207
7208 local function update()
7209 checked = object[propertyName]
7210 setValue(checked)
7211 end
7212
7213 object.Changed:connect(function(property)
7214 if (property == propertyName) then
7215 update()
7216 end
7217 end)
7218
7219 if object:IsA("BoolValue") then
7220 object.Changed:connect(function(val)
7221 update()
7222 end)
7223 end
7224
7225 update()
7226
7227 return checkbox
7228end
7229
7230Controls["BrickColor"] = function(object, propertyData, readOnly)
7231 local propertyName = propertyData["Name"]
7232
7233 local frame,label,brickColorBox = CreateBrickColor(readOnly, function(brickColor)
7234 Set(object, propertyData, brickColor)
7235 end)
7236
7237 local function update()
7238 local value = object[propertyName]
7239 brickColorBox.BackgroundColor3 = value.Color
7240 label.Text = tostring(value)
7241 end
7242
7243 update()
7244
7245 object.Changed:connect(function(property)
7246 if (property == propertyName) then
7247 update()
7248 end
7249 end)
7250
7251 return frame
7252end
7253
7254Controls["Color3"] = function(object, propertyData, readOnly)
7255 local propertyName = propertyData["Name"]
7256
7257 local frame,textBox,colorBox = CreateColor3Control(readOnly)
7258
7259 textBox.FocusLost:connect(function(enterPressed)
7260 Set(object, propertyData, ToValue(textBox.Text,"Color3"))
7261 local value = object[propertyName]
7262 colorBox.BackgroundColor3 = value
7263 textBox.Text = ToString(value, "Color3")
7264 end)
7265
7266 local function update()
7267 local value = object[propertyName]
7268 colorBox.BackgroundColor3 = value
7269 textBox.Text = ToString(value, "Color3")
7270 end
7271
7272 update()
7273
7274 object.Changed:connect(function(property)
7275 if (property == propertyName) then
7276 update()
7277 end
7278 end)
7279
7280 return frame
7281end
7282
7283Controls["Enum"] = function(object, propertyData, readOnly)
7284 local propertyName = propertyData["Name"]
7285 local propertyType = propertyData["ValueType"]
7286
7287 local enumName = object[propertyName].Name
7288
7289 local enumNames = {}
7290 for _,enum in pairs(Enum[tostring(propertyType)]:GetEnumItems()) do
7291 table.insert(enumNames, enum.Name)
7292 end
7293
7294 local dropdown, propertyLabel = CreateDropDown(enumNames, enumName, readOnly, function(value)
7295 Set(object, propertyData, value)
7296 end)
7297 --dropdown.Parent = frame
7298
7299 local function update()
7300 local value = object[propertyName].Name
7301 propertyLabel.Text = tostring(value)
7302 end
7303
7304 update()
7305
7306 object.Changed:connect(function(property)
7307 if (property == propertyName) then
7308 update()
7309 end
7310 end)
7311
7312 return dropdown
7313end
7314
7315Controls["Object"] = function(object, propertyData, readOnly)
7316 local propertyName = propertyData["Name"]
7317 local propertyType = propertyData["ValueType"]
7318
7319 local box = CreateObject(readOnly,function()end)
7320 box.Size = UDim2.new(1, -2 * Styles.Margin, 1, 0)
7321 box.Position = UDim2.new(0, Styles.Margin, 0, 0)
7322
7323 local function update()
7324 if AwaitingObjectObj == object then
7325 if AwaitingObjectValue == true then
7326 box.Text = "Select an Object"
7327 return
7328 end
7329 end
7330 local value = object[propertyName]
7331 box.Text = ToString(value, propertyType)
7332 end
7333
7334 if not readOnly then
7335 box.MouseButton1Click:connect(function()
7336 if AwaitingObjectValue then
7337 AwaitingObjectValue = false
7338 update()
7339 return
7340 end
7341 AwaitingObjectValue = true
7342 AwaitingObjectObj = object
7343 AwaitingObjectProp = propertyData
7344 box.Text = "Select an Object"
7345 end)
7346
7347 box.Cancel.Visible = true
7348 box.Cancel.MouseButton1Click:connect(function()
7349 object[propertyName] = nil
7350 end)
7351 end
7352
7353 update()
7354
7355 object.Changed:connect(function(property)
7356 if (property == propertyName) then
7357 update()
7358 end
7359 end)
7360
7361 if object:IsA("ObjectValue") then
7362 object.Changed:connect(function(val)
7363 update()
7364 end)
7365 end
7366
7367 return box
7368end
7369
7370function GetControl(object, propertyData, readOnly)
7371 local propertyType = propertyData["ValueType"]
7372 local control = nil
7373
7374 if Controls[propertyType] then
7375 control = Controls[propertyType](object, propertyData, readOnly)
7376 elseif RbxApi.IsEnum(propertyType) then
7377 control = Controls["Enum"](object, propertyData, readOnly)
7378 else
7379 control = Controls["default"](object, propertyData, readOnly)
7380 end
7381 return control
7382end
7383-- Permissions
7384
7385function CanEditObject(object)
7386 local player = Players.LocalPlayer
7387 local character = player.Character
7388 return Permissions.CanEdit
7389end
7390
7391function CanEditProperty(object,propertyData)
7392 local tags = propertyData["tags"]
7393 for _,name in pairs(tags) do
7394 if name == "readonly" then
7395 return false
7396 end
7397 end
7398 return CanEditObject(object)
7399end
7400
7401--RbxApi
7402local function PropertyIsHidden(propertyData)
7403 local tags = propertyData["tags"]
7404 for _,name in pairs(tags) do
7405 if name == "deprecated"
7406 or name == "hidden"
7407 or name == "writeonly" then
7408 return true
7409 end
7410 end
7411 return false
7412end
7413
7414function Set(object, propertyData, value)
7415 local propertyName = propertyData["Name"]
7416 local propertyType = propertyData["ValueType"]
7417
7418 if value == nil then return end
7419
7420 for i,v in pairs(GetSelection()) do
7421 if CanEditProperty(v,propertyData) then
7422 pcall(function()
7423 --print("Setting " .. propertyName .. " to " .. tostring(value))
7424 v[propertyName] = value
7425 end)
7426 end
7427 end
7428end
7429
7430function CreateRow(object, propertyData, isAlternateRow)
7431 local propertyName = propertyData["Name"]
7432 local propertyType = propertyData["ValueType"]
7433 local propertyValue = object[propertyName]
7434 --rowValue, rowValueType, isAlternate
7435 local backColor = Row.BackgroundColor;
7436 if (isAlternateRow) then
7437 backColor = Row.BackgroundColorAlternate
7438 end
7439
7440 local readOnly = not CanEditProperty(object, propertyData)
7441 if propertyType == "Instance" or propertyName == "Parent" then readOnly = true end
7442
7443 local rowFrame = Instance.new("Frame")
7444 rowFrame.Size = UDim2.new(1,0,0,Row.Height)
7445 rowFrame.BackgroundTransparency = 1
7446 rowFrame.Name = 'Row'
7447
7448 local propertyLabelFrame = CreateCell()
7449 propertyLabelFrame.Parent = rowFrame
7450 propertyLabelFrame.ClipsDescendants = true
7451
7452 local propertyLabel = CreateLabel(readOnly)
7453 propertyLabel.Text = propertyName
7454 propertyLabel.Size = UDim2.new(1, -1 * Row.TitleMarginLeft, 1, 0)
7455 propertyLabel.Position = UDim2.new(0, Row.TitleMarginLeft, 0, 0)
7456 propertyLabel.Parent = propertyLabelFrame
7457
7458 local propertyValueFrame = CreateCell()
7459 propertyValueFrame.Size = UDim2.new(0.5, -1, 1, 0)
7460 propertyValueFrame.Position = UDim2.new(0.5, 0, 0, 0)
7461 propertyValueFrame.Parent = rowFrame
7462
7463 local control = GetControl(object, propertyData, readOnly)
7464 control.Parent = propertyValueFrame
7465
7466 rowFrame.MouseEnter:connect(function()
7467 propertyLabelFrame.BackgroundColor3 = Row.BackgroundColorMouseover
7468 propertyValueFrame.BackgroundColor3 = Row.BackgroundColorMouseover
7469 end)
7470 rowFrame.MouseLeave:connect(function()
7471 propertyLabelFrame.BackgroundColor3 = backColor
7472 propertyValueFrame.BackgroundColor3 = backColor
7473 end)
7474
7475 propertyLabelFrame.BackgroundColor3 = backColor
7476 propertyValueFrame.BackgroundColor3 = backColor
7477
7478 return rowFrame
7479end
7480
7481function ClearPropertiesList()
7482 for _,instance in pairs(ContentFrame:GetChildren()) do
7483 instance:Destroy()
7484 end
7485end
7486
7487local selection = Gui:FindFirstChild("Selection", 1)
7488
7489function displayProperties(props)
7490 for i,v in pairs(props) do
7491 pcall(function()
7492 local a = CreateRow(v.object, v.propertyData, ((numRows % 2) == 0))
7493 a.Position = UDim2.new(0,0,0,numRows*Row.Height)
7494 a.Parent = ContentFrame
7495 numRows = numRows + 1
7496 end)
7497 end
7498end
7499
7500function checkForDupe(prop,props)
7501 for i,v in pairs(props) do
7502 if v.propertyData.Name == prop.Name and v.propertyData.ValueType == prop.ValueType then
7503 return true
7504 end
7505 end
7506 return false
7507end
7508
7509function sortProps(t)
7510 table.sort(t,
7511 function(x,y) return x.propertyData.Name < y.propertyData.Name
7512 end)
7513end
7514
7515function showProperties(obj)
7516 ClearPropertiesList()
7517 if obj == nil then return end
7518 local propHolder = {}
7519 local foundProps = {}
7520 numRows = 0
7521 for _,nextObj in pairs(obj) do
7522 if not foundProps[nextObj.className] then
7523 foundProps[nextObj.className] = true
7524 for i,v in pairs(RbxApi.GetProperties(nextObj.className)) do
7525 local suc, err = pcall(function()
7526 if not (PropertyIsHidden(v)) and not checkForDupe(v,propHolder) then
7527 if string.find(string.lower(v.Name),string.lower(propertiesSearch.Text)) or not searchingProperties() then
7528 table.insert(propHolder,{propertyData = v, object = nextObj})
7529 end
7530 end
7531 end)
7532 --[[if not suc then
7533 warn("Problem getting the value of property " .. v.Name .. " | " .. err)
7534 end --]]
7535 end
7536 end
7537 end
7538 sortProps(propHolder)
7539 displayProperties(propHolder)
7540 ContentFrame.Size = UDim2.new(1, 0, 0, numRows * Row.Height)
7541 scrollBar.ScrollIndex = 0
7542 scrollBar.TotalSpace = numRows * Row.Height
7543 scrollBar.Update()
7544end
7545
7546----------------------------------------------------------------
7547-----------------------SCROLLBAR STUFF--------------------------
7548----------------------------------------------------------------
7549----------------------------------------------------------------
7550local ScrollBarWidth = 16
7551
7552local ScrollStyles = {
7553 Background = Color3.fromRGB(233, 233, 233);
7554 Border = Color3.fromRGB(149, 149, 149);
7555 Selected = Color3.fromRGB( 63, 119, 189);
7556 BorderSelected = Color3.fromRGB( 55, 106, 167);
7557 Text = Color3.fromRGB( 0, 0, 0);
7558 TextDisabled = Color3.fromRGB(128, 128, 128);
7559 TextSelected = Color3.fromRGB(255, 255, 255);
7560 Button = Color3.fromRGB( 35, 35, 35);
7561 ButtonBorder = Color3.fromRGB(149, 149, 149);
7562 ButtonSelected = Color3.fromRGB(255, 0, 0);
7563 Field = Color3.fromRGB(255, 255, 255);
7564 FieldBorder = Color3.fromRGB(191, 191, 191);
7565 TitleBackground = Color3.fromRGB(178, 178, 178);
7566}
7567do
7568 local ZIndexLock = {}
7569 function SetZIndex(object,z)
7570 if not ZIndexLock[object] then
7571 ZIndexLock[object] = true
7572 if object:IsA'GuiObject' then
7573 object.ZIndex = z
7574 end
7575 local children = object:GetChildren()
7576 for i = 1,#children do
7577 SetZIndex(children[i],z)
7578 end
7579 ZIndexLock[object] = nil
7580 end
7581 end
7582end
7583function SetZIndexOnChanged(object)
7584 return object.Changed:connect(function(p)
7585 if p == "ZIndex" then
7586 SetZIndex(object,object.ZIndex)
7587 end
7588 end)
7589end
7590function Create(ty,data)
7591 local obj
7592 if type(ty) == 'string' then
7593 obj = Instance.new(ty)
7594 else
7595 obj = ty
7596 end
7597 for k, v in pairs(data) do
7598 if type(k) == 'number' then
7599 v.Parent = obj
7600 else
7601 obj[k] = v
7602 end
7603 end
7604 return obj
7605end
7606-- returns the ascendant ScreenGui of an object
7607function GetScreen(screen)
7608 if screen == nil then return nil end
7609 while not screen:IsA("ScreenGui") do
7610 screen = screen.Parent
7611 if screen == nil then return nil end
7612 end
7613 return screen
7614end
7615-- AutoButtonColor doesn't always reset properly
7616function ResetButtonColor(button)
7617 local active = button.Active
7618 button.Active = not active
7619 button.Active = active
7620end
7621
7622function ArrowGraphic(size,dir,scaled,template)
7623 local Frame = Create('Frame',{
7624 Name = "Arrow Graphic";
7625 BorderSizePixel = 0;
7626 Size = UDim2.new(0,size,0,size);
7627 Transparency = 1;
7628 })
7629 if not template then
7630 template = Instance.new("Frame")
7631 template.BorderSizePixel = 0
7632 end
7633
7634 template.BackgroundColor3 = Color3.new(1, 1, 1);
7635
7636 local transform
7637 if dir == nil or dir == 'Up' then
7638 function transform(p,s) return p,s end
7639 elseif dir == 'Down' then
7640 function transform(p,s) return UDim2.new(0,p.X.Offset,0,size-p.Y.Offset-1),s end
7641 elseif dir == 'Left' then
7642 function transform(p,s) return UDim2.new(0,p.Y.Offset,0,p.X.Offset),UDim2.new(0,s.Y.Offset,0,s.X.Offset) end
7643 elseif dir == 'Right' then
7644 function transform(p,s) return UDim2.new(0,size-p.Y.Offset-1,0,p.X.Offset),UDim2.new(0,s.Y.Offset,0,s.X.Offset) end
7645 end
7646
7647 local scale
7648 if scaled then
7649 function scale(p,s) return UDim2.new(p.X.Offset/size,0,p.Y.Offset/size,0),UDim2.new(s.X.Offset/size,0,s.Y.Offset/size,0) end
7650 else
7651 function scale(p,s) return p,s end
7652 end
7653
7654 local o = math.floor(size/4)
7655 if size%2 == 0 then
7656 local n = size/2-1
7657 for i = 0,n do
7658 local t = template:Clone()
7659 local p,s = scale(transform(
7660 UDim2.new(0,n-i,0,o+i),
7661 UDim2.new(0,(i+1)*2,0,1)
7662 ))
7663 t.Position = p
7664 t.Size = s
7665 t.Parent = Frame
7666 end
7667 else
7668 local n = (size-1)/2
7669 for i = 0,n do
7670 local t = template:Clone()
7671 local p,s = scale(transform(
7672 UDim2.new(0,n-i,0,o+i),
7673 UDim2.new(0,i*2+1,0,1)
7674 ))
7675 t.Position = p
7676 t.Size = s
7677 t.Parent = Frame
7678 end
7679 end
7680 if size%4 > 1 then
7681 local t = template:Clone()
7682 local p,s = scale(transform(
7683 UDim2.new(0,0,0,size-o-1),
7684 UDim2.new(0,size,0,1)
7685 ))
7686 t.Position = p
7687 t.Size = s
7688 t.Parent = Frame
7689 end
7690
7691 for i,v in pairs(Frame:GetChildren()) do
7692 v.BackgroundColor3 = Color3.new(1, 1, 1);
7693 end
7694
7695 return Frame
7696end
7697
7698function GripGraphic(size,dir,spacing,scaled,template)
7699 local Frame = Create('Frame',{
7700 Name = "Grip Graphic";
7701 BorderSizePixel = 0;
7702 Size = UDim2.new(0,size.x,0,size.y);
7703 Transparency = 1;
7704 })
7705 if not template then
7706 template = Instance.new("Frame")
7707 template.BorderSizePixel = 0
7708 end
7709
7710 spacing = spacing or 2
7711
7712 local scale
7713 if scaled then
7714 function scale(p) return UDim2.new(p.X.Offset/size.x,0,p.Y.Offset/size.y,0) end
7715 else
7716 function scale(p) return p end
7717 end
7718
7719 if dir == 'Vertical' then
7720 for i=0,size.x-1,spacing do
7721 local t = template:Clone()
7722 t.Size = scale(UDim2.new(0,1,0,size.y))
7723 t.Position = scale(UDim2.new(0,i,0,0))
7724 t.Parent = Frame
7725 end
7726 elseif dir == nil or dir == 'Horizontal' then
7727 for i=0,size.y-1,spacing do
7728 local t = template:Clone()
7729 t.Size = scale(UDim2.new(0,size.x,0,1))
7730 t.Position = scale(UDim2.new(0,0,0,i))
7731 t.Parent = Frame
7732 end
7733 end
7734
7735 return Frame
7736end
7737
7738do
7739 local mt = {
7740 __index = {
7741 GetScrollPercent = function(self)
7742 return self.ScrollIndex/(self.TotalSpace-self.VisibleSpace)
7743 end;
7744 CanScrollDown = function(self)
7745 return self.ScrollIndex + self.VisibleSpace < self.TotalSpace
7746 end;
7747 CanScrollUp = function(self)
7748 return self.ScrollIndex > 0
7749 end;
7750 ScrollDown = function(self)
7751 self.ScrollIndex = self.ScrollIndex + self.PageIncrement
7752 self:Update()
7753 end;
7754 ScrollUp = function(self)
7755 self.ScrollIndex = self.ScrollIndex - self.PageIncrement
7756 self:Update()
7757 end;
7758 ScrollTo = function(self,index)
7759 self.ScrollIndex = index
7760 self:Update()
7761 end;
7762 SetScrollPercent = function(self,percent)
7763 self.ScrollIndex = math.floor((self.TotalSpace - self.VisibleSpace)*percent + 0.5)
7764 self:Update()
7765 end;
7766 };
7767 }
7768 mt.__index.CanScrollRight = mt.__index.CanScrollDown
7769 mt.__index.CanScrollLeft = mt.__index.CanScrollUp
7770 mt.__index.ScrollLeft = mt.__index.ScrollUp
7771 mt.__index.ScrollRight = mt.__index.ScrollDown
7772
7773 function ScrollBar(horizontal)
7774 -- create row scroll bar
7775 local ScrollFrame = Create('Frame',{
7776 Name = "ScrollFrame";
7777 Position = horizontal and UDim2.new(0,0,1,-ScrollBarWidth) or UDim2.new(1,-ScrollBarWidth,0,0);
7778 Size = horizontal and UDim2.new(1,0,0,ScrollBarWidth) or UDim2.new(0,ScrollBarWidth,1,0);
7779 BackgroundTransparency = 1;
7780 Create('ImageButton',{
7781 Name = "ScrollDown";
7782 Position = horizontal and UDim2.new(1,-ScrollBarWidth,0,0) or UDim2.new(0,0,1,-ScrollBarWidth);
7783 Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
7784 BackgroundColor3 = ScrollStyles.Button;
7785 BorderColor3 = ScrollStyles.Border;
7786 BorderSizePixel = 0;
7787 });
7788 Create('ImageButton',{
7789 Name = "ScrollUp";
7790 Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
7791 BackgroundColor3 = ScrollStyles.Button;
7792 BorderColor3 = ScrollStyles.Border;
7793 BorderSizePixel = 0;
7794 });
7795 Create('ImageButton',{
7796 Name = "ScrollBar";
7797 Size = horizontal and UDim2.new(1,-ScrollBarWidth*2,1,0) or UDim2.new(1,0,1,-ScrollBarWidth*2);
7798 Position = horizontal and UDim2.new(0,ScrollBarWidth,0,0) or UDim2.new(0,0,0,ScrollBarWidth);
7799 AutoButtonColor = false;
7800 BackgroundColor3 = Color3.fromRGB(20, 20, 20);
7801 BorderColor3 = ScrollStyles.Border;
7802 BorderSizePixel = 0;
7803 Create('ImageButton',{
7804 Name = "ScrollThumb";
7805 AutoButtonColor = false;
7806 Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
7807 BackgroundColor3 = ScrollStyles.Button;
7808 BorderColor3 = ScrollStyles.Border;
7809 BorderSizePixel = 0;
7810 });
7811 });
7812 })
7813
7814 local graphicTemplate = Create('Frame',{
7815 Name="Graphic";
7816 BorderSizePixel = 0;
7817 BackgroundColor3 = Color3.new(1, 1, 1);
7818 })
7819 local graphicSize = ScrollBarWidth/2
7820
7821 local ScrollDownFrame = ScrollFrame.ScrollDown
7822 local ScrollDownGraphic = ArrowGraphic(graphicSize,horizontal and 'Right' or 'Down',true,graphicTemplate)
7823 ScrollDownGraphic.Position = UDim2.new(0.5,-graphicSize/2,0.5,-graphicSize/2)
7824 ScrollDownGraphic.Parent = ScrollDownFrame
7825 local ScrollUpFrame = ScrollFrame.ScrollUp
7826 local ScrollUpGraphic = ArrowGraphic(graphicSize,horizontal and 'Left' or 'Up',true,graphicTemplate)
7827 ScrollUpGraphic.Position = UDim2.new(0.5,-graphicSize/2,0.5,-graphicSize/2)
7828 ScrollUpGraphic.Parent = ScrollUpFrame
7829 local ScrollBarFrame = ScrollFrame.ScrollBar
7830 local ScrollThumbFrame = ScrollBarFrame.ScrollThumb
7831 do
7832 local size = ScrollBarWidth*3/8
7833 local Decal = GripGraphic(Vector2.new(size,size),horizontal and 'Vertical' or 'Horizontal',2,graphicTemplate)
7834 Decal.Position = UDim2.new(0.5,-size/2,0.5,-size/2)
7835 Decal.Parent = ScrollThumbFrame
7836 end
7837
7838 local MouseDrag = Create('ImageButton',{
7839 Name = "MouseDrag";
7840 Position = UDim2.new(-0.25,0,-0.25,0);
7841 Size = UDim2.new(1.5,0,1.5,0);
7842 Transparency = 1;
7843 AutoButtonColor = false;
7844 Active = true;
7845 ZIndex = 10;
7846 })
7847
7848 local Class = setmetatable({
7849 GUI = ScrollFrame;
7850 ScrollIndex = 0;
7851 VisibleSpace = 0;
7852 TotalSpace = 0;
7853 PageIncrement = 1;
7854 },mt)
7855
7856 local UpdateScrollThumb
7857 if horizontal then
7858 function UpdateScrollThumb()
7859 ScrollThumbFrame.Size = UDim2.new(Class.VisibleSpace/Class.TotalSpace,0,0,ScrollBarWidth)
7860 if ScrollThumbFrame.AbsoluteSize.x < ScrollBarWidth then
7861 ScrollThumbFrame.Size = UDim2.new(0,ScrollBarWidth,0,ScrollBarWidth)
7862 end
7863 local barSize = ScrollBarFrame.AbsoluteSize.x
7864 ScrollThumbFrame.Position = UDim2.new(Class:GetScrollPercent()*(barSize - ScrollThumbFrame.AbsoluteSize.x)/barSize,0,0,0)
7865 end
7866 else
7867 function UpdateScrollThumb()
7868 ScrollThumbFrame.Size = UDim2.new(0,ScrollBarWidth,Class.VisibleSpace/Class.TotalSpace,0)
7869 if ScrollThumbFrame.AbsoluteSize.y < ScrollBarWidth then
7870 ScrollThumbFrame.Size = UDim2.new(0,ScrollBarWidth,0,ScrollBarWidth)
7871 end
7872 local barSize = ScrollBarFrame.AbsoluteSize.y
7873 ScrollThumbFrame.Position = UDim2.new(0,0,Class:GetScrollPercent()*(barSize - ScrollThumbFrame.AbsoluteSize.y)/barSize,0)
7874 end
7875 end
7876
7877 local lastDown
7878 local lastUp
7879 local scrollStyle = {BackgroundColor3=Color3.new(1, 1, 1),BackgroundTransparency=0}
7880 local scrollStyle_ds = {BackgroundColor3=Color3.new(1, 1, 1),BackgroundTransparency=0.7}
7881
7882 local function Update()
7883 local t = Class.TotalSpace
7884 local v = Class.VisibleSpace
7885 local s = Class.ScrollIndex
7886 if v <= t then
7887 if s > 0 then
7888 if s + v > t then
7889 Class.ScrollIndex = t - v
7890 end
7891 else
7892 Class.ScrollIndex = 0
7893 end
7894 else
7895 Class.ScrollIndex = 0
7896 end
7897
7898 if Class.UpdateCallback then
7899 if Class.UpdateCallback(Class) == false then
7900 return
7901 end
7902 end
7903
7904 local down = Class:CanScrollDown()
7905 local up = Class:CanScrollUp()
7906 if down ~= lastDown then
7907 lastDown = down
7908 ScrollDownFrame.Active = down
7909 ScrollDownFrame.AutoButtonColor = down
7910 local children = ScrollDownGraphic:GetChildren()
7911 local style = down and scrollStyle or scrollStyle_ds
7912 for i = 1,#children do
7913 Create(children[i],style)
7914 end
7915 end
7916 if up ~= lastUp then
7917 lastUp = up
7918 ScrollUpFrame.Active = up
7919 ScrollUpFrame.AutoButtonColor = up
7920 local children = ScrollUpGraphic:GetChildren()
7921 local style = up and scrollStyle or scrollStyle_ds
7922 for i = 1,#children do
7923 Create(children[i],style)
7924 end
7925 end
7926 ScrollThumbFrame.Visible = down or up
7927 UpdateScrollThumb()
7928 end
7929 Class.Update = Update
7930
7931 SetZIndexOnChanged(ScrollFrame)
7932
7933 local scrollEventID = 0
7934 ScrollDownFrame.MouseButton1Down:connect(function()
7935 scrollEventID = tick()
7936 local current = scrollEventID
7937 local up_con
7938 up_con = MouseDrag.MouseButton1Up:connect(function()
7939 scrollEventID = tick()
7940 MouseDrag.Parent = nil
7941 ResetButtonColor(ScrollDownFrame)
7942 up_con:disconnect(); drag = nil
7943 end)
7944 MouseDrag.Parent = GetScreen(ScrollFrame)
7945 Class:ScrollDown()
7946 wait(0.2) -- delay before auto scroll
7947 while scrollEventID == current do
7948 Class:ScrollDown()
7949 if not Class:CanScrollDown() then break end
7950 wait()
7951 end
7952 end)
7953
7954 ScrollDownFrame.MouseButton1Up:connect(function()
7955 scrollEventID = tick()
7956 end)
7957
7958 ScrollUpFrame.MouseButton1Down:connect(function()
7959 scrollEventID = tick()
7960 local current = scrollEventID
7961 local up_con
7962 up_con = MouseDrag.MouseButton1Up:connect(function()
7963 scrollEventID = tick()
7964 MouseDrag.Parent = nil
7965 ResetButtonColor(ScrollUpFrame)
7966 up_con:disconnect(); drag = nil
7967 end)
7968 MouseDrag.Parent = GetScreen(ScrollFrame)
7969 Class:ScrollUp()
7970 wait(0.2)
7971 while scrollEventID == current do
7972 Class:ScrollUp()
7973 if not Class:CanScrollUp() then break end
7974 wait()
7975 end
7976 end)
7977
7978 ScrollUpFrame.MouseButton1Up:connect(function()
7979 scrollEventID = tick()
7980 end)
7981
7982 if horizontal then
7983 ScrollBarFrame.MouseButton1Down:connect(function(x,y)
7984 scrollEventID = tick()
7985 local current = scrollEventID
7986 local up_con
7987 up_con = MouseDrag.MouseButton1Up:connect(function()
7988 scrollEventID = tick()
7989 MouseDrag.Parent = nil
7990 ResetButtonColor(ScrollUpFrame)
7991 up_con:disconnect(); drag = nil
7992 end)
7993 MouseDrag.Parent = GetScreen(ScrollFrame)
7994 if x > ScrollThumbFrame.AbsolutePosition.x then
7995 Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
7996 wait(0.2)
7997 while scrollEventID == current do
7998 if x < ScrollThumbFrame.AbsolutePosition.x + ScrollThumbFrame.AbsoluteSize.x then break end
7999 Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
8000 wait()
8001 end
8002 else
8003 Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
8004 wait(0.2)
8005 while scrollEventID == current do
8006 if x > ScrollThumbFrame.AbsolutePosition.x then break end
8007 Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
8008 wait()
8009 end
8010 end
8011 end)
8012 else
8013 ScrollBarFrame.MouseButton1Down:connect(function(x,y)
8014 scrollEventID = tick()
8015 local current = scrollEventID
8016 local up_con
8017 up_con = MouseDrag.MouseButton1Up:connect(function()
8018 scrollEventID = tick()
8019 MouseDrag.Parent = nil
8020 ResetButtonColor(ScrollUpFrame)
8021 up_con:disconnect(); drag = nil
8022 end)
8023 MouseDrag.Parent = GetScreen(ScrollFrame)
8024 if y > ScrollThumbFrame.AbsolutePosition.y then
8025 Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
8026 wait(0.2)
8027 while scrollEventID == current do
8028 if y < ScrollThumbFrame.AbsolutePosition.y + ScrollThumbFrame.AbsoluteSize.y then break end
8029 Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
8030 wait()
8031 end
8032 else
8033 Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
8034 wait(0.2)
8035 while scrollEventID == current do
8036 if y > ScrollThumbFrame.AbsolutePosition.y then break end
8037 Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
8038 wait()
8039 end
8040 end
8041 end)
8042 end
8043
8044 if horizontal then
8045 ScrollThumbFrame.MouseButton1Down:connect(function(x,y)
8046 scrollEventID = tick()
8047 local mouse_offset = x - ScrollThumbFrame.AbsolutePosition.x
8048 local drag_con
8049 local up_con
8050 drag_con = MouseDrag.MouseMoved:connect(function(x,y)
8051 if not game:GetService'UserInputService':IsMouseButtonPressed'MouseButton1' then
8052 scrollEventID = tick()
8053 MouseDrag.Parent = nil
8054 ResetButtonColor(ScrollThumbFrame)
8055 drag_con:disconnect(); drag_con = nil
8056 up_con:disconnect(); drag = nil
8057 end
8058 local bar_abs_pos = ScrollBarFrame.AbsolutePosition.x
8059 local bar_drag = ScrollBarFrame.AbsoluteSize.x - ScrollThumbFrame.AbsoluteSize.x
8060 local bar_abs_one = bar_abs_pos + bar_drag
8061 x = x - mouse_offset
8062 x = x < bar_abs_pos and bar_abs_pos or x > bar_abs_one and bar_abs_one or x
8063 x = x - bar_abs_pos
8064 Class:SetScrollPercent(x/(bar_drag))
8065 end)
8066 up_con = MouseDrag.MouseButton1Up:connect(function()
8067 scrollEventID = tick()
8068 MouseDrag.Parent = nil
8069 ResetButtonColor(ScrollThumbFrame)
8070 drag_con:disconnect(); drag_con = nil
8071 up_con:disconnect(); drag = nil
8072 end)
8073 MouseDrag.Parent = GetScreen(ScrollFrame)
8074 end)
8075 else
8076 ScrollThumbFrame.MouseButton1Down:connect(function(x,y)
8077 scrollEventID = tick()
8078 local mouse_offset = y - ScrollThumbFrame.AbsolutePosition.y
8079 local drag_con
8080 local up_con
8081 drag_con = MouseDrag.MouseMoved:connect(function(x,y)
8082 if not game:GetService'UserInputService':IsMouseButtonPressed'MouseButton1' then
8083 scrollEventID = tick()
8084 MouseDrag.Parent = nil
8085 ResetButtonColor(ScrollThumbFrame)
8086 drag_con:disconnect(); drag_con = nil
8087 up_con:disconnect(); drag = nil
8088 end
8089 local bar_abs_pos = ScrollBarFrame.AbsolutePosition.y
8090 local bar_drag = ScrollBarFrame.AbsoluteSize.y - ScrollThumbFrame.AbsoluteSize.y
8091 local bar_abs_one = bar_abs_pos + bar_drag
8092 y = y - mouse_offset
8093 y = y < bar_abs_pos and bar_abs_pos or y > bar_abs_one and bar_abs_one or y
8094 y = y - bar_abs_pos
8095 Class:SetScrollPercent(y/(bar_drag))
8096 end)
8097 up_con = MouseDrag.MouseButton1Up:connect(function()
8098 scrollEventID = tick()
8099 MouseDrag.Parent = nil
8100 ResetButtonColor(ScrollThumbFrame)
8101 drag_con:disconnect(); drag_con = nil
8102 up_con:disconnect(); drag = nil
8103 end)
8104 MouseDrag.Parent = GetScreen(ScrollFrame)
8105 end)
8106 end
8107
8108 function Class:Destroy()
8109 ScrollFrame:Destroy()
8110 MouseDrag:Destroy()
8111 for k in pairs(Class) do
8112 Class[k] = nil
8113 end
8114 setmetatable(Class,nil)
8115 end
8116
8117 Update()
8118
8119 return Class
8120 end
8121end
8122
8123----------------------------------------------------------------
8124----------------------------------------------------------------
8125----------------------------------------------------------------
8126----------------------------------------------------------------
8127
8128local MainFrame = Instance.new("Frame")
8129MainFrame.Name = "MainFrame"
8130MainFrame.Size = UDim2.new(1, -1 * ScrollBarWidth, 1, 0)
8131MainFrame.Position = UDim2.new(0, 0, 0, 0)
8132MainFrame.BackgroundTransparency = 1
8133MainFrame.ClipsDescendants = true
8134MainFrame.Parent = PropertiesFrame
8135
8136ContentFrame = Instance.new("Frame")
8137ContentFrame.Name = "ContentFrame"
8138ContentFrame.Size = UDim2.new(1, 0, 0, 0)
8139ContentFrame.BackgroundTransparency = 1
8140ContentFrame.Parent = MainFrame
8141
8142scrollBar = ScrollBar(false)
8143scrollBar.PageIncrement = 1
8144Create(scrollBar.GUI,{
8145 Position = UDim2.new(1,-ScrollBarWidth,0,0);
8146 Size = UDim2.new(0,ScrollBarWidth,1,0);
8147 Parent = PropertiesFrame;
8148})
8149
8150scrollBarH = ScrollBar(true)
8151scrollBarH.PageIncrement = ScrollBarWidth
8152Create(scrollBarH.GUI,{
8153 Position = UDim2.new(0,0,1,-ScrollBarWidth);
8154 Size = UDim2.new(1,-ScrollBarWidth,0,ScrollBarWidth);
8155 Visible = false;
8156 Parent = PropertiesFrame;
8157})
8158
8159do
8160 local listEntries = {}
8161 local nameConnLookup = {}
8162
8163 function scrollBar.UpdateCallback(self)
8164 scrollBar.TotalSpace = ContentFrame.AbsoluteSize.Y
8165 scrollBar.VisibleSpace = MainFrame.AbsoluteSize.Y
8166 ContentFrame.Position = UDim2.new(ContentFrame.Position.X.Scale,ContentFrame.Position.X.Offset,0,-1*scrollBar.ScrollIndex)
8167 end
8168
8169 function scrollBarH.UpdateCallback(self)
8170
8171 end
8172
8173 MainFrame.Changed:connect(function(p)
8174 if p == 'AbsoluteSize' then
8175 scrollBarH.VisibleSpace = math.ceil(MainFrame.AbsoluteSize.x)
8176 scrollBarH:Update()
8177 scrollBar.VisibleSpace = math.ceil(MainFrame.AbsoluteSize.y)
8178 scrollBar:Update()
8179 end
8180 end)
8181
8182 local wheelAmount = Row.Height
8183 PropertiesFrame.MouseWheelForward:connect(function()
8184 if input ~= nil and input.down ~= nil and input.down.leftshift then
8185 if scrollBarH.VisibleSpace - 1 > wheelAmount then
8186 scrollBarH:ScrollTo(scrollBarH.ScrollIndex - wheelAmount)
8187 else
8188 scrollBarH:ScrollTo(scrollBarH.ScrollIndex - scrollBarH.VisibleSpace)
8189 end
8190 else
8191 if scrollBar.VisibleSpace - 1 > wheelAmount then
8192 scrollBar:ScrollTo(scrollBar.ScrollIndex - wheelAmount)
8193 else
8194 scrollBar:ScrollTo(scrollBar.ScrollIndex - scrollBar.VisibleSpace)
8195 end
8196 end
8197 end)
8198 PropertiesFrame.MouseWheelBackward:connect(function()
8199 if input ~= nil and input.down ~= nil and input.down.leftshift then
8200 if scrollBarH.VisibleSpace - 1 > wheelAmount then
8201 scrollBarH:ScrollTo(scrollBarH.ScrollIndex + wheelAmount)
8202 else
8203 scrollBarH:ScrollTo(scrollBarH.ScrollIndex + scrollBarH.VisibleSpace)
8204 end
8205 else
8206 if scrollBar.VisibleSpace - 1 > wheelAmount then
8207 scrollBar:ScrollTo(scrollBar.ScrollIndex + wheelAmount)
8208 else
8209 scrollBar:ScrollTo(scrollBar.ScrollIndex + scrollBar.VisibleSpace)
8210 end
8211 end
8212 end)
8213end
8214
8215scrollBar.VisibleSpace = math.ceil(MainFrame.AbsoluteSize.y)
8216scrollBar:Update()
8217
8218showProperties(GetSelection())
8219
8220bindSelectionChanged.Event:connect(function()
8221 showProperties(GetSelection())
8222end)
8223
8224bindSetAwait.Event:connect(function(obj)
8225 if AwaitingObjectValue then
8226 AwaitingObjectValue = false
8227 local mySel = obj
8228 if mySel then
8229 pcall(function()
8230 Set(AwaitingObjectObj, AwaitingObjectProp, mySel)
8231 end)
8232 end
8233 end
8234end)
8235
8236propertiesSearch.Changed:connect(function(prop)
8237 if prop == "Text" then
8238 showProperties(GetSelection())
8239 end
8240end)
8241
8242bindGetApi.OnInvoke = function()
8243 return RbxApi
8244end
8245
8246bindGetAwait.OnInvoke = function()
8247 return AwaitingObjectValue
8248end
8249end)
8250spawn(function()
8251
8252local top = D_E_X.ScriptEditor
8253
8254print(top)
8255
8256local editorGrid = top:WaitForChild("EditorGrid")
8257
8258print(editorGrid)
8259
8260local currentSource = ""
8261local currentScrName = "";
8262
8263local currentEditor = {
8264 x = 0,
8265 y = 0
8266}
8267
8268local userInput = game:GetService("UserInputService")
8269local mouse = game:GetService'Players'.LocalPlayer:GetMouse()
8270
8271local topBar = top:WaitForChild("TopBar")
8272local scriptBar = topBar:WaitForChild("ScriptBar")
8273local scriptBarLeft = topBar:WaitForChild("ScriptBarLeft")
8274local scriptBarRight = topBar:WaitForChild("ScriptBarRight")
8275local clipboardButton = topBar:WaitForChild("Clipboard")
8276local saveScriptButton = topBar:FindFirstChild("SaveScript")
8277
8278local entryTemplate = topBar:WaitForChild("Entry")
8279
8280local openEvent = top:WaitForChild("OpenScript")
8281
8282local closeButton = top:WaitForChild("Close")
8283
8284local memoryScripts = {}
8285
8286local editingIndex = 0
8287
8288-- Scrollbar
8289
8290local ScrollBarWidth = 16
8291
8292local ScrollStyles = {
8293 Background = Color3.fromRGB(233, 233, 233);
8294 Border = Color3.fromRGB( 20, 20, 20);
8295 Selected = Color3.fromRGB( 63, 119, 189);
8296 BorderSelected = Color3.fromRGB( 55, 106, 167);
8297 Text = Color3.fromRGB( 0, 0, 0);
8298 TextDisabled = Color3.fromRGB(128, 128, 128);
8299 TextSelected = Color3.fromRGB(255, 255, 255);
8300 Button = Color3.fromRGB( 35, 35, 35);
8301 ButtonBorder = Color3.fromRGB(149, 149, 149);
8302 ButtonSelected = Color3.fromRGB(255, 0, 0);
8303 Field = Color3.fromRGB(255, 255, 255);
8304 FieldBorder = Color3.fromRGB(191, 191, 191);
8305 TitleBackground = Color3.fromRGB(178, 178, 178);
8306}
8307do
8308 local ZIndexLock = {}
8309 function SetZIndex(object,z)
8310 if not ZIndexLock[object] then
8311 ZIndexLock[object] = true
8312 if object:IsA'GuiObject' then
8313 object.ZIndex = z
8314 end
8315 local children = object:GetChildren()
8316 for i = 1,#children do
8317 SetZIndex(children[i],z)
8318 end
8319 ZIndexLock[object] = nil
8320 end
8321 end
8322end
8323function SetZIndexOnChanged(object)
8324 return object.Changed:connect(function(p)
8325 if p == "ZIndex" then
8326 SetZIndex(object,object.ZIndex)
8327 end
8328 end)
8329end
8330function Create(ty,data)
8331 local obj
8332 if type(ty) == 'string' then
8333 obj = Instance.new(ty)
8334 else
8335 obj = ty
8336 end
8337 for k, v in pairs(data) do
8338 if type(k) == 'number' then
8339 v.Parent = obj
8340 else
8341 obj[k] = v
8342 end
8343 end
8344 return obj
8345end
8346-- returns the ascendant ScreenGui of an object
8347function GetScreen(screen)
8348 if screen == nil then return nil end
8349 while not screen:IsA("ScreenGui") do
8350 screen = screen.Parent
8351 if screen == nil then return nil end
8352 end
8353 return screen
8354end
8355-- AutoButtonColor doesn't always reset properly
8356function ResetButtonColor(button)
8357 local active = button.Active
8358 button.Active = not active
8359 button.Active = active
8360end
8361
8362function ArrowGraphic(size,dir,scaled,template)
8363 local Frame = Create('Frame',{
8364 Name = "Arrow Graphic";
8365 BorderSizePixel = 0;
8366 Size = UDim2.new(0,size,0,size);
8367 Transparency = 1;
8368 })
8369 if not template then
8370 template = Instance.new("Frame")
8371 template.BorderSizePixel = 0
8372 end
8373
8374 template.BackgroundColor3 = Color3.new(1, 1, 1);
8375
8376 local transform
8377 if dir == nil or dir == 'Up' then
8378 function transform(p,s) return p,s end
8379 elseif dir == 'Down' then
8380 function transform(p,s) return UDim2.new(0,p.X.Offset,0,size-p.Y.Offset-1),s end
8381 elseif dir == 'Left' then
8382 function transform(p,s) return UDim2.new(0,p.Y.Offset,0,p.X.Offset),UDim2.new(0,s.Y.Offset,0,s.X.Offset) end
8383 elseif dir == 'Right' then
8384 function transform(p,s) return UDim2.new(0,size-p.Y.Offset-1,0,p.X.Offset),UDim2.new(0,s.Y.Offset,0,s.X.Offset) end
8385 end
8386
8387 local scale
8388 if scaled then
8389 function scale(p,s) return UDim2.new(p.X.Offset/size,0,p.Y.Offset/size,0),UDim2.new(s.X.Offset/size,0,s.Y.Offset/size,0) end
8390 else
8391 function scale(p,s) return p,s end
8392 end
8393
8394 local o = math.floor(size/4)
8395 if size%2 == 0 then
8396 local n = size/2-1
8397 for i = 0,n do
8398 local t = template:Clone()
8399 local p,s = scale(transform(
8400 UDim2.new(0,n-i,0,o+i),
8401 UDim2.new(0,(i+1)*2,0,1)
8402 ))
8403 t.Position = p
8404 t.Size = s
8405 t.Parent = Frame
8406 end
8407 else
8408 local n = (size-1)/2
8409 for i = 0,n do
8410 local t = template:Clone()
8411 local p,s = scale(transform(
8412 UDim2.new(0,n-i,0,o+i),
8413 UDim2.new(0,i*2+1,0,1)
8414 ))
8415 t.Position = p
8416 t.Size = s
8417 t.Parent = Frame
8418 end
8419 end
8420 if size%4 > 1 then
8421 local t = template:Clone()
8422 local p,s = scale(transform(
8423 UDim2.new(0,0,0,size-o-1),
8424 UDim2.new(0,size,0,1)
8425 ))
8426 t.Position = p
8427 t.Size = s
8428 t.Parent = Frame
8429 end
8430
8431 for i,v in pairs(Frame:GetChildren()) do
8432 v.BackgroundColor3 = Color3.new(1, 1, 1);
8433 end
8434
8435 return Frame
8436end
8437
8438function GripGraphic(size,dir,spacing,scaled,template)
8439 local Frame = Create('Frame',{
8440 Name = "Grip Graphic";
8441 BorderSizePixel = 0;
8442 Size = UDim2.new(0,size.x,0,size.y);
8443 Transparency = 1;
8444 })
8445 if not template then
8446 template = Instance.new("Frame")
8447 template.BorderSizePixel = 0
8448 end
8449
8450 spacing = spacing or 2
8451
8452 local scale
8453 if scaled then
8454 function scale(p) return UDim2.new(p.X.Offset/size.x,0,p.Y.Offset/size.y,0) end
8455 else
8456 function scale(p) return p end
8457 end
8458
8459 if dir == 'Vertical' then
8460 for i=0,size.x-1,spacing do
8461 local t = template:Clone()
8462 t.Size = scale(UDim2.new(0,1,0,size.y))
8463 t.Position = scale(UDim2.new(0,i,0,0))
8464 t.Parent = Frame
8465 end
8466 elseif dir == nil or dir == 'Horizontal' then
8467 for i=0,size.y-1,spacing do
8468 local t = template:Clone()
8469 t.Size = scale(UDim2.new(0,size.x,0,1))
8470 t.Position = scale(UDim2.new(0,0,0,i))
8471 t.Parent = Frame
8472 end
8473 end
8474
8475 return Frame
8476end
8477
8478do
8479 local mt = {
8480 __index = {
8481 GetScrollPercent = function(self)
8482 return self.ScrollIndex/(self.TotalSpace-self.VisibleSpace)
8483 end;
8484 CanScrollDown = function(self)
8485 return self.ScrollIndex + self.VisibleSpace < self.TotalSpace
8486 end;
8487 CanScrollUp = function(self)
8488 return self.ScrollIndex > 0
8489 end;
8490 ScrollDown = function(self)
8491 self.ScrollIndex = self.ScrollIndex + self.PageIncrement
8492 self:Update()
8493 end;
8494 ScrollUp = function(self)
8495 self.ScrollIndex = self.ScrollIndex - self.PageIncrement
8496 self:Update()
8497 end;
8498 ScrollTo = function(self,index)
8499 self.ScrollIndex = index
8500 self:Update()
8501 end;
8502 SetScrollPercent = function(self,percent)
8503 self.ScrollIndex = math.floor((self.TotalSpace - self.VisibleSpace)*percent + 0.5)
8504 self:Update()
8505 end;
8506 };
8507 }
8508 mt.__index.CanScrollRight = mt.__index.CanScrollDown
8509 mt.__index.CanScrollLeft = mt.__index.CanScrollUp
8510 mt.__index.ScrollLeft = mt.__index.ScrollUp
8511 mt.__index.ScrollRight = mt.__index.ScrollDown
8512
8513 function ScrollBar(horizontal)
8514 -- create row scroll bar
8515 local ScrollFrame = Create('Frame',{
8516 Name = "ScrollFrame";
8517 Position = horizontal and UDim2.new(0,0,1,-ScrollBarWidth) or UDim2.new(1,-ScrollBarWidth,0,0);
8518 Size = horizontal and UDim2.new(1,0,0,ScrollBarWidth) or UDim2.new(0,ScrollBarWidth,1,0);
8519 BackgroundTransparency = 1;
8520 Create('ImageButton',{
8521 Name = "ScrollDown";
8522 Position = horizontal and UDim2.new(1,-ScrollBarWidth,0,0) or UDim2.new(0,0,1,-ScrollBarWidth);
8523 Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
8524 BackgroundColor3 = ScrollStyles.Button;
8525 BorderColor3 = ScrollStyles.Border;
8526 BorderSizePixel = 0;
8527 });
8528 Create('ImageButton',{
8529 Name = "ScrollUp";
8530 Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
8531 BackgroundColor3 = ScrollStyles.Button;
8532 BorderColor3 = ScrollStyles.Border;
8533 BorderSizePixel = 0;
8534 });
8535 Create('ImageButton',{
8536 Name = "ScrollBar";
8537 Size = horizontal and UDim2.new(1,-ScrollBarWidth*2,1,0) or UDim2.new(1,0,1,-ScrollBarWidth*2);
8538 Position = horizontal and UDim2.new(0,ScrollBarWidth,0,0) or UDim2.new(0,0,0,ScrollBarWidth);
8539 AutoButtonColor = false;
8540 BackgroundColor3 = Color3.fromRGB(20, 20, 20);
8541 BorderColor3 = ScrollStyles.Border;
8542 BorderSizePixel = 0;
8543 Create('ImageButton',{
8544 Name = "ScrollThumb";
8545 AutoButtonColor = false;
8546 Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
8547 BackgroundColor3 = ScrollStyles.Button;
8548 BorderColor3 = ScrollStyles.Border;
8549 BorderSizePixel = 0;
8550 });
8551 });
8552 })
8553
8554 local graphicTemplate = Create('Frame',{
8555 Name="Graphic";
8556 BorderSizePixel = 0;
8557 BackgroundColor3 = Color3.new(1, 1, 1);
8558 })
8559 local graphicSize = ScrollBarWidth/2
8560
8561 local ScrollDownFrame = ScrollFrame.ScrollDown
8562 local ScrollDownGraphic = ArrowGraphic(graphicSize,horizontal and 'Right' or 'Down',true,graphicTemplate)
8563 ScrollDownGraphic.Position = UDim2.new(0.5,-graphicSize/2,0.5,-graphicSize/2)
8564 ScrollDownGraphic.Parent = ScrollDownFrame
8565 local ScrollUpFrame = ScrollFrame.ScrollUp
8566 local ScrollUpGraphic = ArrowGraphic(graphicSize,horizontal and 'Left' or 'Up',true,graphicTemplate)
8567 ScrollUpGraphic.Position = UDim2.new(0.5,-graphicSize/2,0.5,-graphicSize/2)
8568 ScrollUpGraphic.Parent = ScrollUpFrame
8569 local ScrollBarFrame = ScrollFrame.ScrollBar
8570 local ScrollThumbFrame = ScrollBarFrame.ScrollThumb
8571 do
8572 local size = ScrollBarWidth*3/8
8573 local Decal = GripGraphic(Vector2.new(size,size),horizontal and 'Vertical' or 'Horizontal',2,graphicTemplate)
8574 Decal.Position = UDim2.new(0.5,-size/2,0.5,-size/2)
8575 Decal.Parent = ScrollThumbFrame
8576 end
8577
8578 local MouseDrag = Create('ImageButton',{
8579 Name = "MouseDrag";
8580 Position = UDim2.new(-0.25,0,-0.25,0);
8581 Size = UDim2.new(1.5,0,1.5,0);
8582 Transparency = 1;
8583 AutoButtonColor = false;
8584 Active = true;
8585 ZIndex = 10;
8586 })
8587
8588 local Class = setmetatable({
8589 GUI = ScrollFrame;
8590 ScrollIndex = 0;
8591 VisibleSpace = 0;
8592 TotalSpace = 0;
8593 PageIncrement = 1;
8594 },mt)
8595
8596 local UpdateScrollThumb
8597 if horizontal then
8598 function UpdateScrollThumb()
8599 ScrollThumbFrame.Size = UDim2.new(Class.VisibleSpace/Class.TotalSpace,0,0,ScrollBarWidth)
8600 if ScrollThumbFrame.AbsoluteSize.x < ScrollBarWidth then
8601 ScrollThumbFrame.Size = UDim2.new(0,ScrollBarWidth,0,ScrollBarWidth)
8602 end
8603 local barSize = ScrollBarFrame.AbsoluteSize.x
8604 ScrollThumbFrame.Position = UDim2.new(Class:GetScrollPercent()*(barSize - ScrollThumbFrame.AbsoluteSize.x)/barSize,0,0,0)
8605 end
8606 else
8607 function UpdateScrollThumb()
8608 ScrollThumbFrame.Size = UDim2.new(0,ScrollBarWidth,Class.VisibleSpace/Class.TotalSpace,0)
8609 if ScrollThumbFrame.AbsoluteSize.y < ScrollBarWidth then
8610 ScrollThumbFrame.Size = UDim2.new(0,ScrollBarWidth,0,ScrollBarWidth)
8611 end
8612 local barSize = ScrollBarFrame.AbsoluteSize.y
8613 ScrollThumbFrame.Position = UDim2.new(0,0,Class:GetScrollPercent()*(barSize - ScrollThumbFrame.AbsoluteSize.y)/barSize,0)
8614 end
8615 end
8616
8617 local lastDown
8618 local lastUp
8619 local scrollStyle = {BackgroundColor3=Color3.new(1, 1, 1),BackgroundTransparency=0}
8620 local scrollStyle_ds = {BackgroundColor3=Color3.new(1, 1, 1),BackgroundTransparency=0.7}
8621
8622 local function Update()
8623 local t = Class.TotalSpace
8624 local v = Class.VisibleSpace
8625 local s = Class.ScrollIndex
8626 if v <= t then
8627 if s > 0 then
8628 if s + v > t then
8629 Class.ScrollIndex = t - v
8630 end
8631 else
8632 Class.ScrollIndex = 0
8633 end
8634 else
8635 Class.ScrollIndex = 0
8636 end
8637
8638 if Class.UpdateCallback then
8639 if Class.UpdateCallback(Class) == false then
8640 return
8641 end
8642 end
8643
8644 local down = Class:CanScrollDown()
8645 local up = Class:CanScrollUp()
8646 if down ~= lastDown then
8647 lastDown = down
8648 ScrollDownFrame.Active = down
8649 ScrollDownFrame.AutoButtonColor = down
8650 local children = ScrollDownGraphic:GetChildren()
8651 local style = down and scrollStyle or scrollStyle_ds
8652 for i = 1,#children do
8653 Create(children[i],style)
8654 end
8655 end
8656 if up ~= lastUp then
8657 lastUp = up
8658 ScrollUpFrame.Active = up
8659 ScrollUpFrame.AutoButtonColor = up
8660 local children = ScrollUpGraphic:GetChildren()
8661 local style = up and scrollStyle or scrollStyle_ds
8662 for i = 1,#children do
8663 Create(children[i],style)
8664 end
8665 end
8666 ScrollThumbFrame.Visible = down or up
8667 UpdateScrollThumb()
8668 end
8669 Class.Update = Update
8670
8671 SetZIndexOnChanged(ScrollFrame)
8672
8673 local scrollEventID = 0
8674 ScrollDownFrame.MouseButton1Down:connect(function()
8675 scrollEventID = tick()
8676 local current = scrollEventID
8677 local up_con
8678 up_con = MouseDrag.MouseButton1Up:connect(function()
8679 scrollEventID = tick()
8680 MouseDrag.Parent = nil
8681 ResetButtonColor(ScrollDownFrame)
8682 up_con:disconnect(); drag = nil
8683 end)
8684 MouseDrag.Parent = GetScreen(ScrollFrame)
8685 Class:ScrollDown()
8686 wait(0.2) -- delay before auto scroll
8687 while scrollEventID == current do
8688 Class:ScrollDown()
8689 if not Class:CanScrollDown() then break end
8690 wait()
8691 end
8692 end)
8693
8694 ScrollDownFrame.MouseButton1Up:connect(function()
8695 scrollEventID = tick()
8696 end)
8697
8698 ScrollUpFrame.MouseButton1Down:connect(function()
8699 scrollEventID = tick()
8700 local current = scrollEventID
8701 local up_con
8702 up_con = MouseDrag.MouseButton1Up:connect(function()
8703 scrollEventID = tick()
8704 MouseDrag.Parent = nil
8705 ResetButtonColor(ScrollUpFrame)
8706 up_con:disconnect(); drag = nil
8707 end)
8708 MouseDrag.Parent = GetScreen(ScrollFrame)
8709 Class:ScrollUp()
8710 wait(0.2)
8711 while scrollEventID == current do
8712 Class:ScrollUp()
8713 if not Class:CanScrollUp() then break end
8714 wait()
8715 end
8716 end)
8717
8718 ScrollUpFrame.MouseButton1Up:connect(function()
8719 scrollEventID = tick()
8720 end)
8721
8722 if horizontal then
8723 ScrollBarFrame.MouseButton1Down:connect(function(x,y)
8724 scrollEventID = tick()
8725 local current = scrollEventID
8726 local up_con
8727 up_con = MouseDrag.MouseButton1Up:connect(function()
8728 scrollEventID = tick()
8729 MouseDrag.Parent = nil
8730 ResetButtonColor(ScrollUpFrame)
8731 up_con:disconnect(); drag = nil
8732 end)
8733 MouseDrag.Parent = GetScreen(ScrollFrame)
8734 if x > ScrollThumbFrame.AbsolutePosition.x then
8735 Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
8736 wait(0.2)
8737 while scrollEventID == current do
8738 if x < ScrollThumbFrame.AbsolutePosition.x + ScrollThumbFrame.AbsoluteSize.x then break end
8739 Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
8740 wait()
8741 end
8742 else
8743 Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
8744 wait(0.2)
8745 while scrollEventID == current do
8746 if x > ScrollThumbFrame.AbsolutePosition.x then break end
8747 Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
8748 wait()
8749 end
8750 end
8751 end)
8752 else
8753 ScrollBarFrame.MouseButton1Down:connect(function(x,y)
8754 scrollEventID = tick()
8755 local current = scrollEventID
8756 local up_con
8757 up_con = MouseDrag.MouseButton1Up:connect(function()
8758 scrollEventID = tick()
8759 MouseDrag.Parent = nil
8760 ResetButtonColor(ScrollUpFrame)
8761 up_con:disconnect(); drag = nil
8762 end)
8763 MouseDrag.Parent = GetScreen(ScrollFrame)
8764 if y > ScrollThumbFrame.AbsolutePosition.y then
8765 Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
8766 wait(0.2)
8767 while scrollEventID == current do
8768 if y < ScrollThumbFrame.AbsolutePosition.y + ScrollThumbFrame.AbsoluteSize.y then break end
8769 Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
8770 wait()
8771 end
8772 else
8773 Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
8774 wait(0.2)
8775 while scrollEventID == current do
8776 if y > ScrollThumbFrame.AbsolutePosition.y then break end
8777 Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
8778 wait()
8779 end
8780 end
8781 end)
8782 end
8783
8784 if horizontal then
8785 ScrollThumbFrame.MouseButton1Down:connect(function(x,y)
8786 scrollEventID = tick()
8787 local mouse_offset = x - ScrollThumbFrame.AbsolutePosition.x
8788 local drag_con
8789 local up_con
8790 drag_con = MouseDrag.MouseMoved:connect(function(x,y)
8791 if not game:GetService'UserInputService':IsMouseButtonPressed'MouseButton1' then
8792 scrollEventID = tick()
8793 MouseDrag.Parent = nil
8794 ResetButtonColor(ScrollThumbFrame)
8795 drag_con:disconnect(); drag_con = nil
8796 up_con:disconnect(); drag = nil
8797 end
8798 local bar_abs_pos = ScrollBarFrame.AbsolutePosition.x
8799 local bar_drag = ScrollBarFrame.AbsoluteSize.x - ScrollThumbFrame.AbsoluteSize.x
8800 local bar_abs_one = bar_abs_pos + bar_drag
8801 x = x - mouse_offset
8802 x = x < bar_abs_pos and bar_abs_pos or x > bar_abs_one and bar_abs_one or x
8803 x = x - bar_abs_pos
8804 Class:SetScrollPercent(x/(bar_drag))
8805 end)
8806 up_con = MouseDrag.MouseButton1Up:connect(function()
8807 scrollEventID = tick()
8808 MouseDrag.Parent = nil
8809 ResetButtonColor(ScrollThumbFrame)
8810 drag_con:disconnect(); drag_con = nil
8811 up_con:disconnect(); drag = nil
8812 end)
8813 MouseDrag.Parent = GetScreen(ScrollFrame)
8814 end)
8815 else
8816 ScrollThumbFrame.MouseButton1Down:connect(function(x,y)
8817 scrollEventID = tick()
8818 local mouse_offset = y - ScrollThumbFrame.AbsolutePosition.y
8819 local drag_con
8820 local up_con
8821 drag_con = MouseDrag.MouseMoved:connect(function(x,y)
8822 if not game:GetService'UserInputService':IsMouseButtonPressed'MouseButton1' then
8823 scrollEventID = tick()
8824 MouseDrag.Parent = nil
8825 ResetButtonColor(ScrollThumbFrame)
8826 drag_con:disconnect(); drag_con = nil
8827 up_con:disconnect(); drag = nil
8828 end
8829 local bar_abs_pos = ScrollBarFrame.AbsolutePosition.y
8830 local bar_drag = ScrollBarFrame.AbsoluteSize.y - ScrollThumbFrame.AbsoluteSize.y
8831 local bar_abs_one = bar_abs_pos + bar_drag
8832 y = y - mouse_offset
8833 y = y < bar_abs_pos and bar_abs_pos or y > bar_abs_one and bar_abs_one or y
8834 y = y - bar_abs_pos
8835 Class:SetScrollPercent(y/(bar_drag))
8836 end)
8837 up_con = MouseDrag.MouseButton1Up:connect(function()
8838 scrollEventID = tick()
8839 MouseDrag.Parent = nil
8840 ResetButtonColor(ScrollThumbFrame)
8841 drag_con:disconnect(); drag_con = nil
8842 up_con:disconnect(); drag = nil
8843 end)
8844 MouseDrag.Parent = GetScreen(ScrollFrame)
8845 end)
8846 end
8847
8848 function Class:Destroy()
8849 ScrollFrame:Destroy()
8850 MouseDrag:Destroy()
8851 for k in pairs(Class) do
8852 Class[k] = nil
8853 end
8854 setmetatable(Class,nil)
8855 end
8856
8857 Update()
8858
8859 return Class
8860 end
8861end
8862
8863-- End Scrollbar
8864
8865local scrollBar = ScrollBar(false)
8866scrollBar.PageIncrement = 16
8867Create(scrollBar.GUI,{
8868 Position = UDim2.new(1,0,0,0);
8869 Size = UDim2.new(0,ScrollBarWidth,1,0);
8870 Parent = editorGrid;
8871})
8872
8873local scrollBarH = ScrollBar(true)
8874scrollBarH.PageIncrement = 8
8875Create(scrollBarH.GUI,{
8876 Position = UDim2.new(0,0,1,0);
8877 Size = UDim2.new(1,0,0,ScrollBarWidth);
8878 Parent = editorGrid;
8879})
8880
8881local wheelAmount = 24;
8882
8883editorGrid.MouseWheelForward:connect(function()
8884 if input ~= nil and input.down ~= nil and input.down.leftshift then
8885 if scrollBarH.VisibleSpace - 1 > wheelAmount then
8886 scrollBarH:ScrollTo(scrollBarH.ScrollIndex - wheelAmount)
8887 else
8888 scrollBarH:ScrollTo(scrollBarH.ScrollIndex - scrollBarH.VisibleSpace)
8889 end
8890 else
8891 if scrollBar.VisibleSpace - 1 > wheelAmount then
8892 scrollBar:ScrollTo(scrollBar.ScrollIndex - wheelAmount)
8893 else
8894 scrollBar:ScrollTo(scrollBar.ScrollIndex - scrollBar.VisibleSpace)
8895 end
8896 end
8897end)
8898editorGrid.MouseWheelBackward:connect(function()
8899 if input ~= nil and input.down ~= nil and input.down.leftshift then
8900 if scrollBarH.VisibleSpace - 1 > wheelAmount then
8901 scrollBarH:ScrollTo(scrollBarH.ScrollIndex + wheelAmount)
8902 else
8903 scrollBarH:ScrollTo(scrollBarH.ScrollIndex + scrollBarH.VisibleSpace)
8904 end
8905 else
8906 if scrollBar.VisibleSpace - 1 > wheelAmount then
8907 scrollBar:ScrollTo(scrollBar.ScrollIndex + wheelAmount)
8908 else
8909 scrollBar:ScrollTo(scrollBar.ScrollIndex + scrollBar.VisibleSpace)
8910 end
8911 end
8912end)
8913
8914local entries = {}
8915
8916local grid = {}
8917
8918local count = 1
8919local xCount = 1
8920
8921local lineSpan = 0
8922
8923for i = 0,editorGrid.AbsoluteSize.X - 20,8 do
8924 local newRow = {}
8925 for j = 0,390,16 do
8926 local cellText = Instance.new("TextLabel",editorGrid)
8927 cellText.Name = string.format('grid(%s,%s)', i, j);
8928 cellText.BackgroundTransparency = 1
8929 cellText.BorderSizePixel = 0
8930 cellText.Text = ""
8931 cellText.Position = UDim2.new(0,i,0,j)
8932 cellText.Size = UDim2.new(0,8,0,16)
8933 cellText.Font = Enum.Font.SourceSans
8934 cellText.FontSize = Enum.FontSize.Size18
8935 table.insert(newRow,cellText)
8936 xCount = xCount + 1
8937 end
8938 table.insert(grid,newRow)
8939 count = count + 1
8940 xCount = 1
8941end
8942
8943local syntaxHighlightList = {
8944 {["Keyword"] = "for", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
8945 {["Keyword"] = "local", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
8946 {["Keyword"] = "if", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
8947 {["Keyword"] = "then", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
8948 {["Keyword"] = "do", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
8949 {["Keyword"] = "while", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
8950 {["Keyword"] = "end", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
8951 {["Keyword"] = "function", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
8952 {["Keyword"] = "return", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
8953 {["Keyword"] = "break", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
8954 {["Keyword"] = "else", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
8955 {["Keyword"] = "elseif", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
8956 {["Keyword"] = "in", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
8957 {["Keyword"] = "pairs", ["Color"] = Color3.fromRGB(205, 98, 255), ["Independent"] = true};
8958 {["Keyword"] = "ipairs", ["Color"] = Color3.fromRGB(205, 98, 255), ["Independent"] = true};
8959 {["Keyword"] = "next", ["Color"] = Color3.fromRGB(205, 98, 255), ["Independent"] = true};
8960 {["Keyword"] = "require", ["Color"] = Color3.fromRGB(205, 98, 255), ["Independent"] = true};
8961 {["Keyword"] = "pcall", ["Color"] = Color3.fromRGB(205, 98, 255), ["Independent"] = true};
8962 {["Keyword"] = "xpcall", ["Color"] = Color3.fromRGB(205, 98, 255), ["Independent"] = true};
8963 {["Keyword"] = "ypcall", ["Color"] = Color3.fromRGB(205, 98, 255), ["Independent"] = true};
8964 {["Keyword"] = "assert", ["Color"] = Color3.fromRGB(205, 98, 255), ["Independent"] = true};
8965}
8966
8967function checkMouseInGui(gui)
8968 if gui == nil then return false end
8969 local plrMouse = game:GetService'Players'.LocalPlayer:GetMouse()
8970 local guiPosition = gui.AbsolutePosition
8971 local guiSize = gui.AbsoluteSize
8972
8973 if plrMouse.X >= guiPosition.x and plrMouse.X <= guiPosition.x + guiSize.x and plrMouse.Y >= guiPosition.y and plrMouse.Y <= guiPosition.y + guiSize.y then
8974 return true
8975 else
8976 return false
8977 end
8978end
8979
8980function AddZeros(num,reach)
8981 local toConvert = tostring(num)
8982 while #toConvert < reach do
8983 toConvert = " "..toConvert
8984 end
8985 return toConvert
8986end
8987
8988function buildScript(source,xOff,yOff,override)
8989 local buildingRows = true
8990 local buildScr = source
8991
8992 local totalLines = 0
8993
8994 if currentSource ~= source then
8995 currentSource = source
8996 end
8997
8998 if override then
8999 currentSource = source
9000 entries = {}
9001 buildScr = tostring(buildScr);
9002 while buildingRows do
9003 local x,y = string.find(buildScr,"\n")
9004 if x and y then
9005 table.insert(entries,string.sub(buildScr,1,y))
9006 buildScr = string.sub(buildScr,y+1,string.len(buildScr))
9007 else
9008 buildingRows = false
9009 table.insert(entries,buildScr)
9010 end
9011 end
9012 end
9013
9014 totalLines = #entries
9015 lineSpan = #tostring(totalLines)
9016
9017 if lineSpan == 1 then lineSpan = 2 end
9018
9019 local currentRow = 1
9020 local currentColumn = 2 + lineSpan
9021
9022 local colorTime = 0
9023 local colorReplace = nil
9024
9025 local inString = false
9026
9027 local workingEntries = entries
9028
9029 --[[
9030 for i,v in pairs(entries) do
9031 table.insert(workingEntries,v)
9032 end
9033
9034 for i = 1,yOff do
9035 table.remove(workingEntries,1)
9036 end
9037 --]]
9038
9039 local delayance = xOff
9040
9041 for i = 1,#grid do
9042 for j = 1,#grid[i] do
9043 if i <= lineSpan then
9044 local newNum = AddZeros(yOff + j,lineSpan)
9045 local newDigit = string.sub(newNum,i,i)
9046 if newDigit == " " then
9047 grid[i][j].Text = ""
9048 else
9049 grid[i][j].Text = newDigit
9050 end
9051
9052 -- grid[i][j].BorderSizePixel = 1
9053
9054 grid[i][j].TextColor3 = Color3.fromRGB(245, 245, 245)
9055 grid[i][j].BackgroundTransparency = 0
9056 grid[i][j].BackgroundColor3 = Color3.fromRGB(60, 60, 60)
9057 grid[i][j].Font = Enum.Font.SourceSans
9058 elseif i == lineSpan + 1 then
9059 -- grid[i][j].BorderSizePixel = 1
9060
9061 grid[i][j].Text = ""
9062 grid[i][j].BackgroundTransparency = 0
9063 grid[i][j].BackgroundColor3 = Color3.fromRGB(55, 55, 55)
9064 -- grid[i][j].Font = Enum.Font.SourceSans
9065 else
9066 -- grid[i][j].BorderSizePixel = 1
9067
9068 grid[i][j].Text = ""
9069 grid[i][j].BackgroundTransparency = 1
9070 --grid[i][j].Font = Enum.Font.SourceSans
9071 end
9072 end
9073 end
9074
9075 while true do
9076 if currentRow > #workingEntries or currentRow > #grid[1] then break end
9077 local entry = workingEntries[currentRow+yOff]
9078 while entry ~= nil and typeof(entry) == 'string' and string.len(entry) > 0 do
9079 if string.sub(entry,1,1) == "\t" then entry = " "..string.sub(entry,2) end
9080
9081 if currentColumn > #grid then break end
9082
9083 if delayance == 0 then
9084 grid[currentColumn][currentRow].Text = string.sub(entry,1,1)
9085 end
9086
9087 -- Coloring
9088
9089 if not inString then
9090 for i,v in pairs(syntaxHighlightList) do
9091 if string.sub(entry,1,string.len(v["Keyword"])) == v["Keyword"] then
9092 if v["Independent"] then
9093 local outCheck = string.len(v["Keyword"])+1
9094 local outEntry = string.sub(entry,outCheck,outCheck)
9095 if not string.find(outEntry,"%w") then
9096 colorTime = string.len(v["Keyword"])
9097 colorReplace = v["Color"]
9098 end
9099 else
9100 colorTime = string.len(v["Keyword"])
9101 colorReplace = v["Color"]
9102 end
9103 end
9104 end
9105 end
9106
9107 if string.sub(entry,1,1) == "\"" and string.match(entry,"\".+\"") then
9108 inString = true
9109 colorTime = string.len(string.match(entry,"\".+\""))
9110 colorReplace = Color3.fromRGB(73, 212, 107);
9111 end
9112
9113 local oldTC3 = Color3.fromRGB(244, 244, 244); --grid[currentColumn][currentRow].TextColor3
9114
9115 if colorTime > 0 then
9116 colorTime = colorTime - 1
9117 oldTC3 = grid[currentColumn][currentRow].TextColor3
9118 grid[currentColumn][currentRow].TextColor3 = colorReplace
9119 if colorTime == 0 then inString = false end
9120 else
9121 grid[currentColumn][currentRow].TextColor3 = oldTC3 --Color3.new(0,0,0)
9122 inString = false
9123 end
9124
9125 if delayance == 0 then
9126 currentColumn = currentColumn + 1
9127 else
9128 delayance = delayance - 1
9129 end
9130 entry = string.sub(entry,2,string.len(entry))
9131 end
9132 currentRow = currentRow + 1
9133 currentColumn = 2 + lineSpan
9134 colorTime = 0
9135 delayance = xOff
9136 inString = false
9137 end
9138end
9139
9140function scrollBar.UpdateCallback(self)
9141 scrollBar.TotalSpace = #entries * 16
9142 scrollBar.VisibleSpace = editorGrid.AbsoluteSize.Y
9143 buildScript(currentSource,math.floor(scrollBarH.ScrollIndex/8),math.floor(scrollBar.ScrollIndex/16))
9144end
9145
9146function scrollBarH.UpdateCallback(self)
9147 scrollBarH.TotalSpace = (getLongestEntry(entries) + 1 + lineSpan) * 8
9148 scrollBarH.VisibleSpace = editorGrid.AbsoluteSize.X
9149 buildScript(currentSource,math.floor(scrollBarH.ScrollIndex/8),math.floor(scrollBar.ScrollIndex/16))
9150end
9151
9152function getLongestEntry(tab)
9153 local longest = 0
9154 for i,v in pairs(tab) do
9155 if string.len(v) > longest then
9156 longest = string.len(v)
9157 end
9158 end
9159 return longest
9160end
9161
9162function openScript(scrObj)
9163 if scrObj:IsA("LocalScript") then
9164 scrObj.Archivable = true
9165 scrObj = scrObj:Clone()
9166 scrObj.Disabled = true
9167 end
9168
9169 local scrName = scrObj.Name
9170 local scrSource = decompile(scrObj)
9171 currentScrName = scrObj.Name;
9172
9173 table.insert(memoryScripts,{Name = scrName,Source = scrSource})
9174
9175 local newTab = entryTemplate:Clone()
9176 newTab.Button.Text = scrName
9177 newTab.Position = UDim2.new(0,#scriptBar:GetChildren() * 100,0,0)
9178 newTab.BackgroundColor3 = Color3.new(33, 33, 33)
9179 newTab.Visible = true
9180
9181 newTab.Button.MouseButton1Down:connect(function()
9182 for i,v in pairs(scriptBar:GetChildren()) do
9183 if v == newTab then
9184 editingIndex = i
9185 buildScript(memoryScripts[i].Source,0,0,true)
9186 wait(.1);
9187 scrollBar:ScrollTo(1)
9188 scrollBar:Update()
9189 scrollBarH:ScrollTo(1)
9190 scrollBarH:Update()
9191 end
9192 end
9193 end)
9194
9195 newTab.Close.MouseButton1Click:connect(function()
9196 for i,v in pairs(scriptBar:GetChildren()) do
9197 if v == newTab then
9198 table.remove(memoryScripts,i)
9199 if editingIndex == i then
9200 editingIndex = #memoryScripts
9201 if editingIndex > 0 then
9202 buildScript(memoryScripts[#memoryScripts].Source,0,0,true)
9203 else
9204 buildScript("",0,0,true)
9205 end
9206 end
9207
9208 scrollBar:ScrollTo(1)
9209 scrollBar:Update()
9210 scrollBarH:ScrollTo(1)
9211 scrollBarH:Update()
9212
9213 for i2 = i,#scriptBar:GetChildren() do
9214 scriptBar:GetChildren()[i2].Position = scriptBar:GetChildren()[i2].Position + UDim2.new(0,-100,0,0)
9215 end
9216 if editingIndex > i then
9217 editingIndex = editingIndex - 1
9218 end
9219 newTab:Destroy()
9220 end
9221 end
9222 end)
9223
9224 editingIndex = #memoryScripts
9225 buildScript(scrSource,0,0,true)
9226
9227 newTab.Parent = scriptBar
9228end
9229
9230getgenv().openScript = openScript;
9231
9232function updateScriptBar()
9233
9234end
9235
9236function _updateScriptBar()
9237 local entryCount = 0
9238
9239 scriptBarLeft.Active = false
9240 scriptBarLeft.AutoButtonColor = false
9241 for i,v in pairs(scriptBarLeft["Arrow Graphic"]:GetChildren()) do
9242 v.BackgroundTransparency = 0.7
9243 end
9244 scriptBarRight.Active = false
9245 scriptBarRight.AutoButtonColor = false
9246 for i,v in pairs(scriptBarRight["Arrow Graphic"]:GetChildren()) do
9247 v.BackgroundTransparency = 0.7
9248 end
9249 for i,v in pairs(scriptBar:GetChildren()) do
9250 if v.Position.X.Offset < 0 then
9251 scriptBarLeft.Active = true
9252 scriptBarLeft.AutoButtonColor = true
9253 for i,v in pairs(scriptBarLeft["Arrow Graphic"]:GetChildren()) do
9254 v.BackgroundTransparency = 0
9255 end
9256 elseif v.Position.X.Offset >= 0 then
9257 entryCount = entryCount + 1
9258 if entryCount == 5 then
9259 scriptBarRight.Active = true
9260 scriptBarRight.AutoButtonColor = true
9261 for i,v in pairs(scriptBarRight["Arrow Graphic"]:GetChildren()) do
9262 v.BackgroundTransparency = 0
9263 end
9264 end
9265 end
9266 end
9267end
9268
9269scriptBar.ChildAdded:connect(updateScriptBar)
9270scriptBar.ChildRemoved:connect(updateScriptBar)
9271
9272scriptBarLeft.MouseButton1Click:connect(function()
9273 if scriptBarLeft.Active == false then return end
9274 for i,v in pairs(scriptBar:GetChildren()) do
9275 v.Position = v.Position + UDim2.new(0,100,0,0)
9276 end
9277 updateScriptBar()
9278end)
9279
9280scriptBarRight.MouseButton1Click:connect(function()
9281 if scriptBarRight.Active == false then return end
9282 for i,v in pairs(scriptBar:GetChildren()) do
9283 v.Position = v.Position + UDim2.new(0,-100,0,0)
9284 end
9285 updateScriptBar()
9286end)
9287
9288mouse.Button1Down:connect(function()
9289 if checkMouseInGui(editorGrid) then
9290 end
9291end)
9292
9293openEvent.Event:connect(function(...)
9294 top.Visible = true
9295 local args = {...}
9296 if #args > 0 then
9297 openScript(args[1])
9298 end
9299end)
9300
9301clipboardButton.MouseButton1Click:connect(function()
9302 if Clipboard and Clipboard.set then
9303 Clipboard.set(currentSource)
9304 elseif CopyString then
9305 CopyString(currentSource)
9306 elseif Synapse then
9307 Synapse:Copy(currentSource)
9308 elseif setclipboard then
9309 setclipboard(currentSource)
9310 end
9311end)
9312
9313saveScriptButton.MouseButton1Click:connect(function()
9314 if Synapse then
9315 Synapse:WriteFile(game.PlaceId .. '_' .. currentScrName:gsub('%W', '') .. '_' .. math.random(100000, 999999) .. '.lua', currentSource)
9316 elseif writefile then
9317 writefile(game.PlaceId .. '_' .. currentScrName:gsub('%W', '') .. '_' .. math.random(100000, 999999) .. '.lua', currentSource);
9318 end
9319end)
9320
9321closeButton.MouseButton1Click:connect(function()
9322 top.Visible = false
9323end)
9324
9325--[[
9326local scr = script.Parent:WaitForChild("Scr")
9327local scr2 = script.Parent:WaitForChild("Scr2")
9328local scr3 = script.Parent:WaitForChild("Scr3")
9329local scr4 = script.Parent:WaitForChild("TOS")
9330local scr5 = script.Parent:WaitForChild("HW")
9331--]]
9332
9333buildScript("",0,0,true)
9334--[[
9335openScript(scr)
9336openScript(scr2)
9337openScript(scr3)
9338openScript(scr4)
9339openScript(scr5)
9340--]]
9341
9342scrollBar:Update()
9343scrollBarH:Update()
9344end)
9345
9346function ScrambleNames(A)
9347 for i,v in pairs(A:GetDescendants()) do
9348 v.Name = RandomCharacters(math.random(16, 64));
9349 end
9350end
9351
9352wait(.25)
9353
9354D_E_X.Parent = game:GetService'CoreGui'