1. local print = function() end
  2. local warn = function() end
  3. local error = function() end
  4. math.randomseed(tick())
  5. function RandomCharacters(length)
  6. local STR = ''
  7. for i = 1, length do
  8. STR = STR .. string.char(math.random(65,90))
  9. end
  10. return STR
  11. end
  12. if getgenv().dex_ui ~= nil then getgenv().dex_ui:remove() getgenv().dex_ui = nil end
  13. CreateGui = function()
  14. local ROBLOX = Instance.new("ScreenGui")
  15. local PropertiesFrame = Instance.new("Frame")
  16. local Header = Instance.new("Frame")
  17. local TextLabel = Instance.new("TextLabel")
  18. local TextBox = Instance.new("TextBox")
  19. local ExplorerPanel = Instance.new("Frame")
  20. local SideMenu = Instance.new("Frame")
  21. local Toggle = Instance.new("TextButton")
  22. local Title = Instance.new("TextLabel")
  23. local Version = Instance.new("TextLabel")
  24. local Slant = Instance.new("ImageLabel")
  25. local Main = Instance.new("Frame")
  26. local SlideOut = Instance.new("Frame")
  27. local SlideFrame = Instance.new("Frame")
  28. local Explorer = Instance.new("TextButton")
  29. local Icon = Instance.new("ImageLabel")
  30. local SaveMap = Instance.new("TextButton")
  31. local Icon_2 = Instance.new("ImageLabel")
  32. local Settings = Instance.new("TextButton")
  33. local Icon_3 = Instance.new("ImageLabel")
  34. local Remotes = Instance.new("TextButton")
  35. local Icon_4 = Instance.new("ImageLabel")
  36. local About = Instance.new("TextButton")
  37. local Icon_5 = Instance.new("ImageLabel")
  38. local OpenScriptEditor = Instance.new("TextButton")
  39. local Icon_6 = Instance.new("ImageLabel")
  40. local Toggle_2 = Instance.new("TextButton")
  41. local SettingsPanel = Instance.new("Frame")
  42. local Header_2 = Instance.new("Frame")
  43. local TextLabel_2 = Instance.new("TextLabel")
  44. local SettingTemplate = Instance.new("Frame")
  45. local SName = Instance.new("TextLabel")
  46. local Status = Instance.new("TextLabel")
  47. local Change = Instance.new("TextButton")
  48. local OnBar = Instance.new("TextLabel")
  49. local Bar = Instance.new("TextLabel")
  50. local SettingList = Instance.new("Frame")
  51. local SaveInstance = Instance.new("Frame")
  52. local Title_2 = Instance.new("TextLabel")
  53. local MainWindow = Instance.new("Frame")
  54. local Save = Instance.new("TextButton")
  55. local Desc = Instance.new("TextLabel")
  56. local Cancel = Instance.new("TextButton")
  57. local FileName = Instance.new("TextBox")
  58. local SaveObjects = Instance.new("TextButton")
  59. local enabled = Instance.new("TextLabel")
  60. local Desc2 = Instance.new("TextLabel")
  61. local Confirmation = Instance.new("Frame")
  62. local Title_3 = Instance.new("TextLabel")
  63. local MainWindow_2 = Instance.new("Frame")
  64. local Yes = Instance.new("TextButton")
  65. local Desc_2 = Instance.new("TextLabel")
  66. local No = Instance.new("TextButton")
  67. local Caution = Instance.new("Frame")
  68. local Title_4 = Instance.new("TextLabel")
  69. local MainWindow_3 = Instance.new("Frame")
  70. local Desc_3 = Instance.new("TextLabel")
  71. local Ok = Instance.new("TextButton")
  72. local CallRemote = Instance.new("Frame")
  73. local Title_5 = Instance.new("TextLabel")
  74. local MainWindow_4 = Instance.new("Frame")
  75. local Desc_4 = Instance.new("TextLabel")
  76. local Arguments = Instance.new("ScrollingFrame")
  77. local DisplayReturned = Instance.new("TextButton")
  78. local enabled_2 = Instance.new("TextLabel")
  79. local Desc2_2 = Instance.new("TextLabel")
  80. local Add = Instance.new("TextButton")
  81. local Subtract = Instance.new("TextButton")
  82. local ArgumentTemplate = Instance.new("Frame")
  83. local Type = Instance.new("TextButton")
  84. local Value = Instance.new("TextBox")
  85. local Cancel_2 = Instance.new("TextButton")
  86. local Ok_2 = Instance.new("TextButton")
  87. local TableCaution = Instance.new("Frame")
  88. local MainWindow_5 = Instance.new("Frame")
  89. local Ok_3 = Instance.new("TextButton")
  90. local TableResults = Instance.new("ScrollingFrame")
  91. local TableTemplate = Instance.new("Frame")
  92. local Type_2 = Instance.new("TextLabel")
  93. local Value_2 = Instance.new("TextLabel")
  94. local Title_6 = Instance.new("TextLabel")
  95. local ScriptEditor = Instance.new("Frame")
  96. local Title_7 = Instance.new("TextLabel")
  97. local Cover = Instance.new("Frame")
  98. local EditorGrid = Instance.new("Frame")
  99. local TopBar = Instance.new("Frame")
  100. local ScriptBarLeft = Instance.new("ImageButton")
  101. local ArrowGraphic = Instance.new("Frame")
  102. local Graphic = Instance.new("Frame")
  103. local Graphic_2 = Instance.new("Frame")
  104. local Graphic_3 = Instance.new("Frame")
  105. local Graphic_4 = Instance.new("Frame")
  106. local ScriptBarRight = Instance.new("ImageButton")
  107. local ArrowGraphic_2 = Instance.new("Frame")
  108. local Graphic_5 = Instance.new("Frame")
  109. local Graphic_6 = Instance.new("Frame")
  110. local Graphic_7 = Instance.new("Frame")
  111. local Graphic_8 = Instance.new("Frame")
  112. local Clipboard = Instance.new("TextButton")
  113. local SaveScript = Instance.new("TextButton")
  114. local ScriptBar = Instance.new("Frame")
  115. local Entry = Instance.new("Frame")
  116. local Button = Instance.new("TextButton")
  117. local Close = Instance.new("TextButton")
  118. local Close_2 = Instance.new("TextButton")
  119. local IntroFrame = Instance.new("Frame")
  120. local Main_2 = Instance.new("Frame")
  121. local ImageLabel = Instance.new("ImageLabel")
  122. local Title_8 = Instance.new("TextLabel")
  123. local Version_2 = Instance.new("TextLabel")
  124. local Creator = Instance.new("TextLabel")
  125. local BG = Instance.new("ImageLabel")
  126. local Slant_2 = Instance.new("Frame")
  127. local ImageLabel_2 = Instance.new("ImageLabel")
  128. local SaveMapWindow = Instance.new("Frame")
  129. local Header_3 = Instance.new("Frame")
  130. local TextLabel_3 = Instance.new("TextLabel")
  131. local MapSettings = Instance.new("Frame")
  132. local Terrain = Instance.new("Frame")
  133. local SName_2 = Instance.new("TextLabel")
  134. local Status_2 = Instance.new("TextLabel")
  135. local Change_2 = Instance.new("TextButton")
  136. local OnBar_2 = Instance.new("TextLabel")
  137. local Bar_2 = Instance.new("TextLabel")
  138. local Lighting = Instance.new("Frame")
  139. local SName_3 = Instance.new("TextLabel")
  140. local Status_3 = Instance.new("TextLabel")
  141. local Change_3 = Instance.new("TextButton")
  142. local OnBar_3 = Instance.new("TextLabel")
  143. local Bar_3 = Instance.new("TextLabel")
  144. local CameraInstances = Instance.new("Frame")
  145. local SName_4 = Instance.new("TextLabel")
  146. local Status_4 = Instance.new("TextLabel")
  147. local Change_4 = Instance.new("TextButton")
  148. local OnBar_4 = Instance.new("TextLabel")
  149. local Bar_4 = Instance.new("TextLabel")
  150. local Scripts = Instance.new("Frame")
  151. local SName_5 = Instance.new("TextLabel")
  152. local Status_5 = Instance.new("TextLabel")
  153. local Change_5 = Instance.new("TextButton")
  154. local OnBar_5 = Instance.new("TextLabel")
  155. local Bar_5 = Instance.new("TextLabel")
  156. local ToSave = Instance.new("TextLabel")
  157. local CopyList = Instance.new("Frame")
  158. local Bottom = Instance.new("Frame")
  159. local TextLabel_4 = Instance.new("TextLabel")
  160. local Save_2 = Instance.new("TextButton")
  161. local FileName_2 = Instance.new("TextBox")
  162. local Entry_2 = Instance.new("Frame")
  163. local Change_6 = Instance.new("TextButton")
  164. local enabled_3 = Instance.new("TextLabel")
  165. local Info = Instance.new("TextLabel")
  166. local RemoteDebugWindow = Instance.new("Frame")
  167. local Header_4 = Instance.new("Frame")
  168. local TextLabel_5 = Instance.new("TextLabel")
  169. local Desc_5 = Instance.new("TextLabel")
  170. local AboutWindow = Instance.new("Frame")
  171. local Header_5 = Instance.new("Frame")
  172. local TextLabel_6 = Instance.new("TextLabel")
  173. local Desc_6 = Instance.new("TextLabel")
  174. ROBLOX.Name = RandomCharacters(16, 64)
  175. PropertiesFrame.Name = "PropertiesFrame"
  176. PropertiesFrame.Parent = ROBLOX
  177. PropertiesFrame.Active = true
  178. PropertiesFrame.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  179. PropertiesFrame.BorderColor3 = Color3.fromRGB(191, 191, 191)
  180. PropertiesFrame.BorderSizePixel = 0
  181. PropertiesFrame.Position = UDim2.new(1, 0, 0.5, 36)
  182. PropertiesFrame.Size = UDim2.new(0, 300, 0.5, -36)
  183. Header.Name = "Header"
  184. Header.Parent = PropertiesFrame
  185. Header.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  186. Header.BorderColor3 = Color3.fromRGB(149, 149, 149)
  187. Header.BorderSizePixel = 0
  188. Header.Position = UDim2.new(0, 0, 0, -35)
  189. Header.Size = UDim2.new(1, 0, 0, 35)
  190. TextLabel.Parent = Header
  191. TextLabel.BackgroundTransparency = 1
  192. TextLabel.Position = UDim2.new(0, 4, 0, 0)
  193. TextLabel.Size = UDim2.new(1, -4, 0.5, 0)
  194. TextLabel.Font = Enum.Font.SourceSans
  195. TextLabel.Text = "Properties"
  196. TextLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
  197. TextLabel.TextSize = 14
  198. TextLabel.TextXAlignment = Enum.TextXAlignment.Left
  199. TextBox.Parent = Header
  200. TextBox.BackgroundTransparency = 0.8
  201. TextBox.Position = UDim2.new(0, 4, 0.5, 0)
  202. TextBox.Size = UDim2.new(1, -8, 0.5, -3)
  203. TextBox.Font = Enum.Font.SourceSans
  204. TextBox.PlaceholderText = "Search Properties"
  205. TextBox.Text = ""
  206. TextBox.TextColor3 = Color3.fromRGB(255, 255, 255)
  207. TextBox.TextSize = 14
  208. TextBox.TextXAlignment = Enum.TextXAlignment.Left
  209. ExplorerPanel.Name = "ExplorerPanel"
  210. ExplorerPanel.Parent = ROBLOX
  211. ExplorerPanel.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  212. ExplorerPanel.BorderColor3 = Color3.fromRGB(191, 191, 191)
  213. ExplorerPanel.BorderSizePixel = 0
  214. ExplorerPanel.Position = UDim2.new(1, 0, 0, 1)
  215. ExplorerPanel.Size = UDim2.new(0, 300, 0.5, 0)
  216. SideMenu.Name = "SideMenu"
  217. SideMenu.Parent = ROBLOX
  218. SideMenu.BackgroundColor3 = Color3.fromRGB(233, 233, 233)
  219. SideMenu.BackgroundTransparency = 1
  220. SideMenu.BorderColor3 = Color3.fromRGB(149, 149, 149)
  221. SideMenu.BorderSizePixel = 0
  222. SideMenu.Position = UDim2.new(1, -330, 0, 0)
  223. SideMenu.Size = UDim2.new(0, 30, 0, 180)
  224. SideMenu.Visible = false
  225. SideMenu.ZIndex = 2
  226. Toggle.Name = "Toggle"
  227. Toggle.Parent = SideMenu
  228. Toggle.Active = false
  229. Toggle.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  230. Toggle.BorderSizePixel = 0
  231. Toggle.Position = UDim2.new(0, 0, 0, 60)
  232. Toggle.Size = UDim2.new(0, 30, 0, 30)
  233. Toggle.AutoButtonColor = false
  234. Toggle.Font = Enum.Font.SourceSans
  235. Toggle.Text = ">"
  236. Toggle.TextColor3 = Color3.fromRGB(255, 255, 255)
  237. Toggle.TextSize = 24
  238. Toggle.TextTransparency = 1
  239. Toggle.TextWrapped = true
  240. Title.Name = "Title"
  241. Title.Parent = SideMenu
  242. Title.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  243. Title.BackgroundTransparency = 1
  244. Title.Size = UDim2.new(0, 30, 0, 20)
  245. Title.ZIndex = 2
  246. Title.Font = Enum.Font.SourceSansBold
  247. Title.Text = "DEX"
  248. Title.TextColor3 = Color3.fromRGB(255, 255, 255)
  249. Title.TextSize = 14
  250. Title.TextWrapped = true
  251. Version.Name = "Version"
  252. Version.Parent = SideMenu
  253. Version.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  254. Version.BackgroundTransparency = 1
  255. Version.Position = UDim2.new(0, 0, 0, 15)
  256. Version.Size = UDim2.new(0, 30, 0, 20)
  257. Version.ZIndex = 2
  258. Version.Font = Enum.Font.SourceSansBold
  259. Version.Text = "V2.0.0"
  260. Version.TextColor3 = Color3.fromRGB(255, 255, 255)
  261. Version.TextSize = 12
  262. Version.TextWrapped = true
  263. Slant.Name = "Slant"
  264. Slant.Parent = SideMenu
  265. Slant.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  266. Slant.BackgroundTransparency = 1
  267. Slant.Position = UDim2.new(0, 0, 0, 90)
  268. Slant.Rotation = 180
  269. Slant.Size = UDim2.new(0, 30, 0, 30)
  270. Slant.Image = "rbxassetid://474172996"
  271. Slant.ImageColor3 = Color3.fromRGB(43, 43, 43)
  272. Main.Name = "Main"
  273. Main.Parent = SideMenu
  274. Main.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  275. Main.BorderSizePixel = 0
  276. Main.Size = UDim2.new(0, 30, 0, 30)
  277. SlideOut.Name = "SlideOut"
  278. SlideOut.Parent = SideMenu
  279. SlideOut.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  280. SlideOut.BackgroundTransparency = 1
  281. SlideOut.BorderSizePixel = 0
  282. SlideOut.ClipsDescendants = true
  283. SlideOut.Position = UDim2.new(0, 0, 0, 30)
  284. SlideOut.Size = UDim2.new(0, 30, 0, 150)
  285. SlideFrame.Name = "SlideFrame"
  286. SlideFrame.Parent = SlideOut
  287. SlideFrame.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  288. SlideFrame.BorderSizePixel = 0
  289. SlideFrame.Position = UDim2.new(0, 0, 0, -150)
  290. SlideFrame.Size = UDim2.new(0, 30, 0, 150)
  291. Explorer.Name = "Explorer"
  292. Explorer.Parent = SlideFrame
  293. Explorer.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  294. Explorer.BackgroundTransparency = 1
  295. Explorer.BorderSizePixel = 0
  296. Explorer.Position = UDim2.new(0, 0, 0, 120)
  297. Explorer.Size = UDim2.new(0, 30, 0, 30)
  298. Explorer.ZIndex = 2
  299. Explorer.AutoButtonColor = false
  300. Explorer.Font = Enum.Font.SourceSans
  301. Explorer.Text = ""
  302. Explorer.TextSize = 24
  303. Icon.Name = "Icon"
  304. Icon.Parent = Explorer
  305. Icon.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  306. Icon.BackgroundTransparency = 1
  307. Icon.Position = UDim2.new(0, 5, 0, 5)
  308. Icon.Size = UDim2.new(0, 20, 0, 20)
  309. Icon.ZIndex = 2
  310. Icon.Image = "rbxassetid://472635937"
  311. SaveMap.Name = "SaveMap"
  312. SaveMap.Parent = SlideFrame
  313. SaveMap.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  314. SaveMap.BackgroundTransparency = 1
  315. SaveMap.BorderSizePixel = 0
  316. SaveMap.Position = UDim2.new(0, 0, 0, 90)
  317. SaveMap.Size = UDim2.new(0, 30, 0, 30)
  318. SaveMap.ZIndex = 2
  319. SaveMap.AutoButtonColor = false
  320. SaveMap.Font = Enum.Font.SourceSans
  321. SaveMap.Text = ""
  322. SaveMap.TextSize = 24
  323. Icon_2.Name = "Icon"
  324. Icon_2.Parent = SaveMap
  325. Icon_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  326. Icon_2.BackgroundTransparency = 1
  327. Icon_2.Position = UDim2.new(0, 5, 0, 5)
  328. Icon_2.Size = UDim2.new(0, 20, 0, 20)
  329. Icon_2.ZIndex = 2
  330. Icon_2.Image = "rbxassetid://472636337"
  331. Settings.Name = "Settings"
  332. Settings.Parent = SlideFrame
  333. Settings.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  334. Settings.BackgroundTransparency = 1
  335. Settings.BorderSizePixel = 0
  336. Settings.Position = UDim2.new(0, 0, 0, 30)
  337. Settings.Size = UDim2.new(0, 30, 0, 30)
  338. Settings.ZIndex = 2
  339. Settings.AutoButtonColor = false
  340. Settings.Font = Enum.Font.SourceSans
  341. Settings.Text = ""
  342. Settings.TextSize = 24
  343. Icon_3.Name = "Icon"
  344. Icon_3.Parent = Settings
  345. Icon_3.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  346. Icon_3.BackgroundTransparency = 1
  347. Icon_3.Position = UDim2.new(0, 5, 0, 5)
  348. Icon_3.Size = UDim2.new(0, 20, 0, 20)
  349. Icon_3.ZIndex = 2
  350. Icon_3.Image = "rbxassetid://472635774"
  351. Remotes.Name = "Remotes"
  352. Remotes.Parent = SlideFrame
  353. Remotes.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  354. Remotes.BackgroundTransparency = 1
  355. Remotes.BorderSizePixel = 0
  356. Remotes.Position = UDim2.new(0, 0, 0, 60)
  357. Remotes.Size = UDim2.new(0, 30, 0, 30)
  358. Remotes.ZIndex = 2
  359. Remotes.AutoButtonColor = false
  360. Remotes.Font = Enum.Font.SourceSans
  361. Remotes.Text = ""
  362. Remotes.TextSize = 24
  363. Icon_4.Name = "Icon"
  364. Icon_4.Parent = Remotes
  365. Icon_4.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  366. Icon_4.BackgroundTransparency = 1
  367. Icon_4.Position = UDim2.new(0, 5, 0, 5)
  368. Icon_4.Size = UDim2.new(0, 20, 0, 20)
  369. Icon_4.ZIndex = 2
  370. Icon_4.Image = "rbxassetid://472636187"
  371. About.Name = "About"
  372. About.Parent = SlideFrame
  373. About.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  374. About.BackgroundTransparency = 1
  375. About.BorderSizePixel = 0
  376. About.Size = UDim2.new(0, 30, 0, 30)
  377. About.ZIndex = 2
  378. About.AutoButtonColor = false
  379. About.Font = Enum.Font.SourceSans
  380. About.Text = ""
  381. About.TextSize = 24
  382. Icon_5.Archivable = false
  383. Icon_5.Name = "Icon"
  384. Icon_5.Parent = About
  385. Icon_5.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  386. Icon_5.BackgroundTransparency = 1
  387. Icon_5.Position = UDim2.new(0, 5, 0, 5)
  388. Icon_5.Size = UDim2.new(0, 20, 0, 20)
  389. Icon_5.ZIndex = 2
  390. Icon_5.Image = "rbxassetid://476354004"
  391. OpenScriptEditor.Name = "OpenScriptEditor"
  392. OpenScriptEditor.Parent = SideMenu
  393. OpenScriptEditor.Active = false
  394. OpenScriptEditor.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  395. OpenScriptEditor.BorderSizePixel = 0
  396. OpenScriptEditor.Position = UDim2.new(0, 0, 0, 30)
  397. OpenScriptEditor.Size = UDim2.new(0, 30, 0, 30)
  398. OpenScriptEditor.ZIndex = 2
  399. OpenScriptEditor.AutoButtonColor = false
  400. OpenScriptEditor.Font = Enum.Font.SourceSans
  401. OpenScriptEditor.Text = ""
  402. OpenScriptEditor.TextSize = 24
  403. Icon_6.Name = "Icon"
  404. Icon_6.Parent = OpenScriptEditor
  405. Icon_6.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  406. Icon_6.BackgroundTransparency = 1
  407. Icon_6.Position = UDim2.new(0, 5, 0, 5)
  408. Icon_6.Size = UDim2.new(0, 20, 0, 20)
  409. Icon_6.ZIndex = 2
  410. Icon_6.Image = "rbxassetid://475456048"
  411. Icon_6.ImageTransparency = 1
  412. Toggle_2.Name = "Toggle"
  413. Toggle_2.Parent = ROBLOX
  414. Toggle_2.BackgroundColor3 = Color3.fromRGB(233, 233, 233)
  415. Toggle_2.BorderColor3 = Color3.fromRGB(149, 149, 149)
  416. Toggle_2.Position = UDim2.new(1, 0, 0, 0)
  417. Toggle_2.Size = UDim2.new(0, 30, 0, 30)
  418. Toggle_2.Font = Enum.Font.SourceSans
  419. Toggle_2.Text = "<"
  420. Toggle_2.TextSize = 24
  421. SettingsPanel.Name = "SettingsPanel"
  422. SettingsPanel.Parent = ROBLOX
  423. SettingsPanel.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  424. SettingsPanel.BorderColor3 = Color3.fromRGB(191, 191, 191)
  425. SettingsPanel.BorderSizePixel = 0
  426. SettingsPanel.Position = UDim2.new(1, 0, 0, 1)
  427. SettingsPanel.Size = UDim2.new(0, 300, 1, 0)
  428. Header_2.Name = "Header"
  429. Header_2.Parent = SettingsPanel
  430. Header_2.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  431. Header_2.BorderColor3 = Color3.fromRGB(30, 30, 30)
  432. Header_2.Size = UDim2.new(1, 0, 0, 17)
  433. TextLabel_2.Parent = Header_2
  434. TextLabel_2.BackgroundTransparency = 1
  435. TextLabel_2.Position = UDim2.new(0, 4, 0, 0)
  436. TextLabel_2.Size = UDim2.new(1, -4, 1, 0)
  437. TextLabel_2.Font = Enum.Font.SourceSans
  438. TextLabel_2.Text = "Settings"
  439. TextLabel_2.TextColor3 = Color3.fromRGB(255, 255, 255)
  440. TextLabel_2.TextSize = 14
  441. TextLabel_2.TextXAlignment = Enum.TextXAlignment.Left
  442. SettingTemplate.Name = "SettingTemplate"
  443. SettingTemplate.Parent = SettingsPanel
  444. SettingTemplate.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  445. SettingTemplate.BackgroundTransparency = 1
  446. SettingTemplate.Position = UDim2.new(0, 0, 0, 18)
  447. SettingTemplate.Size = UDim2.new(1, 0, 0, 60)
  448. SettingTemplate.Visible = false
  449. SName.Name = "SName"
  450. SName.Parent = SettingTemplate
  451. SName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  452. SName.BackgroundTransparency = 1
  453. SName.Position = UDim2.new(0, 10, 0, 0)
  454. SName.Size = UDim2.new(1, -20, 0, 30)
  455. SName.Font = Enum.Font.SourceSans
  456. SName.Text = "SettingName"
  457. SName.TextColor3 = Color3.fromRGB(255, 255, 255)
  458. SName.TextSize = 18
  459. SName.TextXAlignment = Enum.TextXAlignment.Left
  460. Status.Name = "Status"
  461. Status.Parent = SettingTemplate
  462. Status.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  463. Status.BackgroundTransparency = 1
  464. Status.Position = UDim2.new(0, 60, 0, 30)
  465. Status.Size = UDim2.new(0, 50, 0, 15)
  466. Status.Font = Enum.Font.SourceSans
  467. Status.Text = "Off"
  468. Status.TextColor3 = Color3.fromRGB(255, 255, 255)
  469. Status.TextSize = 18
  470. Status.TextXAlignment = Enum.TextXAlignment.Left
  471. Change.Name = "Change"
  472. Change.Parent = SettingTemplate
  473. Change.BackgroundColor3 = Color3.fromRGB(81, 81, 81)
  474. Change.BorderSizePixel = 0
  475. Change.Position = UDim2.new(0, 10, 0, 30)
  476. Change.Size = UDim2.new(0, 40, 0, 15)
  477. Change.Font = Enum.Font.SourceSans
  478. Change.Text = ""
  479. Change.TextColor3 = Color3.fromRGB(255, 255, 255)
  480. Change.TextSize = 14
  481. OnBar.Name = "OnBar"
  482. OnBar.Parent = Change
  483. OnBar.BackgroundColor3 = Color3.fromRGB(209, 125, 0)
  484. OnBar.BorderSizePixel = 0
  485. OnBar.Size = UDim2.new(0, 0, 0, 15)
  486. OnBar.Font = Enum.Font.SourceSans
  487. OnBar.Text = ""
  488. OnBar.TextColor3 = Color3.fromRGB(255, 255, 255)
  489. OnBar.TextSize = 14
  490. Bar.Name = "Bar"
  491. Bar.Parent = Change
  492. Bar.BackgroundColor3 = Color3.fromRGB(255, 153, 0)
  493. Bar.BorderSizePixel = 0
  494. Bar.ClipsDescendants = true
  495. Bar.Position = UDim2.new(0, -2, 0, -2)
  496. Bar.Size = UDim2.new(0, 10, 0, 19)
  497. Bar.Font = Enum.Font.SourceSans
  498. Bar.Text = ""
  499. Bar.TextColor3 = Color3.fromRGB(255, 255, 255)
  500. Bar.TextSize = 14
  501. SettingList.Name = "SettingList"
  502. SettingList.Parent = SettingsPanel
  503. SettingList.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  504. SettingList.BackgroundTransparency = 1
  505. SettingList.Position = UDim2.new(0, 0, 0, 17)
  506. SettingList.Size = UDim2.new(1, 0, 1, -17)
  507. SaveInstance.Name = "SaveInstance"
  508. SaveInstance.Parent = ROBLOX
  509. SaveInstance.Active = true
  510. SaveInstance.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  511. SaveInstance.BorderColor3 = Color3.fromRGB(30, 30, 30)
  512. SaveInstance.Draggable = true
  513. SaveInstance.Position = UDim2.new(0.3, 0, 0.3, 0)
  514. SaveInstance.Size = UDim2.new(0, 350, 0, 20)
  515. SaveInstance.Visible = false
  516. SaveInstance.ZIndex = 2
  517. Title_2.Name = "Title"
  518. Title_2.Parent = SaveInstance
  519. Title_2.BackgroundTransparency = 1
  520. Title_2.Size = UDim2.new(1, 0, 1, 0)
  521. Title_2.ZIndex = 2
  522. Title_2.Font = Enum.Font.SourceSans
  523. Title_2.Text = "Save Instance"
  524. Title_2.TextColor3 = Color3.fromRGB(255, 255, 255)
  525. Title_2.TextSize = 14
  526. Title_2.TextXAlignment = Enum.TextXAlignment.Left
  527. MainWindow.Name = "MainWindow"
  528. MainWindow.Parent = SaveInstance
  529. MainWindow.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  530. MainWindow.BackgroundTransparency = 0.1
  531. MainWindow.BorderColor3 = Color3.fromRGB(30, 30, 30)
  532. MainWindow.Size = UDim2.new(1, 0, 0, 200)
  533. Save.Name = "Save"
  534. Save.Parent = MainWindow
  535. Save.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
  536. Save.BackgroundTransparency = 0.5
  537. Save.BorderColor3 = Color3.fromRGB(40, 40, 40)
  538. Save.Position = UDim2.new(0.075, 0, 1, -40)
  539. Save.Size = UDim2.new(0.4, 0, 0, 30)
  540. Save.Font = Enum.Font.SourceSans
  541. Save.Text = "Save"
  542. Save.TextColor3 = Color3.fromRGB(255, 255, 255)
  543. Save.TextSize = 18
  544. Desc.Name = "Desc"
  545. Desc.Parent = MainWindow
  546. Desc.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  547. Desc.BackgroundTransparency = 1
  548. Desc.Position = UDim2.new(0, 0, 0, 20)
  549. Desc.Size = UDim2.new(1, 0, 0, 40)
  550. Desc.Font = Enum.Font.SourceSans
  551. Desc.Text = "This will save an instance to your PC. Type in the name for your instance. (.rbxmx will be added automatically.)"
  552. Desc.TextColor3 = Color3.fromRGB(255, 255, 255)
  553. Desc.TextSize = 14
  554. Desc.TextWrapped = true
  555. Cancel.Name = "Cancel"
  556. Cancel.Parent = MainWindow
  557. Cancel.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
  558. Cancel.BackgroundTransparency = 0.5
  559. Cancel.BorderColor3 = Color3.fromRGB(40, 40, 40)
  560. Cancel.Position = UDim2.new(0.524, 0, 1, -40)
  561. Cancel.Size = UDim2.new(0.4, 0, 0, 30)
  562. Cancel.Font = Enum.Font.SourceSans
  563. Cancel.Text = "Cancel"
  564. Cancel.TextColor3 = Color3.fromRGB(255, 255, 255)
  565. Cancel.TextSize = 18
  566. FileName.Name = "FileName"
  567. FileName.Parent = MainWindow
  568. FileName.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
  569. FileName.BackgroundTransparency = 0.2
  570. FileName.BorderColor3 = Color3.fromRGB(40, 40, 40)
  571. FileName.Position = UDim2.new(0.075, 0, 0.4, 0)
  572. FileName.Size = UDim2.new(0.85, 0, 0, 30)
  573. FileName.Font = Enum.Font.SourceSans
  574. FileName.Text = ""
  575. FileName.TextColor3 = Color3.fromRGB(255, 255, 255)
  576. FileName.TextSize = 18
  577. FileName.TextXAlignment = Enum.TextXAlignment.Left
  578. SaveObjects.Name = "SaveObjects"
  579. SaveObjects.Parent = MainWindow
  580. SaveObjects.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
  581. SaveObjects.BackgroundTransparency = 0.6
  582. SaveObjects.BorderColor3 = Color3.fromRGB(40, 40, 40)
  583. SaveObjects.Position = UDim2.new(0.075, 0, 0.625, 0)
  584. SaveObjects.Size = UDim2.new(0, 20, 0, 20)
  585. SaveObjects.ZIndex = 2
  586. SaveObjects.Font = Enum.Font.SourceSans
  587. SaveObjects.Text = ""
  588. SaveObjects.TextColor3 = Color3.fromRGB(255, 255, 255)
  589. SaveObjects.TextSize = 18
  590. enabled.Name = "enabled"
  591. enabled.Parent = SaveObjects
  592. enabled.BackgroundColor3 = Color3.fromRGB(96, 96, 96)
  593. enabled.BackgroundTransparency = 0.4
  594. enabled.BorderSizePixel = 0
  595. enabled.Position = UDim2.new(0, 3, 0, 3)
  596. enabled.Size = UDim2.new(0, 14, 0, 14)
  597. enabled.Font = Enum.Font.SourceSans
  598. enabled.Text = ""
  599. enabled.TextSize = 14
  600. Desc2.Name = "Desc2"
  601. Desc2.Parent = MainWindow
  602. Desc2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  603. Desc2.BackgroundTransparency = 1
  604. Desc2.Position = UDim2.new(0.075, 30, 0.625, 0)
  605. Desc2.Size = UDim2.new(0.925, -30, 0, 20)
  606. Desc2.Font = Enum.Font.SourceSans
  607. Desc2.Text = "Save \"Object\" type values"
  608. Desc2.TextColor3 = Color3.fromRGB(255, 255, 255)
  609. Desc2.TextSize = 14
  610. Desc2.TextXAlignment = Enum.TextXAlignment.Left
  611. Confirmation.Name = "Confirmation"
  612. Confirmation.Parent = ROBLOX
  613. Confirmation.Active = true
  614. Confirmation.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  615. Confirmation.BorderColor3 = Color3.fromRGB(30, 30, 30)
  616. Confirmation.Draggable = true
  617. Confirmation.Position = UDim2.new(0.3, 0, 0.349, 0)
  618. Confirmation.Size = UDim2.new(0, 350, 0, 20)
  619. Confirmation.Visible = false
  620. Confirmation.ZIndex = 3
  621. Title_3.Name = "Title"
  622. Title_3.Parent = Confirmation
  623. Title_3.BackgroundTransparency = 1
  624. Title_3.Size = UDim2.new(1, 0, 1, 0)
  625. Title_3.ZIndex = 3
  626. Title_3.Font = Enum.Font.SourceSans
  627. Title_3.Text = " Confirm"
  628. Title_3.TextColor3 = Color3.fromRGB(255, 255, 255)
  629. Title_3.TextSize = 14
  630. Title_3.TextXAlignment = Enum.TextXAlignment.Left
  631. MainWindow_2.Name = "MainWindow"
  632. MainWindow_2.Parent = Confirmation
  633. MainWindow_2.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
  634. MainWindow_2.BackgroundTransparency = 0.1
  635. MainWindow_2.BorderColor3 = Color3.fromRGB(40, 40, 40)
  636. MainWindow_2.Size = UDim2.new(1, 0, 0, 150)
  637. MainWindow_2.ZIndex = 2
  638. Yes.Name = "Yes"
  639. Yes.Parent = MainWindow_2
  640. Yes.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
  641. Yes.BackgroundTransparency = 0.5
  642. Yes.BorderColor3 = Color3.fromRGB(0, 0, 0)
  643. Yes.Position = UDim2.new(0.075, 0, 1, -40)
  644. Yes.Size = UDim2.new(0.4, 0, 0, 30)
  645. Yes.ZIndex = 2
  646. Yes.Font = Enum.Font.SourceSans
  647. Yes.Text = "Yes"
  648. Yes.TextColor3 = Color3.fromRGB(255, 255, 255)
  649. Yes.TextSize = 18
  650. Desc_2.Name = "Desc"
  651. Desc_2.Parent = MainWindow_2
  652. Desc_2.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
  653. Desc_2.BackgroundTransparency = 1
  654. Desc_2.Position = UDim2.new(0, 0, 0, 20)
  655. Desc_2.Size = UDim2.new(1, 0, 0, 40)
  656. Desc_2.ZIndex = 2
  657. Desc_2.Font = Enum.Font.SourceSans
  658. Desc_2.Text = "The file, FILENAME, already exists. Overwrite?"
  659. Desc_2.TextColor3 = Color3.fromRGB(255, 255, 255)
  660. Desc_2.TextSize = 14
  661. Desc_2.TextWrapped = true
  662. No.Name = "No"
  663. No.Parent = MainWindow_2
  664. No.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
  665. No.BackgroundTransparency = 0.5
  666. No.BorderColor3 = Color3.fromRGB(0, 0, 0)
  667. No.Position = UDim2.new(0.524, 0, 1, -40)
  668. No.Size = UDim2.new(0.4, 0, 0, 30)
  669. No.ZIndex = 2
  670. No.Font = Enum.Font.SourceSans
  671. No.Text = "No"
  672. No.TextColor3 = Color3.fromRGB(255, 255, 255)
  673. No.TextSize = 18
  674. Caution.Name = "Caution"
  675. Caution.Parent = ROBLOX
  676. Caution.Active = true
  677. Caution.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  678. Caution.BorderColor3 = Color3.fromRGB(30, 30, 30)
  679. Caution.Draggable = true
  680. Caution.Position = UDim2.new(0.3, 0, 0.3, 0)
  681. Caution.Size = UDim2.new(0, 350, 0, 20)
  682. Caution.Visible = false
  683. Caution.ZIndex = 5
  684. Title_4.Name = "Title"
  685. Title_4.Parent = Caution
  686. Title_4.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
  687. Title_4.BackgroundTransparency = 1
  688. Title_4.Size = UDim2.new(1, 0, 1, 0)
  689. Title_4.ZIndex = 5
  690. Title_4.Font = Enum.Font.SourceSans
  691. Title_4.Text = " Caution"
  692. Title_4.TextColor3 = Color3.fromRGB(255, 255, 255)
  693. Title_4.TextSize = 14
  694. Title_4.TextStrokeColor3 = Color3.fromRGB(30, 30, 30)
  695. Title_4.TextXAlignment = Enum.TextXAlignment.Left
  696. MainWindow_3.Name = "MainWindow"
  697. MainWindow_3.Parent = Caution
  698. MainWindow_3.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
  699. MainWindow_3.BackgroundTransparency = 0.1
  700. MainWindow_3.BorderColor3 = Color3.fromRGB(40, 40, 40)
  701. MainWindow_3.Size = UDim2.new(1, 0, 0, 150)
  702. MainWindow_3.ZIndex = 4
  703. Desc_3.Name = "Desc"
  704. Desc_3.Parent = MainWindow_3
  705. Desc_3.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
  706. Desc_3.BackgroundTransparency = 1
  707. Desc_3.Position = UDim2.new(0, 0, 0, 20)
  708. Desc_3.Size = UDim2.new(1, 0, 0, 42)
  709. Desc_3.ZIndex = 4
  710. Desc_3.Font = Enum.Font.SourceSans
  711. Desc_3.Text = "The file, FILENAME, already exists. Overwrite?"
  712. Desc_3.TextColor3 = Color3.fromRGB(255, 255, 255)
  713. Desc_3.TextSize = 14
  714. Desc_3.TextStrokeColor3 = Color3.fromRGB(30, 30, 30)
  715. Desc_3.TextWrapped = true
  716. Ok.Name = "Ok"
  717. Ok.Parent = MainWindow_3
  718. Ok.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
  719. Ok.BackgroundTransparency = 0.5
  720. Ok.BorderColor3 = Color3.fromRGB(0, 0, 0)
  721. Ok.Position = UDim2.new(0.3, 0, 1, -40)
  722. Ok.Size = UDim2.new(0.4, 0, 0, 30)
  723. Ok.ZIndex = 4
  724. Ok.Font = Enum.Font.SourceSans
  725. Ok.Text = "Ok"
  726. Ok.TextColor3 = Color3.fromRGB(255, 255, 255)
  727. Ok.TextSize = 18
  728. Ok.TextStrokeColor3 = Color3.fromRGB(30, 30, 30)
  729. CallRemote.Name = "CallRemote"
  730. CallRemote.Parent = ROBLOX
  731. CallRemote.Active = true
  732. CallRemote.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
  733. CallRemote.BorderColor3 = Color3.fromRGB(40, 40, 40)
  734. CallRemote.Draggable = true
  735. CallRemote.Position = UDim2.new(0.3, 0, 0.3, 0)
  736. CallRemote.Size = UDim2.new(0, 350, 0, 20)
  737. CallRemote.Visible = false
  738. CallRemote.ZIndex = 2
  739. Title_5.Name = "Title"
  740. Title_5.Parent = CallRemote
  741. Title_5.BackgroundTransparency = 1
  742. Title_5.Size = UDim2.new(1, 0, 1, 0)
  743. Title_5.ZIndex = 2
  744. Title_5.Font = Enum.Font.SourceSans
  745. Title_5.Text = "Call Remote"
  746. Title_5.TextColor3 = Color3.fromRGB(255, 255, 255)
  747. Title_5.TextSize = 14
  748. Title_5.TextXAlignment = Enum.TextXAlignment.Left
  749. MainWindow_4.Name = "MainWindow"
  750. MainWindow_4.Parent = CallRemote
  751. MainWindow_4.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  752. MainWindow_4.BackgroundTransparency = 0.1
  753. MainWindow_4.BorderColor3 = Color3.fromRGB(40, 40, 40)
  754. MainWindow_4.Size = UDim2.new(1, 0, 0, 200)
  755. Desc_4.Name = "Desc"
  756. Desc_4.Parent = MainWindow_4
  757. Desc_4.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  758. Desc_4.BackgroundTransparency = 1
  759. Desc_4.BorderColor3 = Color3.fromRGB(30, 30, 30)
  760. Desc_4.Position = UDim2.new(0, 0, 0, 20)
  761. Desc_4.Size = UDim2.new(1, 0, 0, 20)
  762. Desc_4.Font = Enum.Font.SourceSans
  763. Desc_4.Text = "Arguments"
  764. Desc_4.TextColor3 = Color3.fromRGB(255, 255, 255)
  765. Desc_4.TextSize = 14
  766. Desc_4.TextWrapped = true
  767. Arguments.Name = "Arguments"
  768. Arguments.Parent = MainWindow_4
  769. Arguments.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  770. Arguments.BackgroundTransparency = 1
  771. Arguments.BorderColor3 = Color3.fromRGB(30, 30, 30)
  772. Arguments.Position = UDim2.new(0, 0, 0, 40)
  773. Arguments.Size = UDim2.new(1, 0, 0, 80)
  774. Arguments.BottomImage = "rbxasset://textures/blackBkg_square.png"
  775. Arguments.CanvasSize = UDim2.new(0, 0, 0, 0)
  776. Arguments.MidImage = "rbxasset://textures/blackBkg_square.png"
  777. Arguments.TopImage = "rbxasset://textures/blackBkg_square.png"
  778. DisplayReturned.Name = "DisplayReturned"
  779. DisplayReturned.Parent = MainWindow_4
  780. DisplayReturned.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  781. DisplayReturned.BackgroundTransparency = 0.6
  782. DisplayReturned.BorderColor3 = Color3.fromRGB(30, 30, 30)
  783. DisplayReturned.Position = UDim2.new(0.075, 0, 0.625, 0)
  784. DisplayReturned.Size = UDim2.new(0, 20, 0, 20)
  785. DisplayReturned.ZIndex = 2
  786. DisplayReturned.Font = Enum.Font.SourceSans
  787. DisplayReturned.Text = ""
  788. DisplayReturned.TextColor3 = Color3.fromRGB(255, 255, 255)
  789. DisplayReturned.TextSize = 18
  790. enabled_2.Name = "enabled"
  791. enabled_2.Parent = DisplayReturned
  792. enabled_2.BackgroundColor3 = Color3.fromRGB(96, 96, 96)
  793. enabled_2.BackgroundTransparency = 0.4
  794. enabled_2.BorderSizePixel = 0
  795. enabled_2.Position = UDim2.new(0, 3, 0, 3)
  796. enabled_2.Size = UDim2.new(0, 14, 0, 14)
  797. enabled_2.Visible = false
  798. enabled_2.Font = Enum.Font.SourceSans
  799. enabled_2.Text = ""
  800. enabled_2.TextSize = 14
  801. Desc2_2.Name = "Desc2"
  802. Desc2_2.Parent = MainWindow_4
  803. Desc2_2.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  804. Desc2_2.BackgroundTransparency = 1
  805. Desc2_2.BorderColor3 = Color3.fromRGB(30, 30, 30)
  806. Desc2_2.Position = UDim2.new(0.075, 30, 0.625, 0)
  807. Desc2_2.Size = UDim2.new(0.925, -30, 0, 20)
  808. Desc2_2.Font = Enum.Font.SourceSans
  809. Desc2_2.Text = "Display values returned"
  810. Desc2_2.TextColor3 = Color3.fromRGB(255, 255, 255)
  811. Desc2_2.TextSize = 14
  812. Desc2_2.TextXAlignment = Enum.TextXAlignment.Left
  813. Add.Name = "Add"
  814. Add.Parent = MainWindow_4
  815. Add.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  816. Add.BackgroundTransparency = 0.5
  817. Add.BorderColor3 = Color3.fromRGB(30, 30, 30)
  818. Add.Position = UDim2.new(0.8, 0, 0.625, 0)
  819. Add.Size = UDim2.new(0, 20, 0, 20)
  820. Add.Font = Enum.Font.SourceSansBold
  821. Add.Text = "+"
  822. Add.TextColor3 = Color3.fromRGB(255, 255, 255)
  823. Add.TextSize = 24
  824. Subtract.Name = "Subtract"
  825. Subtract.Parent = MainWindow_4
  826. Subtract.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  827. Subtract.BackgroundTransparency = 0.5
  828. Subtract.BorderColor3 = Color3.fromRGB(30, 30, 30)
  829. Subtract.Position = UDim2.new(0.899, 0, 0.625, 0)
  830. Subtract.Size = UDim2.new(0, 20, 0, 20)
  831. Subtract.Font = Enum.Font.SourceSansBold
  832. Subtract.Text = "-"
  833. Subtract.TextColor3 = Color3.fromRGB(255, 255, 255)
  834. Subtract.TextSize = 24
  835. ArgumentTemplate.Name = "ArgumentTemplate"
  836. ArgumentTemplate.Parent = MainWindow_4
  837. ArgumentTemplate.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
  838. ArgumentTemplate.BackgroundTransparency = 0.5
  839. ArgumentTemplate.BorderColor3 = Color3.fromRGB(40, 40, 40)
  840. ArgumentTemplate.Size = UDim2.new(1, 0, 0, 20)
  841. ArgumentTemplate.Visible = false
  842. Type.Name = "Type"
  843. Type.Parent = ArgumentTemplate
  844. Type.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  845. Type.BackgroundTransparency = 0.899
  846. Type.BorderColor3 = Color3.fromRGB(30, 30, 30)
  847. Type.Size = UDim2.new(0.4, 0, 0, 20)
  848. Type.Font = Enum.Font.SourceSans
  849. Type.Text = "Script"
  850. Type.TextSize = 18
  851. Value.Name = "Value"
  852. Value.Parent = ArgumentTemplate
  853. Value.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  854. Value.BackgroundTransparency = 0.899
  855. Value.BorderColor3 = Color3.fromRGB(30, 30, 30)
  856. Value.Position = UDim2.new(0.4, 0, 0, 0)
  857. Value.Size = UDim2.new(0.6, -12, 0, 20)
  858. Value.Font = Enum.Font.SourceSans
  859. Value.Text = ""
  860. Value.TextSize = 14
  861. Value.TextXAlignment = Enum.TextXAlignment.Left
  862. Cancel_2.Name = "Cancel"
  863. Cancel_2.Parent = MainWindow_4
  864. Cancel_2.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  865. Cancel_2.BackgroundTransparency = 0.5
  866. Cancel_2.BorderColor3 = Color3.fromRGB(30, 30, 30)
  867. Cancel_2.Size = UDim2.new(0.4, 0, 0, 30)
  868. Cancel_2.Font = Enum.Font.SourceSans
  869. Cancel_2.Text = "Cancel"
  870. Cancel_2.TextColor3 = Color3.fromRGB(255, 255, 255)
  871. Cancel_2.TextSize = 18
  872. Ok_2.Name = "Ok"
  873. Ok_2.Parent = MainWindow_4
  874. Ok_2.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  875. Ok_2.BackgroundTransparency = 0.5
  876. Ok_2.BorderColor3 = Color3.fromRGB(30, 30, 30)
  877. Ok_2.Position = UDim2.new(0.075, 0, 1, -40)
  878. Ok_2.Size = UDim2.new(0.4, 0, 0, 30)
  879. Ok_2.Font = Enum.Font.SourceSans
  880. Ok_2.Text = "Call"
  881. Ok_2.TextColor3 = Color3.fromRGB(255, 255, 255)
  882. Ok_2.TextSize = 18
  883. TableCaution.Name = "TableCaution"
  884. TableCaution.Parent = ROBLOX
  885. TableCaution.Active = true
  886. TableCaution.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
  887. TableCaution.BorderColor3 = Color3.fromRGB(43, 43, 43)
  888. TableCaution.Draggable = true
  889. TableCaution.Position = UDim2.new(0.3, 0, 0.3, 0)
  890. TableCaution.Size = UDim2.new(0, 350, 0, 20)
  891. TableCaution.Visible = false
  892. TableCaution.ZIndex = 2
  893. MainWindow_5.Name = "MainWindow"
  894. MainWindow_5.Parent = TableCaution
  895. MainWindow_5.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
  896. MainWindow_5.BackgroundTransparency = 0.1
  897. MainWindow_5.BorderColor3 = Color3.fromRGB(43, 43, 43)
  898. MainWindow_5.Size = UDim2.new(1, 0, 0, 150)
  899. Ok_3.Name = "Ok"
  900. Ok_3.Parent = MainWindow_5
  901. Ok_3.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  902. Ok_3.BackgroundTransparency = 0.5
  903. Ok_3.BorderColor3 = Color3.fromRGB(30, 30, 30)
  904. Ok_3.Position = UDim2.new(0.3, 0, 1, -40)
  905. Ok_3.Size = UDim2.new(0.4, 0, 0, 30)
  906. Ok_3.Font = Enum.Font.SourceSans
  907. Ok_3.Text = "Ok"
  908. Ok_3.TextColor3 = Color3.fromRGB(255, 255, 255)
  909. Ok_3.TextSize = 18
  910. TableResults.Name = "TableResults"
  911. TableResults.Parent = MainWindow_5
  912. TableResults.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  913. TableResults.BackgroundTransparency = 1
  914. TableResults.Position = UDim2.new(0, 0, 0, 20)
  915. TableResults.Size = UDim2.new(1, 0, 0, 80)
  916. TableResults.BottomImage = "rbxasset://textures/blackBkg_square.png"
  917. TableResults.CanvasSize = UDim2.new(0, 0, 0, 0)
  918. TableResults.MidImage = "rbxasset://textures/blackBkg_square.png"
  919. TableResults.TopImage = "rbxasset://textures/blackBkg_square.png"
  920. TableTemplate.Name = "TableTemplate"
  921. TableTemplate.Parent = MainWindow_5
  922. TableTemplate.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  923. TableTemplate.BackgroundTransparency = 0.5
  924. TableTemplate.BorderColor3 = Color3.fromRGB(191, 191, 191)
  925. TableTemplate.Size = UDim2.new(1, 0, 0, 20)
  926. TableTemplate.Visible = false
  927. Type_2.Name = "Type"
  928. Type_2.Parent = TableTemplate
  929. Type_2.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  930. Type_2.BackgroundTransparency = 0.899
  931. Type_2.BorderColor3 = Color3.fromRGB(30, 30, 30)
  932. Type_2.Size = UDim2.new(0.4, 0, 0, 20)
  933. Type_2.Font = Enum.Font.SourceSans
  934. Type_2.Text = "Script"
  935. Type_2.TextColor3 = Color3.fromRGB(255, 255, 255)
  936. Type_2.TextSize = 18
  937. Value_2.Name = "Value"
  938. Value_2.Parent = TableTemplate
  939. Value_2.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  940. Value_2.BackgroundTransparency = 0.899
  941. Value_2.BorderColor3 = Color3.fromRGB(30, 30, 30)
  942. Value_2.Position = UDim2.new(0.4, 0, 0, 0)
  943. Value_2.Size = UDim2.new(0.6, -12, 0, 20)
  944. Value_2.Font = Enum.Font.SourceSans
  945. Value_2.Text = "Script"
  946. Value_2.TextColor3 = Color3.fromRGB(255, 255, 255)
  947. Value_2.TextSize = 14
  948. Title_6.Name = "Title"
  949. Title_6.Parent = TableCaution
  950. Title_6.BackgroundTransparency = 1
  951. Title_6.Size = UDim2.new(1, 0, 1, 0)
  952. Title_6.ZIndex = 2
  953. Title_6.Font = Enum.Font.SourceSans
  954. Title_6.Text = "Caution"
  955. Title_6.TextColor3 = Color3.fromRGB(255, 255, 255)
  956. Title_6.TextSize = 14
  957. Title_6.TextXAlignment = Enum.TextXAlignment.Left
  958. ScriptEditor.Name = "ScriptEditor"
  959. ScriptEditor.Parent = ROBLOX
  960. ScriptEditor.Active = true
  961. ScriptEditor.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  962. ScriptEditor.BorderColor3 = Color3.fromRGB(30, 30, 30)
  963. ScriptEditor.Draggable = true
  964. ScriptEditor.Position = UDim2.new(0.3, 0, 0.3, 0)
  965. ScriptEditor.Size = UDim2.new(0, 916, 0, 20)
  966. ScriptEditor.Visible = false
  967. ScriptEditor.ZIndex = 5
  968. Title_7.Name = "Title"
  969. Title_7.Parent = ScriptEditor
  970. Title_7.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  971. Title_7.BackgroundTransparency = 1
  972. Title_7.Size = UDim2.new(1, 0, 1, 0)
  973. Title_7.ZIndex = 5
  974. Title_7.Font = Enum.Font.SourceSans
  975. Title_7.Text = "Script Viewer"
  976. Title_7.TextColor3 = Color3.fromRGB(255, 255, 255)
  977. Title_7.TextSize = 14
  978. Title_7.TextXAlignment = Enum.TextXAlignment.Left
  979. Cover.Name = "Cover"
  980. Cover.Parent = ScriptEditor
  981. Cover.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
  982. Cover.BorderColor3 = Color3.fromRGB(30, 30, 30)
  983. Cover.Position = UDim2.new(0, 0, 3, 0)
  984. Cover.Size = UDim2.new(0, 916, 0, 416)
  985. EditorGrid.Name = "EditorGrid"
  986. EditorGrid.Parent = ScriptEditor
  987. EditorGrid.Active = true
  988. EditorGrid.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  989. EditorGrid.BorderColor3 = Color3.fromRGB(30, 30, 30)
  990. EditorGrid.Position = UDim2.new(0, 0, 3, 0)
  991. EditorGrid.Size = UDim2.new(1, -16, 0, 400)
  992. TopBar.Name = "TopBar"
  993. TopBar.Parent = ScriptEditor
  994. TopBar.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  995. TopBar.BorderColor3 = Color3.fromRGB(30, 30, 30)
  996. TopBar.Size = UDim2.new(1, 0, 3, 0)
  997. ScriptBarLeft.Name = "ScriptBarLeft"
  998. ScriptBarLeft.Parent = TopBar
  999. ScriptBarLeft.Active = false
  1000. ScriptBarLeft.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1001. ScriptBarLeft.BorderColor3 = Color3.fromRGB(30, 30, 30)
  1002. ScriptBarLeft.Position = UDim2.new(1, -32, 0, 40)
  1003. ScriptBarLeft.Size = UDim2.new(0, 16, 0, 20)
  1004. ScriptBarLeft.AutoButtonColor = false
  1005. ArrowGraphic.Name = "Arrow Graphic"
  1006. ArrowGraphic.Parent = ScriptBarLeft
  1007. ArrowGraphic.BackgroundTransparency = 1
  1008. ArrowGraphic.BorderSizePixel = 0
  1009. ArrowGraphic.Position = UDim2.new(0.5, -4, 0.5, -4)
  1010. ArrowGraphic.Size = UDim2.new(0, 8, 0, 8)
  1011. Graphic.Name = "Graphic"
  1012. Graphic.Parent = ArrowGraphic
  1013. Graphic.BackgroundColor3 = Color3.fromRGB(149, 149, 149)
  1014. Graphic.BackgroundTransparency = 0.699
  1015. Graphic.BorderSizePixel = 0
  1016. Graphic.Position = UDim2.new(0.25, 0, 0.375, 0)
  1017. Graphic.Size = UDim2.new(0.125, 0, 0.25, 0)
  1018. Graphic_2.Name = "Graphic"
  1019. Graphic_2.Parent = ArrowGraphic
  1020. Graphic_2.BackgroundColor3 = Color3.fromRGB(149, 149, 149)
  1021. Graphic_2.BackgroundTransparency = 0.699
  1022. Graphic_2.BorderSizePixel = 0
  1023. Graphic_2.Position = UDim2.new(0.375, 0, 0.25, 0)
  1024. Graphic_2.Size = UDim2.new(0.125, 0, 0.5, 0)
  1025. Graphic_3.Name = "Graphic"
  1026. Graphic_3.Parent = ArrowGraphic
  1027. Graphic_3.BackgroundColor3 = Color3.fromRGB(149, 149, 149)
  1028. Graphic_3.BackgroundTransparency = 0.699
  1029. Graphic_3.BorderSizePixel = 0
  1030. Graphic_3.Position = UDim2.new(0.5, 0, 0.125, 0)
  1031. Graphic_3.Size = UDim2.new(0.125, 0, 0.75, 0)
  1032. Graphic_4.Name = "Graphic"
  1033. Graphic_4.Parent = ArrowGraphic
  1034. Graphic_4.BackgroundColor3 = Color3.fromRGB(149, 149, 149)
  1035. Graphic_4.BackgroundTransparency = 0.699
  1036. Graphic_4.BorderSizePixel = 0
  1037. Graphic_4.Position = UDim2.new(0.625, 0, 0, 0)
  1038. Graphic_4.Size = UDim2.new(0.125, 0, 1, 0)
  1039. ScriptBarRight.Name = "ScriptBarRight"
  1040. ScriptBarRight.Parent = TopBar
  1041. ScriptBarRight.Active = false
  1042. ScriptBarRight.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1043. ScriptBarRight.BorderColor3 = Color3.fromRGB(30, 30, 30)
  1044. ScriptBarRight.Position = UDim2.new(1, -16, 0, 40)
  1045. ScriptBarRight.Size = UDim2.new(0, 16, 0, 20)
  1046. ScriptBarRight.AutoButtonColor = false
  1047. ArrowGraphic_2.Name = "Arrow Graphic"
  1048. ArrowGraphic_2.Parent = ScriptBarRight
  1049. ArrowGraphic_2.BackgroundTransparency = 1
  1050. ArrowGraphic_2.BorderSizePixel = 0
  1051. ArrowGraphic_2.Position = UDim2.new(0.5, -4, 0.5, -4)
  1052. ArrowGraphic_2.Size = UDim2.new(0, 8, 0, 8)
  1053. Graphic_5.Name = "Graphic"
  1054. Graphic_5.Parent = ArrowGraphic_2
  1055. Graphic_5.BackgroundColor3 = Color3.fromRGB(149, 149, 149)
  1056. Graphic_5.BackgroundTransparency = 0.699
  1057. Graphic_5.BorderSizePixel = 0
  1058. Graphic_5.Position = UDim2.new(0.625, 0, 0.375, 0)
  1059. Graphic_5.Size = UDim2.new(0.125, 0, 0.25, 0)
  1060. Graphic_6.Name = "Graphic"
  1061. Graphic_6.Parent = ArrowGraphic_2
  1062. Graphic_6.BackgroundColor3 = Color3.fromRGB(149, 149, 149)
  1063. Graphic_6.BackgroundTransparency = 0.699
  1064. Graphic_6.BorderSizePixel = 0
  1065. Graphic_6.Position = UDim2.new(0.5, 0, 0.25, 0)
  1066. Graphic_6.Size = UDim2.new(0.125, 0, 0.5, 0)
  1067. Graphic_7.Name = "Graphic"
  1068. Graphic_7.Parent = ArrowGraphic_2
  1069. Graphic_7.BackgroundColor3 = Color3.fromRGB(149, 149, 149)
  1070. Graphic_7.BackgroundTransparency = 0.699
  1071. Graphic_7.BorderSizePixel = 0
  1072. Graphic_7.Position = UDim2.new(0.375, 0, 0.125, 0)
  1073. Graphic_7.Size = UDim2.new(0.125, 0, 0.75, 0)
  1074. Graphic_8.Name = "Graphic"
  1075. Graphic_8.Parent = ArrowGraphic_2
  1076. Graphic_8.BackgroundColor3 = Color3.fromRGB(149, 149, 149)
  1077. Graphic_8.BackgroundTransparency = 0.699
  1078. Graphic_8.BorderSizePixel = 0
  1079. Graphic_8.Position = UDim2.new(0.25, 0, 0, 0)
  1080. Graphic_8.Size = UDim2.new(0.125, 0, 1, 0)
  1081. Clipboard.Name = "Clipboard"
  1082. Clipboard.Parent = TopBar
  1083. Clipboard.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1084. Clipboard.BackgroundTransparency = 0.5
  1085. Clipboard.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1086. Clipboard.Position = UDim2.new(0, 0, 0, 20)
  1087. Clipboard.Size = UDim2.new(0, 80, 0, 20)
  1088. Clipboard.AutoButtonColor = false
  1089. Clipboard.Font = Enum.Font.SourceSans
  1090. Clipboard.Text = "To Clipboard"
  1091. Clipboard.TextColor3 = Color3.fromRGB(255, 255, 255)
  1092. Clipboard.TextSize = 14
  1093. SaveScript.Name = "SaveScript"
  1094. SaveScript.Parent = TopBar
  1095. SaveScript.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1096. SaveScript.BackgroundTransparency = 0.5
  1097. SaveScript.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1098. SaveScript.Position = UDim2.new(0, 80, 0, 20)
  1099. SaveScript.Size = UDim2.new(0, 80, 0, 20)
  1100. SaveScript.AutoButtonColor = false
  1101. SaveScript.Font = Enum.Font.SourceSans
  1102. SaveScript.Text = "Save Script"
  1103. SaveScript.TextColor3 = Color3.fromRGB(255, 255, 255)
  1104. SaveScript.TextSize = 14
  1105. ScriptBar.Name = "ScriptBar"
  1106. ScriptBar.Parent = TopBar
  1107. ScriptBar.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
  1108. ScriptBar.BorderColor3 = Color3.fromRGB(30, 30, 30)
  1109. ScriptBar.ClipsDescendants = true
  1110. ScriptBar.Position = UDim2.new(0, 0, 0, 40)
  1111. ScriptBar.Size = UDim2.new(1, -32, 0, 20)
  1112. Entry.Name = "Entry"
  1113. Entry.Parent = TopBar
  1114. Entry.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1115. Entry.BackgroundTransparency = 1
  1116. Entry.Size = UDim2.new(0, 100, 1, 0)
  1117. Entry.Visible = false
  1118. Button.Name = "Button"
  1119. Button.Parent = Entry
  1120. Button.BackgroundColor3 = Color3.fromRGB(90, 90, 90)
  1121. Button.BackgroundTransparency = .6
  1122. Button.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1123. Button.ClipsDescendants = true
  1124. Button.Size = UDim2.new(1, 0, 1, 0)
  1125. Button.ZIndex = 4
  1126. Button.Font = Enum.Font.SourceSans
  1127. Button.Text = ""
  1128. Button.TextSize = 12
  1129. Button.TextColor3 = Color3.fromRGB(255, 255, 255);
  1130. Button.TextXAlignment = Enum.TextXAlignment.Left
  1131. Close.Name = "Close"
  1132. Close.Parent = Entry
  1133. Close.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1134. Close.BackgroundTransparency = 1
  1135. Close.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1136. Close.Position = UDim2.new(1, -20, 0, 0)
  1137. Close.Size = UDim2.new(0, 20, 0, 20)
  1138. Close.ZIndex = 4
  1139. Close.Font = Enum.Font.SourceSans
  1140. Close.Text = "X"
  1141. Close.TextSize = 14
  1142. Close.TextColor3 = Color3.fromRGB(255, 255, 255)
  1143. Close_2.Name = "Close"
  1144. Close_2.Parent = ScriptEditor
  1145. Close_2.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1146. Close_2.BackgroundTransparency = 1
  1147. Close_2.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1148. Close_2.Position = UDim2.new(1, -20, 0, 0)
  1149. Close_2.Size = UDim2.new(0, 20, 0, 20)
  1150. Close_2.ZIndex = 5
  1151. Close_2.Font = Enum.Font.SourceSans
  1152. Close_2.Text = "X"
  1153. Close_2.TextColor3 = Color3.fromRGB(255, 255, 255)
  1154. Close_2.TextSize = 14
  1155. IntroFrame.Name = "IntroFrame"
  1156. IntroFrame.Parent = ROBLOX
  1157. IntroFrame.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1158. IntroFrame.BorderSizePixel = 0
  1159. IntroFrame.Position = UDim2.new(1, 30, 0, 0)
  1160. IntroFrame.Size = UDim2.new(0, 300, 1, 0)
  1161. IntroFrame.ZIndex = 2
  1162. Main_2.Name = "Main"
  1163. Main_2.Parent = IntroFrame
  1164. Main_2.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1165. Main_2.BorderSizePixel = 0
  1166. Main_2.Position = UDim2.new(0, -30, 0, 0)
  1167. Main_2.Size = UDim2.new(0, 30, 0, 90)
  1168. Main_2.ZIndex = 4
  1169. ImageLabel.Parent = Main_2
  1170. ImageLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1171. ImageLabel.BackgroundTransparency = 1
  1172. ImageLabel.BorderSizePixel = 0
  1173. ImageLabel.Size = UDim2.new(1, 0, 1, 0)
  1174. ImageLabel.ZIndex = 5
  1175. ImageLabel.Image = "rbxassetid://969742484"
  1176. ImageLabel.ScaleType = Enum.ScaleType.Tile
  1177. ImageLabel.TileSize = UDim2.new(25, 0, 6, 0)
  1178. Title_8.Name = "Title"
  1179. Title_8.Parent = IntroFrame
  1180. Title_8.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1181. Title_8.BackgroundTransparency = 1
  1182. Title_8.Position = UDim2.new(0, 100, 0, 150)
  1183. Title_8.Size = UDim2.new(0, 100, 0, 60)
  1184. Title_8.ZIndex = 4
  1185. Title_8.Font = Enum.Font.SourceSansBold
  1186. Title_8.Text = "DEX"
  1187. Title_8.TextColor3 = Color3.fromRGB(255, 255, 255)
  1188. Title_8.TextSize = 60
  1189. Title_8.TextWrapped = true
  1190. Version_2.Name = "Version"
  1191. Version_2.Parent = IntroFrame
  1192. Version_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1193. Version_2.BackgroundTransparency = 1
  1194. Version_2.Position = UDim2.new(0, 100, 0, 210)
  1195. Version_2.Size = UDim2.new(0, 100, 0, 30)
  1196. Version_2.ZIndex = 4
  1197. Version_2.Font = Enum.Font.SourceSansBold
  1198. Version_2.Text = "V2.0.0"
  1199. Version_2.TextColor3 = Color3.fromRGB(255, 255, 255)
  1200. Version_2.TextSize = 28
  1201. Version_2.TextWrapped = true
  1202. Creator.Name = "Creator"
  1203. Creator.Parent = IntroFrame
  1204. Creator.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1205. Creator.BackgroundTransparency = 1
  1206. Creator.Position = UDim2.new(0, 80, 0, 300)
  1207. Creator.Size = UDim2.new(0, 140, 0, 30)
  1208. Creator.ZIndex = 4
  1209. Creator.Font = Enum.Font.SourceSansBold
  1210. Creator.Text = ""
  1211. Creator.TextColor3 = Color3.fromRGB(255, 255, 255)
  1212. Creator.TextSize = 28
  1213. Creator.TextWrapped = true
  1214. BG.Name = "BG"
  1215. BG.Parent = IntroFrame
  1216. BG.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1217. BG.BackgroundTransparency = 1
  1218. BG.BorderSizePixel = 0
  1219. BG.Size = UDim2.new(1, 0, 1, 0)
  1220. BG.ZIndex = 3
  1221. BG.Image = "rbxassetid://969742484"
  1222. BG.ScaleType = Enum.ScaleType.Tile
  1223. BG.TileSize = UDim2.new(4, 0, 1, 0)
  1224. Slant_2.Name = "Slant"
  1225. Slant_2.Parent = IntroFrame
  1226. Slant_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1227. Slant_2.BackgroundTransparency = 1
  1228. Slant_2.BorderSizePixel = 0
  1229. Slant_2.ClipsDescendants = true
  1230. Slant_2.Position = UDim2.new(0, -27, 0, 86)
  1231. Slant_2.Rotation = 45
  1232. Slant_2.Size = UDim2.new(0, 60, 0, 30)
  1233. Slant_2.ZIndex = 3
  1234. ImageLabel_2.Parent = Slant_2
  1235. ImageLabel_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1236. ImageLabel_2.BackgroundTransparency = 1
  1237. ImageLabel_2.BorderSizePixel = 0
  1238. ImageLabel_2.Size = UDim2.new(1, 0, 1, 0)
  1239. ImageLabel_2.ZIndex = 2
  1240. ImageLabel_2.Image = "rbxassetid://969742484"
  1241. ImageLabel_2.ScaleType = Enum.ScaleType.Tile
  1242. ImageLabel_2.TileSize = UDim2.new(25, 0, 6, 0)
  1243. SaveMapWindow.Name = "SaveMapWindow"
  1244. SaveMapWindow.Parent = ROBLOX
  1245. SaveMapWindow.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1246. SaveMapWindow.BorderColor3 = Color3.fromRGB(191, 191, 191)
  1247. SaveMapWindow.BorderSizePixel = 0
  1248. SaveMapWindow.Position = UDim2.new(1, 0, 0, 1)
  1249. SaveMapWindow.Size = UDim2.new(0, 300, 1, 0)
  1250. Header_3.Name = "Header"
  1251. Header_3.Parent = SaveMapWindow
  1252. Header_3.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1253. Header_3.BorderColor3 = Color3.fromRGB(30, 30, 30)
  1254. Header_3.Size = UDim2.new(1, 0, 0, 17)
  1255. TextLabel_3.Parent = Header_3
  1256. TextLabel_3.BackgroundTransparency = 1
  1257. TextLabel_3.Position = UDim2.new(0, 4, 0, 0)
  1258. TextLabel_3.Size = UDim2.new(1, -4, 1, 0)
  1259. TextLabel_3.Font = Enum.Font.SourceSans
  1260. TextLabel_3.Text = "Map Downloader"
  1261. TextLabel_3.TextColor3 = Color3.fromRGB(255, 255, 255)
  1262. TextLabel_3.TextSize = 14
  1263. TextLabel_3.TextXAlignment = Enum.TextXAlignment.Left
  1264. MapSettings.Name = "MapSettings"
  1265. MapSettings.Parent = SaveMapWindow
  1266. MapSettings.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1267. MapSettings.BackgroundTransparency = 1
  1268. MapSettings.BorderSizePixel = 0
  1269. MapSettings.Position = UDim2.new(0, 0, 0, 200)
  1270. MapSettings.Size = UDim2.new(1, 0, 0, 240)
  1271. Terrain.Name = "Terrain"
  1272. Terrain.Parent = MapSettings
  1273. Terrain.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1274. Terrain.BackgroundTransparency = 1
  1275. Terrain.BorderSizePixel = 0
  1276. Terrain.Position = UDim2.new(0, 0, 0, 60)
  1277. Terrain.Size = UDim2.new(1, 0, 0, 60)
  1278. SName_2.Name = "SName"
  1279. SName_2.Parent = Terrain
  1280. SName_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1281. SName_2.BackgroundTransparency = 1
  1282. SName_2.BorderColor3 = Color3.fromRGB(40, 40, 40)
  1283. SName_2.Position = UDim2.new(0, 10, 0, 0)
  1284. SName_2.Size = UDim2.new(1, -20, 0, 30)
  1285. SName_2.Font = Enum.Font.SourceSans
  1286. SName_2.Text = "Save Terrain"
  1287. SName_2.TextColor3 = Color3.fromRGB(255, 255, 255)
  1288. SName_2.TextSize = 18
  1289. SName_2.TextXAlignment = Enum.TextXAlignment.Left
  1290. Status_2.Name = "Status"
  1291. Status_2.Parent = Terrain
  1292. Status_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1293. Status_2.BackgroundTransparency = 1
  1294. Status_2.BorderColor3 = Color3.fromRGB(40, 40, 40)
  1295. Status_2.Position = UDim2.new(0, 60, 0, 30)
  1296. Status_2.Size = UDim2.new(0, 50, 0, 15)
  1297. Status_2.Font = Enum.Font.SourceSans
  1298. Status_2.Text = "Off"
  1299. Status_2.TextColor3 = Color3.fromRGB(255, 255, 255)
  1300. Status_2.TextSize = 18
  1301. Status_2.TextXAlignment = Enum.TextXAlignment.Left
  1302. Change_2.Name = "Change"
  1303. Change_2.Parent = Terrain
  1304. Change_2.BackgroundColor3 = Color3.fromRGB(81, 81, 81)
  1305. Change_2.BorderColor3 = Color3.fromRGB(40, 40, 40)
  1306. Change_2.BorderSizePixel = 0
  1307. Change_2.Position = UDim2.new(0, 10, 0, 30)
  1308. Change_2.Size = UDim2.new(0, 40, 0, 15)
  1309. Change_2.Font = Enum.Font.SourceSans
  1310. Change_2.Text = ""
  1311. Change_2.TextColor3 = Color3.fromRGB(255, 255, 255)
  1312. Change_2.TextSize = 14
  1313. OnBar_2.Name = "OnBar"
  1314. OnBar_2.Parent = Change_2
  1315. OnBar_2.BackgroundColor3 = Color3.fromRGB(209, 125, 0)
  1316. OnBar_2.BorderSizePixel = 0
  1317. OnBar_2.Size = UDim2.new(0, 0, 0, 15)
  1318. OnBar_2.Font = Enum.Font.SourceSans
  1319. OnBar_2.Text = ""
  1320. OnBar_2.TextSize = 14
  1321. Bar_2.Name = "Bar"
  1322. Bar_2.Parent = Change_2
  1323. Bar_2.BackgroundColor3 = Color3.fromRGB(255, 153, 0)
  1324. Bar_2.BorderSizePixel = 0
  1325. Bar_2.ClipsDescendants = true
  1326. Bar_2.Position = UDim2.new(0, -2, 0, -2)
  1327. Bar_2.Size = UDim2.new(0, 10, 0, 19)
  1328. Bar_2.Font = Enum.Font.SourceSans
  1329. Bar_2.Text = ""
  1330. Bar_2.TextSize = 14
  1331. Lighting.Name = "Lighting"
  1332. Lighting.Parent = MapSettings
  1333. Lighting.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1334. Lighting.BackgroundTransparency = 1
  1335. Lighting.BorderSizePixel = 0
  1336. Lighting.Position = UDim2.new(0, 0, 0, 120)
  1337. Lighting.Size = UDim2.new(1, 0, 0, 60)
  1338. SName_3.Name = "SName"
  1339. SName_3.Parent = Lighting
  1340. SName_3.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1341. SName_3.BackgroundTransparency = 1
  1342. SName_3.BorderColor3 = Color3.fromRGB(40, 40, 40)
  1343. SName_3.Position = UDim2.new(0, 10, 0, 0)
  1344. SName_3.Size = UDim2.new(1, -20, 0, 30)
  1345. SName_3.Font = Enum.Font.SourceSans
  1346. SName_3.Text = "Lighting Properties"
  1347. SName_3.TextColor3 = Color3.fromRGB(255, 255, 255)
  1348. SName_3.TextSize = 18
  1349. SName_3.TextXAlignment = Enum.TextXAlignment.Left
  1350. Status_3.Name = "Status"
  1351. Status_3.Parent = Lighting
  1352. Status_3.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1353. Status_3.BackgroundTransparency = 1
  1354. Status_3.BorderColor3 = Color3.fromRGB(40, 40, 40)
  1355. Status_3.Position = UDim2.new(0, 60, 0, 30)
  1356. Status_3.Size = UDim2.new(0, 50, 0, 15)
  1357. Status_3.Font = Enum.Font.SourceSans
  1358. Status_3.Text = "Off"
  1359. Status_3.TextColor3 = Color3.fromRGB(255, 255, 255)
  1360. Status_3.TextSize = 18
  1361. Status_3.TextXAlignment = Enum.TextXAlignment.Left
  1362. Change_3.Name = "Change"
  1363. Change_3.Parent = Lighting
  1364. Change_3.BackgroundColor3 = Color3.fromRGB(81, 81, 81)
  1365. Change_3.BorderColor3 = Color3.fromRGB(40, 40, 40)
  1366. Change_3.BorderSizePixel = 0
  1367. Change_3.Position = UDim2.new(0, 10, 0, 30)
  1368. Change_3.Size = UDim2.new(0, 40, 0, 15)
  1369. Change_3.Font = Enum.Font.SourceSans
  1370. Change_3.Text = ""
  1371. Change_3.TextColor3 = Color3.fromRGB(255, 255, 255)
  1372. Change_3.TextSize = 14
  1373. OnBar_3.Name = "OnBar"
  1374. OnBar_3.Parent = Change_3
  1375. OnBar_3.BackgroundColor3 = Color3.fromRGB(209, 125, 0)
  1376. OnBar_3.BorderSizePixel = 0
  1377. OnBar_3.Size = UDim2.new(0, 0, 0, 15)
  1378. OnBar_3.Font = Enum.Font.SourceSans
  1379. OnBar_3.Text = ""
  1380. OnBar_3.TextSize = 14
  1381. Bar_3.Name = "Bar"
  1382. Bar_3.Parent = Change_3
  1383. Bar_3.BackgroundColor3 = Color3.fromRGB(255, 153, 0)
  1384. Bar_3.BorderSizePixel = 0
  1385. Bar_3.ClipsDescendants = true
  1386. Bar_3.Position = UDim2.new(0, -2, 0, -2)
  1387. Bar_3.Size = UDim2.new(0, 10, 0, 19)
  1388. Bar_3.Font = Enum.Font.SourceSans
  1389. Bar_3.Text = ""
  1390. Bar_3.TextSize = 14
  1391. CameraInstances.Name = "CameraInstances"
  1392. CameraInstances.Parent = MapSettings
  1393. CameraInstances.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1394. CameraInstances.BackgroundTransparency = 1
  1395. CameraInstances.BorderSizePixel = 0
  1396. CameraInstances.Position = UDim2.new(0, 0, 0, 180)
  1397. CameraInstances.Size = UDim2.new(1, 0, 0, 60)
  1398. SName_4.Name = "SName"
  1399. SName_4.Parent = CameraInstances
  1400. SName_4.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1401. SName_4.BackgroundTransparency = 1
  1402. SName_4.BorderColor3 = Color3.fromRGB(40, 40, 40)
  1403. SName_4.Position = UDim2.new(0, 10, 0, 0)
  1404. SName_4.Size = UDim2.new(1, -20, 0, 30)
  1405. SName_4.Font = Enum.Font.SourceSans
  1406. SName_4.Text = "Camera Instances"
  1407. SName_4.TextColor3 = Color3.fromRGB(255, 255, 255)
  1408. SName_4.TextSize = 18
  1409. SName_4.TextXAlignment = Enum.TextXAlignment.Left
  1410. Status_4.Name = "Status"
  1411. Status_4.Parent = CameraInstances
  1412. Status_4.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1413. Status_4.BackgroundTransparency = 1
  1414. Status_4.BorderColor3 = Color3.fromRGB(40, 40, 40)
  1415. Status_4.Position = UDim2.new(0, 60, 0, 30)
  1416. Status_4.Size = UDim2.new(0, 50, 0, 15)
  1417. Status_4.Font = Enum.Font.SourceSans
  1418. Status_4.Text = "Off"
  1419. Status_4.TextColor3 = Color3.fromRGB(255, 255, 255)
  1420. Status_4.TextSize = 18
  1421. Status_4.TextXAlignment = Enum.TextXAlignment.Left
  1422. Change_4.Name = "Change"
  1423. Change_4.Parent = CameraInstances
  1424. Change_4.BackgroundColor3 = Color3.fromRGB(81, 81, 81)
  1425. Change_4.BorderColor3 = Color3.fromRGB(40, 40, 40)
  1426. Change_4.BorderSizePixel = 0
  1427. Change_4.Position = UDim2.new(0, 10, 0, 30)
  1428. Change_4.Size = UDim2.new(0, 40, 0, 15)
  1429. Change_4.Font = Enum.Font.SourceSans
  1430. Change_4.Text = ""
  1431. Change_4.TextColor3 = Color3.fromRGB(255, 255, 255)
  1432. Change_4.TextSize = 14
  1433. OnBar_4.Name = "OnBar"
  1434. OnBar_4.Parent = Change_4
  1435. OnBar_4.BackgroundColor3 = Color3.fromRGB(209, 125, 0)
  1436. OnBar_4.BorderSizePixel = 0
  1437. OnBar_4.Size = UDim2.new(0, 0, 0, 15)
  1438. OnBar_4.Font = Enum.Font.SourceSans
  1439. OnBar_4.Text = ""
  1440. OnBar_4.TextSize = 14
  1441. Bar_4.Name = "Bar"
  1442. Bar_4.Parent = Change_4
  1443. Bar_4.BackgroundColor3 = Color3.fromRGB(255, 153, 0)
  1444. Bar_4.BorderSizePixel = 0
  1445. Bar_4.ClipsDescendants = true
  1446. Bar_4.Position = UDim2.new(0, -2, 0, -2)
  1447. Bar_4.Size = UDim2.new(0, 10, 0, 19)
  1448. Bar_4.Font = Enum.Font.SourceSans
  1449. Bar_4.Text = ""
  1450. Bar_4.TextSize = 14
  1451. Scripts.Name = "Scripts"
  1452. Scripts.Parent = MapSettings
  1453. Scripts.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1454. Scripts.BackgroundTransparency = 1
  1455. Scripts.BorderSizePixel = 0
  1456. Scripts.Size = UDim2.new(1, 0, 0, 60)
  1457. SName_5.Name = "SName"
  1458. SName_5.Parent = Scripts
  1459. SName_5.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1460. SName_5.BackgroundTransparency = 1
  1461. SName_5.BorderColor3 = Color3.fromRGB(40, 40, 40)
  1462. SName_5.Position = UDim2.new(0, 10, 0, 0)
  1463. SName_5.Size = UDim2.new(1, -20, 0, 30)
  1464. SName_5.Font = Enum.Font.SourceSans
  1465. SName_5.Text = "Save Scripts"
  1466. SName_5.TextColor3 = Color3.fromRGB(255, 255, 255)
  1467. SName_5.TextSize = 18
  1468. SName_5.TextXAlignment = Enum.TextXAlignment.Left
  1469. Status_5.Name = "Status"
  1470. Status_5.Parent = Scripts
  1471. Status_5.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1472. Status_5.BackgroundTransparency = 1
  1473. Status_5.BorderColor3 = Color3.fromRGB(40, 40, 40)
  1474. Status_5.Position = UDim2.new(0, 60, 0, 30)
  1475. Status_5.Size = UDim2.new(0, 50, 0, 15)
  1476. Status_5.Font = Enum.Font.SourceSans
  1477. Status_5.Text = "Off"
  1478. Status_5.TextColor3 = Color3.fromRGB(255, 255, 255)
  1479. Status_5.TextSize = 18
  1480. Status_5.TextXAlignment = Enum.TextXAlignment.Left
  1481. Change_5.Name = "Change"
  1482. Change_5.Parent = Scripts
  1483. Change_5.BackgroundColor3 = Color3.fromRGB(81, 81, 81)
  1484. Change_5.BorderColor3 = Color3.fromRGB(40, 40, 40)
  1485. Change_5.BorderSizePixel = 0
  1486. Change_5.Position = UDim2.new(0, 10, 0, 30)
  1487. Change_5.Size = UDim2.new(0, 40, 0, 15)
  1488. Change_5.Font = Enum.Font.SourceSans
  1489. Change_5.Text = ""
  1490. Change_5.TextColor3 = Color3.fromRGB(255, 255, 255)
  1491. Change_5.TextSize = 14
  1492. OnBar_5.Name = "OnBar"
  1493. OnBar_5.Parent = Change_5
  1494. OnBar_5.BackgroundColor3 = Color3.fromRGB(209, 125, 0)
  1495. OnBar_5.BorderSizePixel = 0
  1496. OnBar_5.Size = UDim2.new(0, 0, 0, 15)
  1497. OnBar_5.Font = Enum.Font.SourceSans
  1498. OnBar_5.Text = ""
  1499. OnBar_5.TextSize = 14
  1500. Bar_5.Name = "Bar"
  1501. Bar_5.Parent = Change_5
  1502. Bar_5.BackgroundColor3 = Color3.fromRGB(255, 153, 0)
  1503. Bar_5.BorderSizePixel = 0
  1504. Bar_5.ClipsDescendants = true
  1505. Bar_5.Position = UDim2.new(0, -2, 0, -2)
  1506. Bar_5.Size = UDim2.new(0, 10, 0, 19)
  1507. Bar_5.Font = Enum.Font.SourceSans
  1508. Bar_5.Text = ""
  1509. Bar_5.TextSize = 14
  1510. ToSave.Name = "ToSave"
  1511. ToSave.Parent = SaveMapWindow
  1512. ToSave.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1513. ToSave.BackgroundTransparency = 1
  1514. ToSave.Position = UDim2.new(0, 0, 0, 17)
  1515. ToSave.Size = UDim2.new(1, 0, 0, 20)
  1516. ToSave.Font = Enum.Font.SourceSans
  1517. ToSave.Text = "To Save"
  1518. ToSave.TextColor3 = Color3.fromRGB(255, 255, 255)
  1519. ToSave.TextSize = 18
  1520. CopyList.Name = "CopyList"
  1521. CopyList.Parent = SaveMapWindow
  1522. CopyList.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1523. CopyList.BackgroundTransparency = 0.4
  1524. CopyList.BorderSizePixel = 0
  1525. CopyList.Position = UDim2.new(0, 0, 0, 37)
  1526. CopyList.Size = UDim2.new(1, 0, 0, 163)
  1527. Bottom.Name = "Bottom"
  1528. Bottom.Parent = SaveMapWindow
  1529. Bottom.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
  1530. Bottom.BorderColor3 = Color3.fromRGB(30, 30, 30)
  1531. Bottom.BorderSizePixel = 0
  1532. Bottom.Position = UDim2.new(0, 0, 1, -50)
  1533. Bottom.Size = UDim2.new(1, 0, 0, 50)
  1534. TextLabel_4.Parent = Bottom
  1535. TextLabel_4.BackgroundTransparency = 1
  1536. TextLabel_4.Position = UDim2.new(0, 4, 0, 0)
  1537. TextLabel_4.Size = UDim2.new(1, -4, 1, 0)
  1538. TextLabel_4.Font = Enum.Font.SourceSans
  1539. TextLabel_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."
  1540. TextLabel_4.TextColor3 = Color3.fromRGB(255, 255, 255)
  1541. TextLabel_4.TextSize = 14
  1542. TextLabel_4.TextWrapped = true
  1543. TextLabel_4.TextXAlignment = Enum.TextXAlignment.Left
  1544. TextLabel_4.TextYAlignment = Enum.TextYAlignment.Top
  1545. Save_2.Name = "Save"
  1546. Save_2.Parent = SaveMapWindow
  1547. Save_2.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  1548. Save_2.BackgroundTransparency = 0.4
  1549. Save_2.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1550. Save_2.BorderSizePixel = 0
  1551. Save_2.Position = UDim2.new(0, 0, 1, -80)
  1552. Save_2.Size = UDim2.new(1, 0, 0, 30)
  1553. Save_2.Font = Enum.Font.SourceSans
  1554. Save_2.Text = "Save"
  1555. Save_2.TextColor3 = Color3.fromRGB(255, 255, 255)
  1556. Save_2.TextSize = 18
  1557. FileName_2.Name = "FileName"
  1558. FileName_2.Parent = SaveMapWindow
  1559. FileName_2.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1560. FileName_2.BackgroundTransparency = 0.4
  1561. FileName_2.BorderSizePixel = 0
  1562. FileName_2.Position = UDim2.new(0, 0, 1, -105)
  1563. FileName_2.Size = UDim2.new(1, 0, 0, 25)
  1564. FileName_2.Font = Enum.Font.SourceSans
  1565. FileName_2.Text = " PlaceName"
  1566. FileName_2.TextColor3 = Color3.fromRGB(255, 255, 255)
  1567. FileName_2.TextSize = 18
  1568. FileName_2.TextXAlignment = Enum.TextXAlignment.Left
  1569. Entry_2.Name = "Entry"
  1570. Entry_2.Parent = SaveMapWindow
  1571. Entry_2.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1572. Entry_2.BackgroundTransparency = 1
  1573. Entry_2.BorderSizePixel = 0
  1574. Entry_2.Size = UDim2.new(1, 0, 0, 22)
  1575. Entry_2.Visible = false
  1576. Change_6.Name = "Change"
  1577. Change_6.Parent = Entry_2
  1578. Change_6.BackgroundColor3 = Color3.fromRGB(255, 149, 0)
  1579. Change_6.BackgroundTransparency = 0.6
  1580. Change_6.Position = UDim2.new(0, 10, 0, 1)
  1581. Change_6.Size = UDim2.new(0, 20, 0, 20)
  1582. Change_6.ZIndex = 2
  1583. Change_6.Font = Enum.Font.SourceSans
  1584. Change_6.Text = ""
  1585. Change_6.TextColor3 = Color3.fromRGB(255, 255, 255)
  1586. Change_6.TextSize = 18
  1587. enabled_3.Name = "enabled"
  1588. enabled_3.Parent = Change_6
  1589. enabled_3.BackgroundColor3 = Color3.fromRGB(209, 125, 0)
  1590. enabled_3.BackgroundTransparency = 0.4
  1591. enabled_3.BorderSizePixel = 0
  1592. enabled_3.Position = UDim2.new(0, 3, 0, 3)
  1593. enabled_3.Size = UDim2.new(0, 14, 0, 14)
  1594. enabled_3.Font = Enum.Font.SourceSans
  1595. enabled_3.Text = ""
  1596. enabled_3.TextColor3 = Color3.fromRGB(255, 255, 255)
  1597. enabled_3.TextSize = 14
  1598. Info.Name = "Info"
  1599. Info.Parent = Entry_2
  1600. Info.BackgroundTransparency = 1
  1601. Info.Position = UDim2.new(0, 40, 0, 0)
  1602. Info.Size = UDim2.new(1, -40, 0, 22)
  1603. Info.Font = Enum.Font.SourceSans
  1604. Info.Text = "Workspace"
  1605. Info.TextColor3 = Color3.fromRGB(255, 255, 255)
  1606. Info.TextSize = 18
  1607. Info.TextXAlignment = Enum.TextXAlignment.Left
  1608. RemoteDebugWindow.Name = "RemoteDebugWindow"
  1609. RemoteDebugWindow.Parent = ROBLOX
  1610. RemoteDebugWindow.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1611. RemoteDebugWindow.BorderColor3 = Color3.fromRGB(191, 191, 191)
  1612. RemoteDebugWindow.BorderSizePixel = 0
  1613. RemoteDebugWindow.Position = UDim2.new(1, 0, 0, 1)
  1614. RemoteDebugWindow.Size = UDim2.new(0, 300, 1, 0)
  1615. Header_4.Name = "Header"
  1616. Header_4.Parent = RemoteDebugWindow
  1617. Header_4.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1618. Header_4.BorderColor3 = Color3.fromRGB(30, 30, 30)
  1619. Header_4.Size = UDim2.new(1, 0, 0, 17)
  1620. TextLabel_5.Parent = Header_4
  1621. TextLabel_5.BackgroundTransparency = 1
  1622. TextLabel_5.Position = UDim2.new(0, 4, 0, 0)
  1623. TextLabel_5.Size = UDim2.new(1, -4, 1, 0)
  1624. TextLabel_5.Font = Enum.Font.SourceSans
  1625. TextLabel_5.Text = "Remote Debugger"
  1626. TextLabel_5.TextColor3 = Color3.fromRGB(255, 255, 255)
  1627. TextLabel_5.TextSize = 14
  1628. TextLabel_5.TextXAlignment = Enum.TextXAlignment.Left
  1629. Desc_5.Name = "Desc"
  1630. Desc_5.Parent = RemoteDebugWindow
  1631. Desc_5.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1632. Desc_5.BackgroundTransparency = 1
  1633. Desc_5.Position = UDim2.new(0, 0, 0, 20)
  1634. Desc_5.Size = UDim2.new(1, 0, 0, 40)
  1635. Desc_5.Font = Enum.Font.SourceSans
  1636. Desc_5.Text = "Have fun with remotes"
  1637. Desc_5.TextColor3 = Color3.fromRGB(255, 255, 255)
  1638. Desc_5.TextSize = 32
  1639. Desc_5.TextWrapped = true
  1640. AboutWindow.Name = "AboutWindow"
  1641. AboutWindow.Parent = ROBLOX
  1642. AboutWindow.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1643. AboutWindow.BorderColor3 = Color3.fromRGB(191, 191, 191)
  1644. AboutWindow.BorderSizePixel = 0
  1645. AboutWindow.Position = UDim2.new(1, 0, 0, 1)
  1646. AboutWindow.Size = UDim2.new(0, 300, 1, 0)
  1647. Header_5.Name = "Header"
  1648. Header_5.Parent = AboutWindow
  1649. Header_5.BackgroundColor3 = Color3.fromRGB(43, 43, 43)
  1650. Header_5.BorderColor3 = Color3.fromRGB(30, 30, 30)
  1651. Header_5.Size = UDim2.new(1, 0, 0, 17)
  1652. TextLabel_6.Parent = Header_5
  1653. TextLabel_6.BackgroundTransparency = 1
  1654. TextLabel_6.Position = UDim2.new(0, 4, 0, 0)
  1655. TextLabel_6.Size = UDim2.new(1, -4, 1, 0)
  1656. TextLabel_6.Font = Enum.Font.SourceSans
  1657. TextLabel_6.Text = "About"
  1658. TextLabel_6.TextColor3 = Color3.fromRGB(255, 255, 255)
  1659. TextLabel_6.TextSize = 14
  1660. TextLabel_6.TextXAlignment = Enum.TextXAlignment.Left
  1661. Desc_6.Name = "Desc"
  1662. Desc_6.Parent = AboutWindow
  1663. Desc_6.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1664. Desc_6.BackgroundTransparency = 1
  1665. Desc_6.Position = UDim2.new(0.1, 0, 0.1, 0)
  1666. Desc_6.Size = UDim2.new(0.8, 0, 0, 200)
  1667. Desc_6.Font = Enum.Font.SourceSans
  1668. Desc_6.Text = "Dex v2.0"
  1669. Desc_6.TextColor3 = Color3.fromRGB(255, 255, 255)
  1670. Desc_6.TextSize = 24
  1671. Desc_6.TextWrapped = true
  1672. local NewGuiPart153 = Instance.new("BindableFunction")
  1673. local NewGuiPart154 = Instance.new("BindableFunction")
  1674. local NewGuiPart155 = Instance.new("BindableFunction")
  1675. local NewGuiPart156 = Instance.new("BindableFunction")
  1676. local NewGuiPart157 = Instance.new("BindableEvent")
  1677. local NewGuiPart158 = Instance.new("BindableFunction")
  1678. local NewGuiPart159 = Instance.new("BindableFunction")
  1679. local NewGuiPart160 = Instance.new("BindableEvent")
  1680. local NewGuiPart161 = Instance.new("BindableFunction")
  1681. local NewGuiPart162 = Instance.new("BindableFunction")
  1682. local NewGuiPart163 = Instance.new("BindableEvent")
  1683. NewGuiPart158.Name = "GetApi"
  1684. NewGuiPart158.Parent = PropertiesFrame
  1685. NewGuiPart158.Archivable = true
  1686. NewGuiPart159.Name = "GetAwaiting"
  1687. NewGuiPart159.Parent = PropertiesFrame
  1688. NewGuiPart159.Archivable = true
  1689. NewGuiPart160.Name = "SetAwaiting"
  1690. NewGuiPart160.Parent = PropertiesFrame
  1691. NewGuiPart160.Archivable = true
  1692. NewGuiPart153.Name = "GetOption"
  1693. NewGuiPart153.Parent = ExplorerPanel
  1694. NewGuiPart153.Archivable = true
  1695. NewGuiPart154.Name = "GetSelection"
  1696. NewGuiPart154.Parent = ExplorerPanel
  1697. NewGuiPart154.Archivable = true
  1698. NewGuiPart155.Name = "SetOption"
  1699. NewGuiPart155.Parent = ExplorerPanel
  1700. NewGuiPart155.Archivable = true
  1701. NewGuiPart156.Name = "SetSelection"
  1702. NewGuiPart156.Parent = ExplorerPanel
  1703. NewGuiPart156.Archivable = true
  1704. NewGuiPart157.Name = "SelectionChanged"
  1705. NewGuiPart157.Parent = ExplorerPanel
  1706. NewGuiPart157.Archivable = true
  1707. NewGuiPart161.Name = "GetSetting"
  1708. NewGuiPart161.Parent = RemoteDebugWindow
  1709. NewGuiPart161.Archivable = true
  1710. NewGuiPart162.Name = "GetSetting"
  1711. NewGuiPart162.Parent = SettingsPanel
  1712. NewGuiPart162.Archivable = true
  1713. NewGuiPart163.Name = "OpenScript"
  1714. NewGuiPart163.Parent = ScriptEditor
  1715. NewGuiPart163.Archivable = true
  1716. return ROBLOX
  1717. end
  1718. local D_E_X = CreateGui()
  1719. D_E_X.Parent = game:GetService("CoreGui");
  1720. spawn(function()
  1721. local Gui = D_E_X
  1722. local IntroFrame = Gui:WaitForChild("IntroFrame")
  1723. local SideMenu = Gui:WaitForChild("SideMenu")
  1724. local OpenToggleButton = Gui:WaitForChild("Toggle")
  1725. local CloseToggleButton = SideMenu:WaitForChild("Toggle")
  1726. local OpenScriptEditorButton = SideMenu:WaitForChild("OpenScriptEditor")
  1727. local ScriptEditor = Gui:WaitForChild("ScriptEditor")
  1728. local SlideOut = SideMenu:WaitForChild("SlideOut")
  1729. local SlideFrame = SlideOut:WaitForChild("SlideFrame")
  1730. local Slant = SideMenu:WaitForChild("Slant")
  1731. local ExplorerButton = SlideFrame:WaitForChild("Explorer")
  1732. local SettingsButton = SlideFrame:WaitForChild("Settings")
  1733. local SelectionBox = Instance.new("SelectionBox")
  1734. SelectionBox.Parent = Gui
  1735. local ExplorerPanel = Gui:WaitForChild("ExplorerPanel")
  1736. local PropertiesFrame = Gui:WaitForChild("PropertiesFrame")
  1737. local SaveMapWindow = Gui:WaitForChild("SaveMapWindow")
  1738. local RemoteDebugWindow = Gui:WaitForChild("RemoteDebugWindow")
  1739. local AboutWindow = Gui:WaitForChild("AboutWindow")
  1740. local SettingsPanel = Gui:WaitForChild("SettingsPanel")
  1741. local SettingsListener = SettingsPanel:WaitForChild("GetSetting")
  1742. local SettingTemplate = SettingsPanel:WaitForChild("SettingTemplate")
  1743. local SettingList = SettingsPanel:WaitForChild("SettingList")
  1744. local SaveMapCopyList = SaveMapWindow:WaitForChild("CopyList")
  1745. local SaveMapSettingFrame = SaveMapWindow:WaitForChild("MapSettings")
  1746. local SaveMapName = SaveMapWindow:WaitForChild("FileName")
  1747. local SaveMapButton = SaveMapWindow:WaitForChild("Save")
  1748. local SaveMapCopyTemplate = SaveMapWindow:WaitForChild("Entry")
  1749. local SaveMapSettings = {
  1750. CopyWhat = {
  1751. Workspace = true,
  1752. Lighting = true,
  1753. ReplicatedStorage = true,
  1754. ReplicatedFirst = true,
  1755. StarterPack = true,
  1756. StarterGui = true,
  1757. StarterPlayer = true
  1758. },
  1759. SaveScripts = true,
  1760. SaveTerrain = true,
  1761. LightingProperties = true,
  1762. CameraInstances = true
  1763. }
  1764. local SelectionChanged = ExplorerPanel:WaitForChild("SelectionChanged")
  1765. local GetSelection = ExplorerPanel:WaitForChild("GetSelection")
  1766. local SetSelection = ExplorerPanel:WaitForChild("SetSelection")
  1767. local Player = game:GetService("Players").LocalPlayer
  1768. local Mouse = Player:GetMouse()
  1769. local CurrentWindow = "Nothing c:"
  1770. local Windows = {
  1771. Explorer = {
  1772. ExplorerPanel,
  1773. PropertiesFrame
  1774. },
  1775. Settings = {SettingsPanel},
  1776. SaveMap = {SaveMapWindow},
  1777. Remotes = {RemoteDebugWindow},
  1778. About = {AboutWindow}
  1779. }
  1780. function switchWindows(wName,over)
  1781. if CurrentWindow == wName and not over then return end
  1782. local count = 0
  1783. for i,v in pairs(Windows) do
  1784. count = 0
  1785. if i ~= wName then
  1786. 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
  1787. -- 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
  1788. end
  1789. end
  1790. count = 0
  1791. if Windows[wName] then
  1792. 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
  1793. -- 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
  1794. end
  1795. if wName ~= "Nothing c:" then
  1796. CurrentWindow = wName
  1797. for i,v in pairs(SlideFrame:GetChildren()) do
  1798. v.AutoButtonColor = false;
  1799. v.BackgroundTransparency = 1
  1800. v.Icon.ImageColor3 = Color3.fromRGB(185, 185, 185)
  1801. end
  1802. if SlideFrame:FindFirstChild(wName) then
  1803. -- SlideFrame[wName].BackgroundTransparency = 1
  1804. SlideFrame[wName].Icon.ImageColor3 = Color3.new(255,255,255)
  1805. end
  1806. end
  1807. end
  1808. function toggleDex(on)
  1809. if on then
  1810. SideMenu:TweenPosition(UDim2.new(1, -330, 0, 0), "Out", "Quad", 0.5, true)
  1811. OpenToggleButton:TweenPosition(UDim2.new(1,0,0,0), "Out", "Quad", 0.5, true)
  1812. switchWindows(CurrentWindow,true)
  1813. else
  1814. SideMenu:TweenPosition(UDim2.new(1, 0, 0, 0), "Out", "Quad", 0.5, true)
  1815. OpenToggleButton:TweenPosition(UDim2.new(1,-30,0,0), "Out", "Quad", 0.5, true)
  1816. switchWindows("Nothing c:")
  1817. end
  1818. end
  1819. local Settings = {
  1820. ClickSelect = false;
  1821. SelBox = false;
  1822. ClearProps = false;
  1823. SelectUngrouped = true;
  1824. SaveInstanceScripts = true;
  1825. }
  1826. function ReturnSetting(set)
  1827. if set == "ClearProps" then
  1828. return Settings.ClearProps
  1829. elseif set == "SelectUngrouped" then
  1830. return Settings.SelectUngrouped
  1831. end
  1832. end
  1833. OpenToggleButton.MouseButton1Up:connect(function()
  1834. toggleDex(true)
  1835. end)
  1836. OpenScriptEditorButton.MouseButton1Up:connect(function()
  1837. if OpenScriptEditorButton.Active then
  1838. ScriptEditor.Visible = true
  1839. end
  1840. end)
  1841. CloseToggleButton.MouseButton1Up:connect(function()
  1842. if CloseToggleButton.Active then
  1843. toggleDex(false)
  1844. end
  1845. end)
  1846. for i,v in pairs(SlideFrame:GetChildren()) do
  1847. v.MouseButton1Click:connect(function()
  1848. switchWindows(v.Name)
  1849. end)
  1850. -- v.MouseEnter:connect(function()v.BackgroundTransparency = 0.5 end)
  1851. -- v.MouseLeave:connect(function()if CurrentWindow~=v.Name then v.BackgroundTransparency = 1 end end)
  1852. end
  1853. function createSetting(name, interName, defaultOn, func)
  1854. local newSetting = SettingTemplate:Clone()
  1855. newSetting.Position = UDim2.new(0,0,0,#SettingList:GetChildren() * 60)
  1856. newSetting.SName.Text = name
  1857. local function toggle(on)
  1858. if on then
  1859. newSetting.Change.Bar:TweenPosition(UDim2.new(0,32,0,-2),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
  1860. newSetting.Change.OnBar:TweenSize(UDim2.new(0,34,0,15),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
  1861. newSetting.Status.Text = "On"
  1862. Settings[interName] = true
  1863. else
  1864. newSetting.Change.Bar:TweenPosition(UDim2.new(0,-2,0,-2),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
  1865. newSetting.Change.OnBar:TweenSize(UDim2.new(0,0,0,15),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
  1866. newSetting.Status.Text = "Off"
  1867. Settings[interName] = false
  1868. end
  1869. end
  1870. newSetting.Change.MouseButton1Click:connect(function()
  1871. toggle(not Settings[interName])
  1872. if func then pcall(func, Settings[interName]) end
  1873. end)
  1874. newSetting.Visible = true
  1875. newSetting.Parent = SettingList
  1876. if defaultOn then
  1877. toggle(true)
  1878. end
  1879. end
  1880. createSetting("Click part to select","ClickSelect",false)
  1881. createSetting("Selection Box","SelBox",false)
  1882. createSetting("Clear property value on focus","ClearProps",false)
  1883. createSetting("Select ungrouped models","SelectUngrouped",true)
  1884. createSetting("SaveInstance decompiles scripts","SaveInstanceScripts",true)
  1885. local function getSelection()
  1886. local t = GetSelection:Invoke()
  1887. if t and #t > 0 then
  1888. return t[1]
  1889. else
  1890. return nil
  1891. end
  1892. end
  1893. Mouse.Button1Down:connect(function()
  1894. if CurrentWindow == "Explorer" and Settings.ClickSelect then
  1895. local target = Mouse.Target
  1896. if target then
  1897. SetSelection:Invoke({target})
  1898. end
  1899. end
  1900. end)
  1901. SelectionChanged.Event:connect(function()
  1902. if Settings.SelBox then
  1903. local success,err = pcall(function()
  1904. local selection = getSelection()
  1905. SelectionBox.Adornee = selection
  1906. end)
  1907. if err then
  1908. SelectionBox.Adornee = nil
  1909. end
  1910. end
  1911. end)
  1912. SettingsListener.OnInvoke = ReturnSetting
  1913. -- Map Copier
  1914. function createMapSetting(obj,interName,defaultOn)
  1915. local function toggle(on)
  1916. if on then
  1917. obj.Change.Bar:TweenPosition(UDim2.new(0,32,0,-2),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
  1918. obj.Change.OnBar:TweenSize(UDim2.new(0,34,0,15),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
  1919. obj.Status.Text = "On"
  1920. SaveMapSettings[interName] = true
  1921. else
  1922. obj.Change.Bar:TweenPosition(UDim2.new(0,-2,0,-2),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
  1923. obj.Change.OnBar:TweenSize(UDim2.new(0,0,0,15),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
  1924. obj.Status.Text = "Off"
  1925. SaveMapSettings[interName] = false
  1926. end
  1927. end
  1928. obj.Change.MouseButton1Click:connect(function()
  1929. toggle(not SaveMapSettings[interName])
  1930. end)
  1931. obj.Visible = true
  1932. obj.Parent = SaveMapSettingFrame
  1933. if defaultOn then
  1934. toggle(true)
  1935. end
  1936. end
  1937. function createCopyWhatSetting(serv)
  1938. if SaveMapSettings.CopyWhat[serv] then
  1939. local newSetting = SaveMapCopyTemplate:Clone()
  1940. newSetting.Position = UDim2.new(0,0,0,#SaveMapCopyList:GetChildren() * 22 + 5)
  1941. newSetting.Info.Text = serv
  1942. local function toggle(on)
  1943. if on then
  1944. newSetting.Change.enabled.Visible = true
  1945. SaveMapSettings.CopyWhat[serv] = true
  1946. else
  1947. newSetting.Change.enabled.Visible = false
  1948. SaveMapSettings.CopyWhat[serv] = false
  1949. end
  1950. end
  1951. newSetting.Change.MouseButton1Click:connect(function()
  1952. toggle(not SaveMapSettings.CopyWhat[serv])
  1953. end)
  1954. newSetting.Visible = true
  1955. newSetting.Parent = SaveMapCopyList
  1956. end
  1957. end
  1958. createMapSetting(SaveMapSettingFrame.Scripts,"SaveScripts",true)
  1959. createMapSetting(SaveMapSettingFrame.Terrain,"SaveTerrain",true)
  1960. createMapSetting(SaveMapSettingFrame.Lighting,"LightingProperties",true)
  1961. createMapSetting(SaveMapSettingFrame.CameraInstances,"CameraInstances",true)
  1962. createCopyWhatSetting("Workspace")
  1963. createCopyWhatSetting("Lighting")
  1964. createCopyWhatSetting("ReplicatedStorage")
  1965. createCopyWhatSetting("ReplicatedFirst")
  1966. createCopyWhatSetting("StarterPack")
  1967. createCopyWhatSetting("StarterGui")
  1968. createCopyWhatSetting("StarterPlayer")
  1969. SaveMapName.Text = tostring(game.PlaceId).."MapCopy"
  1970. SaveMapButton.MouseButton1Click:connect(function()
  1971. local copyWhat = {}
  1972. local copyGroup = Instance.new("Model",game:GetService'ReplicatedStorage')
  1973. local copyScripts = SaveMapSettings.SaveScripts
  1974. local copyTerrain = SaveMapSettings.SaveTerrain
  1975. local lightingProperties = SaveMapSettings.LightingProperties
  1976. local cameraInstances = SaveMapSettings.CameraInstances
  1977. -----------------------------------------------------------------------------------
  1978. for i,v in pairs(SaveMapSettings.CopyWhat) do
  1979. if v then
  1980. table.insert(copyWhat,i)
  1981. end
  1982. end
  1983. local consoleFunc = printconsole or writeconsole
  1984. if consoleFunc then
  1985. consoleFunc("Raspberry Pi's place copier loaded.")
  1986. consoleFunc("Copying map of game "..tostring(game.PlaceId)..".")
  1987. end
  1988. function archivable(root)
  1989. for i,v in pairs(root:GetChildren()) do
  1990. if not game:GetService'Players':GetPlayerFromCharacter(v) then
  1991. v.Archivable = true
  1992. archivable(v)
  1993. end
  1994. end
  1995. end
  1996. function decompileS(root)
  1997. for i,v in pairs(root:GetChildren()) do
  1998. pcall(function()
  1999. if v:IsA("LocalScript") then
  2000. local isDisabled = v.Disabled
  2001. v.Disabled = true
  2002. v.Source = decompile(v)
  2003. v.Disabled = isDisabled
  2004. if v.Source == "" then
  2005. if consoleFunc then consoleFunc("LocalScript "..v.Name.." had a problem decompiling.") end
  2006. else
  2007. if consoleFunc then consoleFunc("LocalScript "..v.Name.." decompiled.") end
  2008. end
  2009. elseif v:IsA("ModuleScript") then
  2010. v.Source = decompile(v)
  2011. if v.Source == "" then
  2012. if consoleFunc then consoleFunc("ModuleScript "..v.Name.." had a problem decompiling.") end
  2013. else
  2014. if consoleFunc then consoleFunc("ModuleScript "..v.Name.." decompiled.") end
  2015. end
  2016. end
  2017. end)
  2018. decompileS(v)
  2019. end
  2020. end
  2021. for i,v in pairs(copyWhat) do archivable(game[v]) end
  2022. for j,obj in pairs(copyWhat) do
  2023. if obj ~= "StarterPlayer" then
  2024. local newFolder = Instance.new("Folder",copyGroup)
  2025. newFolder.Name = obj
  2026. for i,v in pairs(game[obj]:GetChildren()) do
  2027. if v ~= copyGroup then
  2028. pcall(function()
  2029. v:Clone().Parent = newFolder
  2030. end)
  2031. end
  2032. end
  2033. else
  2034. local newFolder = Instance.new("Model",copyGroup)
  2035. newFolder.Name = "StarterPlayer"
  2036. for i,v in pairs(game[obj]:GetChildren()) do
  2037. local newObj = Instance.new("Folder",newFolder)
  2038. newObj.Name = v.Name
  2039. for _,c in pairs(v:GetChildren()) do
  2040. if c.Name ~= "ControlScript" and c.Name ~= "CameraScript" then
  2041. c:Clone().Parent = newObj
  2042. end
  2043. end
  2044. end
  2045. end
  2046. end
  2047. if workspace.CurrentCamera and cameraInstances then
  2048. local cameraFolder = Instance.new("Model",copyGroup)
  2049. cameraFolder.Name = "CameraItems"
  2050. for i,v in pairs(workspace.CurrentCamera:GetChildren()) do v:Clone().Parent = cameraFolder end
  2051. end
  2052. if copyTerrain then
  2053. local myTerrain = workspace.Terrain:CopyRegion(workspace.Terrain.MaxExtents)
  2054. myTerrain.Parent = copyGroup
  2055. end
  2056. function saveProp(obj,prop,par)
  2057. local myProp = obj[prop]
  2058. if type(myProp) == "boolean" then
  2059. local newProp = Instance.new("BoolValue",par)
  2060. newProp.Name = prop
  2061. newProp.Value = myProp
  2062. elseif type(myProp) == "number" then
  2063. local newProp = Instance.new("IntValue",par)
  2064. newProp.Name = prop
  2065. newProp.Value = myProp
  2066. elseif type(myProp) == "string" then
  2067. local newProp = Instance.new("StringValue",par)
  2068. newProp.Name = prop
  2069. newProp.Value = myProp
  2070. elseif type(myProp) == "userdata" then -- Assume Color3
  2071. pcall(function()
  2072. local newProp = Instance.new("Color3Value",par)
  2073. newProp.Name = prop
  2074. newProp.Value = myProp
  2075. end)
  2076. end
  2077. end
  2078. if lightingProperties then
  2079. local lightingProps = Instance.new("Model",copyGroup)
  2080. lightingProps.Name = "LightingProperties"
  2081. saveProp(game:GetService'Lighting',"Ambient",lightingProps)
  2082. saveProp(game:GetService'Lighting',"Brightness",lightingProps)
  2083. saveProp(game:GetService'Lighting',"ColorShift_Bottom",lightingProps)
  2084. saveProp(game:GetService'Lighting',"ColorShift_Top",lightingProps)
  2085. saveProp(game:GetService'Lighting',"GlobalShadows",lightingProps)
  2086. saveProp(game:GetService'Lighting',"OutdoorAmbient",lightingProps)
  2087. saveProp(game:GetService'Lighting',"Outlines",lightingProps)
  2088. saveProp(game:GetService'Lighting',"GeographicLatitude",lightingProps)
  2089. saveProp(game:GetService'Lighting',"TimeOfDay",lightingProps)
  2090. saveProp(game:GetService'Lighting',"FogColor",lightingProps)
  2091. saveProp(game:GetService'Lighting',"FogEnd",lightingProps)
  2092. saveProp(game:GetService'Lighting',"FogStart",lightingProps)
  2093. end
  2094. if decompile and copyScripts then
  2095. decompileS(copyGroup)
  2096. end
  2097. if SaveInstance then
  2098. SaveInstance(copyGroup,SaveMapName.Text..".rbxm")
  2099. elseif saveinstance then
  2100. saveinstance(SaveMapName.Text..".rbxm", copyGroup)
  2101. end
  2102. --print("Saved!")
  2103. if consoleFunc then
  2104. consoleFunc("The map has been copied.")
  2105. end
  2106. SaveMapButton.Text = "The map has been saved"
  2107. wait(5)
  2108. SaveMapButton.Text = "Save"
  2109. end)
  2110. -- End Copier
  2111. wait()
  2112. IntroFrame:TweenPosition(UDim2.new(1,-300,0,0),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.5,true)
  2113. switchWindows("Explorer")
  2114. wait(1)
  2115. SideMenu.Visible = true
  2116. for i = 0,1,0.1 do
  2117. IntroFrame.BackgroundTransparency = i
  2118. IntroFrame.Main.BackgroundTransparency = i
  2119. IntroFrame.Slant.ImageLabel.ImageTransparency = i
  2120. IntroFrame.Title.TextTransparency = i
  2121. IntroFrame.Version.TextTransparency = i
  2122. IntroFrame.Creator.TextTransparency = i
  2123. wait()
  2124. end
  2125. IntroFrame.Visible = false
  2126. SlideFrame:TweenPosition(UDim2.new(0,0,0,0),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.5,true)
  2127. OpenScriptEditorButton:TweenPosition(UDim2.new(0,0,0,180),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.5,true)
  2128. CloseToggleButton:TweenPosition(UDim2.new(0,0,0,210),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.5,true)
  2129. Slant:TweenPosition(UDim2.new(0,0,0,240),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.5,true)
  2130. wait(0.5)
  2131. for i = 1,0,-0.1 do
  2132. OpenScriptEditorButton.Icon.ImageTransparency = i
  2133. CloseToggleButton.TextTransparency = i
  2134. wait()
  2135. end
  2136. CloseToggleButton.Active = true
  2137. CloseToggleButton.AutoButtonColor = true
  2138. OpenScriptEditorButton.Active = true
  2139. OpenScriptEditorButton.AutoButtonColor = true
  2140. end)
  2141. spawn(function()
  2142. -- initial states
  2143. local Option = {
  2144. -- can modify object parents in the hierarchy
  2145. Modifiable = false;
  2146. -- can select objects
  2147. Selectable = true;
  2148. }
  2149. -- MERELY
  2150. Option.Modifiable = true
  2151. -- END MERELY
  2152. -- general size of GUI objects, in pixels
  2153. local GUI_SIZE = 16
  2154. -- padding between items within each entry
  2155. local ENTRY_PADDING = 1
  2156. -- padding between each entry
  2157. local ENTRY_MARGIN = 1
  2158. local Input = game:GetService("UserInputService")
  2159. local HoldingCtrl = false
  2160. local HoldingShift = false
  2161. --[[
  2162. # Explorer Panel
  2163. A GUI panel that displays the game hierarchy.
  2164. ## Selection Bindables
  2165. - `Function GetSelection ( )`
  2166. Returns an array of objects representing the objects currently
  2167. selected in the panel.
  2168. - `Function SetSelection ( Objects selection )`
  2169. Sets the objects that are selected in the panel. `selection` is an array
  2170. of objects.
  2171. - `Event SelectionChanged ( )`
  2172. Fired after the selection changes.
  2173. ## Option Bindables
  2174. - `Function GetOption ( string optionName )`
  2175. If `optionName` is given, returns the value of that option. Otherwise,
  2176. returns a table of options and their current values.
  2177. - `Function SetOption ( string optionName, bool value )`
  2178. Sets `optionName` to `value`.
  2179. Options:
  2180. - Modifiable
  2181. Whether objects can be modified by the panel.
  2182. Note that modifying objects depends on being able to select them. If
  2183. Selectable is false, then Actions will not be available. Reparenting
  2184. is still possible, but only for the dragged object.
  2185. - Selectable
  2186. Whether objects can be selected.
  2187. If Modifiable is false, then left-clicking will perform a drag
  2188. selection.
  2189. ## Updates
  2190. - 2013-09-18
  2191. - Fixed explorer icons to match studio explorer.
  2192. - 2013-09-14
  2193. - Added GetOption and SetOption bindables.
  2194. - Option: Modifiable; sets whether objects can be modified by the panel.
  2195. - Option: Selectable; sets whether objects can be selected.
  2196. - Slight modification to left-click selection behavior.
  2197. - Improved layout and scaling.
  2198. - 2013-09-13
  2199. - Added drag to reparent objects.
  2200. - Left-click to select/deselect object.
  2201. - Left-click and drag unselected object to reparent single object.
  2202. - Left-click and drag selected object to move reparent entire selection.
  2203. - Right-click while dragging to cancel.
  2204. - 2013-09-11
  2205. - Added explorer panel header with actions.
  2206. - Added Cut action.
  2207. - Added Copy action.
  2208. - Added Paste action.
  2209. - Added Delete action.
  2210. - Added drag selection.
  2211. - Left-click: Add to selection on drag.
  2212. - Right-click: Add to or remove from selection on drag.
  2213. - Ensured SelectionChanged fires only when the selection actually changes.
  2214. - Added documentation and change log.
  2215. - Fixed thread issue.
  2216. - 2013-09-09
  2217. - Added basic multi-selection.
  2218. - Left-click to set selection.
  2219. - Right-click to add to or remove from selection.
  2220. - Removed "Selection" ObjectValue.
  2221. - Added GetSelection BindableFunction.
  2222. - Added SetSelection BindableFunction.
  2223. - Added SelectionChanged BindableEvent.
  2224. - Changed font to SourceSans.
  2225. - 2013-08-31
  2226. - Improved GUI sizing based off of `GUI_SIZE` constant.
  2227. - Automatic font size detection.
  2228. - 2013-08-27
  2229. - Initial explorer panel.
  2230. ## Todo
  2231. - Sorting
  2232. - by ExplorerOrder
  2233. - by children
  2234. - by name
  2235. - Drag objects to reparent
  2236. ]]
  2237. local ENTRY_SIZE = GUI_SIZE + ENTRY_PADDING*2
  2238. local ENTRY_BOUND = ENTRY_SIZE + ENTRY_MARGIN
  2239. local HEADER_SIZE = ENTRY_SIZE*2
  2240. local FONT = 'SourceSans'
  2241. local FONT_SIZE do
  2242. local size = {8,9,10,11,12,14,18,24,36,48}
  2243. local s
  2244. local n = math.huge
  2245. for i = 1,#size do
  2246. if size[i] <= GUI_SIZE then
  2247. FONT_SIZE = i - 1
  2248. end
  2249. end
  2250. end
  2251. local GuiColor = {
  2252. Background = Color3.fromRGB( 43, 43, 43);
  2253. Border = Color3.fromRGB( 20, 20, 20);
  2254. Selected = Color3.fromRGB(215, 125, 0);
  2255. BorderSelected = Color3.fromRGB(188, 118, 4);
  2256. Text = Color3.fromRGB(245, 245, 245);
  2257. TextDisabled = Color3.fromRGB(188, 188, 188);
  2258. TextSelected = Color3.fromRGB(255, 255, 255);
  2259. Button = Color3.fromRGB( 33, 33, 33);
  2260. ButtonBorder = Color3.fromRGB(133, 133, 133);
  2261. ButtonSelected = Color3.fromRGB(255, 188, 0);
  2262. Field = Color3.fromRGB( 43, 43, 43);
  2263. FieldBorder = Color3.fromRGB( 50, 50, 50);
  2264. TitleBackground = Color3.fromRGB( 11, 11, 11);
  2265. }
  2266. --[[
  2267. Background = Color3.fromRGB(233, 233, 233);
  2268. Border = Color3.fromRGB(149, 149, 149);
  2269. Selected = Color3.fromRGB( 96, 140, 211);
  2270. BorderSelected = Color3.fromRGB( 86, 125, 188);
  2271. Text = Color3.fromRGB( 0, 0, 0);
  2272. TextDisabled = Color3.fromRGB(128, 128, 128);
  2273. TextSelected = Color3.fromRGB(255, 255, 255);
  2274. Button = Color3.fromRGB(221, 221, 221);
  2275. ButtonBorder = Color3.fromRGB(149, 149, 149);
  2276. ButtonSelected = Color3.fromRGB(255, 0, 0);
  2277. Field = Color3.fromRGB(255, 255, 255);
  2278. FieldBorder = Color3.fromRGB(191, 191, 191);
  2279. TitleBackground = Color3.fromRGB(178, 178, 178);
  2280. ]]
  2281. ----------------------------------------------------------------
  2282. ----------------------------------------------------------------
  2283. ----------------------------------------------------------------
  2284. ----------------------------------------------------------------
  2285. ---- Icon map constants
  2286. local MAP_ID = 483448923
  2287. -- Indices based on implementation of Icon function.
  2288. local ACTION_CUT = 160
  2289. local ACTION_COPY = 161
  2290. local ACTION_PASTE = 162
  2291. local ACTION_DELETE = 163
  2292. local ACTION_SORT = 164
  2293. local ACTION_CUT_OVER = 174
  2294. local ACTION_COPY_OVER = 175
  2295. local ACTION_PASTE_OVER = 176
  2296. local ACTION_DELETE_OVER = 177
  2297. local ACTION_SORT_OVER = 178
  2298. local ACTION_EDITQUICKACCESS = 190
  2299. local ACTION_FREEZE = 188
  2300. local ACTION_STARRED = 189
  2301. local ACTION_ADDSTAR = 184
  2302. local ACTION_ADDSTAR_OVER = 187
  2303. local NODE_COLLAPSED = 165
  2304. local NODE_EXPANDED = 166
  2305. local NODE_COLLAPSED_OVER = 179
  2306. local NODE_EXPANDED_OVER = 180
  2307. local ExplorerIndex = {
  2308. ["Accessory"] = 32;
  2309. ["Accoutrement"] = 32;
  2310. ["AdService"] = 73;
  2311. ["Animation"] = 60;
  2312. ["AnimationController"] = 60;
  2313. ["AnimationTrack"] = 60;
  2314. ["Animator"] = 60;
  2315. ["ArcHandles"] = 56;
  2316. ["AssetService"] = 72;
  2317. ["Attachment"] = 34;
  2318. ["Backpack"] = 20;
  2319. ["BadgeService"] = 75;
  2320. ["BallSocketConstraint"] = 89;
  2321. ["BillboardGui"] = 64;
  2322. ["BinaryStringValue"] = 4;
  2323. ["BindableEvent"] = 67;
  2324. ["BindableFunction"] = 66;
  2325. ["BlockMesh"] = 8;
  2326. ["BloomEffect"] = 90;
  2327. ["BlurEffect"] = 90;
  2328. ["BodyAngularVelocity"] = 14;
  2329. ["BodyForce"] = 14;
  2330. ["BodyGyro"] = 14;
  2331. ["BodyPosition"] = 14;
  2332. ["BodyThrust"] = 14;
  2333. ["BodyVelocity"] = 14;
  2334. ["BoolValue"] = 4;
  2335. ["BoxHandleAdornment"] = 54;
  2336. ["BrickColorValue"] = 4;
  2337. ["Camera"] = 5;
  2338. ["CFrameValue"] = 4;
  2339. ["CharacterMesh"] = 60;
  2340. ["Chat"] = 33;
  2341. ["ClickDetector"] = 41;
  2342. ["CollectionService"] = 30;
  2343. ["Color3Value"] = 4;
  2344. ["ColorCorrectionEffect"] = 90;
  2345. ["ConeHandleAdornment"] = 54;
  2346. ["Configuration"] = 58;
  2347. ["ContentProvider"] = 72;
  2348. ["ContextActionService"] = 41;
  2349. ["CoreGui"] = 46;
  2350. ["CoreScript"] = 18;
  2351. ["CornerWedgePart"] = 1;
  2352. ["CustomEvent"] = 4;
  2353. ["CustomEventReceiver"] = 4;
  2354. ["CylinderHandleAdornment"] = 54;
  2355. ["CylinderMesh"] = 8;
  2356. ["CylindricalConstraint"] = 89;
  2357. ["Debris"] = 30;
  2358. ["Decal"] = 7;
  2359. ["Dialog"] = 62;
  2360. ["DialogChoice"] = 63;
  2361. ["DoubleConstrainedValue"] = 4;
  2362. ["Explosion"] = 36;
  2363. ["FileMesh"] = 8;
  2364. ["Fire"] = 61;
  2365. ["Flag"] = 38;
  2366. ["FlagStand"] = 39;
  2367. ["FloorWire"] = 4;
  2368. ["Folder"] = 70;
  2369. ["ForceField"] = 37;
  2370. ["Frame"] = 48;
  2371. ["GamePassService"] = 19;
  2372. ["Glue"] = 34;
  2373. ["GuiButton"] = 52;
  2374. ["GuiMain"] = 47;
  2375. ["GuiService"] = 47;
  2376. ["Handles"] = 53;
  2377. ["HapticService"] = 84;
  2378. ["Hat"] = 45;
  2379. ["HingeConstraint"] = 89;
  2380. ["Hint"] = 33;
  2381. ["HopperBin"] = 22;
  2382. ["HttpService"] = 76;
  2383. ["Humanoid"] = 9;
  2384. ["ImageButton"] = 52;
  2385. ["ImageLabel"] = 49;
  2386. ["InsertService"] = 72;
  2387. ["IntConstrainedValue"] = 4;
  2388. ["IntValue"] = 4;
  2389. ["JointInstance"] = 34;
  2390. ["JointsService"] = 34;
  2391. ["Keyframe"] = 60;
  2392. ["KeyframeSequence"] = 60;
  2393. ["KeyframeSequenceProvider"] = 60;
  2394. ["Lighting"] = 13;
  2395. ["LineHandleAdornment"] = 54;
  2396. ["LocalScript"] = 18;
  2397. ["LogService"] = 87;
  2398. ["MarketplaceService"] = 46;
  2399. ["Message"] = 33;
  2400. ["Model"] = 2;
  2401. ["ModuleScript"] = 71;
  2402. ["Motor"] = 34;
  2403. ["Motor6D"] = 34;
  2404. ["MoveToConstraint"] = 89;
  2405. ["NegateOperation"] = 78;
  2406. ["NetworkClient"] = 16;
  2407. ["NetworkReplicator"] = 29;
  2408. ["NetworkServer"] = 15;
  2409. ["NumberValue"] = 4;
  2410. ["ObjectValue"] = 4;
  2411. ["Pants"] = 44;
  2412. ["ParallelRampPart"] = 1;
  2413. ["Part"] = 1;
  2414. ["ParticleEmitter"] = 69;
  2415. ["PartPairLasso"] = 57;
  2416. ["PathfindingService"] = 37;
  2417. ["Platform"] = 35;
  2418. ["Player"] = 12;
  2419. ["PlayerGui"] = 46;
  2420. ["Players"] = 21;
  2421. ["PlayerScripts"] = 82;
  2422. ["PointLight"] = 13;
  2423. ["PointsService"] = 83;
  2424. ["Pose"] = 60;
  2425. ["PrismaticConstraint"] = 89;
  2426. ["PrismPart"] = 1;
  2427. ["PyramidPart"] = 1;
  2428. ["RayValue"] = 4;
  2429. ["ReflectionMetadata"] = 86;
  2430. ["ReflectionMetadataCallbacks"] = 86;
  2431. ["ReflectionMetadataClass"] = 86;
  2432. ["ReflectionMetadataClasses"] = 86;
  2433. ["ReflectionMetadataEnum"] = 86;
  2434. ["ReflectionMetadataEnumItem"] = 86;
  2435. ["ReflectionMetadataEnums"] = 86;
  2436. ["ReflectionMetadataEvents"] = 86;
  2437. ["ReflectionMetadataFunctions"] = 86;
  2438. ["ReflectionMetadataMember"] = 86;
  2439. ["ReflectionMetadataProperties"] = 86;
  2440. ["ReflectionMetadataYieldFunctions"] = 86;
  2441. ["RemoteEvent"] = 80;
  2442. ["RemoteFunction"] = 79;
  2443. ["ReplicatedFirst"] = 72;
  2444. ["ReplicatedStorage"] = 72;
  2445. ["RightAngleRampPart"] = 1;
  2446. ["RocketPropulsion"] = 14;
  2447. ["RodConstraint"] = 89;
  2448. ["RopeConstraint"] = 89;
  2449. ["Rotate"] = 34;
  2450. ["RotateP"] = 34;
  2451. ["RotateV"] = 34;
  2452. ["RunService"] = 66;
  2453. ["ScreenGui"] = 47;
  2454. ["Script"] = 6;
  2455. ["ScrollingFrame"] = 48;
  2456. ["Seat"] = 35;
  2457. ["Selection"] = 55;
  2458. ["SelectionBox"] = 54;
  2459. ["SelectionPartLasso"] = 57;
  2460. ["SelectionPointLasso"] = 57;
  2461. ["SelectionSphere"] = 54;
  2462. ["ServerScriptService"] = 0;
  2463. ["ServerStorage"] = 74;
  2464. ["Shirt"] = 43;
  2465. ["ShirtGraphic"] = 40;
  2466. ["SkateboardPlatform"] = 35;
  2467. ["Sky"] = 28;
  2468. ["SlidingBallConstraint"] = 89;
  2469. ["Smoke"] = 59;
  2470. ["Snap"] = 34;
  2471. ["Sound"] = 11;
  2472. ["SoundService"] = 31;
  2473. ["Sparkles"] = 42;
  2474. ["SpawnLocation"] = 25;
  2475. ["SpecialMesh"] = 8;
  2476. ["SphereHandleAdornment"] = 54;
  2477. ["SpotLight"] = 13;
  2478. ["SpringConstraint"] = 89;
  2479. ["StarterCharacterScripts"] = 82;
  2480. ["StarterGear"] = 20;
  2481. ["StarterGui"] = 46;
  2482. ["StarterPack"] = 20;
  2483. ["StarterPlayer"] = 88;
  2484. ["StarterPlayerScripts"] = 82;
  2485. ["Status"] = 2;
  2486. ["StringValue"] = 4;
  2487. ["SunRaysEffect"] = 90;
  2488. ["SurfaceGui"] = 64;
  2489. ["SurfaceLight"] = 13;
  2490. ["SurfaceSelection"] = 55;
  2491. ["Team"] = 24;
  2492. ["Teams"] = 23;
  2493. ["TeleportService"] = 81;
  2494. ["Terrain"] = 65;
  2495. ["TerrainRegion"] = 65;
  2496. ["TestService"] = 68;
  2497. ["TextBox"] = 51;
  2498. ["TextButton"] = 51;
  2499. ["TextLabel"] = 50;
  2500. ["Texture"] = 10;
  2501. ["TextureTrail"] = 4;
  2502. ["Tool"] = 17;
  2503. ["TouchTransmitter"] = 37;
  2504. ["TrussPart"] = 1;
  2505. ["UnionOperation"] = 77;
  2506. ["UserInputService"] = 84;
  2507. ["Vector3Value"] = 4;
  2508. ["VehicleSeat"] = 35;
  2509. ["VelocityMotor"] = 34;
  2510. ["WedgePart"] = 1;
  2511. ["Weld"] = 34;
  2512. ["Workspace"] = 19;
  2513. }
  2514. ----------------------------------------------------------------
  2515. ----------------------------------------------------------------
  2516. ----------------------------------------------------------------
  2517. ----------------------------------------------------------------
  2518. ----------------------------------------------------------------
  2519. function Create(ty,data)
  2520. local obj
  2521. if type(ty) == 'string' then
  2522. obj = Instance.new(ty)
  2523. else
  2524. obj = ty
  2525. end
  2526. for k, v in pairs(data) do
  2527. if type(k) == 'number' then
  2528. v.Parent = obj
  2529. else
  2530. obj[k] = v
  2531. end
  2532. end
  2533. return obj
  2534. end
  2535. local barActive = false
  2536. local activeOptions = {}
  2537. function createDDown(dBut, callback,...)
  2538. if barActive then
  2539. for i,v in pairs(activeOptions) do
  2540. v:Destroy()
  2541. end
  2542. activeOptions = {}
  2543. barActive = false
  2544. return
  2545. else
  2546. barActive = true
  2547. end
  2548. local slots = {...}
  2549. local base = dBut
  2550. for i,v in pairs(slots) do
  2551. local newOption = base:Clone()
  2552. newOption.ZIndex = 5
  2553. newOption.Name = "Option "..tostring(i)
  2554. newOption.Parent = base.Parent.Parent.Parent
  2555. newOption.BackgroundTransparency = 0
  2556. newOption.ZIndex = 2
  2557. table.insert(activeOptions,newOption)
  2558. newOption.Position = UDim2.new(-0.4, dBut.Position.X.Offset, dBut.Position.Y.Scale, dBut.Position.Y.Offset + (#activeOptions * dBut.Size.Y.Offset))
  2559. newOption.Text = slots[i]
  2560. newOption.MouseButton1Down:connect(function()
  2561. dBut.Text = slots[i]
  2562. callback(slots[i])
  2563. for i,v in pairs(activeOptions) do
  2564. v:Destroy()
  2565. end
  2566. activeOptions = {}
  2567. barActive = false
  2568. end)
  2569. end
  2570. end
  2571. -- Connects a function to an event such that it fires asynchronously
  2572. function Connect(event,func)
  2573. return event:connect(function(...)
  2574. local a = {...}
  2575. spawn(function() func(unpack(a)) end)
  2576. end)
  2577. end
  2578. -- returns the ascendant ScreenGui of an object
  2579. function GetScreen(screen)
  2580. if screen == nil then return nil end
  2581. while not screen:IsA("ScreenGui") do
  2582. screen = screen.Parent
  2583. if screen == nil then return nil end
  2584. end
  2585. return screen
  2586. end
  2587. do
  2588. local ZIndexLock = {}
  2589. -- Sets the ZIndex of an object and its descendants. Objects are locked so
  2590. -- that SetZIndexOnChanged doesn't spawn multiple threads that set the
  2591. -- ZIndex of the same object.
  2592. function SetZIndex(object,z)
  2593. if not ZIndexLock[object] then
  2594. ZIndexLock[object] = true
  2595. if object:IsA'GuiObject' then
  2596. object.ZIndex = z
  2597. end
  2598. local children = object:GetChildren()
  2599. for i = 1,#children do
  2600. SetZIndex(children[i],z)
  2601. end
  2602. ZIndexLock[object] = nil
  2603. end
  2604. end
  2605. function SetZIndexOnChanged(object)
  2606. return object.Changed:connect(function(p)
  2607. if p == "ZIndex" then
  2608. SetZIndex(object,object.ZIndex)
  2609. end
  2610. end)
  2611. end
  2612. end
  2613. ---- IconMap ----
  2614. -- Image size: 256px x 256px
  2615. -- Icon size: 16px x 16px
  2616. -- Padding between each icon: 2px
  2617. -- Padding around image edge: 1px
  2618. -- Total icons: 14 x 14 (196)
  2619. local Icon do
  2620. local iconMap = 'http://www.roblox.com/asset/?id=' .. MAP_ID
  2621. game:GetService('ContentProvider'):Preload(iconMap)
  2622. local iconDehash do
  2623. -- 14 x 14, 0-based input, 0-based output
  2624. local f=math.floor
  2625. function iconDehash(h)
  2626. return f(h/14%14),f(h%14)
  2627. end
  2628. end
  2629. function Icon(IconFrame,index)
  2630. local row,col = iconDehash(index)
  2631. local mapSize = Vector2.new(256,256)
  2632. local pad,border = 2,1
  2633. local iconSize = 16
  2634. local class = 'Frame'
  2635. if type(IconFrame) == 'string' then
  2636. class = IconFrame
  2637. IconFrame = nil
  2638. end
  2639. if not IconFrame then
  2640. IconFrame = Create(class,{
  2641. Name = "Icon";
  2642. BackgroundTransparency = 1;
  2643. ClipsDescendants = true;
  2644. Create('ImageLabel',{
  2645. Name = "IconMap";
  2646. Active = false;
  2647. BackgroundTransparency = 1;
  2648. Image = iconMap;
  2649. Size = UDim2.new(mapSize.x/iconSize,0,mapSize.y/iconSize,0);
  2650. });
  2651. })
  2652. end
  2653. IconFrame.IconMap.Position = UDim2.new(-col - (pad*(col+1) + border)/iconSize,0,-row - (pad*(row+1) + border)/iconSize,0)
  2654. return IconFrame
  2655. end
  2656. end
  2657. ----------------------------------------------------------------
  2658. ----------------------------------------------------------------
  2659. ----------------------------------------------------------------
  2660. ----------------------------------------------------------------
  2661. ---- ScrollBar
  2662. do
  2663. -- AutoButtonColor doesn't always reset properly
  2664. local function ResetButtonColor(button)
  2665. local active = button.Active
  2666. button.Active = not active
  2667. button.Active = active
  2668. end
  2669. local function ArrowGraphic(size,dir,scaled,template)
  2670. local Frame = Create('Frame',{
  2671. Name = "Arrow Graphic";
  2672. BorderSizePixel = 0;
  2673. Size = UDim2.new(0,size,0,size);
  2674. Transparency = 1;
  2675. })
  2676. if not template then
  2677. template = Instance.new("Frame")
  2678. template.BorderSizePixel = 0
  2679. end
  2680. template.BackgroundColor3 = Color3.new(1, 1, 1);
  2681. local transform
  2682. if dir == nil or dir == 'Up' then
  2683. function transform(p,s) return p,s end
  2684. elseif dir == 'Down' then
  2685. function transform(p,s) return UDim2.new(0,p.X.Offset,0,size-p.Y.Offset-1),s end
  2686. elseif dir == 'Left' then
  2687. 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
  2688. elseif dir == 'Right' then
  2689. 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
  2690. end
  2691. local scale
  2692. if scaled then
  2693. 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
  2694. else
  2695. function scale(p,s) return p,s end
  2696. end
  2697. local o = math.floor(size/4)
  2698. if size%2 == 0 then
  2699. local n = size/2-1
  2700. for i = 0,n do
  2701. local t = template:Clone()
  2702. local p,s = scale(transform(
  2703. UDim2.new(0,n-i,0,o+i),
  2704. UDim2.new(0,(i+1)*2,0,1)
  2705. ))
  2706. t.Position = p
  2707. t.Size = s
  2708. t.Parent = Frame
  2709. end
  2710. else
  2711. local n = (size-1)/2
  2712. for i = 0,n do
  2713. local t = template:Clone()
  2714. local p,s = scale(transform(
  2715. UDim2.new(0,n-i,0,o+i),
  2716. UDim2.new(0,i*2+1,0,1)
  2717. ))
  2718. t.Position = p
  2719. t.Size = s
  2720. t.Parent = Frame
  2721. end
  2722. end
  2723. if size%4 > 1 then
  2724. local t = template:Clone()
  2725. local p,s = scale(transform(
  2726. UDim2.new(0,0,0,size-o-1),
  2727. UDim2.new(0,size,0,1)
  2728. ))
  2729. t.Position = p
  2730. t.Size = s
  2731. t.Parent = Frame
  2732. end
  2733. for i,v in pairs(Frame:GetChildren()) do
  2734. v.BackgroundColor3 = Color3.new(1, 1, 1);
  2735. end
  2736. return Frame
  2737. end
  2738. local function GripGraphic(size,dir,spacing,scaled,template)
  2739. local Frame = Create('Frame',{
  2740. Name = "Grip Graphic";
  2741. BorderSizePixel = 0;
  2742. Size = UDim2.new(0,size.x,0,size.y);
  2743. Transparency = 1;
  2744. })
  2745. if not template then
  2746. template = Instance.new("Frame")
  2747. template.BorderSizePixel = 0
  2748. end
  2749. spacing = spacing or 2
  2750. local scale
  2751. if scaled then
  2752. function scale(p) return UDim2.new(p.X.Offset/size.x,0,p.Y.Offset/size.y,0) end
  2753. else
  2754. function scale(p) return p end
  2755. end
  2756. if dir == 'Vertical' then
  2757. for i=0,size.x-1,spacing do
  2758. local t = template:Clone()
  2759. t.Size = scale(UDim2.new(0,1,0,size.y))
  2760. t.Position = scale(UDim2.new(0,i,0,0))
  2761. t.Parent = Frame
  2762. end
  2763. elseif dir == nil or dir == 'Horizontal' then
  2764. for i=0,size.y-1,spacing do
  2765. local t = template:Clone()
  2766. t.Size = scale(UDim2.new(0,size.x,0,1))
  2767. t.Position = scale(UDim2.new(0,0,0,i))
  2768. t.Parent = Frame
  2769. end
  2770. end
  2771. return Frame
  2772. end
  2773. local mt = {
  2774. __index = {
  2775. GetScrollPercent = function(self)
  2776. return self.ScrollIndex/(self.TotalSpace-self.VisibleSpace)
  2777. end;
  2778. CanScrollDown = function(self)
  2779. return self.ScrollIndex + self.VisibleSpace < self.TotalSpace
  2780. end;
  2781. CanScrollUp = function(self)
  2782. return self.ScrollIndex > 0
  2783. end;
  2784. ScrollDown = function(self)
  2785. self.ScrollIndex = self.ScrollIndex + self.PageIncrement
  2786. self:Update()
  2787. end;
  2788. ScrollUp = function(self)
  2789. self.ScrollIndex = self.ScrollIndex - self.PageIncrement
  2790. self:Update()
  2791. end;
  2792. ScrollTo = function(self,index)
  2793. self.ScrollIndex = index
  2794. self:Update()
  2795. end;
  2796. SetScrollPercent = function(self,percent)
  2797. self.ScrollIndex = math.floor((self.TotalSpace - self.VisibleSpace)*percent + 0.5)
  2798. self:Update()
  2799. end;
  2800. };
  2801. }
  2802. mt.__index.CanScrollRight = mt.__index.CanScrollDown
  2803. mt.__index.CanScrollLeft = mt.__index.CanScrollUp
  2804. mt.__index.ScrollLeft = mt.__index.ScrollUp
  2805. mt.__index.ScrollRight = mt.__index.ScrollDown
  2806. local ScrollStyles = {
  2807. Background = Color3.fromRGB(233, 233, 233);
  2808. Border = Color3.fromRGB(149, 149, 149);
  2809. Selected = Color3.fromRGB( 63, 119, 189);
  2810. BorderSelected = Color3.fromRGB( 55, 106, 167);
  2811. Text = Color3.fromRGB( 0, 0, 0);
  2812. TextDisabled = Color3.fromRGB(128, 128, 128);
  2813. TextSelected = Color3.fromRGB(255, 255, 255);
  2814. Button = Color3.fromRGB( 35, 35, 35);
  2815. ButtonBorder = Color3.fromRGB(149, 149, 149);
  2816. ButtonSelected = Color3.fromRGB(255, 0, 0);
  2817. Field = Color3.fromRGB(255, 255, 255);
  2818. FieldBorder = Color3.fromRGB(191, 191, 191);
  2819. TitleBackground = Color3.fromRGB(178, 178, 178);
  2820. }
  2821. function ScrollBar(horizontal)
  2822. -- create row scroll bar
  2823. local ScrollBarWidth = GUI_SIZE;
  2824. local ScrollFrame = Create('Frame',{
  2825. Name = "ScrollFrame";
  2826. Position = horizontal and UDim2.new(0,0,1,-ScrollBarWidth) or UDim2.new(1,-ScrollBarWidth,0,0);
  2827. Size = horizontal and UDim2.new(1,0,0,ScrollBarWidth) or UDim2.new(0,ScrollBarWidth,1,0);
  2828. BackgroundTransparency = 1;
  2829. Create('ImageButton',{
  2830. Name = "ScrollDown";
  2831. Position = horizontal and UDim2.new(1,-ScrollBarWidth,0,0) or UDim2.new(0,0,1,-ScrollBarWidth);
  2832. Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
  2833. BackgroundColor3 = ScrollStyles.Button;
  2834. BorderColor3 = ScrollStyles.Border;
  2835. BorderSizePixel = 0;
  2836. });
  2837. Create('ImageButton',{
  2838. Name = "ScrollUp";
  2839. Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
  2840. BackgroundColor3 = ScrollStyles.Button;
  2841. BorderColor3 = ScrollStyles.Border;
  2842. BorderSizePixel = 0;
  2843. });
  2844. Create('ImageButton',{
  2845. Name = "ScrollBar";
  2846. Size = horizontal and UDim2.new(1,-ScrollBarWidth*2,1,0) or UDim2.new(1,0,1,-ScrollBarWidth*2);
  2847. Position = horizontal and UDim2.new(0,ScrollBarWidth,0,0) or UDim2.new(0,0,0,ScrollBarWidth);
  2848. AutoButtonColor = false;
  2849. BackgroundColor3 = Color3.fromRGB(20, 20, 20);
  2850. BorderColor3 = ScrollStyles.Border;
  2851. BorderSizePixel = 0;
  2852. Create('ImageButton',{
  2853. Name = "ScrollThumb";
  2854. AutoButtonColor = false;
  2855. Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
  2856. BackgroundColor3 = ScrollStyles.Button;
  2857. BorderColor3 = ScrollStyles.Border;
  2858. BorderSizePixel = 0;
  2859. });
  2860. });
  2861. })
  2862. local graphicTemplate = Create('Frame',{
  2863. Name="Graphic";
  2864. BorderSizePixel = 0;
  2865. BackgroundColor3 = Color3.new(1, 1, 1);
  2866. })
  2867. local graphicSize = GUI_SIZE/2
  2868. local ScrollDownFrame = ScrollFrame.ScrollDown
  2869. local ScrollDownGraphic = ArrowGraphic(graphicSize,horizontal and 'Right' or 'Down',true,graphicTemplate)
  2870. ScrollDownGraphic.Position = UDim2.new(0.5,-graphicSize/2,0.5,-graphicSize/2)
  2871. ScrollDownGraphic.Parent = ScrollDownFrame
  2872. local ScrollUpFrame = ScrollFrame.ScrollUp
  2873. local ScrollUpGraphic = ArrowGraphic(graphicSize,horizontal and 'Left' or 'Up',true,graphicTemplate)
  2874. ScrollUpGraphic.Position = UDim2.new(0.5,-graphicSize/2,0.5,-graphicSize/2)
  2875. ScrollUpGraphic.Parent = ScrollUpFrame
  2876. local ScrollBarFrame = ScrollFrame.ScrollBar
  2877. local ScrollThumbFrame = ScrollBarFrame.ScrollThumb
  2878. do
  2879. local size = GUI_SIZE*3/8
  2880. local Decal = GripGraphic(Vector2.new(size,size),horizontal and 'Vertical' or 'Horizontal',2,graphicTemplate)
  2881. Decal.Position = UDim2.new(0.5,-size/2,0.5,-size/2)
  2882. Decal.Parent = ScrollThumbFrame
  2883. end
  2884. local Class = setmetatable({
  2885. GUI = ScrollFrame;
  2886. ScrollIndex = 0;
  2887. VisibleSpace = 0;
  2888. TotalSpace = 0;
  2889. PageIncrement = 1;
  2890. },mt)
  2891. local UpdateScrollThumb
  2892. if horizontal then
  2893. function UpdateScrollThumb()
  2894. ScrollThumbFrame.Size = UDim2.new(Class.VisibleSpace/Class.TotalSpace,0,0,GUI_SIZE)
  2895. if ScrollThumbFrame.AbsoluteSize.x < GUI_SIZE then
  2896. ScrollThumbFrame.Size = UDim2.new(0,GUI_SIZE,0,GUI_SIZE)
  2897. end
  2898. local barSize = ScrollBarFrame.AbsoluteSize.x
  2899. ScrollThumbFrame.Position = UDim2.new(Class:GetScrollPercent()*(barSize - ScrollThumbFrame.AbsoluteSize.x)/barSize,0,0,0)
  2900. end
  2901. else
  2902. function UpdateScrollThumb()
  2903. ScrollThumbFrame.Size = UDim2.new(0,GUI_SIZE,Class.VisibleSpace/Class.TotalSpace,0)
  2904. if ScrollThumbFrame.AbsoluteSize.y < GUI_SIZE then
  2905. ScrollThumbFrame.Size = UDim2.new(0,GUI_SIZE,0,GUI_SIZE)
  2906. end
  2907. local barSize = ScrollBarFrame.AbsoluteSize.y
  2908. ScrollThumbFrame.Position = UDim2.new(0,0,Class:GetScrollPercent()*(barSize - ScrollThumbFrame.AbsoluteSize.y)/barSize,0)
  2909. end
  2910. end
  2911. local lastDown
  2912. local lastUp
  2913. local scrollStyle = {BackgroundColor3=Color3.new(1, 1, 1),BackgroundTransparency=0}
  2914. local scrollStyle_ds = {BackgroundColor3=Color3.new(1, 1, 1),BackgroundTransparency=0.7}
  2915. local function Update()
  2916. local t = Class.TotalSpace
  2917. local v = Class.VisibleSpace
  2918. local s = Class.ScrollIndex
  2919. if v <= t then
  2920. if s > 0 then
  2921. if s + v > t then
  2922. Class.ScrollIndex = t - v
  2923. end
  2924. else
  2925. Class.ScrollIndex = 0
  2926. end
  2927. else
  2928. Class.ScrollIndex = 0
  2929. end
  2930. if Class.UpdateCallback then
  2931. if Class.UpdateCallback(Class) == false then
  2932. return
  2933. end
  2934. end
  2935. local down = Class:CanScrollDown()
  2936. local up = Class:CanScrollUp()
  2937. if down ~= lastDown then
  2938. lastDown = down
  2939. ScrollDownFrame.Active = down
  2940. ScrollDownFrame.AutoButtonColor = down
  2941. local children = ScrollDownGraphic:GetChildren()
  2942. local style = down and scrollStyle or scrollStyle_ds
  2943. for i = 1,#children do
  2944. Create(children[i],style)
  2945. end
  2946. end
  2947. if up ~= lastUp then
  2948. lastUp = up
  2949. ScrollUpFrame.Active = up
  2950. ScrollUpFrame.AutoButtonColor = up
  2951. local children = ScrollUpGraphic:GetChildren()
  2952. local style = up and scrollStyle or scrollStyle_ds
  2953. for i = 1,#children do
  2954. Create(children[i],style)
  2955. end
  2956. end
  2957. ScrollThumbFrame.Visible = down or up
  2958. UpdateScrollThumb()
  2959. end
  2960. Class.Update = Update
  2961. SetZIndexOnChanged(ScrollFrame)
  2962. local MouseDrag = Create('ImageButton',{
  2963. Name = "MouseDrag";
  2964. Position = UDim2.new(-0.25,0,-0.25,0);
  2965. Size = UDim2.new(1.5,0,1.5,0);
  2966. Transparency = 1;
  2967. AutoButtonColor = false;
  2968. Active = true;
  2969. ZIndex = 10;
  2970. })
  2971. local scrollEventID = 0
  2972. ScrollDownFrame.MouseButton1Down:connect(function()
  2973. scrollEventID = tick()
  2974. local current = scrollEventID
  2975. local up_con
  2976. up_con = MouseDrag.MouseButton1Up:connect(function()
  2977. scrollEventID = tick()
  2978. MouseDrag.Parent = nil
  2979. ResetButtonColor(ScrollDownFrame)
  2980. up_con:disconnect(); drag = nil
  2981. end)
  2982. MouseDrag.Parent = GetScreen(ScrollFrame)
  2983. Class:ScrollDown()
  2984. wait(0.2) -- delay before auto scroll
  2985. while scrollEventID == current do
  2986. Class:ScrollDown()
  2987. if not Class:CanScrollDown() then break end
  2988. wait()
  2989. end
  2990. end)
  2991. ScrollDownFrame.MouseButton1Up:connect(function()
  2992. scrollEventID = tick()
  2993. end)
  2994. ScrollUpFrame.MouseButton1Down:connect(function()
  2995. scrollEventID = tick()
  2996. local current = scrollEventID
  2997. local up_con
  2998. up_con = MouseDrag.MouseButton1Up:connect(function()
  2999. scrollEventID = tick()
  3000. MouseDrag.Parent = nil
  3001. ResetButtonColor(ScrollUpFrame)
  3002. up_con:disconnect(); drag = nil
  3003. end)
  3004. MouseDrag.Parent = GetScreen(ScrollFrame)
  3005. Class:ScrollUp()
  3006. wait(0.2)
  3007. while scrollEventID == current do
  3008. Class:ScrollUp()
  3009. if not Class:CanScrollUp() then break end
  3010. wait()
  3011. end
  3012. end)
  3013. ScrollUpFrame.MouseButton1Up:connect(function()
  3014. scrollEventID = tick()
  3015. end)
  3016. if horizontal then
  3017. ScrollBarFrame.MouseButton1Down:connect(function(x,y)
  3018. scrollEventID = tick()
  3019. local current = scrollEventID
  3020. local up_con
  3021. up_con = MouseDrag.MouseButton1Up:connect(function()
  3022. scrollEventID = tick()
  3023. MouseDrag.Parent = nil
  3024. ResetButtonColor(ScrollUpFrame)
  3025. up_con:disconnect(); drag = nil
  3026. end)
  3027. MouseDrag.Parent = GetScreen(ScrollFrame)
  3028. if x > ScrollThumbFrame.AbsolutePosition.x then
  3029. Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
  3030. wait(0.2)
  3031. while scrollEventID == current do
  3032. if x < ScrollThumbFrame.AbsolutePosition.x + ScrollThumbFrame.AbsoluteSize.x then break end
  3033. Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
  3034. wait()
  3035. end
  3036. else
  3037. Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
  3038. wait(0.2)
  3039. while scrollEventID == current do
  3040. if x > ScrollThumbFrame.AbsolutePosition.x then break end
  3041. Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
  3042. wait()
  3043. end
  3044. end
  3045. end)
  3046. else
  3047. ScrollBarFrame.MouseButton1Down:connect(function(x,y)
  3048. scrollEventID = tick()
  3049. local current = scrollEventID
  3050. local up_con
  3051. up_con = MouseDrag.MouseButton1Up:connect(function()
  3052. scrollEventID = tick()
  3053. MouseDrag.Parent = nil
  3054. ResetButtonColor(ScrollUpFrame)
  3055. up_con:disconnect(); drag = nil
  3056. end)
  3057. MouseDrag.Parent = GetScreen(ScrollFrame)
  3058. if y > ScrollThumbFrame.AbsolutePosition.y then
  3059. Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
  3060. wait(0.2)
  3061. while scrollEventID == current do
  3062. if y < ScrollThumbFrame.AbsolutePosition.y + ScrollThumbFrame.AbsoluteSize.y then break end
  3063. Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
  3064. wait()
  3065. end
  3066. else
  3067. Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
  3068. wait(0.2)
  3069. while scrollEventID == current do
  3070. if y > ScrollThumbFrame.AbsolutePosition.y then break end
  3071. Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
  3072. wait()
  3073. end
  3074. end
  3075. end)
  3076. end
  3077. if horizontal then
  3078. ScrollThumbFrame.MouseButton1Down:connect(function(x,y)
  3079. scrollEventID = tick()
  3080. local mouse_offset = x - ScrollThumbFrame.AbsolutePosition.x
  3081. local drag_con
  3082. local up_con
  3083. drag_con = MouseDrag.MouseMoved:connect(function(x,y)
  3084. if not game:GetService'UserInputService':IsMouseButtonPressed'MouseButton1' then
  3085. scrollEventID = tick()
  3086. MouseDrag.Parent = nil
  3087. ResetButtonColor(ScrollThumbFrame)
  3088. drag_con:disconnect(); drag_con = nil
  3089. up_con:disconnect(); drag = nil
  3090. end
  3091. local bar_abs_pos = ScrollBarFrame.AbsolutePosition.x
  3092. local bar_drag = ScrollBarFrame.AbsoluteSize.x - ScrollThumbFrame.AbsoluteSize.x
  3093. local bar_abs_one = bar_abs_pos + bar_drag
  3094. x = x - mouse_offset
  3095. x = x < bar_abs_pos and bar_abs_pos or x > bar_abs_one and bar_abs_one or x
  3096. x = x - bar_abs_pos
  3097. Class:SetScrollPercent(x/(bar_drag))
  3098. end)
  3099. up_con = MouseDrag.MouseButton1Up:connect(function()
  3100. scrollEventID = tick()
  3101. MouseDrag.Parent = nil
  3102. ResetButtonColor(ScrollThumbFrame)
  3103. drag_con:disconnect(); drag_con = nil
  3104. up_con:disconnect(); drag = nil
  3105. end)
  3106. MouseDrag.Parent = GetScreen(ScrollFrame)
  3107. end)
  3108. else
  3109. ScrollThumbFrame.MouseButton1Down:connect(function(x,y)
  3110. scrollEventID = tick()
  3111. local mouse_offset = y - ScrollThumbFrame.AbsolutePosition.y
  3112. local drag_con
  3113. local up_con
  3114. drag_con = MouseDrag.MouseMoved:connect(function(x,y)
  3115. if not game:GetService'UserInputService':IsMouseButtonPressed'MouseButton1' then
  3116. scrollEventID = tick()
  3117. MouseDrag.Parent = nil
  3118. ResetButtonColor(ScrollThumbFrame)
  3119. drag_con:disconnect(); drag_con = nil
  3120. up_con:disconnect(); drag = nil
  3121. end
  3122. local bar_abs_pos = ScrollBarFrame.AbsolutePosition.y
  3123. local bar_drag = ScrollBarFrame.AbsoluteSize.y - ScrollThumbFrame.AbsoluteSize.y
  3124. local bar_abs_one = bar_abs_pos + bar_drag
  3125. y = y - mouse_offset
  3126. y = y < bar_abs_pos and bar_abs_pos or y > bar_abs_one and bar_abs_one or y
  3127. y = y - bar_abs_pos
  3128. Class:SetScrollPercent(y/(bar_drag))
  3129. end)
  3130. up_con = MouseDrag.MouseButton1Up:connect(function()
  3131. scrollEventID = tick()
  3132. MouseDrag.Parent = nil
  3133. ResetButtonColor(ScrollThumbFrame)
  3134. drag_con:disconnect(); drag_con = nil
  3135. up_con:disconnect(); drag = nil
  3136. end)
  3137. MouseDrag.Parent = GetScreen(ScrollFrame)
  3138. end)
  3139. end
  3140. function Class:Destroy()
  3141. ScrollFrame:Destroy()
  3142. MouseDrag:Destroy()
  3143. for k in pairs(Class) do
  3144. Class[k] = nil
  3145. end
  3146. setmetatable(Class,nil)
  3147. end
  3148. Update()
  3149. return Class
  3150. end
  3151. end
  3152. ----------------------------------------------------------------
  3153. ----------------------------------------------------------------
  3154. ----------------------------------------------------------------
  3155. ----------------------------------------------------------------
  3156. ---- Explorer panel
  3157. local explorerPanel = D_E_X.ExplorerPanel
  3158. Create(explorerPanel,{
  3159. BackgroundColor3 = GuiColor.Field;
  3160. BorderColor3 = GuiColor.Border;
  3161. Active = true;
  3162. })
  3163. local SettingsRemote = explorerPanel.Parent:WaitForChild("SettingsPanel"):WaitForChild("GetSetting")
  3164. local GetApiRemote = explorerPanel.Parent:WaitForChild("PropertiesFrame"):WaitForChild("GetApi")
  3165. local GetAwaitRemote = explorerPanel.Parent:WaitForChild("PropertiesFrame"):WaitForChild("GetAwaiting")
  3166. local bindSetAwaiting = explorerPanel.Parent:WaitForChild("PropertiesFrame"):WaitForChild("SetAwaiting")
  3167. local SaveInstanceWindow = explorerPanel.Parent:WaitForChild("SaveInstance")
  3168. local ConfirmationWindow = explorerPanel.Parent:WaitForChild("Confirmation")
  3169. local CautionWindow = explorerPanel.Parent:WaitForChild("Caution")
  3170. local TableCautionWindow = explorerPanel.Parent:WaitForChild("TableCaution")
  3171. local RemoteWindow = explorerPanel.Parent:WaitForChild("CallRemote")
  3172. local ScriptEditor = explorerPanel.Parent:WaitForChild("ScriptEditor")
  3173. local ScriptEditorEvent = ScriptEditor:WaitForChild("OpenScript")
  3174. local CurrentSaveInstanceWindow
  3175. local CurrentRemoteWindow
  3176. local lastSelectedNode
  3177. local DexStorage
  3178. local DexStorageMain
  3179. local DexStorageEnabled
  3180. if saveinstance then DexStorageEnabled = true end
  3181. if DexStorageEnabled then
  3182. DexStorage = Instance.new("Folder")
  3183. DexStorage.Name = "Dex"
  3184. DexStorageMain = Instance.new("Folder", DexStorage)
  3185. DexStorageMain.Name = "DexStorage"
  3186. end
  3187. local RunningScriptsStorage
  3188. local RunningScriptsStorageMain
  3189. local RunningScriptsStorageEnabled
  3190. if getscripts then RunningScriptsStorageEnabled = true end
  3191. if RunningScriptsStorageEnabled then
  3192. RunningScriptsStorage = Instance.new("Folder")
  3193. RunningScriptsStorage.Name = "Dex Internal Storage"
  3194. RunningScriptsStorageMain = Instance.new("Folder", RunningScriptsStorage)
  3195. RunningScriptsStorageMain.Name = "Running Scripts"
  3196. end
  3197. local UpvalueStorage
  3198. local UpvalueStorageVariables
  3199. local UpvalueStorageFunctions
  3200. local UpvalueStorageEnabled
  3201. if vars and funcs then UpvalueStorageEnabled = true end
  3202. if UpvalueStorageEnabled then
  3203. UpvalueStorage = Instance.new('Folder')
  3204. UpvalueStorage.Name = 'Upvalue Storage'
  3205. UpvalueStorageVariables = Instance.new("Folder", UpvalueStorage)
  3206. UpvalueStorageVariables.Name = "Upvalue Variables"
  3207. UpvalueStorageFunctions = Instance.new("Folder", UpvalueStorage)
  3208. UpvalueStorageFunctions.Name = "Upvalue Functions"
  3209. for i, v in pairs(vars) do
  3210. pcall(function()
  3211. local n = Instance.new('StringValue', UpvalueStorageVariables)
  3212. n.Name = tostring(i);
  3213. n.Value = tostring(v);
  3214. end)
  3215. end
  3216. for i, v in pairs(funcs) do
  3217. pcall(function()
  3218. local n = Instance.new('StringValue', UpvalueStorageFunctions)
  3219. n.Name = tostring(i);
  3220. n.Value = tostring(v);
  3221. end)
  3222. end
  3223. end
  3224. local listFrame = Create('Frame',{
  3225. Name = "List";
  3226. BackgroundTransparency = 1;
  3227. ClipsDescendants = true;
  3228. Position = UDim2.new(0,0,0,HEADER_SIZE);
  3229. Size = UDim2.new(1,-GUI_SIZE,1,-HEADER_SIZE);
  3230. Parent = explorerPanel;
  3231. })
  3232. local scrollBar = ScrollBar(false)
  3233. scrollBar.PageIncrement = 1
  3234. Create(scrollBar.GUI,{
  3235. Position = UDim2.new(1,-GUI_SIZE,0,HEADER_SIZE);
  3236. Size = UDim2.new(0,GUI_SIZE,1,-HEADER_SIZE);
  3237. Parent = explorerPanel;
  3238. })
  3239. local scrollBarH = ScrollBar(true)
  3240. scrollBarH.PageIncrement = GUI_SIZE
  3241. Create(scrollBarH.GUI,{
  3242. Position = UDim2.new(0,0,1,-GUI_SIZE);
  3243. Size = UDim2.new(1,-GUI_SIZE,0,GUI_SIZE);
  3244. Visible = false;
  3245. Parent = explorerPanel;
  3246. })
  3247. local headerFrame = Create('Frame',{
  3248. Name = "Header";
  3249. BackgroundColor3 = GuiColor.Background;
  3250. BorderColor3 = GuiColor.Border;
  3251. Position = UDim2.new(0,0,0,0);
  3252. Size = UDim2.new(1,0,0,HEADER_SIZE);
  3253. Parent = explorerPanel;
  3254. Create('TextLabel',{
  3255. Text = "Explorer";
  3256. BackgroundTransparency = 1;
  3257. TextColor3 = GuiColor.Text;
  3258. TextXAlignment = 'Left';
  3259. Font = FONT;
  3260. FontSize = FONT_SIZE;
  3261. Position = UDim2.new(0,4,0,0);
  3262. Size = UDim2.new(1,-4,0.5,0);
  3263. });
  3264. })
  3265. local explorerFilter = Create('TextBox',{
  3266. Text = "Filter Workspace";
  3267. BackgroundTransparency = 0.8;
  3268. TextColor3 = GuiColor.Text;
  3269. TextXAlignment = 'Left';
  3270. Font = FONT;
  3271. FontSize = FONT_SIZE;
  3272. Position = UDim2.new(0,4,0.5,0);
  3273. Size = UDim2.new(1,-8,0.5,-2);
  3274. });
  3275. explorerFilter.Parent = headerFrame
  3276. SetZIndexOnChanged(explorerPanel)
  3277. local function CreateColor3(r, g, b) return Color3.new(r/255,g/255,b/255) end
  3278. local Styles = {
  3279. Font = Enum.Font.Arial;
  3280. Margin = 5;
  3281. Black = CreateColor3(0,0,0);
  3282. White = CreateColor3(24,24,24);
  3283. }
  3284. local Row = {
  3285. Font = Styles.Font;
  3286. FontSize = Enum.FontSize.Size14;
  3287. TextXAlignment = Enum.TextXAlignment.Left;
  3288. TextColor = Styles.Black;
  3289. TextColorOver = Styles.White;
  3290. TextLockedColor = CreateColor3(155,155,155);
  3291. Height = 24;
  3292. BorderColor = CreateColor3(216/4,216/4,216/4);
  3293. BackgroundColor = Styles.White;
  3294. BackgroundColorAlternate = CreateColor3(32, 32, 32);
  3295. BackgroundColorMouseover = CreateColor3(40, 40, 40);
  3296. TitleMarginLeft = 15;
  3297. }
  3298. local DropDown = {
  3299. Font = Styles.Font;
  3300. FontSize = Enum.FontSize.Size14;
  3301. TextColor = CreateColor3(255,255,255);
  3302. TextColorOver = Color3.new(1, 1, 1);
  3303. TextXAlignment = Enum.TextXAlignment.Left;
  3304. Height = 16;
  3305. BackColor = Styles.White;
  3306. BackColorOver = CreateColor3(190, 90, 0);
  3307. BorderColor = CreateColor3(45,45,45);
  3308. BorderSizePixel = 2;
  3309. ArrowColor = CreateColor3(160/2,160/2,160/2);
  3310. ArrowColorOver = Styles.Black;
  3311. }
  3312. local currentRightClickMenu
  3313. local CurrentInsertObjectWindow
  3314. local CurrentFunctionCallerWindow
  3315. local RbxApi
  3316. function ClassCanCreate(IName)
  3317. local success,err = pcall(function() Instance.new(IName) end)
  3318. if err then
  3319. return false
  3320. else
  3321. return true
  3322. end
  3323. end
  3324. function GetClasses()
  3325. if RbxApi == nil then return {} end
  3326. local classTable = {}
  3327. for i,v in pairs(RbxApi.Classes) do
  3328. if ClassCanCreate(v.Name) then
  3329. table.insert(classTable,v.Name)
  3330. end
  3331. end
  3332. return classTable
  3333. end
  3334. local function sortAlphabetic(t, property)
  3335. table.sort(t,
  3336. function(x,y) return x[property] < y[property]
  3337. end)
  3338. end
  3339. local function FunctionIsHidden(functionData)
  3340. local tags = functionData["tags"]
  3341. for _,name in pairs(tags) do
  3342. if name == "deprecated"
  3343. or name == "hidden"
  3344. or name == "writeonly" then
  3345. return true
  3346. end
  3347. end
  3348. return false
  3349. end
  3350. local function GetAllFunctions(className)
  3351. local class = RbxApi.Classes[className]
  3352. local functions = {}
  3353. if not class then return functions end
  3354. while class do
  3355. if class.Name == "Instance" then break end
  3356. for _,nextFunction in pairs(class.Functions) do
  3357. if not FunctionIsHidden(nextFunction) then
  3358. table.insert(functions, nextFunction)
  3359. end
  3360. end
  3361. class = RbxApi.Classes[class.Superclass]
  3362. end
  3363. sortAlphabetic(functions, "Name")
  3364. return functions
  3365. end
  3366. function GetFunctions()
  3367. if RbxApi == nil then return {} end
  3368. local List = SelectionVar():Get()
  3369. if #List == 0 then return end
  3370. local MyObject = List[1]
  3371. local functionTable = {}
  3372. for i,v in pairs(GetAllFunctions(MyObject.ClassName)) do
  3373. table.insert(functionTable,v)
  3374. end
  3375. return functionTable
  3376. end
  3377. function CreateInsertObjectMenu(choices, currentChoice, readOnly, onClick)
  3378. local mouse = game:GetService'Players'.LocalPlayer:GetMouse()
  3379. local totalSize = explorerPanel.Parent.AbsoluteSize.y
  3380. if #choices == 0 then return end
  3381. table.sort(choices, function(a,b) return a < b end)
  3382. local frame = Instance.new("Frame")
  3383. frame.Name = "InsertObject"
  3384. frame.Size = UDim2.new(0, 200, 1, 0)
  3385. frame.BackgroundTransparency = 1
  3386. frame.Active = true
  3387. local menu = nil
  3388. local arrow = nil
  3389. local expanded = false
  3390. local margin = DropDown.BorderSizePixel;
  3391. --[[
  3392. local button = Instance.new("TextButton")
  3393. button.Font = Row.Font
  3394. button.FontSize = Row.FontSize
  3395. button.TextXAlignment = Row.TextXAlignment
  3396. button.BackgroundTransparency = 1
  3397. button.TextColor3 = Row.TextColor
  3398. if readOnly then
  3399. button.TextColor3 = Row.TextLockedColor
  3400. end
  3401. button.Text = currentChoice
  3402. button.Size = UDim2.new(1, -2 * Styles.Margin, 1, 0)
  3403. button.Position = UDim2.new(0, Styles.Margin, 0, 0)
  3404. button.Parent = frame
  3405. --]]
  3406. local function hideMenu()
  3407. expanded = false
  3408. --showArrow(DropDown.ArrowColor)
  3409. if frame then
  3410. --frame:Destroy()
  3411. CurrentInsertObjectWindow.Visible = false
  3412. end
  3413. end
  3414. local function showMenu()
  3415. expanded = true
  3416. menu = Instance.new("ScrollingFrame")
  3417. menu.Size = UDim2.new(0,200,1,0)
  3418. menu.CanvasSize = UDim2.new(0, 200, 0, #choices * DropDown.Height)
  3419. menu.Position = UDim2.new(0, margin, 0, 0)
  3420. menu.BackgroundTransparency = 0
  3421. menu.BackgroundColor3 = DropDown.BackColor
  3422. menu.BorderColor3 = DropDown.BorderColor
  3423. menu.BorderSizePixel = DropDown.BorderSizePixel
  3424. menu.TopImage = "rbxasset://textures/blackBkg_square.png"
  3425. menu.MidImage = "rbxasset://textures/blackBkg_square.png"
  3426. menu.BottomImage = "rbxasset://textures/blackBkg_square.png"
  3427. menu.Active = true
  3428. menu.ZIndex = 5
  3429. menu.Parent = frame
  3430. --local parentFrameHeight = script.Parent.List.Size.Y.Offset
  3431. --local rowHeight = mouse.Y
  3432. --if (rowHeight + menu.Size.Y.Offset) > parentFrameHeight then
  3433. -- menu.Position = UDim2.new(0, margin, 0, -1 * (#choices * DropDown.Height) - margin)
  3434. --end
  3435. local function choice(name)
  3436. onClick(name)
  3437. hideMenu()
  3438. end
  3439. for i,name in pairs(choices) do
  3440. local option = CreateRightClickMenuItem(name, function()
  3441. choice(name)
  3442. end,1)
  3443. option.Size = UDim2.new(1, 0, 0, 20)
  3444. option.Position = UDim2.new(0, 0, 0, (i - 1) * DropDown.Height)
  3445. option.ZIndex = menu.ZIndex
  3446. option.Parent = menu
  3447. end
  3448. end
  3449. showMenu()
  3450. return frame
  3451. end
  3452. function CreateFunctionCallerMenu(choices, currentChoice, readOnly, onClick)
  3453. local mouse = game:GetService'Players'.LocalPlayer:GetMouse()
  3454. local totalSize = explorerPanel.Parent.AbsoluteSize.y
  3455. if #choices == 0 then return end
  3456. table.sort(choices, function(a,b) return a.Name < b.Name end)
  3457. local frame = Instance.new("Frame")
  3458. frame.Name = "InsertObject"
  3459. frame.Size = UDim2.new(0, 200, 1, 0)
  3460. frame.BackgroundTransparency = 1
  3461. frame.Active = true
  3462. local menu = nil
  3463. local arrow = nil
  3464. local expanded = false
  3465. local margin = DropDown.BorderSizePixel;
  3466. local function hideMenu()
  3467. expanded = false
  3468. --showArrow(DropDown.ArrowColor)
  3469. if frame then
  3470. --frame:Destroy()
  3471. CurrentInsertObjectWindow.Visible = false
  3472. end
  3473. end
  3474. local function showMenu()
  3475. expanded = true
  3476. menu = Instance.new("ScrollingFrame")
  3477. menu.Size = UDim2.new(0,300,1,0)
  3478. menu.CanvasSize = UDim2.new(0, 300, 0, #choices * DropDown.Height)
  3479. menu.Position = UDim2.new(0, margin, 0, 0)
  3480. menu.BackgroundTransparency = 0
  3481. menu.BackgroundColor3 = DropDown.BackColor
  3482. menu.BorderColor3 = DropDown.BorderColor
  3483. menu.BorderSizePixel = DropDown.BorderSizePixel
  3484. menu.TopImage = "rbxasset://textures/blackBkg_square.png"
  3485. menu.MidImage = "rbxasset://textures/blackBkg_square.png"
  3486. menu.BottomImage = "rbxasset://textures/blackBkg_square.png"
  3487. menu.Active = true
  3488. menu.ZIndex = 5
  3489. menu.Parent = frame
  3490. --local parentFrameHeight = script.Parent.List.Size.Y.Offset
  3491. --local rowHeight = mouse.Y
  3492. --if (rowHeight + menu.Size.Y.Offset) > parentFrameHeight then
  3493. -- menu.Position = UDim2.new(0, margin, 0, -1 * (#choices * DropDown.Height) - margin)
  3494. --end
  3495. local function GetParameters(functionData)
  3496. local paraString = ""
  3497. paraString = paraString.."("
  3498. for i,v in pairs(functionData.Arguments) do
  3499. paraString = paraString..v.Type.." "..v.Name
  3500. if i < #functionData.Arguments then
  3501. paraString = paraString..", "
  3502. end
  3503. end
  3504. paraString = paraString..")"
  3505. return paraString
  3506. end
  3507. local function choice(name)
  3508. onClick(name)
  3509. hideMenu()
  3510. end
  3511. for i,name in pairs(choices) do
  3512. local option = CreateRightClickMenuItem(name.ReturnType.." "..name.Name..GetParameters(name), function()
  3513. choice(name)
  3514. end,2)
  3515. option.Size = UDim2.new(1, 0, 0, 20)
  3516. option.Position = UDim2.new(0, 0, 0, (i - 1) * DropDown.Height)
  3517. option.ZIndex = menu.ZIndex
  3518. option.Parent = menu
  3519. end
  3520. end
  3521. showMenu()
  3522. return frame
  3523. end
  3524. function CreateInsertObject()
  3525. if not CurrentInsertObjectWindow then return end
  3526. CurrentInsertObjectWindow.Visible = true
  3527. if currentRightClickMenu and CurrentInsertObjectWindow.Visible then
  3528. CurrentInsertObjectWindow.Position = UDim2.new(0,currentRightClickMenu.Position.X.Offset-currentRightClickMenu.Size.X.Offset-2,0,0)
  3529. end
  3530. if CurrentInsertObjectWindow.Visible then
  3531. CurrentInsertObjectWindow.Parent = explorerPanel.Parent
  3532. end
  3533. end
  3534. function CreateFunctionCaller()
  3535. if CurrentFunctionCallerWindow then
  3536. CurrentFunctionCallerWindow:Destroy()
  3537. CurrentFunctionCallerWindow = nil
  3538. end
  3539. CurrentFunctionCallerWindow = CreateFunctionCallerMenu(
  3540. GetFunctions(),
  3541. "",
  3542. false,
  3543. function(option)
  3544. CurrentFunctionCallerWindow:Destroy()
  3545. CurrentFunctionCallerWindow = nil
  3546. local list = SelectionVar():Get()
  3547. for i = 1,#list do
  3548. pcall(function() Instance.new(option,list[i]) end)
  3549. end
  3550. -- print(option.Name .. " selected to be called. Function caller being added soon, please wait!")
  3551. --CallFunction()
  3552. DestroyRightClick()
  3553. end
  3554. )
  3555. if currentRightClickMenu and CurrentFunctionCallerWindow then
  3556. CurrentFunctionCallerWindow.Position = UDim2.new(0,currentRightClickMenu.Position.X.Offset-currentRightClickMenu.Size.X.Offset*1.5-2,0,0)
  3557. end
  3558. if CurrentFunctionCallerWindow then
  3559. CurrentFunctionCallerWindow.Parent = explorerPanel.Parent
  3560. end
  3561. end
  3562. local UserInputService = game:GetService'UserInputService';
  3563. function GetMouseLocation()
  3564. return UserInputService:GetMouseLocation() - Vector2.new(0, 36);
  3565. end
  3566. function MouseHoveringOver(GuiObject)
  3567. local MLocation = GetMouseLocation();
  3568. 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));
  3569. end
  3570. function CreateRightClickMenuItem(text, onClick, insObj)
  3571. local button = Instance.new("TextButton")
  3572. button.Font = DropDown.Font
  3573. button.FontSize = DropDown.FontSize
  3574. button.TextColor3 = DropDown.TextColor
  3575. button.TextXAlignment = DropDown.TextXAlignment
  3576. button.BackgroundColor3 = DropDown.BackColor
  3577. button.AutoButtonColor = false
  3578. button.BorderSizePixel = 0
  3579. button.Active = true
  3580. button.Text = text
  3581. if insObj == 1 then
  3582. local newIcon = Icon(nil,ExplorerIndex[text] or 0)
  3583. newIcon.Position = UDim2.new(0,0,0,2)
  3584. newIcon.Size = UDim2.new(0,16,0,16)
  3585. newIcon.IconMap.ZIndex = 5
  3586. newIcon.Parent = button
  3587. button.Text = "\t\t"..button.Text
  3588. elseif insObj == 2 then
  3589. button.FontSize = Enum.FontSize.Size11
  3590. end
  3591. spawn(function()
  3592. while button.Parent ~= nil and button.Parent.Parent ~= nil do
  3593. game:service'RunService'.Stepped:wait();
  3594. if not MouseHoveringOver(button) then
  3595. button.TextColor3 = DropDown.TextColor
  3596. button.BackgroundColor3 = DropDown.BackColor
  3597. end
  3598. end
  3599. end)
  3600. button.MouseEnter:connect(function()
  3601. button.TextColor3 = DropDown.TextColorOver
  3602. button.BackgroundColor3 = DropDown.BackColorOver
  3603. if not insObj and CurrentInsertObjectWindow then
  3604. if CurrentInsertObjectWindow.Visible == false and button.Text == "Insert Object" then
  3605. CreateInsertObject()
  3606. elseif CurrentInsertObjectWindow.Visible and button.Text ~= "Insert Object" then
  3607. CurrentInsertObjectWindow.Visible = false
  3608. end
  3609. end
  3610. if not insObj then
  3611. if CurrentFunctionCallerWindow and button.Text ~= "Call Function" then
  3612. CurrentFunctionCallerWindow:Destroy()
  3613. CurrentFunctionCallerWindow = nil
  3614. elseif button.Text == "Call Function" then
  3615. CreateFunctionCaller()
  3616. end
  3617. end
  3618. end)
  3619. button.MouseLeave:connect(function()
  3620. button.TextColor3 = DropDown.TextColor
  3621. button.BackgroundColor3 = DropDown.BackColor
  3622. end)
  3623. button.MouseButton1Click:connect(function()
  3624. button.TextColor3 = DropDown.TextColor
  3625. button.BackgroundColor3 = DropDown.BackColor
  3626. onClick(text)
  3627. end)
  3628. return button
  3629. end
  3630. function CreateRightClickMenu(choices, currentChoice, readOnly, onClick)
  3631. local mouse = game:GetService'Players'.LocalPlayer:GetMouse()
  3632. local frame = Instance.new("Frame")
  3633. frame.Name = "DropDown"
  3634. frame.Size = UDim2.new(0, 200, 1, 0)
  3635. frame.BackgroundTransparency = 1
  3636. frame.Active = true
  3637. local menu = nil
  3638. local arrow = nil
  3639. local expanded = false
  3640. local margin = DropDown.BorderSizePixel;
  3641. --[[
  3642. local button = Instance.new("TextButton")
  3643. button.Font = Row.Font
  3644. button.FontSize = Row.FontSize
  3645. button.TextXAlignment = Row.TextXAlignment
  3646. button.BackgroundTransparency = 1
  3647. button.TextColor3 = Row.TextColor
  3648. if readOnly then
  3649. button.TextColor3 = Row.TextLockedColor
  3650. end
  3651. button.Text = currentChoice
  3652. button.Size = UDim2.new(1, -2 * Styles.Margin, 1, 0)
  3653. button.Position = UDim2.new(0, Styles.Margin, 0, 0)
  3654. button.Parent = frame
  3655. --]]
  3656. local function hideMenu()
  3657. expanded = false
  3658. --showArrow(DropDown.ArrowColor)
  3659. if frame then
  3660. frame:Destroy()
  3661. DestroyRightClick()
  3662. end
  3663. end
  3664. local function showMenu()
  3665. expanded = true
  3666. menu = Instance.new("Frame")
  3667. menu.Size = UDim2.new(0, 200, 0, #choices * DropDown.Height)
  3668. menu.Position = UDim2.new(0, margin, 0, 5)
  3669. menu.BackgroundTransparency = 0
  3670. menu.BackgroundColor3 = DropDown.BackColor
  3671. menu.BorderColor3 = DropDown.BorderColor
  3672. menu.BorderSizePixel = DropDown.BorderSizePixel
  3673. menu.Active = true
  3674. menu.ZIndex = 5
  3675. menu.Parent = frame
  3676. --local parentFrameHeight = script.Parent.List.Size.Y.Offset
  3677. --local rowHeight = mouse.Y
  3678. --if (rowHeight + menu.Size.Y.Offset) > parentFrameHeight then
  3679. -- menu.Position = UDim2.new(0, margin, 0, -1 * (#choices * DropDown.Height) - margin)
  3680. --end
  3681. local function choice(name)
  3682. onClick(name)
  3683. hideMenu()
  3684. end
  3685. for i,name in pairs(choices) do
  3686. local option = CreateRightClickMenuItem(name, function()
  3687. choice(name)
  3688. end)
  3689. option.Size = UDim2.new(1, 0, 0, 20)
  3690. option.Position = UDim2.new(0, 0, 0, (i - 1) * DropDown.Height)
  3691. option.ZIndex = menu.ZIndex
  3692. option.Parent = menu
  3693. end
  3694. end
  3695. showMenu()
  3696. return frame
  3697. end
  3698. function checkMouseInGui(gui)
  3699. if gui == nil then return false end
  3700. local plrMouse = game:GetService'Players'.LocalPlayer:GetMouse()
  3701. local guiPosition = gui.AbsolutePosition
  3702. local guiSize = gui.AbsoluteSize
  3703. 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
  3704. return true
  3705. else
  3706. return false
  3707. end
  3708. end
  3709. local clipboard = {}
  3710. local function delete(o)
  3711. o.Parent = nil
  3712. end
  3713. local getTextWidth do
  3714. local text = Create('TextLabel',{
  3715. Name = "TextWidth";
  3716. TextXAlignment = 'Left';
  3717. TextYAlignment = 'Center';
  3718. Font = FONT;
  3719. FontSize = FONT_SIZE;
  3720. Text = "";
  3721. Position = UDim2.new(0,0,0,0);
  3722. Size = UDim2.new(1,0,1,0);
  3723. Visible = false;
  3724. Parent = explorerPanel;
  3725. })
  3726. function getTextWidth(s)
  3727. text.Text = s
  3728. return text.TextBounds.x
  3729. end
  3730. end
  3731. local nameScanned = false
  3732. -- Holds the game tree converted to a list.
  3733. local TreeList = {}
  3734. -- Matches objects to their tree node representation.
  3735. local NodeLookup = {}
  3736. local nodeWidth = 0
  3737. local QuickButtons = {}
  3738. function filteringWorkspace()
  3739. if explorerFilter.Text ~= "" and explorerFilter.Text ~= "Filter Workspace" then
  3740. return true
  3741. end
  3742. return false
  3743. end
  3744. function lookForAName(obj,name)
  3745. for i,v in pairs(obj:GetDescendants()) do
  3746. if string.find(string.lower(v.Name),string.lower(name)) then nameScanned = true end
  3747. -- lookForAName(v,name)
  3748. end
  3749. end
  3750. function scanName(obj)
  3751. nameScanned = false
  3752. if string.find(string.lower(obj.Name),string.lower(explorerFilter.Text)) then
  3753. nameScanned = true
  3754. else
  3755. lookForAName(obj,explorerFilter.Text)
  3756. end
  3757. return nameScanned
  3758. end
  3759. function updateActions()
  3760. for i,v in pairs(QuickButtons) do
  3761. if v.Cond() then
  3762. v.Toggle(true)
  3763. else
  3764. v.Toggle(false)
  3765. end
  3766. end
  3767. end
  3768. local updateList,rawUpdateList,updateScroll,rawUpdateSize do
  3769. local function r(t)
  3770. for i = 1,#t do
  3771. if not filteringWorkspace() or scanName(t[i].Object) then
  3772. TreeList[#TreeList+1] = t[i]
  3773. local w = (t[i].Depth)*(2+ENTRY_PADDING+GUI_SIZE) + 2 + ENTRY_SIZE + 4 + getTextWidth(t[i].Object.Name) + 4
  3774. if w > nodeWidth then
  3775. nodeWidth = w
  3776. end
  3777. if t[i].Expanded or filteringWorkspace() then
  3778. r(t[i])
  3779. end
  3780. end
  3781. end
  3782. end
  3783. function rawUpdateSize()
  3784. scrollBarH.TotalSpace = nodeWidth
  3785. scrollBarH.VisibleSpace = listFrame.AbsoluteSize.x
  3786. scrollBarH:Update()
  3787. local visible = scrollBarH:CanScrollDown() or scrollBarH:CanScrollUp()
  3788. scrollBarH.GUI.Visible = visible
  3789. listFrame.Size = UDim2.new(1,-GUI_SIZE,1,-GUI_SIZE*(visible and 1 or 0) - HEADER_SIZE)
  3790. scrollBar.VisibleSpace = math.ceil(listFrame.AbsoluteSize.y/ENTRY_BOUND)
  3791. scrollBar.GUI.Size = UDim2.new(0,GUI_SIZE,1,-GUI_SIZE*(visible and 1 or 0) - HEADER_SIZE)
  3792. scrollBar.TotalSpace = #TreeList+1
  3793. scrollBar:Update()
  3794. end
  3795. function rawUpdateList()
  3796. -- Clear then repopulate the entire list. It appears to be fast enough.
  3797. TreeList = {}
  3798. nodeWidth = 0
  3799. r(NodeLookup[workspace.Parent])
  3800. if DexStorageEnabled then
  3801. r(NodeLookup[DexStorage])
  3802. end
  3803. if RunningScriptsStorageEnabled then
  3804. r(NodeLookup[RunningScriptsStorage])
  3805. end
  3806. if UpvalueStorageEnabled then
  3807. r(NodeLookup[UpvalueStorage])
  3808. end
  3809. rawUpdateSize()
  3810. updateActions()
  3811. end
  3812. -- Adding or removing large models will cause many updates to occur. We
  3813. -- can reduce the number of updates by creating a delay, then dropping any
  3814. -- updates that occur during the delay.
  3815. local updatingList = false
  3816. function updateList()
  3817. if updatingList then return end
  3818. updatingList = true
  3819. wait(2.25)
  3820. updatingList = false
  3821. rawUpdateList()
  3822. end
  3823. local updatingScroll = false
  3824. function updateScroll()
  3825. if updatingScroll then return end
  3826. updatingScroll = true
  3827. wait(2.25)
  3828. updatingScroll = false
  3829. scrollBar:Update()
  3830. end
  3831. end
  3832. local Selection do
  3833. local bindGetSelection = explorerPanel:FindFirstChild("GetSelection")
  3834. if not bindGetSelection then
  3835. bindGetSelection = Create('BindableFunction',{Name = "GetSelection"})
  3836. bindGetSelection.Parent = explorerPanel
  3837. end
  3838. local bindSetSelection = explorerPanel:FindFirstChild("SetSelection")
  3839. if not bindSetSelection then
  3840. bindSetSelection = Create('BindableFunction',{Name = "SetSelection"})
  3841. bindSetSelection.Parent = explorerPanel
  3842. end
  3843. local bindSelectionChanged = explorerPanel:FindFirstChild("SelectionChanged")
  3844. if not bindSelectionChanged then
  3845. bindSelectionChanged = Create('BindableEvent',{Name = "SelectionChanged"})
  3846. bindSelectionChanged.Parent = explorerPanel
  3847. end
  3848. local SelectionList = {}
  3849. local SelectionSet = {}
  3850. local Updates = true
  3851. Selection = {
  3852. Selected = SelectionSet;
  3853. List = SelectionList;
  3854. }
  3855. local function addObject(object)
  3856. -- list update
  3857. local lupdate = false
  3858. -- scroll update
  3859. local supdate = false
  3860. if not SelectionSet[object] then
  3861. local node = NodeLookup[object]
  3862. if node then
  3863. table.insert(SelectionList,object)
  3864. SelectionSet[object] = true
  3865. node.Selected = true
  3866. -- expand all ancestors so that selected node becomes visible
  3867. node = node.Parent
  3868. while node do
  3869. if not node.Expanded then
  3870. node.Expanded = true
  3871. lupdate = true
  3872. end
  3873. node = node.Parent
  3874. end
  3875. supdate = true
  3876. end
  3877. end
  3878. return lupdate,supdate
  3879. end
  3880. function Selection:Set(objects)
  3881. local lupdate = false
  3882. local supdate = false
  3883. if #SelectionList > 0 then
  3884. for i = 1,#SelectionList do
  3885. local object = SelectionList[i]
  3886. local node = NodeLookup[object]
  3887. if node then
  3888. node.Selected = false
  3889. SelectionSet[object] = nil
  3890. end
  3891. end
  3892. SelectionList = {}
  3893. Selection.List = SelectionList
  3894. supdate = true
  3895. end
  3896. for i = 1,#objects do
  3897. local l,s = addObject(objects[i])
  3898. lupdate = l or lupdate
  3899. supdate = s or supdate
  3900. end
  3901. if lupdate then
  3902. rawUpdateList()
  3903. supdate = true
  3904. elseif supdate then
  3905. scrollBar:Update()
  3906. end
  3907. if supdate then
  3908. bindSelectionChanged:Fire()
  3909. updateActions()
  3910. end
  3911. end
  3912. function Selection:Add(object)
  3913. local l,s = addObject(object)
  3914. if l then
  3915. rawUpdateList()
  3916. if Updates then
  3917. bindSelectionChanged:Fire()
  3918. updateActions()
  3919. end
  3920. elseif s then
  3921. scrollBar:Update()
  3922. if Updates then
  3923. bindSelectionChanged:Fire()
  3924. updateActions()
  3925. end
  3926. end
  3927. end
  3928. function Selection:StopUpdates()
  3929. Updates = false
  3930. end
  3931. function Selection:ResumeUpdates()
  3932. Updates = true
  3933. bindSelectionChanged:Fire()
  3934. updateActions()
  3935. end
  3936. function Selection:Remove(object,noupdate)
  3937. if SelectionSet[object] then
  3938. local node = NodeLookup[object]
  3939. if node then
  3940. node.Selected = false
  3941. SelectionSet[object] = nil
  3942. for i = 1,#SelectionList do
  3943. if SelectionList[i] == object then
  3944. table.remove(SelectionList,i)
  3945. break
  3946. end
  3947. end
  3948. if not noupdate then
  3949. scrollBar:Update()
  3950. end
  3951. bindSelectionChanged:Fire()
  3952. updateActions()
  3953. end
  3954. end
  3955. end
  3956. function Selection:Get()
  3957. local list = {}
  3958. for i = 1,#SelectionList do
  3959. list[i] = SelectionList[i]
  3960. end
  3961. return list
  3962. end
  3963. bindSetSelection.OnInvoke = function(...)
  3964. Selection:Set(...)
  3965. end
  3966. bindGetSelection.OnInvoke = function()
  3967. return Selection:Get()
  3968. end
  3969. end
  3970. function CreateCaution(title,msg)
  3971. local newCaution = CautionWindow:Clone()
  3972. newCaution.Title.Text = title
  3973. newCaution.MainWindow.Desc.Text = msg
  3974. newCaution.Parent = explorerPanel.Parent
  3975. newCaution.Visible = true
  3976. newCaution.MainWindow.Ok.MouseButton1Up:connect(function()
  3977. newCaution:Destroy()
  3978. end)
  3979. end
  3980. function CreateTableCaution(title,msg)
  3981. if type(msg) ~= "table" then return CreateCaution(title,tostring(msg)) end
  3982. local newCaution = TableCautionWindow:Clone()
  3983. newCaution.Title.Text = title
  3984. local TableList = newCaution.MainWindow.TableResults
  3985. local TableTemplate = newCaution.MainWindow.TableTemplate
  3986. for i,v in pairs(msg) do
  3987. local newResult = TableTemplate:Clone()
  3988. newResult.Type.Text = type(v)
  3989. newResult.Value.Text = tostring(v)
  3990. newResult.Position = UDim2.new(0,0,0,#TableList:GetChildren() * 20)
  3991. newResult.Parent = TableList
  3992. TableList.CanvasSize = UDim2.new(0,0,0,#TableList:GetChildren() * 20)
  3993. newResult.Visible = true
  3994. end
  3995. newCaution.Parent = explorerPanel.Parent
  3996. newCaution.Visible = true
  3997. newCaution.MainWindow.Ok.MouseButton1Up:connect(function()
  3998. newCaution:Destroy()
  3999. end)
  4000. end
  4001. local function Split(str, delimiter)
  4002. local start = 1
  4003. local t = {}
  4004. while true do
  4005. local pos = string.find (str, delimiter, start, true)
  4006. if not pos then
  4007. break
  4008. end
  4009. table.insert (t, string.sub (str, start, pos - 1))
  4010. start = pos + string.len (delimiter)
  4011. end
  4012. table.insert (t, string.sub (str, start))
  4013. return t
  4014. end
  4015. local function ToValue(value,type)
  4016. if type == "Vector2" then
  4017. local list = Split(value,",")
  4018. if #list < 2 then return nil end
  4019. local x = tonumber(list[1]) or 0
  4020. local y = tonumber(list[2]) or 0
  4021. return Vector2.new(x,y)
  4022. elseif type == "Vector3" then
  4023. local list = Split(value,",")
  4024. if #list < 3 then return nil end
  4025. local x = tonumber(list[1]) or 0
  4026. local y = tonumber(list[2]) or 0
  4027. local z = tonumber(list[3]) or 0
  4028. return Vector3.new(x,y,z)
  4029. elseif type == "Color3" then
  4030. local list = Split(value,",")
  4031. if #list < 3 then return nil end
  4032. local r = tonumber(list[1]) or 0
  4033. local g = tonumber(list[2]) or 0
  4034. local b = tonumber(list[3]) or 0
  4035. return Color3.new(r/255,g/255, b/255)
  4036. elseif type == "UDim2" then
  4037. local list = Split(string.gsub(string.gsub(value, "{", ""),"}",""),",")
  4038. if #list < 4 then return nil end
  4039. local xScale = tonumber(list[1]) or 0
  4040. local xOffset = tonumber(list[2]) or 0
  4041. local yScale = tonumber(list[3]) or 0
  4042. local yOffset = tonumber(list[4]) or 0
  4043. return UDim2.new(xScale, xOffset, yScale, yOffset)
  4044. elseif type == "Number" then
  4045. return tonumber(value)
  4046. elseif type == "String" then
  4047. return value
  4048. elseif type == "NumberRange" then
  4049. local list = Split(value,",")
  4050. if #list == 1 then
  4051. if tonumber(list[1]) == nil then return nil end
  4052. local newVal = tonumber(list[1]) or 0
  4053. return NumberRange.new(newVal)
  4054. end
  4055. if #list < 2 then return nil end
  4056. local x = tonumber(list[1]) or 0
  4057. local y = tonumber(list[2]) or 0
  4058. return NumberRange.new(x,y)
  4059. elseif type == "Script" then
  4060. local success,err = ypcall(function()
  4061. _G.D_E_X_DONOTUSETHISPLEASE = nil
  4062. loadstring(
  4063. "_G.D_E_X_DONOTUSETHISPLEASE = "..value
  4064. )()
  4065. return _G.D_E_X_DONOTUSETHISPLEASE
  4066. end)
  4067. if err then
  4068. return nil
  4069. end
  4070. else
  4071. return nil
  4072. end
  4073. end
  4074. local function ToPropValue(value,type)
  4075. if type == "Vector2" then
  4076. local list = Split(value,",")
  4077. if #list < 2 then return nil end
  4078. local x = tonumber(list[1]) or 0
  4079. local y = tonumber(list[2]) or 0
  4080. return Vector2.new(x,y)
  4081. elseif type == "Vector3" then
  4082. local list = Split(value,",")
  4083. if #list < 3 then return nil end
  4084. local x = tonumber(list[1]) or 0
  4085. local y = tonumber(list[2]) or 0
  4086. local z = tonumber(list[3]) or 0
  4087. return Vector3.new(x,y,z)
  4088. elseif type == "Color3" then
  4089. local list = Split(value,",")
  4090. if #list < 3 then return nil end
  4091. local r = tonumber(list[1]) or 0
  4092. local g = tonumber(list[2]) or 0
  4093. local b = tonumber(list[3]) or 0
  4094. return Color3.new(r/255,g/255, b/255)
  4095. elseif type == "UDim2" then
  4096. local list = Split(string.gsub(string.gsub(value, "{", ""),"}",""),",")
  4097. if #list < 4 then return nil end
  4098. local xScale = tonumber(list[1]) or 0
  4099. local xOffset = tonumber(list[2]) or 0
  4100. local yScale = tonumber(list[3]) or 0
  4101. local yOffset = tonumber(list[4]) or 0
  4102. return UDim2.new(xScale, xOffset, yScale, yOffset)
  4103. elseif type == "Content" then
  4104. return value
  4105. elseif type == "float" or type == "int" or type == "double" then
  4106. return tonumber(value)
  4107. elseif type == "string" then
  4108. return value
  4109. elseif type == "NumberRange" then
  4110. local list = Split(value,",")
  4111. if #list == 1 then
  4112. if tonumber(list[1]) == nil then return nil end
  4113. local newVal = tonumber(list[1]) or 0
  4114. return NumberRange.new(newVal)
  4115. end
  4116. if #list < 2 then return nil end
  4117. local x = tonumber(list[1]) or 0
  4118. local y = tonumber(list[2]) or 0
  4119. return NumberRange.new(x,y)
  4120. elseif string.sub(value,1,4) == "Enum" then
  4121. local getEnum = value
  4122. while true do
  4123. local x,y = string.find(getEnum,".")
  4124. if y then
  4125. getEnum = string.sub(getEnum,y+1)
  4126. else
  4127. break
  4128. end
  4129. end
  4130. -- print(getEnum)
  4131. return getEnum
  4132. else
  4133. return nil
  4134. end
  4135. end
  4136. function PromptRemoteCaller(inst)
  4137. if CurrentRemoteWindow then
  4138. CurrentRemoteWindow:Destroy()
  4139. CurrentRemoteWindow = nil
  4140. end
  4141. CurrentRemoteWindow = RemoteWindow:Clone()
  4142. CurrentRemoteWindow.Parent = explorerPanel.Parent
  4143. CurrentRemoteWindow.Visible = true
  4144. local displayValues = false
  4145. local ArgumentList = CurrentRemoteWindow.MainWindow.Arguments
  4146. local ArgumentTemplate = CurrentRemoteWindow.MainWindow.ArgumentTemplate
  4147. if inst:IsA("RemoteEvent") then
  4148. CurrentRemoteWindow.Title.Text = "Fire Event"
  4149. CurrentRemoteWindow.MainWindow.Ok.Text = "Fire"
  4150. CurrentRemoteWindow.MainWindow.DisplayReturned.Visible = false
  4151. CurrentRemoteWindow.MainWindow.Desc2.Visible = false
  4152. end
  4153. local newArgument = ArgumentTemplate:Clone()
  4154. newArgument.Parent = ArgumentList
  4155. newArgument.Visible = true
  4156. newArgument.Type.MouseButton1Down:connect(function()
  4157. createDDown(newArgument.Type,function(choice)
  4158. newArgument.Type.Text = choice
  4159. end,"Script","Number","String","Color3","Vector3","Vector2","UDim2","NumberRange")
  4160. end)
  4161. CurrentRemoteWindow.MainWindow.Ok.MouseButton1Up:connect(function()
  4162. if CurrentRemoteWindow and inst.Parent ~= nil then
  4163. local MyArguments = {}
  4164. for i,v in pairs(ArgumentList:GetChildren()) do
  4165. table.insert(MyArguments,ToValue(v.Value.Text,v.Type.Text))
  4166. end
  4167. if inst:IsA("RemoteFunction") then
  4168. if displayValues then
  4169. spawn(function()
  4170. local myResults = inst:InvokeServer(unpack(MyArguments))
  4171. if myResults then
  4172. CreateTableCaution("Remote Caller",myResults)
  4173. else
  4174. CreateCaution("Remote Caller","This remote did not return anything.")
  4175. end
  4176. end)
  4177. else
  4178. spawn(function()
  4179. inst:InvokeServer(unpack(MyArguments))
  4180. end)
  4181. end
  4182. else
  4183. inst:FireServer(unpack(MyArguments))
  4184. end
  4185. CurrentRemoteWindow:Destroy()
  4186. CurrentRemoteWindow = nil
  4187. end
  4188. end)
  4189. CurrentRemoteWindow.MainWindow.Add.MouseButton1Up:connect(function()
  4190. if CurrentRemoteWindow then
  4191. local newArgument = ArgumentTemplate:Clone()
  4192. newArgument.Position = UDim2.new(0,0,0,#ArgumentList:GetChildren() * 20)
  4193. newArgument.Parent = ArgumentList
  4194. ArgumentList.CanvasSize = UDim2.new(0,0,0,#ArgumentList:GetChildren() * 20)
  4195. newArgument.Visible = true
  4196. newArgument.Type.MouseButton1Down:connect(function()
  4197. createDDown(newArgument.Type,function(choice)
  4198. newArgument.Type.Text = choice
  4199. end,"Script","Number","String","Color3","Vector3","Vector2","UDim2","NumberRange")
  4200. end)
  4201. end
  4202. end)
  4203. CurrentRemoteWindow.MainWindow.Subtract.MouseButton1Up:connect(function()
  4204. if CurrentRemoteWindow then
  4205. if #ArgumentList:GetChildren() > 1 then
  4206. ArgumentList:GetChildren()[#ArgumentList:GetChildren()]:Destroy()
  4207. ArgumentList.CanvasSize = UDim2.new(0,0,0,#ArgumentList:GetChildren() * 20)
  4208. end
  4209. end
  4210. end)
  4211. CurrentRemoteWindow.MainWindow.Cancel.MouseButton1Up:connect(function()
  4212. if CurrentRemoteWindow then
  4213. CurrentRemoteWindow:Destroy()
  4214. CurrentRemoteWindow = nil
  4215. end
  4216. end)
  4217. CurrentRemoteWindow.MainWindow.DisplayReturned.MouseButton1Up:connect(function()
  4218. if displayValues then
  4219. displayValues = false
  4220. CurrentRemoteWindow.MainWindow.DisplayReturned.enabled.Visible = false
  4221. else
  4222. displayValues = true
  4223. CurrentRemoteWindow.MainWindow.DisplayReturned.enabled.Visible = true
  4224. end
  4225. end)
  4226. end
  4227. function PromptSaveInstance(inst)
  4228. 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
  4229. if CurrentSaveInstanceWindow then
  4230. CurrentSaveInstanceWindow:Destroy()
  4231. CurrentSaveInstanceWindow = nil
  4232. if explorerPanel.Parent:FindFirstChild("SaveInstanceOverwriteCaution") then
  4233. explorerPanel.Parent.SaveInstanceOverwriteCaution:Destroy()
  4234. end
  4235. end
  4236. CurrentSaveInstanceWindow = SaveInstanceWindow:Clone()
  4237. CurrentSaveInstanceWindow.Parent = explorerPanel.Parent
  4238. CurrentSaveInstanceWindow.Visible = true
  4239. local filename = CurrentSaveInstanceWindow.MainWindow.FileName
  4240. local saveObjects = true
  4241. local overwriteCaution = false
  4242. CurrentSaveInstanceWindow.MainWindow.Save.MouseButton1Up:connect(function()
  4243. if readfile and getelysianpath then
  4244. if readfile(getelysianpath()..filename.Text..".rbxmx") then
  4245. if not overwriteCaution then
  4246. overwriteCaution = true
  4247. local newCaution = ConfirmationWindow:Clone()
  4248. newCaution.Name = "SaveInstanceOverwriteCaution"
  4249. newCaution.MainWindow.Desc.Text = "The file, "..filename.Text..".rbxmx, already exists. Overwrite?"
  4250. newCaution.Parent = explorerPanel.Parent
  4251. newCaution.Visible = true
  4252. newCaution.MainWindow.Yes.MouseButton1Up:connect(function()
  4253. ypcall(function()
  4254. SaveInstance(inst,filename.Text..".rbxmx",not saveObjects)
  4255. end)
  4256. overwriteCaution = false
  4257. newCaution:Destroy()
  4258. if CurrentSaveInstanceWindow then
  4259. CurrentSaveInstanceWindow:Destroy()
  4260. CurrentSaveInstanceWindow = nil
  4261. end
  4262. end)
  4263. newCaution.MainWindow.No.MouseButton1Up:connect(function()
  4264. overwriteCaution = false
  4265. newCaution:Destroy()
  4266. end)
  4267. end
  4268. else
  4269. ypcall(function()
  4270. SaveInstance(inst,filename.Text..".rbxmx",not saveObjects)
  4271. end)
  4272. if CurrentSaveInstanceWindow then
  4273. CurrentSaveInstanceWindow:Destroy()
  4274. CurrentSaveInstanceWindow = nil
  4275. if explorerPanel.Parent:FindFirstChild("SaveInstanceOverwriteCaution") then
  4276. explorerPanel.Parent.SaveInstanceOverwriteCaution:Destroy()
  4277. end
  4278. end
  4279. end
  4280. else
  4281. ypcall(function()
  4282. if SaveInstance then
  4283. SaveInstance(inst,filename.Text..".rbxmx",not saveObjects)
  4284. else
  4285. _G.SaveInstance(inst,filename.Text,not saveObjects)
  4286. end
  4287. end)
  4288. if CurrentSaveInstanceWindow then
  4289. CurrentSaveInstanceWindow:Destroy()
  4290. CurrentSaveInstanceWindow = nil
  4291. if explorerPanel.Parent:FindFirstChild("SaveInstanceOverwriteCaution") then
  4292. explorerPanel.Parent.SaveInstanceOverwriteCaution:Destroy()
  4293. end
  4294. end
  4295. end
  4296. end)
  4297. CurrentSaveInstanceWindow.MainWindow.Cancel.MouseButton1Up:connect(function()
  4298. if CurrentSaveInstanceWindow then
  4299. CurrentSaveInstanceWindow:Destroy()
  4300. CurrentSaveInstanceWindow = nil
  4301. if explorerPanel.Parent:FindFirstChild("SaveInstanceOverwriteCaution") then
  4302. explorerPanel.Parent.SaveInstanceOverwriteCaution:Destroy()
  4303. end
  4304. end
  4305. end)
  4306. CurrentSaveInstanceWindow.MainWindow.SaveObjects.MouseButton1Up:connect(function()
  4307. if saveObjects then
  4308. saveObjects = false
  4309. CurrentSaveInstanceWindow.MainWindow.SaveObjects.enabled.Visible = false
  4310. else
  4311. saveObjects = true
  4312. CurrentSaveInstanceWindow.MainWindow.SaveObjects.enabled.Visible = true
  4313. end
  4314. end)
  4315. end
  4316. function DestroyRightClick()
  4317. if currentRightClickMenu then
  4318. currentRightClickMenu:Destroy()
  4319. currentRightClickMenu = nil
  4320. end
  4321. if CurrentInsertObjectWindow and CurrentInsertObjectWindow.Visible then
  4322. CurrentInsertObjectWindow.Visible = false
  4323. end
  4324. end
  4325. function rightClickMenu(sObj)
  4326. local mouse = game:GetService'Players'.LocalPlayer:GetMouse()
  4327. local extra = (sObj == RunningScriptsStorageMain and 'Refresh Instances' or nil)
  4328. currentRightClickMenu = CreateRightClickMenu(
  4329. {
  4330. 'Cut',
  4331. 'Copy',
  4332. 'Paste Into',
  4333. 'Duplicate',
  4334. 'Delete',
  4335. -- 'Group',
  4336. -- 'Ungroup',
  4337. 'Select Children',
  4338. 'Teleport To',
  4339. -- 'Track',
  4340. -- 'Insert Part',
  4341. -- 'Insert Object',
  4342. 'View Script',
  4343. 'Save Script',
  4344. 'Dump Function',
  4345. 'Save Instance',
  4346. 'Call Function',
  4347. 'Call Remote',
  4348. 'Try Get Values',
  4349. extra
  4350. },
  4351. "",
  4352. false,
  4353. function(option)
  4354. if option == "Cut" then
  4355. if not Option.Modifiable then return end
  4356. clipboard = {}
  4357. local list = Selection.List
  4358. local cut = {}
  4359. for i = 1,#list do
  4360. local obj = list[i]:Clone()
  4361. if obj then
  4362. table.insert(clipboard,obj)
  4363. table.insert(cut,list[i])
  4364. end
  4365. end
  4366. for i = 1,#cut do
  4367. pcall(delete,cut[i])
  4368. end
  4369. updateActions()
  4370. elseif option == "Copy" then
  4371. if not Option.Modifiable then return end
  4372. clipboard = {}
  4373. local list = Selection.List
  4374. for i = 1,#list do
  4375. table.insert(clipboard,list[i]:Clone())
  4376. end
  4377. updateActions()
  4378. elseif option == "Paste Into" then
  4379. if not Option.Modifiable then return end
  4380. local parent = Selection.List[1] or workspace
  4381. for i = 1,#clipboard do
  4382. clipboard[i]:Clone().Parent = parent
  4383. end
  4384. elseif option == "Duplicate" then
  4385. if not Option.Modifiable then return end
  4386. local list = Selection:Get()
  4387. for i = 1,#list do
  4388. list[i]:Clone().Parent = Selection.List[1].Parent or workspace
  4389. end
  4390. elseif option == "Delete" then
  4391. if not Option.Modifiable then return end
  4392. local list = Selection:Get()
  4393. for i = 1,#list do
  4394. pcall(delete,list[i])
  4395. end
  4396. Selection:Set({})
  4397. elseif option == "Group" then
  4398. if not Option.Modifiable then return end
  4399. local newModel = Instance.new("Model")
  4400. local list = Selection:Get()
  4401. newModel.Parent = Selection.List[1].Parent or workspace
  4402. for i = 1,#list do
  4403. list[i].Parent = newModel
  4404. end
  4405. Selection:Set({})
  4406. elseif option == "Ungroup" then
  4407. if not Option.Modifiable then return end
  4408. local ungrouped = {}
  4409. local list = Selection:Get()
  4410. for i = 1,#list do
  4411. if list[i]:IsA("Model") then
  4412. for i2,v2 in pairs(list[i]:GetChildren()) do
  4413. v2.Parent = list[i].Parent or workspace
  4414. table.insert(ungrouped,v2)
  4415. end
  4416. pcall(delete,list[i])
  4417. end
  4418. end
  4419. Selection:Set({})
  4420. if SettingsRemote:Invoke("SelectUngrouped") then
  4421. for i,v in pairs(ungrouped) do
  4422. Selection:Add(v)
  4423. end
  4424. end
  4425. elseif option == "Select Children" then
  4426. if not Option.Modifiable then return end
  4427. local list = Selection:Get()
  4428. Selection:Set({})
  4429. Selection:StopUpdates()
  4430. for i = 1,#list do
  4431. for i2,v2 in pairs(list[i]:GetChildren()) do
  4432. Selection:Add(v2)
  4433. end
  4434. end
  4435. Selection:ResumeUpdates()
  4436. elseif option == "Teleport To" then
  4437. if not Option.Modifiable then return end
  4438. local list = Selection:Get()
  4439. for i = 1,#list do
  4440. if list[i]:IsA("BasePart") then
  4441. pcall(function()
  4442. game:GetService'Players'.LocalPlayer.Character.HumanoidRootPart.CFrame = list[i].CFrame
  4443. end)
  4444. break
  4445. end
  4446. end
  4447. elseif option == "Insert Part" then
  4448. if not Option.Modifiable then return end
  4449. local insertedParts = {}
  4450. local list = Selection:Get()
  4451. for i = 1,#list do
  4452. pcall(function()
  4453. local newPart = Instance.new("Part")
  4454. newPart.Parent = list[i]
  4455. newPart.CFrame = CFrame.new(game:GetService'Players'.LocalPlayer.Character.Head.Position) + Vector3.new(0,3,0)
  4456. table.insert(insertedParts,newPart)
  4457. end)
  4458. end
  4459. elseif option == "Save Instance" then
  4460. if not Option.Modifiable then return end
  4461. local list = Selection:Get()
  4462. if #list == 1 then
  4463. list[1].Archivable = true
  4464. ypcall(function()PromptSaveInstance(list[1]:Clone())end)
  4465. elseif #list > 1 then
  4466. local newModel = Instance.new("Model")
  4467. newModel.Name = "SavedInstances"
  4468. for i = 1,#list do
  4469. ypcall(function()
  4470. list[i].Archivable = true
  4471. list[i]:Clone().Parent = newModel
  4472. end)
  4473. end
  4474. PromptSaveInstance(newModel)
  4475. end
  4476. elseif option == "Call Remote" then
  4477. if not Option.Modifiable then return end
  4478. local list = Selection:Get()
  4479. for i = 1,#list do
  4480. if list[i]:IsA("RemoteFunction") or list[i]:IsA("RemoteEvent") then
  4481. PromptRemoteCaller(list[i])
  4482. break
  4483. end
  4484. end
  4485. elseif option == "Save Script" then
  4486. if not Option.Modifiable then return end
  4487. local list = Selection:Get()
  4488. for i = 1,#list do
  4489. if list[i]:IsA("LocalScript") or list[i]:IsA("ModuleScript") then
  4490. if Synapse then
  4491. Synapse:WriteFile(game.PlaceId .. '_' .. list[i].Name:gsub('%W', '') .. '_' .. math.random(100000, 999999) .. '.lua', decompile(list[i]))
  4492. elseif writefile then
  4493. writefile(game.PlaceId .. '_' .. list[i].Name:gsub('%W', '') .. '_' .. math.random(100000, 999999) .. '.lua', decompile(list[i]));
  4494. end
  4495. end
  4496. end
  4497. elseif option == "View Script" then
  4498. -- if not Option.Modifiable then return end
  4499. local list = Selection:Get()
  4500. for i = 1,#list do
  4501. if list[i]:IsA("LocalScript") or list[i]:IsA("ModuleScript") then
  4502. ScriptEditorEvent:Fire(list[i])
  4503. end
  4504. end
  4505. elseif option == 'Try Get Values' then
  4506. for i, sObj in pairs(Selection:Get()) do
  4507. if vars[sObj.Name] or funcs[sObj.Name] then
  4508. local var = vars[sObj.Name] or funcs[sObj.Name]
  4509. if var then
  4510. if type(var) == 'table' then
  4511. local T = var;
  4512. -- table.sort(T, cmp)
  4513. for i,v in pairs(T) do
  4514. local n = Instance.new('StringValue', sObj);
  4515. n.Name = tostring(i);
  4516. local a, b = pcall(function()
  4517. return tostring(v);
  4518. end)
  4519. n.Value = a and b or '.undefined';
  4520. if (type(v) == 'function') then
  4521. funcs[i] = v;
  4522. else
  4523. vars[i] = v;
  4524. end
  4525. end
  4526. elseif type(var) == 'function' then
  4527. local T = debug.getupvalues(var);
  4528. -- table.sort(T, cmp)
  4529. for i,v in pairs(T) do
  4530. local n = Instance.new('StringValue', sObj);
  4531. n.Name = tostring(i);
  4532. local a, b = pcall(function()
  4533. return tostring(v);
  4534. end)
  4535. n.Value = a and b or '.undefined';
  4536. if (type(v) == 'function') then
  4537. funcs[i] = v;
  4538. else
  4539. vars[i] = v;
  4540. end
  4541. end
  4542. end
  4543. end
  4544. end
  4545. if typeof(sObj) == 'Instance' and (sObj:IsA'LocalScript' or sObj:IsA'ModuleScript') then
  4546. do -- get script env values
  4547. local T = getsenv(sObj);
  4548. for i,v in pairs(T) do
  4549. if not sObj:FindFirstChild(tostring(i)) then
  4550. local n = Instance.new('StringValue', sObj);
  4551. n.Name = tostring(i);
  4552. local a, b = pcall(function()
  4553. return tostring(v);
  4554. end)
  4555. n.Value = a and b or '.undefined';
  4556. if (type(v) == 'function') then
  4557. funcs[i] = v;
  4558. for fn, p in pairs(debug.getupvalues(v)) do
  4559. if not sObj:FindFirstChild(tostring(fn)) then
  4560. local n = Instance.new('StringValue', sObj);
  4561. n.Name = tostring(fn);
  4562. local a, b = pcall(function()
  4563. return tostring(p);
  4564. end)
  4565. n.Value = a and b or '.undefined';
  4566. if (type(p) == 'function') then
  4567. funcs[fn] = p;
  4568. else
  4569. vars[fn] = p;
  4570. end
  4571. end
  4572. end
  4573. else
  4574. vars[i] = v;
  4575. end
  4576. end
  4577. end
  4578. end
  4579. --[[do -- attempt to get upvalue variables
  4580. for i,v in pairs(getreg()) do
  4581. if typeof(v) == 'function' then
  4582. local T = debug.getupvalues(v);
  4583. for i,v in pairs(T) do
  4584. if not sObj:FindFirstChild(tostring(i)) then
  4585. local n = Instance.new('StringValue', sObj);
  4586. n.Name = tostring(i);
  4587. local a, b = pcall(function()
  4588. return tostring(v);
  4589. end)
  4590. n.Value = a and b or '.undefined';
  4591. if (type(v) == 'function') then
  4592. for _, p in pairs(debug.getupvalues(v)) do
  4593. if not sObj:FindFirstChild(tostring(_)) then
  4594. local n = Instance.new('StringValue', sObj);
  4595. n.Name = tostring(_);
  4596. local a, b = pcall(function()
  4597. return tostring(p);
  4598. end)
  4599. n.Value = a and b or '.undefined';
  4600. end
  4601. end
  4602. end
  4603. end
  4604. end
  4605. end
  4606. end
  4607. end]]
  4608. end
  4609. end
  4610. elseif option == 'Dump Function' then
  4611. if funcs[sObj.Name] then
  4612. local var = funcs[sObj.Name]
  4613. if var then
  4614. if type(var) == 'function' then
  4615. if writefile then
  4616. writefile(game.PlaceId .. '_' .. 'DF' .. '_' .. math.random(100000, 999999) .. '.lua', decompile(var));
  4617. end
  4618. end
  4619. end
  4620. end
  4621. elseif option == 'Refresh Instances' then
  4622. for i,v in pairs(getscripts()) do
  4623. if v ~= RunningScriptsStorage and v ~= DexStorage and v ~= UpvalueStorage then
  4624. if (v:IsA'LocalScript' or v:IsA'ModuleScript' or v:IsA'Script') then
  4625. v.Archivable = true;
  4626. local ls = v:clone()
  4627. if v:IsA'LocalScript' or v:IsA'Script' then ls.Disabled = true; end
  4628. ls.Parent = RunningScriptsStorageMain
  4629. end
  4630. end
  4631. end
  4632. elseif option == 'Track' then
  4633. if not Option.Modifiable then return end
  4634. local list = Selection:Get()
  4635. for i = 1,#list do
  4636. pcall(function()
  4637. local name = list[i].Name;
  4638. if list[i].Parent:FindFirstChildOfClass'Humanoid' then
  4639. name = list[i].Parent.Name;
  4640. end
  4641. _G.Track(list[i], name, list[i].BrickColor.Color);
  4642. end)
  4643. end
  4644. end
  4645. end)
  4646. currentRightClickMenu.Parent = explorerPanel.Parent
  4647. currentRightClickMenu.Position = UDim2.new(0,mouse.X,0,mouse.Y)
  4648. if currentRightClickMenu.AbsolutePosition.X + currentRightClickMenu.AbsoluteSize.X > explorerPanel.AbsolutePosition.X + explorerPanel.AbsoluteSize.X then
  4649. currentRightClickMenu.Position = UDim2.new(0, explorerPanel.AbsolutePosition.X + explorerPanel.AbsoluteSize.X - currentRightClickMenu.AbsoluteSize.X, 0, mouse.Y)
  4650. end
  4651. end
  4652. local function cancelReparentDrag()end
  4653. local function cancelSelectDrag()end
  4654. do
  4655. local listEntries = {}
  4656. local nameConnLookup = {}
  4657. local mouseDrag = Create('ImageButton',{
  4658. Name = "MouseDrag";
  4659. Position = UDim2.new(-0.25,0,-0.25,0);
  4660. Size = UDim2.new(1.5,0,1.5,0);
  4661. Transparency = 1;
  4662. AutoButtonColor = false;
  4663. Active = true;
  4664. ZIndex = 10;
  4665. })
  4666. local function dragSelect(last,add,button)
  4667. local connDrag
  4668. local conUp
  4669. conDrag = mouseDrag.MouseMoved:connect(function(x,y)
  4670. local pos = Vector2.new(x,y) - listFrame.AbsolutePosition
  4671. local size = listFrame.AbsoluteSize
  4672. if pos.x < 0 or pos.x > size.x or pos.y < 0 or pos.y > size.y then return end
  4673. local i = math.ceil(pos.y/ENTRY_BOUND) + scrollBar.ScrollIndex
  4674. -- Mouse may have made a large step, so interpolate between the
  4675. -- last index and the current.
  4676. for n = i<last and i or last, i>last and i or last do
  4677. local node = TreeList[n]
  4678. if node then
  4679. if add then
  4680. Selection:Add(node.Object)
  4681. else
  4682. Selection:Remove(node.Object)
  4683. end
  4684. end
  4685. end
  4686. last = i
  4687. end)
  4688. function cancelSelectDrag()
  4689. mouseDrag.Parent = nil
  4690. conDrag:disconnect()
  4691. conUp:disconnect()
  4692. function cancelSelectDrag()end
  4693. end
  4694. conUp = mouseDrag[button]:connect(cancelSelectDrag)
  4695. mouseDrag.Parent = GetScreen(listFrame)
  4696. end
  4697. local function dragReparent(object,dragGhost,clickPos,ghostOffset)
  4698. local connDrag
  4699. local conUp
  4700. local conUp2
  4701. local parentIndex = nil
  4702. local dragged = false
  4703. local parentHighlight = Create('Frame',{
  4704. Transparency = 1;
  4705. Visible = false;
  4706. Create('Frame',{
  4707. BorderSizePixel = 0;
  4708. BackgroundColor3 = Color3.new(0,0,0);
  4709. BackgroundTransparency = 0.1;
  4710. Position = UDim2.new(0,0,0,0);
  4711. Size = UDim2.new(1,0,0,1);
  4712. });
  4713. Create('Frame',{
  4714. BorderSizePixel = 0;
  4715. BackgroundColor3 = Color3.new(0,0,0);
  4716. BackgroundTransparency = 0.1;
  4717. Position = UDim2.new(1,0,0,0);
  4718. Size = UDim2.new(0,1,1,0);
  4719. });
  4720. Create('Frame',{
  4721. BorderSizePixel = 0;
  4722. BackgroundColor3 = Color3.new(0,0,0);
  4723. BackgroundTransparency = 0.1;
  4724. Position = UDim2.new(0,0,1,0);
  4725. Size = UDim2.new(1,0,0,1);
  4726. });
  4727. Create('Frame',{
  4728. BorderSizePixel = 0;
  4729. BackgroundColor3 = Color3.new(0,0,0);
  4730. BackgroundTransparency = 0.1;
  4731. Position = UDim2.new(0,0,0,0);
  4732. Size = UDim2.new(0,1,1,0);
  4733. });
  4734. })
  4735. SetZIndex(parentHighlight,9)
  4736. conDrag = mouseDrag.MouseMoved:connect(function(x,y)
  4737. local dragPos = Vector2.new(x,y)
  4738. if dragged then
  4739. local pos = dragPos - listFrame.AbsolutePosition
  4740. local size = listFrame.AbsoluteSize
  4741. parentIndex = nil
  4742. parentHighlight.Visible = false
  4743. if pos.x >= 0 and pos.x <= size.x and pos.y >= 0 and pos.y <= size.y + ENTRY_SIZE*2 then
  4744. local i = math.ceil(pos.y/ENTRY_BOUND-2)
  4745. local node = TreeList[i + scrollBar.ScrollIndex]
  4746. if node and node.Object ~= object and not object:IsAncestorOf(node.Object) then
  4747. parentIndex = i
  4748. local entry = listEntries[i]
  4749. if entry then
  4750. parentHighlight.Visible = true
  4751. parentHighlight.Position = UDim2.new(0,1,0,entry.AbsolutePosition.y-listFrame.AbsolutePosition.y)
  4752. parentHighlight.Size = UDim2.new(0,size.x-4,0,entry.AbsoluteSize.y)
  4753. end
  4754. end
  4755. end
  4756. dragGhost.Position = UDim2.new(0,dragPos.x+ghostOffset.x,0,dragPos.y+ghostOffset.y)
  4757. elseif (clickPos-dragPos).magnitude > 8 then
  4758. dragged = true
  4759. SetZIndex(dragGhost,9)
  4760. dragGhost.IndentFrame.Transparency = 0.25
  4761. dragGhost.IndentFrame.EntryText.TextColor3 = GuiColor.TextSelected
  4762. dragGhost.Position = UDim2.new(0,dragPos.x+ghostOffset.x,0,dragPos.y+ghostOffset.y)
  4763. dragGhost.Parent = GetScreen(listFrame)
  4764. parentHighlight.Parent = listFrame
  4765. end
  4766. end)
  4767. function cancelReparentDrag()
  4768. mouseDrag.Parent = nil
  4769. conDrag:disconnect()
  4770. conUp:disconnect()
  4771. conUp2:disconnect()
  4772. dragGhost:Destroy()
  4773. parentHighlight:Destroy()
  4774. function cancelReparentDrag()end
  4775. end
  4776. local wasSelected = Selection.Selected[object]
  4777. if not wasSelected and Option.Selectable then
  4778. Selection:Set({object})
  4779. end
  4780. conUp = mouseDrag.MouseButton1Up:connect(function()
  4781. cancelReparentDrag()
  4782. if dragged then
  4783. if parentIndex then
  4784. local parentNode = TreeList[parentIndex + scrollBar.ScrollIndex]
  4785. if parentNode then
  4786. parentNode.Expanded = true
  4787. local parentObj = parentNode.Object
  4788. local function parent(a,b)
  4789. a.Parent = b
  4790. end
  4791. if Option.Selectable then
  4792. local list = Selection.List
  4793. for i = 1,#list do
  4794. pcall(parent,list[i],parentObj)
  4795. end
  4796. else
  4797. pcall(parent,object,parentObj)
  4798. end
  4799. end
  4800. end
  4801. else
  4802. -- do selection click
  4803. if wasSelected and Option.Selectable then
  4804. Selection:Set({})
  4805. end
  4806. end
  4807. end)
  4808. conUp2 = mouseDrag.MouseButton2Down:connect(function()
  4809. cancelReparentDrag()
  4810. end)
  4811. mouseDrag.Parent = GetScreen(listFrame)
  4812. end
  4813. local entryTemplate = Create('ImageButton',{
  4814. Name = "Entry";
  4815. Transparency = 1;
  4816. AutoButtonColor = false;
  4817. Position = UDim2.new(0,0,0,0);
  4818. Size = UDim2.new(1,0,0,ENTRY_SIZE);
  4819. Create('Frame',{
  4820. Name = "IndentFrame";
  4821. BackgroundTransparency = 1;
  4822. BackgroundColor3 = GuiColor.Selected;
  4823. BorderColor3 = GuiColor.BorderSelected;
  4824. Position = UDim2.new(0,0,0,0);
  4825. Size = UDim2.new(1,0,1,0);
  4826. Create(Icon('ImageButton',0),{
  4827. Name = "Expand";
  4828. AutoButtonColor = false;
  4829. Position = UDim2.new(0,-GUI_SIZE,0.5,-GUI_SIZE/2);
  4830. Size = UDim2.new(0,GUI_SIZE,0,GUI_SIZE);
  4831. });
  4832. Create(Icon(nil,0),{
  4833. Name = "ExplorerIcon";
  4834. Position = UDim2.new(0,2+ENTRY_PADDING,0.5,-GUI_SIZE/2);
  4835. Size = UDim2.new(0,GUI_SIZE,0,GUI_SIZE);
  4836. });
  4837. Create('TextLabel',{
  4838. Name = "EntryText";
  4839. BackgroundTransparency = 1;
  4840. TextColor3 = GuiColor.Text;
  4841. TextXAlignment = 'Left';
  4842. TextYAlignment = 'Center';
  4843. Font = FONT;
  4844. FontSize = FONT_SIZE;
  4845. Text = "";
  4846. Position = UDim2.new(0,2+ENTRY_SIZE+4,0,0);
  4847. Size = UDim2.new(1,-2,1,0);
  4848. });
  4849. });
  4850. })
  4851. function scrollBar.UpdateCallback(self)
  4852. for i = 1,self.VisibleSpace do
  4853. local node = TreeList[i + self.ScrollIndex]
  4854. if node then
  4855. local entry = listEntries[i]
  4856. if not entry then
  4857. entry = Create(entryTemplate:Clone(),{
  4858. Position = UDim2.new(0,2,0,ENTRY_BOUND*(i-1)+2);
  4859. Size = UDim2.new(0,nodeWidth,0,ENTRY_SIZE);
  4860. ZIndex = listFrame.ZIndex;
  4861. })
  4862. listEntries[i] = entry
  4863. local expand = entry.IndentFrame.Expand
  4864. expand.MouseEnter:connect(function()
  4865. local node = TreeList[i + self.ScrollIndex]
  4866. if #node > 0 then
  4867. if node.Expanded then
  4868. Icon(expand,NODE_EXPANDED_OVER)
  4869. else
  4870. Icon(expand,NODE_COLLAPSED_OVER)
  4871. end
  4872. end
  4873. end)
  4874. expand.MouseLeave:connect(function()
  4875. local node = TreeList[i + self.ScrollIndex]
  4876. if #node > 0 then
  4877. if node.Expanded then
  4878. Icon(expand,NODE_EXPANDED)
  4879. else
  4880. Icon(expand,NODE_COLLAPSED)
  4881. end
  4882. end
  4883. end)
  4884. expand.MouseButton1Down:connect(function()
  4885. local node = TreeList[i + self.ScrollIndex]
  4886. if #node > 0 then
  4887. node.Expanded = not node.Expanded
  4888. if node.Object == explorerPanel.Parent and node.Expanded then
  4889. CreateCaution("Warning","Please be careful when editing instances inside here, this is like the System32 of Dex and modifying objects here can break Dex.")
  4890. end
  4891. -- use raw update so the list updates instantly
  4892. rawUpdateList()
  4893. end
  4894. end)
  4895. entry.MouseButton1Down:connect(function(x,y)
  4896. local node = TreeList[i + self.ScrollIndex]
  4897. DestroyRightClick()
  4898. if GetAwaitRemote:Invoke() then
  4899. bindSetAwaiting:Fire(node.Object)
  4900. return
  4901. end
  4902. if not HoldingShift then
  4903. lastSelectedNode = i + self.ScrollIndex
  4904. end
  4905. if HoldingShift and not filteringWorkspace() then
  4906. if lastSelectedNode then
  4907. if i + self.ScrollIndex - lastSelectedNode > 0 then
  4908. Selection:StopUpdates()
  4909. for i2 = 1, i + self.ScrollIndex - lastSelectedNode do
  4910. local newNode = TreeList[lastSelectedNode + i2]
  4911. if newNode then
  4912. Selection:Add(newNode.Object)
  4913. end
  4914. end
  4915. Selection:ResumeUpdates()
  4916. else
  4917. Selection:StopUpdates()
  4918. for i2 = i + self.ScrollIndex - lastSelectedNode, 1 do
  4919. local newNode = TreeList[lastSelectedNode + i2]
  4920. if newNode then
  4921. Selection:Add(newNode.Object)
  4922. end
  4923. end
  4924. Selection:ResumeUpdates()
  4925. end
  4926. end
  4927. return
  4928. end
  4929. if HoldingCtrl then
  4930. if Selection.Selected[node.Object] then
  4931. Selection:Remove(node.Object)
  4932. else
  4933. Selection:Add(node.Object)
  4934. end
  4935. return
  4936. end
  4937. if Option.Modifiable then
  4938. local pos = Vector2.new(x,y)
  4939. dragReparent(node.Object,entry:Clone(),pos,entry.AbsolutePosition-pos)
  4940. elseif Option.Selectable then
  4941. if Selection.Selected[node.Object] then
  4942. Selection:Set({})
  4943. else
  4944. Selection:Set({node.Object})
  4945. end
  4946. dragSelect(i+self.ScrollIndex,true,'MouseButton1Up')
  4947. end
  4948. end)
  4949. entry.MouseButton2Down:connect(function()
  4950. if not Option.Selectable then return end
  4951. DestroyRightClick()
  4952. curSelect = entry
  4953. local node = TreeList[i + self.ScrollIndex]
  4954. if GetAwaitRemote:Invoke() then
  4955. bindSetAwaiting:Fire(node.Object)
  4956. return
  4957. end
  4958. if not Selection.Selected[node.Object] then
  4959. Selection:Set({node.Object})
  4960. end
  4961. end)
  4962. entry.MouseButton2Up:connect(function()
  4963. if not Option.Selectable then return end
  4964. local node = TreeList[i + self.ScrollIndex]
  4965. if checkMouseInGui(curSelect) then
  4966. rightClickMenu(node.Object)
  4967. end
  4968. end)
  4969. entry.Parent = listFrame
  4970. end
  4971. entry.Visible = true
  4972. local object = node.Object
  4973. -- update expand icon
  4974. if #node == 0 then
  4975. entry.IndentFrame.Expand.Visible = false
  4976. elseif node.Expanded then
  4977. Icon(entry.IndentFrame.Expand,NODE_EXPANDED)
  4978. entry.IndentFrame.Expand.Visible = true
  4979. else
  4980. Icon(entry.IndentFrame.Expand,NODE_COLLAPSED)
  4981. entry.IndentFrame.Expand.Visible = true
  4982. end
  4983. -- update explorer icon
  4984. Icon(entry.IndentFrame.ExplorerIcon,ExplorerIndex[object.ClassName] or 0)
  4985. -- update indentation
  4986. local w = (node.Depth)*(2+ENTRY_PADDING+GUI_SIZE)
  4987. entry.IndentFrame.Position = UDim2.new(0,w,0,0)
  4988. entry.IndentFrame.Size = UDim2.new(1,-w,1,0)
  4989. -- update name change detection
  4990. if nameConnLookup[entry] then
  4991. nameConnLookup[entry]:disconnect()
  4992. end
  4993. local text = entry.IndentFrame.EntryText
  4994. text.Text = object.Name
  4995. nameConnLookup[entry] = node.Object.Changed:connect(function(p)
  4996. if p == 'Name' then
  4997. text.Text = object.Name
  4998. end
  4999. end)
  5000. -- update selection
  5001. entry.IndentFrame.Transparency = node.Selected and 0 or 1
  5002. text.TextColor3 = GuiColor[node.Selected and 'TextSelected' or 'Text']
  5003. entry.Size = UDim2.new(0,nodeWidth,0,ENTRY_SIZE)
  5004. elseif listEntries[i] then
  5005. listEntries[i].Visible = false
  5006. end
  5007. end
  5008. for i = self.VisibleSpace+1,self.TotalSpace do
  5009. local entry = listEntries[i]
  5010. if entry then
  5011. listEntries[i] = nil
  5012. entry:Destroy()
  5013. end
  5014. end
  5015. end
  5016. function scrollBarH.UpdateCallback(self)
  5017. for i = 1,scrollBar.VisibleSpace do
  5018. local node = TreeList[i + scrollBar.ScrollIndex]
  5019. if node then
  5020. local entry = listEntries[i]
  5021. if entry then
  5022. entry.Position = UDim2.new(0,2 - scrollBarH.ScrollIndex,0,ENTRY_BOUND*(i-1)+2)
  5023. end
  5024. end
  5025. end
  5026. end
  5027. Connect(listFrame.Changed,function(p)
  5028. if p == 'AbsoluteSize' then
  5029. rawUpdateSize()
  5030. end
  5031. end)
  5032. local wheelAmount = 6
  5033. explorerPanel.MouseWheelForward:connect(function()
  5034. if input ~= nil and input.down ~= nil and input.down.leftshift then
  5035. if scrollBarH.VisibleSpace - 1 > wheelAmount then
  5036. scrollBarH:ScrollTo(scrollBarH.ScrollIndex - wheelAmount)
  5037. else
  5038. scrollBarH:ScrollTo(scrollBarH.ScrollIndex - scrollBarH.VisibleSpace)
  5039. end
  5040. else
  5041. if scrollBar.VisibleSpace - 1 > wheelAmount then
  5042. scrollBar:ScrollTo(scrollBar.ScrollIndex - wheelAmount)
  5043. else
  5044. scrollBar:ScrollTo(scrollBar.ScrollIndex - scrollBar.VisibleSpace)
  5045. end
  5046. end
  5047. end)
  5048. explorerPanel.MouseWheelBackward:connect(function()
  5049. if input ~= nil and input.down ~= nil and input.down.leftshift then
  5050. if scrollBarH.VisibleSpace - 1 > wheelAmount then
  5051. scrollBarH:ScrollTo(scrollBarH.ScrollIndex + wheelAmount)
  5052. else
  5053. scrollBarH:ScrollTo(scrollBarH.ScrollIndex + scrollBarH.VisibleSpace)
  5054. end
  5055. else
  5056. if scrollBar.VisibleSpace - 1 > wheelAmount then
  5057. scrollBar:ScrollTo(scrollBar.ScrollIndex + wheelAmount)
  5058. else
  5059. scrollBar:ScrollTo(scrollBar.ScrollIndex + scrollBar.VisibleSpace)
  5060. end
  5061. end
  5062. end)
  5063. end
  5064. ----------------------------------------------------------------
  5065. ----------------------------------------------------------------
  5066. ----------------------------------------------------------------
  5067. ----------------------------------------------------------------
  5068. ---- Object detection
  5069. -- Inserts `v` into `t` at `i`. Also sets `Index` field in `v`.
  5070. local function insert(t,i,v)
  5071. for n = #t,i,-1 do
  5072. local v = t[n]
  5073. v.Index = n+1
  5074. t[n+1] = v
  5075. end
  5076. v.Index = i
  5077. t[i] = v
  5078. end
  5079. -- Removes `i` from `t`. Also sets `Index` field in removed value.
  5080. local function remove(t,i)
  5081. local v = t[i]
  5082. for n = i+1,#t do
  5083. local v = t[n]
  5084. v.Index = n-1
  5085. t[n-1] = v
  5086. end
  5087. t[#t] = nil
  5088. v.Index = 0
  5089. return v
  5090. end
  5091. -- Returns how deep `o` is in the tree.
  5092. local function depth(o)
  5093. local d = -1
  5094. while o do
  5095. o = o.Parent
  5096. d = d + 1
  5097. end
  5098. return d
  5099. end
  5100. local connLookup = {}
  5101. -- Returns whether a node would be present in the tree list
  5102. local function nodeIsVisible(node)
  5103. local visible = true
  5104. node = node.Parent
  5105. while node and visible do
  5106. visible = visible and node.Expanded
  5107. node = node.Parent
  5108. end
  5109. return visible
  5110. end
  5111. -- Removes an object's tree node. Called when the object stops existing in the
  5112. -- game tree.
  5113. local function removeObject(object)
  5114. local objectNode = NodeLookup[object]
  5115. if not objectNode then
  5116. return
  5117. end
  5118. local visible = nodeIsVisible(objectNode)
  5119. Selection:Remove(object,true)
  5120. local parent = objectNode.Parent
  5121. remove(parent,objectNode.Index)
  5122. NodeLookup[object] = nil
  5123. connLookup[object]:disconnect()
  5124. connLookup[object] = nil
  5125. if visible then
  5126. updateList()
  5127. elseif nodeIsVisible(parent) then
  5128. updateScroll()
  5129. end
  5130. end
  5131. -- Moves a tree node to a new parent. Called when an existing object's parent
  5132. -- changes.
  5133. local function moveObject(object,parent)
  5134. local objectNode = NodeLookup[object]
  5135. if not objectNode then
  5136. return
  5137. end
  5138. local parentNode = NodeLookup[parent]
  5139. if not parentNode then
  5140. return
  5141. end
  5142. local visible = nodeIsVisible(objectNode)
  5143. remove(objectNode.Parent,objectNode.Index)
  5144. objectNode.Parent = parentNode
  5145. objectNode.Depth = depth(object)
  5146. local function r(node,d)
  5147. for i = 1,#node do
  5148. node[i].Depth = d
  5149. r(node[i],d+1)
  5150. end
  5151. end
  5152. r(objectNode,objectNode.Depth+1)
  5153. insert(parentNode,#parentNode+1,objectNode)
  5154. if visible or nodeIsVisible(objectNode) then
  5155. updateList()
  5156. elseif nodeIsVisible(objectNode.Parent) then
  5157. updateScroll()
  5158. end
  5159. end
  5160. -- ScriptContext['/Libraries/LibraryRegistration/LibraryRegistration']
  5161. -- This RobloxLocked object lets me index its properties for some reason
  5162. local function check(object)
  5163. return object.AncestryChanged
  5164. end
  5165. -- Creates a new tree node from an object. Called when an object starts
  5166. -- existing in the game tree.
  5167. local function addObject(object,noupdate)
  5168. if script then
  5169. -- protect against naughty RobloxLocked objects
  5170. local s = pcall(check,object)
  5171. if not s then
  5172. return
  5173. end
  5174. end
  5175. local parentNode = NodeLookup[object.Parent]
  5176. if not parentNode then
  5177. return
  5178. end
  5179. local objectNode = {
  5180. Object = object;
  5181. Parent = parentNode;
  5182. Index = 0;
  5183. Expanded = false;
  5184. Selected = false;
  5185. Depth = depth(object);
  5186. }
  5187. connLookup[object] = Connect(object.AncestryChanged,function(c,p)
  5188. if c == object then
  5189. if p == nil then
  5190. removeObject(c)
  5191. else
  5192. moveObject(c,p)
  5193. end
  5194. end
  5195. end)
  5196. NodeLookup[object] = objectNode
  5197. insert(parentNode,#parentNode+1,objectNode)
  5198. if not noupdate then
  5199. if nodeIsVisible(objectNode) then
  5200. updateList()
  5201. elseif nodeIsVisible(objectNode.Parent) then
  5202. updateScroll()
  5203. end
  5204. end
  5205. end
  5206. local function makeObject(obj,par)
  5207. local newObject = Instance.new(obj.ClassName)
  5208. for i,v in pairs(obj.Properties) do
  5209. ypcall(function()
  5210. local newProp
  5211. newProp = ToPropValue(v.Value,v.Type)
  5212. newObject[v.Name] = newProp
  5213. end)
  5214. end
  5215. newObject.Parent = par
  5216. end
  5217. local function writeObject(obj)
  5218. local newObject = {ClassName = obj.ClassName, Properties = {}}
  5219. for i,v in pairs(RbxApi.GetProperties(obj.className)) do
  5220. if v["Name"] ~= "Parent" then
  5221. table.insert(newObject.Properties,{Name = v["Name"], Type = v["ValueType"], Value = tostring(obj[v["Name"]])})
  5222. end
  5223. end
  5224. return newObject
  5225. end
  5226. local function buildDexStorage()
  5227. --[[local localDexStorage
  5228. local success,err = ypcall(function()
  5229. localDexStorage = game:GetObjects("rbxasset://DexStorage.rbxm")
  5230. end)
  5231. if success and localDexStorage then
  5232. for i,v in pairs(localDexStorage:GetChildren()) do
  5233. ypcall(function()
  5234. v.Parent = DexStorageMain
  5235. end)
  5236. end
  5237. end]]
  5238. updateDexStorageListeners()
  5239. --[[
  5240. local localDexStorage = readfile(getelysianpath().."DexStorage.txt")--game:GetService("CookiesService"):GetCookieValue("DexStorage")
  5241. --local success,err = pcall(function()
  5242. if localDexStorage then
  5243. local objTable = game:GetService("HttpService"):JSONDecode(localDexStorage)
  5244. for i,v in pairs(objTable) do
  5245. makeObject(v,DexStorageMain)
  5246. end
  5247. end
  5248. --end)
  5249. --]]
  5250. end
  5251. local dexStorageDebounce = false
  5252. local dexStorageListeners = {}
  5253. local function updateDexStorage()
  5254. if dexStorageDebounce then return end
  5255. dexStorageDebounce = true
  5256. wait()
  5257. pcall(function()
  5258. saveinstance("content//DexStorage.rbxm",DexStorageMain)
  5259. end)
  5260. updateDexStorageListeners()
  5261. dexStorageDebounce = false
  5262. --[[
  5263. local success,err = ypcall(function()
  5264. local objs = {}
  5265. for i,v in pairs(DexStorageMain:GetChildren()) do
  5266. table.insert(objs,writeObject(v))
  5267. end
  5268. writefile(getelysianpath().."DexStorage.txt",game:GetService("HttpService"):JSONEncode(objs))
  5269. --game:GetService("CookiesService"):SetCookieValue("DexStorage",game:GetService("HttpService"):JSONEncode(objs))
  5270. end)
  5271. if err then
  5272. CreateCaution("DexStorage Save Fail!","DexStorage broke! If you see this message, report to Raspberry Pi!")
  5273. end
  5274. print("hi")
  5275. --]]
  5276. end
  5277. function updateDexStorageListeners()
  5278. for i,v in pairs(dexStorageListeners) do
  5279. v:Disconnect()
  5280. end
  5281. dexStorageListeners = {}
  5282. for i,v in pairs(DexStorageMain:GetChildren()) do
  5283. pcall(function()
  5284. local ev = v.Changed:connect(updateDexStorage)
  5285. table.insert(dexStorageListeners,ev)
  5286. end)
  5287. end
  5288. end
  5289. do
  5290. NodeLookup[workspace.Parent] = {
  5291. Object = workspace.Parent;
  5292. Parent = nil;
  5293. Index = 0;
  5294. Expanded = true;
  5295. }
  5296. if DexStorageEnabled then
  5297. NodeLookup[DexStorage] = {
  5298. Object = DexStorage;
  5299. Parent = nil;
  5300. Index = 0;
  5301. Expanded = true;
  5302. }
  5303. end
  5304. if RunningScriptsStorageEnabled then
  5305. NodeLookup[RunningScriptsStorage] = {
  5306. Object = RunningScriptsStorage;
  5307. Parent = nil;
  5308. Index = 0;
  5309. Expanded = true;
  5310. }
  5311. end
  5312. if UpvalueStorageEnabled then
  5313. NodeLookup[UpvalueStorage] = {
  5314. Object = UpvalueStorage;
  5315. Parent = nil;
  5316. Index = 0;
  5317. Expanded = true;
  5318. }
  5319. end
  5320. Connect(game.DescendantAdded,addObject)
  5321. Connect(game.DescendantRemoving,removeObject)
  5322. if DexStorageEnabled then
  5323. --[[
  5324. if readfile(getelysianpath().."DexStorage.txt") == nil then
  5325. writefile(getelysianpath().."DexStorage.txt","")
  5326. end
  5327. --]]
  5328. buildDexStorage()
  5329. Connect(DexStorage.DescendantAdded,addObject)
  5330. Connect(DexStorage.DescendantRemoving,removeObject)
  5331. Connect(DexStorage.DescendantAdded,updateDexStorage)
  5332. Connect(DexStorage.DescendantRemoving,updateDexStorage)
  5333. end
  5334. if UpvalueStorageEnabled then
  5335. Connect(UpvalueStorageVariables.DescendantAdded,addObject)
  5336. Connect(UpvalueStorageVariables.DescendantRemoving,removeObject)
  5337. Connect(UpvalueStorageFunctions.DescendantAdded,addObject)
  5338. Connect(UpvalueStorageFunctions.DescendantRemoving,removeObject)
  5339. end
  5340. if RunningScriptsStorageEnabled then
  5341. Connect(RunningScriptsStorage.DescendantAdded,addObject)
  5342. Connect(RunningScriptsStorage.DescendantRemoving,removeObject)
  5343. --[[ local currentTable = get_nil_instances()
  5344. spawn(function()
  5345. while true do
  5346. if #currentTable ~= #get_nil_instances() then
  5347. currentTable = get_nil_instances()
  5348. --RunningScriptsStorageMain:ClearAllChildren()
  5349. for i,v in pairs(get_nil_instances() do
  5350. if v ~= RunningScriptsStorage and v ~= DexStorage and v ~= UpvalueStorage then
  5351. pcall(function()
  5352. v.Parent = RunningScriptsStorageMain
  5353. end)
  5354. end
  5355. end
  5356. end
  5357. wait(60)
  5358. end
  5359. end)]]
  5360. end
  5361. local function get(o)
  5362. return o:GetDescendants()
  5363. end
  5364. local function r(o)
  5365. local s,children = pcall(get,o)
  5366. if s then
  5367. for i = 1,#children do
  5368. addObject(children[i],true)
  5369. -- r(children[i])
  5370. end
  5371. end
  5372. end
  5373. r(workspace.Parent)
  5374. if DexStorageEnabled then
  5375. r(DexStorage)
  5376. end
  5377. if RunningScriptsStorageEnabled then
  5378. r(RunningScriptsStorage)
  5379. end
  5380. if UpvalueStorageEnabled then
  5381. r(UpvalueStorage)
  5382. end
  5383. scrollBar.VisibleSpace = math.ceil(listFrame.AbsoluteSize.y/ENTRY_BOUND)
  5384. updateList()
  5385. end
  5386. ----------------------------------------------------------------
  5387. ----------------------------------------------------------------
  5388. ----------------------------------------------------------------
  5389. ----------------------------------------------------------------
  5390. ---- Actions
  5391. local actionButtons do
  5392. actionButtons = {}
  5393. local totalActions = 1
  5394. local currentActions = totalActions
  5395. local function makeButton(icon,over,name,vis,cond)
  5396. local buttonEnabled = false
  5397. local button = Create(Icon('ImageButton',icon),{
  5398. Name = name .. "Button";
  5399. Visible = Option.Modifiable and Option.Selectable;
  5400. Position = UDim2.new(1,-(GUI_SIZE+2)*currentActions+2,0.25,-GUI_SIZE/2);
  5401. Size = UDim2.new(0,GUI_SIZE,0,GUI_SIZE);
  5402. Parent = headerFrame;
  5403. })
  5404. local tipText = Create('TextLabel',{
  5405. Name = name .. "Text";
  5406. Text = name;
  5407. Visible = false;
  5408. BackgroundTransparency = 1;
  5409. TextXAlignment = 'Right';
  5410. Font = FONT;
  5411. FontSize = FONT_SIZE;
  5412. Position = UDim2.new(0,0,0,0);
  5413. Size = UDim2.new(1,-(GUI_SIZE+2)*totalActions,1,0);
  5414. Parent = headerFrame;
  5415. })
  5416. button.MouseEnter:connect(function()
  5417. if buttonEnabled then
  5418. button.BackgroundTransparency = 0.9
  5419. end
  5420. --Icon(button,over)
  5421. --tipText.Visible = true
  5422. end)
  5423. button.MouseLeave:connect(function()
  5424. button.BackgroundTransparency = 1
  5425. --Icon(button,icon)
  5426. --tipText.Visible = false
  5427. end)
  5428. currentActions = currentActions + 1
  5429. actionButtons[#actionButtons+1] = {Obj = button,Cond = cond}
  5430. QuickButtons[#actionButtons+1] = {Obj = button,Cond = cond, Toggle = function(on)
  5431. if on then
  5432. buttonEnabled = true
  5433. Icon(button,over)
  5434. else
  5435. buttonEnabled = false
  5436. Icon(button,icon)
  5437. end
  5438. end}
  5439. return button
  5440. end
  5441. --local clipboard = {}
  5442. local function delete(o)
  5443. o.Parent = nil
  5444. end
  5445. makeButton(ACTION_EDITQUICKACCESS,ACTION_EDITQUICKACCESS,"Options",true,function()return true end).MouseButton1Click:connect(function()
  5446. end)
  5447. -- DELETE
  5448. makeButton(ACTION_DELETE,ACTION_DELETE_OVER,"Delete",true,function() return #Selection:Get() > 0 end).MouseButton1Click:connect(function()
  5449. if not Option.Modifiable then return end
  5450. local list = Selection:Get()
  5451. for i = 1,#list do
  5452. pcall(delete,list[i])
  5453. end
  5454. Selection:Set({})
  5455. end)
  5456. -- PASTE
  5457. makeButton(ACTION_PASTE,ACTION_PASTE_OVER,"Paste",true,function() return #Selection:Get() > 0 and #clipboard > 0 end).MouseButton1Click:connect(function()
  5458. if not Option.Modifiable then return end
  5459. local parent = Selection.List[1] or workspace
  5460. for i = 1,#clipboard do
  5461. clipboard[i]:Clone().Parent = parent
  5462. end
  5463. end)
  5464. -- COPY
  5465. makeButton(ACTION_COPY,ACTION_COPY_OVER,"Copy",true,function() return #Selection:Get() > 0 end).MouseButton1Click:connect(function()
  5466. if not Option.Modifiable then return end
  5467. clipboard = {}
  5468. local list = Selection.List
  5469. for i = 1,#list do
  5470. table.insert(clipboard,list[i]:Clone())
  5471. end
  5472. updateActions()
  5473. end)
  5474. -- CUT
  5475. makeButton(ACTION_CUT,ACTION_CUT_OVER,"Cut",true,function() return #Selection:Get() > 0 end).MouseButton1Click:connect(function()
  5476. if not Option.Modifiable then return end
  5477. clipboard = {}
  5478. local list = Selection.List
  5479. local cut = {}
  5480. for i = 1,#list do
  5481. local obj = list[i]:Clone()
  5482. if obj then
  5483. table.insert(clipboard,obj)
  5484. table.insert(cut,list[i])
  5485. end
  5486. end
  5487. for i = 1,#cut do
  5488. pcall(delete,cut[i])
  5489. end
  5490. updateActions()
  5491. end)
  5492. -- FREEZE
  5493. makeButton(ACTION_FREEZE,ACTION_FREEZE,"Freeze",true,function() return true end)
  5494. -- ADD/REMOVE STARRED
  5495. makeButton(ACTION_ADDSTAR,ACTION_ADDSTAR_OVER,"Star",true,function() return #Selection:Get() > 0 end)
  5496. -- STARRED
  5497. makeButton(ACTION_STARRED,ACTION_STARRED,"Starred",true,function() return true end)
  5498. -- SORT
  5499. -- local actionSort = makeButton(ACTION_SORT,ACTION_SORT_OVER,"Sort")
  5500. end
  5501. ----------------------------------------------------------------
  5502. ----------------------------------------------------------------
  5503. ----------------------------------------------------------------
  5504. ----------------------------------------------------------------
  5505. ---- Option Bindables
  5506. do
  5507. local optionCallback = {
  5508. Modifiable = function(value)
  5509. for i = 1,#actionButtons do
  5510. actionButtons[i].Obj.Visible = value and Option.Selectable
  5511. end
  5512. cancelReparentDrag()
  5513. end;
  5514. Selectable = function(value)
  5515. for i = 1,#actionButtons do
  5516. actionButtons[i].Obj.Visible = value and Option.Modifiable
  5517. end
  5518. cancelSelectDrag()
  5519. Selection:Set({})
  5520. end;
  5521. }
  5522. local bindSetOption = explorerPanel:FindFirstChild("SetOption")
  5523. if not bindSetOption then
  5524. bindSetOption = Create('BindableFunction',{Name = "SetOption"})
  5525. bindSetOption.Parent = explorerPanel
  5526. end
  5527. bindSetOption.OnInvoke = function(optionName,value)
  5528. if optionCallback[optionName] then
  5529. Option[optionName] = value
  5530. optionCallback[optionName](value)
  5531. end
  5532. end
  5533. local bindGetOption = explorerPanel:FindFirstChild("GetOption")
  5534. if not bindGetOption then
  5535. bindGetOption = Create('BindableFunction',{Name = "GetOption"})
  5536. bindGetOption.Parent = explorerPanel
  5537. end
  5538. bindGetOption.OnInvoke = function(optionName)
  5539. if optionName then
  5540. return Option[optionName]
  5541. else
  5542. local options = {}
  5543. for k,v in pairs(Option) do
  5544. options[k] = v
  5545. end
  5546. return options
  5547. end
  5548. end
  5549. end
  5550. function SelectionVar()
  5551. return Selection
  5552. end
  5553. Input.InputBegan:connect(function(key)
  5554. if key.KeyCode == Enum.KeyCode.LeftControl then
  5555. HoldingCtrl = true
  5556. end
  5557. if key.KeyCode == Enum.KeyCode.LeftShift then
  5558. HoldingShift = true
  5559. end
  5560. end)
  5561. Input.InputEnded:connect(function(key)
  5562. if key.KeyCode == Enum.KeyCode.LeftControl then
  5563. HoldingCtrl = false
  5564. end
  5565. if key.KeyCode == Enum.KeyCode.LeftShift then
  5566. HoldingShift = false
  5567. end
  5568. end)
  5569. while RbxApi == nil do
  5570. RbxApi = GetApiRemote:Invoke()
  5571. wait()
  5572. end
  5573. explorerFilter.FocusLost:connect(function()
  5574. rawUpdateList()
  5575. end)
  5576. --[[local lastType = 0
  5577. explorerFilter.Changed:connect(function(prop)
  5578. if prop == "Text" then
  5579. if tick() - lastType > 1 then
  5580. rawUpdateList()
  5581. end
  5582. lastType = tick()
  5583. end
  5584. end)]]
  5585. CurrentInsertObjectWindow = CreateInsertObjectMenu(
  5586. GetClasses(),
  5587. "",
  5588. false,
  5589. function(option)
  5590. CurrentInsertObjectWindow.Visible = false
  5591. local list = SelectionVar():Get()
  5592. for i = 1,#list do
  5593. pcall(function() Instance.new(option,list[i]) end)
  5594. end
  5595. DestroyRightClick()
  5596. end
  5597. )
  5598. end)
  5599. spawn(function()
  5600. --[[
  5601. Change log:
  5602. 09/18
  5603. Fixed checkbox mouseover sprite
  5604. Encapsulated checkbox creation into separate method
  5605. Fixed another checkbox issue
  5606. 09/15
  5607. Invalid input is ignored instead of setting to default of that data type
  5608. Consolidated control methods and simplified them
  5609. All input goes through ToValue method
  5610. Fixed position of BrickColor palette
  5611. Made DropDown appear above row if it would otherwise exceed the page height
  5612. Cleaned up stylesheets
  5613. 09/14
  5614. Made properties window scroll when mouse wheel scrolled
  5615. Object/Instance and Color3 data types handled properly
  5616. Multiple BrickColor controls interfering with each other fixed
  5617. Added support for Content data type
  5618. --]]
  5619. wait(0.2)
  5620. -- Services
  5621. local Teams = game:GetService("Teams")
  5622. local Workspace = game:GetService("Workspace")
  5623. local Debris = game:GetService("Debris")
  5624. local ContentProvider = game:GetService("ContentProvider")
  5625. local Players = game:GetService("Players")
  5626. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  5627. -- Functions
  5628. function httpGet(url)
  5629. return game:HttpGet(url,true)
  5630. end
  5631. -- RbxApi Stuff
  5632. local apiUrl = "http://anaminus.github.io/rbx/json/api/latest.json"
  5633. local maxChunkSize = 100 * 1000
  5634. local ApiJson
  5635. if script:FindFirstChild("RawApiJson") then
  5636. ApiJson = script.RawApiJson
  5637. else
  5638. ApiJson = ""
  5639. end
  5640. function getLocalApiJson()
  5641. local rawApiJson = [===[
  5642. [{"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"}]
  5643. ]===]
  5644. return rawApiJson
  5645. end
  5646. function getCurrentApiJson()
  5647. local jsonStr = nil
  5648. local success, err = pcall(function()
  5649. jsonStr = httpGet(apiUrl)
  5650. end)
  5651. if success then
  5652. return jsonStr
  5653. else
  5654. return getLocalApiJson()
  5655. end
  5656. end
  5657. function splitStringIntoChunks(jsonStr)
  5658. -- Splits up a string into a table with a given size
  5659. local t = {}
  5660. for i = 1, math.ceil(string.len(jsonStr)/maxChunkSize) do
  5661. local str = jsonStr:sub((i-1)*maxChunkSize+1, i*maxChunkSize)
  5662. table.insert(t, str)
  5663. end
  5664. return t
  5665. end
  5666. local jsonToParse = getCurrentApiJson()
  5667. local apiChunks = splitStringIntoChunks(jsonToParse)
  5668. function getRbxApi()
  5669. --[[
  5670. Api.Classes
  5671. Api.Enums
  5672. Api.GetProperties(className)
  5673. Api.IsEnum(valueType)
  5674. --]]
  5675. -- Services
  5676. local HttpService = game:GetService("HttpService")
  5677. local ServerStorage = game:GetService("ServerStorage")
  5678. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  5679. -- Remotes
  5680. --local Remotes = ReplicatedStorage:WaitForChild("OnlineStudio"):WaitForChild("Remotes")
  5681. --local GetApiJsonFunction = Remotes:WaitForChild("GetApiJson")
  5682. -- Functions
  5683. local JsonDecode = function(s) return HttpService:JSONDecode(s) end
  5684. local function GetApiRemoteFunction(index)
  5685. if (apiChunks[index]) then
  5686. return apiChunks[index], #apiChunks
  5687. else
  5688. return nil
  5689. end
  5690. end
  5691. local function getApiJson()
  5692. local apiTable = {}
  5693. local firstPage, pageCount = GetApiRemoteFunction(1)
  5694. table.insert(apiTable, firstPage)
  5695. for i = 2, pageCount do
  5696. --print("Fetching API page # " .. tostring(i))
  5697. local result = GetApiRemoteFunction(i)
  5698. table.insert(apiTable, result)
  5699. end
  5700. return table.concat(apiTable)
  5701. end
  5702. local json = getApiJson()
  5703. local apiDump = JsonDecode(json)
  5704. local Classes = {}
  5705. local Enums = {}
  5706. local function sortAlphabetic(t, property)
  5707. table.sort(t,
  5708. function(x,y) return x[property] < y[property]
  5709. end)
  5710. end
  5711. local function isEnum(name)
  5712. return Enums[name] ~= nil
  5713. end
  5714. local function getProperties(className)
  5715. local class = Classes[className]
  5716. local properties = {}
  5717. if not class then return properties end
  5718. while class do
  5719. for _,property in pairs(class.Properties) do
  5720. table.insert(properties, property)
  5721. end
  5722. class = Classes[class.Superclass]
  5723. end
  5724. sortAlphabetic(properties, "Name")
  5725. return properties
  5726. end
  5727. for _,item in pairs(apiDump) do
  5728. local itemType = item.type
  5729. -- Classes --
  5730. if (itemType == 'Class') then
  5731. Classes[item.Name] = item
  5732. item.Properties = {}
  5733. item.Functions = {}
  5734. item.YieldFunctions = {}
  5735. item.Events = {}
  5736. item.Callbacks = {}
  5737. -- Members --
  5738. elseif (itemType == 'Property') then
  5739. table.insert(Classes[item.Class].Properties, item)
  5740. elseif (itemType == 'Function') then
  5741. table.insert(Classes[item.Class].Functions, item)
  5742. elseif (itemType == 'YieldFunction') then
  5743. table.insert(Classes[item.Class].YieldFunctions, item)
  5744. elseif (itemType == 'Event') then
  5745. table.insert(Classes[item.Class].Events, item)
  5746. elseif (itemType == 'Callback') then
  5747. table.insert(Classes[item.Class].Callbacks, item)
  5748. -- Enums --
  5749. elseif (itemType == 'Enum') then
  5750. Enums[item.Name] = item
  5751. item.EnumItems = {}
  5752. elseif (itemType == 'EnumItem') then
  5753. Enums[item.Enum].EnumItems[item.Name] = item
  5754. end
  5755. end
  5756. return {
  5757. Classes = Classes;
  5758. Enums = Enums;
  5759. GetProperties = getProperties;
  5760. IsEnum = isEnum;
  5761. }
  5762. end
  5763. -- Modules
  5764. local Permissions = {CanEdit = true}
  5765. local RbxApi = getRbxApi()
  5766. --[[
  5767. RbxApi.Classes
  5768. RbxApi.Enums
  5769. RbxApi.GetProperties(className)
  5770. RbxApi.IsEnum(valueType)
  5771. --]]
  5772. -- Styles
  5773. local function CreateColor3(r, g, b) return Color3.new(r/255,g/255,b/255) end
  5774. local Styles = {
  5775. Font = Enum.Font.Arial;
  5776. Margin = 5;
  5777. Black = CreateColor3(0,0,0);
  5778. White = CreateColor3(24,24,24);
  5779. }
  5780. local Row = {
  5781. Font = Styles.Font;
  5782. FontSize = Enum.FontSize.Size14;
  5783. TextXAlignment = Enum.TextXAlignment.Left;
  5784. TextColor = Color3.fromRGB(244,244,244);
  5785. TextColorOver = Color3.fromRGB(244,244,244);
  5786. TextLockedColor = CreateColor3(230,230,230);
  5787. Height = 24;
  5788. BorderColor = CreateColor3(216/4,216/4,216/4);
  5789. BackgroundColor = Styles.White;
  5790. BackgroundColorAlternate = CreateColor3(32, 32, 32);
  5791. BackgroundColorMouseover = CreateColor3(40, 40, 40);
  5792. TitleMarginLeft = 15;
  5793. }
  5794. local DropDown = {
  5795. Font = Styles.Font;
  5796. FontSize = Enum.FontSize.Size14;
  5797. TextColor = CreateColor3(255,255,255);
  5798. TextColorOver = Color3.new(1, 1, 1);
  5799. TextXAlignment = Enum.TextXAlignment.Left;
  5800. Height = 16;
  5801. BackColor = Styles.White;
  5802. BackColorOver = CreateColor3(190, 90, 0);
  5803. BorderColor = CreateColor3(45,45,45);
  5804. BorderSizePixel = 2;
  5805. ArrowColor = CreateColor3(160/2,160/2,160/2);
  5806. ArrowColorOver = Styles.Black;
  5807. }
  5808. local BrickColors = {
  5809. BoxSize = 13;
  5810. BorderSizePixel = 1;
  5811. BorderColor = CreateColor3(160,160,160);
  5812. FrameColor = CreateColor3(160,160,160);
  5813. Size = 20;
  5814. Padding = 4;
  5815. ColorsPerRow = 8;
  5816. OuterBorder = 1;
  5817. OuterBorderColor = Styles.Black;
  5818. }
  5819. wait(1)
  5820. local Gui = D_E_X
  5821. local PropertiesFrame = Gui:WaitForChild("PropertiesFrame")
  5822. local ExplorerFrame = Gui:WaitForChild("ExplorerPanel")
  5823. local bindGetSelection = ExplorerFrame.GetSelection
  5824. local bindSelectionChanged = ExplorerFrame.SelectionChanged
  5825. local bindGetApi = PropertiesFrame.GetApi
  5826. local bindGetAwait = PropertiesFrame.GetAwaiting
  5827. local bindSetAwait = PropertiesFrame.SetAwaiting
  5828. local ContentUrl = ContentProvider.BaseUrl .. "asset/?id="
  5829. local SettingsRemote = Gui:WaitForChild("SettingsPanel"):WaitForChild("GetSetting")
  5830. local propertiesSearch = PropertiesFrame.Header.TextBox
  5831. local AwaitingObjectValue = false
  5832. local AwaitingObjectObj
  5833. local AwaitingObjectProp
  5834. function searchingProperties()
  5835. if propertiesSearch.Text ~= "" and propertiesSearch.Text ~= "Search Properties" then
  5836. return true
  5837. end
  5838. return false
  5839. end
  5840. local function GetSelection()
  5841. local selection = bindGetSelection:Invoke()
  5842. if #selection == 0 then
  5843. return nil
  5844. else
  5845. return selection
  5846. end
  5847. end
  5848. -- Number
  5849. local function Round(number, decimalPlaces)
  5850. return tonumber(string.format("%." .. (decimalPlaces or 0) .. "f", number))
  5851. end
  5852. -- Strings
  5853. local function Split(str, delimiter)
  5854. local start = 1
  5855. local t = {}
  5856. while true do
  5857. local pos = string.find (str, delimiter, start, true)
  5858. if not pos then
  5859. break
  5860. end
  5861. table.insert (t, string.sub (str, start, pos - 1))
  5862. start = pos + string.len (delimiter)
  5863. end
  5864. table.insert (t, string.sub (str, start))
  5865. return t
  5866. end
  5867. -- Data Type Handling
  5868. local function ToString(value, type)
  5869. if type == "float" then
  5870. return tostring(Round(value,2))
  5871. elseif type == "Content" then
  5872. if string.find(value,"/asset") then
  5873. local match = string.find(value, "=") + 1
  5874. local id = string.sub(value, match)
  5875. return id
  5876. else
  5877. return tostring(value)
  5878. end
  5879. elseif type == "Vector2" then
  5880. local x = value.x
  5881. local y = value.y
  5882. return string.format("%g, %g", x,y)
  5883. elseif type == "Vector3" then
  5884. local x = value.x
  5885. local y = value.y
  5886. local z = value.z
  5887. return string.format("%g, %g, %g", x,y,z)
  5888. elseif type == "Color3" then
  5889. local r = value.r
  5890. local g = value.g
  5891. local b = value.b
  5892. return string.format("%d, %d, %d", r*255,g*255,b*255)
  5893. elseif type == "UDim2" then
  5894. local xScale = value.X.Scale
  5895. local xOffset = value.X.Offset
  5896. local yScale = value.Y.Scale
  5897. local yOffset = value.Y.Offset
  5898. return string.format("{%d, %d}, {%d, %d}", xScale, xOffset, yScale, yOffset)
  5899. else
  5900. return tostring(value)
  5901. end
  5902. end
  5903. local function ToValue(value,type)
  5904. if type == "Vector2" then
  5905. local list = Split(value,",")
  5906. if #list < 2 then return nil end
  5907. local x = tonumber(list[1]) or 0
  5908. local y = tonumber(list[2]) or 0
  5909. return Vector2.new(x,y)
  5910. elseif type == "Vector3" then
  5911. local list = Split(value,",")
  5912. if #list < 3 then return nil end
  5913. local x = tonumber(list[1]) or 0
  5914. local y = tonumber(list[2]) or 0
  5915. local z = tonumber(list[3]) or 0
  5916. return Vector3.new(x,y,z)
  5917. elseif type == "Color3" then
  5918. local list = Split(value,",")
  5919. if #list < 3 then return nil end
  5920. local r = tonumber(list[1]) or 0
  5921. local g = tonumber(list[2]) or 0
  5922. local b = tonumber(list[3]) or 0
  5923. return Color3.new(r/255,g/255, b/255)
  5924. elseif type == "UDim2" then
  5925. local list = Split(string.gsub(string.gsub(value, "{", ""),"}",""),",")
  5926. if #list < 4 then return nil end
  5927. local xScale = tonumber(list[1]) or 0
  5928. local xOffset = tonumber(list[2]) or 0
  5929. local yScale = tonumber(list[3]) or 0
  5930. local yOffset = tonumber(list[4]) or 0
  5931. return UDim2.new(xScale, xOffset, yScale, yOffset)
  5932. elseif type == "Content" then
  5933. if tonumber(value) ~= nil then
  5934. value = ContentUrl .. value
  5935. end
  5936. return value
  5937. elseif type == "float" or type == "int" or type == "double" then
  5938. return tonumber(value)
  5939. elseif type == "string" then
  5940. return value
  5941. elseif type == "NumberRange" then
  5942. local list = Split(value,",")
  5943. if #list == 1 then
  5944. if tonumber(list[1]) == nil then return nil end
  5945. local newVal = tonumber(list[1]) or 0
  5946. return NumberRange.new(newVal)
  5947. end
  5948. if #list < 2 then return nil end
  5949. local x = tonumber(list[1]) or 0
  5950. local y = tonumber(list[2]) or 0
  5951. return NumberRange.new(x,y)
  5952. else
  5953. return nil
  5954. end
  5955. end
  5956. -- Tables
  5957. local function CopyTable(T)
  5958. local t2 = {}
  5959. for k,v in pairs(T) do
  5960. t2[k] = v
  5961. end
  5962. return t2
  5963. end
  5964. local function SortTable(T)
  5965. table.sort(T,
  5966. function(x,y) return x.Name < y.Name
  5967. end)
  5968. end
  5969. -- Spritesheet
  5970. local Sprite = {
  5971. Width = 13;
  5972. Height = 13;
  5973. }
  5974. local Spritesheet = {
  5975. Image = "http://www.roblox.com/asset/?id=128896947";
  5976. Height = 256;
  5977. Width = 256;
  5978. }
  5979. local Images = {
  5980. "unchecked",
  5981. "checked",
  5982. "unchecked_over",
  5983. "checked_over",
  5984. "unchecked_disabled",
  5985. "checked_disabled"
  5986. }
  5987. local function SpritePosition(spriteName)
  5988. local x = 0
  5989. local y = 0
  5990. for i,v in pairs(Images) do
  5991. if (v == spriteName) then
  5992. return {x, y}
  5993. end
  5994. x = x + Sprite.Height
  5995. if (x + Sprite.Width) > Spritesheet.Width then
  5996. x = 0
  5997. y = y + Sprite.Height
  5998. end
  5999. end
  6000. end
  6001. local function GetCheckboxImageName(checked, readOnly, mouseover)
  6002. if checked then
  6003. if readOnly then
  6004. return "checked_disabled"
  6005. elseif mouseover then
  6006. return "checked_over"
  6007. else
  6008. return "checked"
  6009. end
  6010. else
  6011. if readOnly then
  6012. return "unchecked_disabled"
  6013. elseif mouseover then
  6014. return "unchecked_over"
  6015. else
  6016. return "unchecked"
  6017. end
  6018. end
  6019. end
  6020. local MAP_ID = 418720155
  6021. -- Gui Controls --
  6022. ---- IconMap ----
  6023. -- Image size: 256px x 256px
  6024. -- Icon size: 16px x 16px
  6025. -- Padding between each icon: 2px
  6026. -- Padding around image edge: 1px
  6027. -- Total icons: 14 x 14 (196)
  6028. local Icon do
  6029. local iconMap = 'http://www.roblox.com/asset/?id=' .. MAP_ID
  6030. game:GetService('ContentProvider'):Preload(iconMap)
  6031. local iconDehash do
  6032. -- 14 x 14, 0-based input, 0-based output
  6033. local f=math.floor
  6034. function iconDehash(h)
  6035. return f(h/14%14),f(h%14)
  6036. end
  6037. end
  6038. function Icon(IconFrame,index)
  6039. local row,col = iconDehash(index)
  6040. local mapSize = Vector2.new(256,256)
  6041. local pad,border = 2,1
  6042. local iconSize = 16
  6043. local class = 'Frame'
  6044. if type(IconFrame) == 'string' then
  6045. class = IconFrame
  6046. IconFrame = nil
  6047. end
  6048. if not IconFrame then
  6049. IconFrame = Create(class,{
  6050. Name = "Icon";
  6051. BackgroundTransparency = 1;
  6052. ClipsDescendants = true;
  6053. Create('ImageLabel',{
  6054. Name = "IconMap";
  6055. Active = false;
  6056. BackgroundTransparency = 1;
  6057. Image = iconMap;
  6058. Size = UDim2.new(mapSize.x/iconSize,0,mapSize.y/iconSize,0);
  6059. });
  6060. })
  6061. end
  6062. IconFrame.IconMap.Position = UDim2.new(-col - (pad*(col+1) + border)/iconSize,0,-row - (pad*(row+1) + border)/iconSize,0)
  6063. return IconFrame
  6064. end
  6065. end
  6066. local function CreateCell()
  6067. local tableCell = Instance.new("Frame")
  6068. tableCell.Size = UDim2.new(0.5, -1, 1, 0)
  6069. tableCell.BackgroundColor3 = Row.BackgroundColor
  6070. tableCell.BorderColor3 = Row.BorderColor
  6071. return tableCell
  6072. end
  6073. local function CreateLabel(readOnly)
  6074. local label = Instance.new("TextLabel")
  6075. label.Font = Row.Font
  6076. label.FontSize = Row.FontSize
  6077. label.TextXAlignment = Row.TextXAlignment
  6078. label.BackgroundTransparency = 1
  6079. if readOnly then
  6080. label.TextColor3 = Row.TextLockedColor
  6081. else
  6082. label.TextColor3 = Row.TextColor
  6083. end
  6084. return label
  6085. end
  6086. local function CreateTextButton(readOnly, onClick)
  6087. local button = Instance.new("TextButton")
  6088. button.Font = Row.Font
  6089. button.FontSize = Row.FontSize
  6090. button.TextXAlignment = Row.TextXAlignment
  6091. button.BackgroundTransparency = 1
  6092. if readOnly then
  6093. button.TextColor3 = Row.TextLockedColor
  6094. else
  6095. button.TextColor3 = Row.TextColor
  6096. button.MouseButton1Click:connect(function()
  6097. onClick()
  6098. end)
  6099. end
  6100. return button
  6101. end
  6102. local function CreateObject(readOnly)
  6103. local button = Instance.new("TextButton")
  6104. button.Font = Row.Font
  6105. button.FontSize = Row.FontSize
  6106. button.TextXAlignment = Row.TextXAlignment
  6107. button.BackgroundTransparency = 1
  6108. if readOnly then
  6109. button.TextColor3 = Row.TextLockedColor
  6110. else
  6111. button.TextColor3 = Row.TextColor
  6112. end
  6113. local cancel = Create(Icon('ImageButton',177),{
  6114. Name = "Cancel";
  6115. Visible = false;
  6116. Position = UDim2.new(1,-20,0,0);
  6117. Size = UDim2.new(0,20,0,20);
  6118. Parent = button;
  6119. })
  6120. return button
  6121. end
  6122. local function CreateTextBox(readOnly)
  6123. if readOnly then
  6124. local box = CreateLabel(readOnly)
  6125. return box
  6126. else
  6127. local box = Instance.new("TextBox")
  6128. if not SettingsRemote:Invoke("ClearProps") then
  6129. box.ClearTextOnFocus = false
  6130. end
  6131. box.Font = Row.Font
  6132. box.FontSize = Row.FontSize
  6133. box.TextXAlignment = Row.TextXAlignment
  6134. box.BackgroundTransparency = 1
  6135. box.TextColor3 = Row.TextColor
  6136. return box
  6137. end
  6138. end
  6139. local function CreateDropDownItem(text, onClick)
  6140. local button = Instance.new("TextButton")
  6141. button.Font = DropDown.Font
  6142. button.FontSize = DropDown.FontSize
  6143. button.TextColor3 = DropDown.TextColor
  6144. button.TextXAlignment = DropDown.TextXAlignment
  6145. button.BackgroundColor3 = DropDown.BackColor
  6146. button.AutoButtonColor = false
  6147. button.BorderSizePixel = 0
  6148. button.Active = true
  6149. button.Text = text
  6150. button.MouseEnter:connect(function()
  6151. button.TextColor3 = DropDown.TextColorOver
  6152. button.BackgroundColor3 = DropDown.BackColorOver
  6153. end)
  6154. button.MouseLeave:connect(function()
  6155. button.TextColor3 = DropDown.TextColor
  6156. button.BackgroundColor3 = DropDown.BackColor
  6157. end)
  6158. button.MouseButton1Click:connect(function()
  6159. onClick(text)
  6160. end)
  6161. return button
  6162. end
  6163. local function CreateDropDown(choices, currentChoice, readOnly, onClick)
  6164. local frame = Instance.new("Frame")
  6165. frame.Name = "DropDown"
  6166. frame.Size = UDim2.new(1, 0, 1, 0)
  6167. frame.BackgroundTransparency = 1
  6168. frame.Active = true
  6169. local menu = nil
  6170. local arrow = nil
  6171. local expanded = false
  6172. local margin = DropDown.BorderSizePixel;
  6173. local button = Instance.new("TextButton")
  6174. button.Font = Row.Font
  6175. button.FontSize = Row.FontSize
  6176. button.TextXAlignment = Row.TextXAlignment
  6177. button.BackgroundTransparency = 1
  6178. button.TextColor3 = Row.TextColor
  6179. if readOnly then
  6180. button.TextColor3 = Row.TextLockedColor
  6181. end
  6182. button.Text = currentChoice
  6183. button.Size = UDim2.new(1, -2 * Styles.Margin, 1, 0)
  6184. button.Position = UDim2.new(0, Styles.Margin, 0, 0)
  6185. button.Parent = frame
  6186. local function showArrow(color)
  6187. if arrow then arrow:Destroy() end
  6188. local graphicTemplate = Create('Frame',{
  6189. Name="Graphic";
  6190. BorderSizePixel = 0;
  6191. BackgroundColor3 = Color3.new(1, 1, 1);
  6192. })
  6193. local graphicSize = 16/2
  6194. arrow = ArrowGraphic(graphicSize,'Down',true,graphicTemplate)
  6195. arrow.Position = UDim2.new(1,-graphicSize * 2,0.5,-graphicSize/2)
  6196. arrow.Parent = frame
  6197. end
  6198. local function hideMenu()
  6199. expanded = false
  6200. showArrow(DropDown.ArrowColor)
  6201. if menu then menu:Destroy() end
  6202. end
  6203. local function showMenu()
  6204. expanded = true
  6205. menu = Instance.new("Frame")
  6206. menu.Size = UDim2.new(1, -2 * margin, 0, #choices * DropDown.Height)
  6207. menu.Position = UDim2.new(0, margin, 0, Row.Height + margin)
  6208. menu.BackgroundTransparency = 0
  6209. menu.BackgroundColor3 = DropDown.BackColor
  6210. menu.BorderColor3 = DropDown.BorderColor
  6211. menu.BorderSizePixel = DropDown.BorderSizePixel
  6212. menu.Active = true
  6213. menu.ZIndex = 5
  6214. menu.Parent = frame
  6215. local parentFrameHeight = menu.Parent.Parent.Parent.Parent.Size.Y.Offset
  6216. local rowHeight = menu.Parent.Parent.Parent.Position.Y.Offset
  6217. if (rowHeight + menu.Size.Y.Offset) > math.max(parentFrameHeight,PropertiesFrame.AbsoluteSize.y) then
  6218. menu.Position = UDim2.new(0, margin, 0, -1 * (#choices * DropDown.Height) - margin)
  6219. end
  6220. local function choice(name)
  6221. onClick(name)
  6222. hideMenu()
  6223. end
  6224. for i,name in pairs(choices) do
  6225. local option = CreateDropDownItem(name, function()
  6226. choice(name)
  6227. end)
  6228. option.Size = UDim2.new(1, 0, 0, 16)
  6229. option.Position = UDim2.new(0, 0, 0, (i - 1) * DropDown.Height)
  6230. option.ZIndex = menu.ZIndex
  6231. option.Parent = menu
  6232. end
  6233. end
  6234. showArrow(DropDown.ArrowColor)
  6235. if not readOnly then
  6236. button.MouseEnter:connect(function()
  6237. button.TextColor3 = Row.TextColor
  6238. showArrow(DropDown.ArrowColorOver)
  6239. end)
  6240. button.MouseLeave:connect(function()
  6241. button.TextColor3 = Row.TextColor
  6242. if not expanded then
  6243. showArrow(DropDown.ArrowColor)
  6244. end
  6245. end)
  6246. button.MouseButton1Click:connect(function()
  6247. if expanded then
  6248. hideMenu()
  6249. else
  6250. showMenu()
  6251. end
  6252. end)
  6253. end
  6254. return frame,button
  6255. end
  6256. local function CreateBrickColor(readOnly, onClick)
  6257. local frame = Instance.new("Frame")
  6258. frame.Size = UDim2.new(1,0,1,0)
  6259. frame.BackgroundTransparency = 1
  6260. local colorPalette = Instance.new("Frame")
  6261. colorPalette.BackgroundTransparency = 0
  6262. colorPalette.SizeConstraint = Enum.SizeConstraint.RelativeXX
  6263. colorPalette.Size = UDim2.new(1, -2 * BrickColors.OuterBorder, 1, -2 * BrickColors.OuterBorder)
  6264. colorPalette.BorderSizePixel = BrickColors.BorderSizePixel
  6265. colorPalette.BorderColor3 = BrickColors.BorderColor
  6266. colorPalette.Position = UDim2.new(0, BrickColors.OuterBorder, 0, BrickColors.OuterBorder + Row.Height)
  6267. colorPalette.ZIndex = 5
  6268. colorPalette.Visible = false
  6269. colorPalette.BorderSizePixel = BrickColors.OuterBorder
  6270. colorPalette.BorderColor3 = BrickColors.OuterBorderColor
  6271. colorPalette.Parent = frame
  6272. local function show()
  6273. colorPalette.Visible = true
  6274. end
  6275. local function hide()
  6276. colorPalette.Visible = false
  6277. end
  6278. local function toggle()
  6279. colorPalette.Visible = not colorPalette.Visible
  6280. end
  6281. local colorBox = Instance.new("TextButton", frame)
  6282. colorBox.Position = UDim2.new(0, Styles.Margin, 0, Styles.Margin)
  6283. colorBox.Size = UDim2.new(0, BrickColors.BoxSize, 0, BrickColors.BoxSize)
  6284. colorBox.Text = ""
  6285. colorBox.MouseButton1Click:connect(function()
  6286. if not readOnly then
  6287. toggle()
  6288. end
  6289. end)
  6290. if readOnly then
  6291. colorBox.AutoButtonColor = false
  6292. end
  6293. local spacingBefore = (Styles.Margin * 2) + BrickColors.BoxSize
  6294. local propertyLabel = CreateTextButton(readOnly, function()
  6295. if not readOnly then
  6296. toggle()
  6297. end
  6298. end)
  6299. propertyLabel.Size = UDim2.new(1, (-1 * spacingBefore) - Styles.Margin, 1, 0)
  6300. propertyLabel.Position = UDim2.new(0, spacingBefore, 0, 0)
  6301. propertyLabel.Parent = frame
  6302. local size = (1 / BrickColors.ColorsPerRow)
  6303. for index = 0, 127 do
  6304. local brickColor = BrickColor.palette(index)
  6305. local color3 = brickColor.Color
  6306. local x = size * (index % BrickColors.ColorsPerRow)
  6307. local y = size * math.floor(index / BrickColors.ColorsPerRow)
  6308. local brickColorBox = Instance.new("TextButton")
  6309. brickColorBox.Text = ""
  6310. brickColorBox.Size = UDim2.new(size,0,size,0)
  6311. brickColorBox.BackgroundColor3 = color3
  6312. brickColorBox.Position = UDim2.new(x, 0, y, 0)
  6313. brickColorBox.ZIndex = colorPalette.ZIndex
  6314. brickColorBox.Parent = colorPalette
  6315. brickColorBox.MouseButton1Click:connect(function()
  6316. hide()
  6317. onClick(brickColor)
  6318. end)
  6319. end
  6320. return frame,propertyLabel,colorBox
  6321. end
  6322. local function CreateColor3Control(readOnly, onClick)
  6323. local frame = Instance.new("Frame")
  6324. frame.Size = UDim2.new(1,0,1,0)
  6325. frame.BackgroundTransparency = 1
  6326. local colorBox = Instance.new("TextButton", frame)
  6327. colorBox.Position = UDim2.new(0, Styles.Margin, 0, Styles.Margin)
  6328. colorBox.Size = UDim2.new(0, BrickColors.BoxSize, 0, BrickColors.BoxSize)
  6329. colorBox.Text = ""
  6330. colorBox.AutoButtonColor = false
  6331. local spacingBefore = (Styles.Margin * 2) + BrickColors.BoxSize
  6332. local box = CreateTextBox(readOnly)
  6333. box.Size = UDim2.new(1, (-1 * spacingBefore) - Styles.Margin, 1, 0)
  6334. box.Position = UDim2.new(0, spacingBefore, 0, 0)
  6335. box.Parent = frame
  6336. return frame,box,colorBox
  6337. end
  6338. function CreateCheckbox(value, readOnly, onClick)
  6339. local checked = value
  6340. local mouseover = false
  6341. local checkboxFrame = Instance.new("ImageButton")
  6342. checkboxFrame.Size = UDim2.new(0, Sprite.Width, 0, Sprite.Height)
  6343. checkboxFrame.BackgroundTransparency = 1
  6344. checkboxFrame.ClipsDescendants = true
  6345. --checkboxFrame.Position = UDim2.new(0, Styles.Margin, 0, Styles.Margin)
  6346. local spritesheetImage = Instance.new("ImageLabel", checkboxFrame)
  6347. spritesheetImage.Name = "SpritesheetImageLabel"
  6348. spritesheetImage.Size = UDim2.new(0, Spritesheet.Width, 0, Spritesheet.Height)
  6349. spritesheetImage.Image = Spritesheet.Image
  6350. spritesheetImage.BackgroundTransparency = 1
  6351. local function updateSprite()
  6352. local spriteName = GetCheckboxImageName(checked, readOnly, mouseover)
  6353. local spritePosition = SpritePosition(spriteName)
  6354. spritesheetImage.Position = UDim2.new(0, -1 * spritePosition[1], 0, -1 * spritePosition[2])
  6355. end
  6356. local function setValue(val)
  6357. checked = val
  6358. updateSprite()
  6359. end
  6360. if not readOnly then
  6361. checkboxFrame.MouseEnter:connect(function() mouseover = true updateSprite() end)
  6362. checkboxFrame.MouseLeave:connect(function() mouseover = false updateSprite() end)
  6363. checkboxFrame.MouseButton1Click:connect(function()
  6364. onClick(checked)
  6365. end)
  6366. end
  6367. updateSprite()
  6368. return checkboxFrame, setValue
  6369. end
  6370. -- Code for handling controls of various data types --
  6371. local Controls = {}
  6372. Controls["default"] = function(object, propertyData, readOnly)
  6373. local propertyName = propertyData["Name"]
  6374. local propertyType = propertyData["ValueType"]
  6375. local box = CreateTextBox(readOnly)
  6376. box.Size = UDim2.new(1, -2 * Styles.Margin, 1, 0)
  6377. box.Position = UDim2.new(0, Styles.Margin, 0, 0)
  6378. local function update()
  6379. local value = object[propertyName]
  6380. box.Text = ToString(value, propertyType)
  6381. end
  6382. if not readOnly then
  6383. box.FocusLost:connect(function(enterPressed)
  6384. Set(object, propertyData, ToValue(box.Text,propertyType))
  6385. update()
  6386. end)
  6387. end
  6388. update()
  6389. object.Changed:connect(function(property)
  6390. if (property == propertyName) then
  6391. update()
  6392. end
  6393. end)
  6394. return box
  6395. end
  6396. Controls["bool"] = function(object, propertyData, readOnly)
  6397. local propertyName = propertyData["Name"]
  6398. local checked = object[propertyName]
  6399. local checkbox, setValue = CreateCheckbox(checked, readOnly, function(value)
  6400. Set(object, propertyData, not checked)
  6401. end)
  6402. checkbox.Position = UDim2.new(0, Styles.Margin, 0, Styles.Margin)
  6403. setValue(checked)
  6404. local function update()
  6405. checked = object[propertyName]
  6406. setValue(checked)
  6407. end
  6408. object.Changed:connect(function(property)
  6409. if (property == propertyName) then
  6410. update()
  6411. end
  6412. end)
  6413. if object:IsA("BoolValue") then
  6414. object.Changed:connect(function(val)
  6415. update()
  6416. end)
  6417. end
  6418. update()
  6419. return checkbox
  6420. end
  6421. Controls["BrickColor"] = function(object, propertyData, readOnly)
  6422. local propertyName = propertyData["Name"]
  6423. local frame,label,brickColorBox = CreateBrickColor(readOnly, function(brickColor)
  6424. Set(object, propertyData, brickColor)
  6425. end)
  6426. local function update()
  6427. local value = object[propertyName]
  6428. brickColorBox.BackgroundColor3 = value.Color
  6429. label.Text = tostring(value)
  6430. end
  6431. update()
  6432. object.Changed:connect(function(property)
  6433. if (property == propertyName) then
  6434. update()
  6435. end
  6436. end)
  6437. return frame
  6438. end
  6439. Controls["Color3"] = function(object, propertyData, readOnly)
  6440. local propertyName = propertyData["Name"]
  6441. local frame,textBox,colorBox = CreateColor3Control(readOnly)
  6442. textBox.FocusLost:connect(function(enterPressed)
  6443. Set(object, propertyData, ToValue(textBox.Text,"Color3"))
  6444. local value = object[propertyName]
  6445. colorBox.BackgroundColor3 = value
  6446. textBox.Text = ToString(value, "Color3")
  6447. end)
  6448. local function update()
  6449. local value = object[propertyName]
  6450. colorBox.BackgroundColor3 = value
  6451. textBox.Text = ToString(value, "Color3")
  6452. end
  6453. update()
  6454. object.Changed:connect(function(property)
  6455. if (property == propertyName) then
  6456. update()
  6457. end
  6458. end)
  6459. return frame
  6460. end
  6461. Controls["Enum"] = function(object, propertyData, readOnly)
  6462. local propertyName = propertyData["Name"]
  6463. local propertyType = propertyData["ValueType"]
  6464. local enumName = object[propertyName].Name
  6465. local enumNames = {}
  6466. for _,enum in pairs(Enum[tostring(propertyType)]:GetEnumItems()) do
  6467. table.insert(enumNames, enum.Name)
  6468. end
  6469. local dropdown, propertyLabel = CreateDropDown(enumNames, enumName, readOnly, function(value)
  6470. Set(object, propertyData, value)
  6471. end)
  6472. --dropdown.Parent = frame
  6473. local function update()
  6474. local value = object[propertyName].Name
  6475. propertyLabel.Text = tostring(value)
  6476. end
  6477. update()
  6478. object.Changed:connect(function(property)
  6479. if (property == propertyName) then
  6480. update()
  6481. end
  6482. end)
  6483. return dropdown
  6484. end
  6485. Controls["Object"] = function(object, propertyData, readOnly)
  6486. local propertyName = propertyData["Name"]
  6487. local propertyType = propertyData["ValueType"]
  6488. local box = CreateObject(readOnly,function()end)
  6489. box.Size = UDim2.new(1, -2 * Styles.Margin, 1, 0)
  6490. box.Position = UDim2.new(0, Styles.Margin, 0, 0)
  6491. local function update()
  6492. if AwaitingObjectObj == object then
  6493. if AwaitingObjectValue == true then
  6494. box.Text = "Select an Object"
  6495. return
  6496. end
  6497. end
  6498. local value = object[propertyName]
  6499. box.Text = ToString(value, propertyType)
  6500. end
  6501. if not readOnly then
  6502. box.MouseButton1Click:connect(function()
  6503. if AwaitingObjectValue then
  6504. AwaitingObjectValue = false
  6505. update()
  6506. return
  6507. end
  6508. AwaitingObjectValue = true
  6509. AwaitingObjectObj = object
  6510. AwaitingObjectProp = propertyData
  6511. box.Text = "Select an Object"
  6512. end)
  6513. box.Cancel.Visible = true
  6514. box.Cancel.MouseButton1Click:connect(function()
  6515. object[propertyName] = nil
  6516. end)
  6517. end
  6518. update()
  6519. object.Changed:connect(function(property)
  6520. if (property == propertyName) then
  6521. update()
  6522. end
  6523. end)
  6524. if object:IsA("ObjectValue") then
  6525. object.Changed:connect(function(val)
  6526. update()
  6527. end)
  6528. end
  6529. return box
  6530. end
  6531. function GetControl(object, propertyData, readOnly)
  6532. local propertyType = propertyData["ValueType"]
  6533. local control = nil
  6534. if Controls[propertyType] then
  6535. control = Controls[propertyType](object, propertyData, readOnly)
  6536. elseif RbxApi.IsEnum(propertyType) then
  6537. control = Controls["Enum"](object, propertyData, readOnly)
  6538. else
  6539. control = Controls["default"](object, propertyData, readOnly)
  6540. end
  6541. return control
  6542. end
  6543. -- Permissions
  6544. function CanEditObject(object)
  6545. local player = Players.LocalPlayer
  6546. local character = player.Character
  6547. return Permissions.CanEdit
  6548. end
  6549. function CanEditProperty(object,propertyData)
  6550. local tags = propertyData["tags"]
  6551. for _,name in pairs(tags) do
  6552. if name == "readonly" then
  6553. return false
  6554. end
  6555. end
  6556. return CanEditObject(object)
  6557. end
  6558. --RbxApi
  6559. local function PropertyIsHidden(propertyData)
  6560. local tags = propertyData["tags"]
  6561. for _,name in pairs(tags) do
  6562. if name == "deprecated"
  6563. or name == "hidden"
  6564. or name == "writeonly" then
  6565. return true
  6566. end
  6567. end
  6568. return false
  6569. end
  6570. function Set(object, propertyData, value)
  6571. local propertyName = propertyData["Name"]
  6572. local propertyType = propertyData["ValueType"]
  6573. if value == nil then return end
  6574. for i,v in pairs(GetSelection()) do
  6575. if CanEditProperty(v,propertyData) then
  6576. pcall(function()
  6577. --print("Setting " .. propertyName .. " to " .. tostring(value))
  6578. v[propertyName] = value
  6579. end)
  6580. end
  6581. end
  6582. end
  6583. function CreateRow(object, propertyData, isAlternateRow)
  6584. local propertyName = propertyData["Name"]
  6585. local propertyType = propertyData["ValueType"]
  6586. local propertyValue = object[propertyName]
  6587. --rowValue, rowValueType, isAlternate
  6588. local backColor = Row.BackgroundColor;
  6589. if (isAlternateRow) then
  6590. backColor = Row.BackgroundColorAlternate
  6591. end
  6592. local readOnly = not CanEditProperty(object, propertyData)
  6593. if propertyType == "Instance" or propertyName == "Parent" then readOnly = true end
  6594. local rowFrame = Instance.new("Frame")
  6595. rowFrame.Size = UDim2.new(1,0,0,Row.Height)
  6596. rowFrame.BackgroundTransparency = 1
  6597. rowFrame.Name = 'Row'
  6598. local propertyLabelFrame = CreateCell()
  6599. propertyLabelFrame.Parent = rowFrame
  6600. propertyLabelFrame.ClipsDescendants = true
  6601. local propertyLabel = CreateLabel(readOnly)
  6602. propertyLabel.Text = propertyName
  6603. propertyLabel.Size = UDim2.new(1, -1 * Row.TitleMarginLeft, 1, 0)
  6604. propertyLabel.Position = UDim2.new(0, Row.TitleMarginLeft, 0, 0)
  6605. propertyLabel.Parent = propertyLabelFrame
  6606. local propertyValueFrame = CreateCell()
  6607. propertyValueFrame.Size = UDim2.new(0.5, -1, 1, 0)
  6608. propertyValueFrame.Position = UDim2.new(0.5, 0, 0, 0)
  6609. propertyValueFrame.Parent = rowFrame
  6610. local control = GetControl(object, propertyData, readOnly)
  6611. control.Parent = propertyValueFrame
  6612. rowFrame.MouseEnter:connect(function()
  6613. propertyLabelFrame.BackgroundColor3 = Row.BackgroundColorMouseover
  6614. propertyValueFrame.BackgroundColor3 = Row.BackgroundColorMouseover
  6615. end)
  6616. rowFrame.MouseLeave:connect(function()
  6617. propertyLabelFrame.BackgroundColor3 = backColor
  6618. propertyValueFrame.BackgroundColor3 = backColor
  6619. end)
  6620. propertyLabelFrame.BackgroundColor3 = backColor
  6621. propertyValueFrame.BackgroundColor3 = backColor
  6622. return rowFrame
  6623. end
  6624. function ClearPropertiesList()
  6625. for _,instance in pairs(ContentFrame:GetChildren()) do
  6626. instance:Destroy()
  6627. end
  6628. end
  6629. local selection = Gui:FindFirstChild("Selection", 1)
  6630. function displayProperties(props)
  6631. for i,v in pairs(props) do
  6632. pcall(function()
  6633. local a = CreateRow(v.object, v.propertyData, ((numRows % 2) == 0))
  6634. a.Position = UDim2.new(0,0,0,numRows*Row.Height)
  6635. a.Parent = ContentFrame
  6636. numRows = numRows + 1
  6637. end)
  6638. end
  6639. end
  6640. function checkForDupe(prop,props)
  6641. for i,v in pairs(props) do
  6642. if v.propertyData.Name == prop.Name and v.propertyData.ValueType == prop.ValueType then
  6643. return true
  6644. end
  6645. end
  6646. return false
  6647. end
  6648. function sortProps(t)
  6649. table.sort(t,
  6650. function(x,y) return x.propertyData.Name < y.propertyData.Name
  6651. end)
  6652. end
  6653. function showProperties(obj)
  6654. ClearPropertiesList()
  6655. if obj == nil then return end
  6656. local propHolder = {}
  6657. local foundProps = {}
  6658. numRows = 0
  6659. for _,nextObj in pairs(obj) do
  6660. if not foundProps[nextObj.className] then
  6661. foundProps[nextObj.className] = true
  6662. for i,v in pairs(RbxApi.GetProperties(nextObj.className)) do
  6663. local suc, err = pcall(function()
  6664. if not (PropertyIsHidden(v)) and not checkForDupe(v,propHolder) then
  6665. if string.find(string.lower(v.Name),string.lower(propertiesSearch.Text)) or not searchingProperties() then
  6666. table.insert(propHolder,{propertyData = v, object = nextObj})
  6667. end
  6668. end
  6669. end)
  6670. --[[if not suc then
  6671. warn("Problem getting the value of property " .. v.Name .. " | " .. err)
  6672. end --]]
  6673. end
  6674. end
  6675. end
  6676. sortProps(propHolder)
  6677. displayProperties(propHolder)
  6678. ContentFrame.Size = UDim2.new(1, 0, 0, numRows * Row.Height)
  6679. scrollBar.ScrollIndex = 0
  6680. scrollBar.TotalSpace = numRows * Row.Height
  6681. scrollBar.Update()
  6682. end
  6683. ----------------------------------------------------------------
  6684. -----------------------SCROLLBAR STUFF--------------------------
  6685. ----------------------------------------------------------------
  6686. ----------------------------------------------------------------
  6687. local ScrollBarWidth = 16
  6688. local ScrollStyles = {
  6689. Background = Color3.fromRGB(233, 233, 233);
  6690. Border = Color3.fromRGB(149, 149, 149);
  6691. Selected = Color3.fromRGB( 63, 119, 189);
  6692. BorderSelected = Color3.fromRGB( 55, 106, 167);
  6693. Text = Color3.fromRGB( 0, 0, 0);
  6694. TextDisabled = Color3.fromRGB(128, 128, 128);
  6695. TextSelected = Color3.fromRGB(255, 255, 255);
  6696. Button = Color3.fromRGB( 35, 35, 35);
  6697. ButtonBorder = Color3.fromRGB(149, 149, 149);
  6698. ButtonSelected = Color3.fromRGB(255, 0, 0);
  6699. Field = Color3.fromRGB(255, 255, 255);
  6700. FieldBorder = Color3.fromRGB(191, 191, 191);
  6701. TitleBackground = Color3.fromRGB(178, 178, 178);
  6702. }
  6703. do
  6704. local ZIndexLock = {}
  6705. function SetZIndex(object,z)
  6706. if not ZIndexLock[object] then
  6707. ZIndexLock[object] = true
  6708. if object:IsA'GuiObject' then
  6709. object.ZIndex = z
  6710. end
  6711. local children = object:GetChildren()
  6712. for i = 1,#children do
  6713. SetZIndex(children[i],z)
  6714. end
  6715. ZIndexLock[object] = nil
  6716. end
  6717. end
  6718. end
  6719. function SetZIndexOnChanged(object)
  6720. return object.Changed:connect(function(p)
  6721. if p == "ZIndex" then
  6722. SetZIndex(object,object.ZIndex)
  6723. end
  6724. end)
  6725. end
  6726. function Create(ty,data)
  6727. local obj
  6728. if type(ty) == 'string' then
  6729. obj = Instance.new(ty)
  6730. else
  6731. obj = ty
  6732. end
  6733. for k, v in pairs(data) do
  6734. if type(k) == 'number' then
  6735. v.Parent = obj
  6736. else
  6737. obj[k] = v
  6738. end
  6739. end
  6740. return obj
  6741. end
  6742. -- returns the ascendant ScreenGui of an object
  6743. function GetScreen(screen)
  6744. if screen == nil then return nil end
  6745. while not screen:IsA("ScreenGui") do
  6746. screen = screen.Parent
  6747. if screen == nil then return nil end
  6748. end
  6749. return screen
  6750. end
  6751. -- AutoButtonColor doesn't always reset properly
  6752. function ResetButtonColor(button)
  6753. local active = button.Active
  6754. button.Active = not active
  6755. button.Active = active
  6756. end
  6757. function ArrowGraphic(size,dir,scaled,template)
  6758. local Frame = Create('Frame',{
  6759. Name = "Arrow Graphic";
  6760. BorderSizePixel = 0;
  6761. Size = UDim2.new(0,size,0,size);
  6762. Transparency = 1;
  6763. })
  6764. if not template then
  6765. template = Instance.new("Frame")
  6766. template.BorderSizePixel = 0
  6767. end
  6768. template.BackgroundColor3 = Color3.new(1, 1, 1);
  6769. local transform
  6770. if dir == nil or dir == 'Up' then
  6771. function transform(p,s) return p,s end
  6772. elseif dir == 'Down' then
  6773. function transform(p,s) return UDim2.new(0,p.X.Offset,0,size-p.Y.Offset-1),s end
  6774. elseif dir == 'Left' then
  6775. 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
  6776. elseif dir == 'Right' then
  6777. 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
  6778. end
  6779. local scale
  6780. if scaled then
  6781. 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
  6782. else
  6783. function scale(p,s) return p,s end
  6784. end
  6785. local o = math.floor(size/4)
  6786. if size%2 == 0 then
  6787. local n = size/2-1
  6788. for i = 0,n do
  6789. local t = template:Clone()
  6790. local p,s = scale(transform(
  6791. UDim2.new(0,n-i,0,o+i),
  6792. UDim2.new(0,(i+1)*2,0,1)
  6793. ))
  6794. t.Position = p
  6795. t.Size = s
  6796. t.Parent = Frame
  6797. end
  6798. else
  6799. local n = (size-1)/2
  6800. for i = 0,n do
  6801. local t = template:Clone()
  6802. local p,s = scale(transform(
  6803. UDim2.new(0,n-i,0,o+i),
  6804. UDim2.new(0,i*2+1,0,1)
  6805. ))
  6806. t.Position = p
  6807. t.Size = s
  6808. t.Parent = Frame
  6809. end
  6810. end
  6811. if size%4 > 1 then
  6812. local t = template:Clone()
  6813. local p,s = scale(transform(
  6814. UDim2.new(0,0,0,size-o-1),
  6815. UDim2.new(0,size,0,1)
  6816. ))
  6817. t.Position = p
  6818. t.Size = s
  6819. t.Parent = Frame
  6820. end
  6821. for i,v in pairs(Frame:GetChildren()) do
  6822. v.BackgroundColor3 = Color3.new(1, 1, 1);
  6823. end
  6824. return Frame
  6825. end
  6826. function GripGraphic(size,dir,spacing,scaled,template)
  6827. local Frame = Create('Frame',{
  6828. Name = "Grip Graphic";
  6829. BorderSizePixel = 0;
  6830. Size = UDim2.new(0,size.x,0,size.y);
  6831. Transparency = 1;
  6832. })
  6833. if not template then
  6834. template = Instance.new("Frame")
  6835. template.BorderSizePixel = 0
  6836. end
  6837. spacing = spacing or 2
  6838. local scale
  6839. if scaled then
  6840. function scale(p) return UDim2.new(p.X.Offset/size.x,0,p.Y.Offset/size.y,0) end
  6841. else
  6842. function scale(p) return p end
  6843. end
  6844. if dir == 'Vertical' then
  6845. for i=0,size.x-1,spacing do
  6846. local t = template:Clone()
  6847. t.Size = scale(UDim2.new(0,1,0,size.y))
  6848. t.Position = scale(UDim2.new(0,i,0,0))
  6849. t.Parent = Frame
  6850. end
  6851. elseif dir == nil or dir == 'Horizontal' then
  6852. for i=0,size.y-1,spacing do
  6853. local t = template:Clone()
  6854. t.Size = scale(UDim2.new(0,size.x,0,1))
  6855. t.Position = scale(UDim2.new(0,0,0,i))
  6856. t.Parent = Frame
  6857. end
  6858. end
  6859. return Frame
  6860. end
  6861. do
  6862. local mt = {
  6863. __index = {
  6864. GetScrollPercent = function(self)
  6865. return self.ScrollIndex/(self.TotalSpace-self.VisibleSpace)
  6866. end;
  6867. CanScrollDown = function(self)
  6868. return self.ScrollIndex + self.VisibleSpace < self.TotalSpace
  6869. end;
  6870. CanScrollUp = function(self)
  6871. return self.ScrollIndex > 0
  6872. end;
  6873. ScrollDown = function(self)
  6874. self.ScrollIndex = self.ScrollIndex + self.PageIncrement
  6875. self:Update()
  6876. end;
  6877. ScrollUp = function(self)
  6878. self.ScrollIndex = self.ScrollIndex - self.PageIncrement
  6879. self:Update()
  6880. end;
  6881. ScrollTo = function(self,index)
  6882. self.ScrollIndex = index
  6883. self:Update()
  6884. end;
  6885. SetScrollPercent = function(self,percent)
  6886. self.ScrollIndex = math.floor((self.TotalSpace - self.VisibleSpace)*percent + 0.5)
  6887. self:Update()
  6888. end;
  6889. };
  6890. }
  6891. mt.__index.CanScrollRight = mt.__index.CanScrollDown
  6892. mt.__index.CanScrollLeft = mt.__index.CanScrollUp
  6893. mt.__index.ScrollLeft = mt.__index.ScrollUp
  6894. mt.__index.ScrollRight = mt.__index.ScrollDown
  6895. function ScrollBar(horizontal)
  6896. -- create row scroll bar
  6897. local ScrollFrame = Create('Frame',{
  6898. Name = "ScrollFrame";
  6899. Position = horizontal and UDim2.new(0,0,1,-ScrollBarWidth) or UDim2.new(1,-ScrollBarWidth,0,0);
  6900. Size = horizontal and UDim2.new(1,0,0,ScrollBarWidth) or UDim2.new(0,ScrollBarWidth,1,0);
  6901. BackgroundTransparency = 1;
  6902. Create('ImageButton',{
  6903. Name = "ScrollDown";
  6904. Position = horizontal and UDim2.new(1,-ScrollBarWidth,0,0) or UDim2.new(0,0,1,-ScrollBarWidth);
  6905. Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
  6906. BackgroundColor3 = ScrollStyles.Button;
  6907. BorderColor3 = ScrollStyles.Border;
  6908. BorderSizePixel = 0;
  6909. });
  6910. Create('ImageButton',{
  6911. Name = "ScrollUp";
  6912. Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
  6913. BackgroundColor3 = ScrollStyles.Button;
  6914. BorderColor3 = ScrollStyles.Border;
  6915. BorderSizePixel = 0;
  6916. });
  6917. Create('ImageButton',{
  6918. Name = "ScrollBar";
  6919. Size = horizontal and UDim2.new(1,-ScrollBarWidth*2,1,0) or UDim2.new(1,0,1,-ScrollBarWidth*2);
  6920. Position = horizontal and UDim2.new(0,ScrollBarWidth,0,0) or UDim2.new(0,0,0,ScrollBarWidth);
  6921. AutoButtonColor = false;
  6922. BackgroundColor3 = Color3.fromRGB(20, 20, 20);
  6923. BorderColor3 = ScrollStyles.Border;
  6924. BorderSizePixel = 0;
  6925. Create('ImageButton',{
  6926. Name = "ScrollThumb";
  6927. AutoButtonColor = false;
  6928. Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
  6929. BackgroundColor3 = ScrollStyles.Button;
  6930. BorderColor3 = ScrollStyles.Border;
  6931. BorderSizePixel = 0;
  6932. });
  6933. });
  6934. })
  6935. local graphicTemplate = Create('Frame',{
  6936. Name="Graphic";
  6937. BorderSizePixel = 0;
  6938. BackgroundColor3 = Color3.new(1, 1, 1);
  6939. })
  6940. local graphicSize = ScrollBarWidth/2
  6941. local ScrollDownFrame = ScrollFrame.ScrollDown
  6942. local ScrollDownGraphic = ArrowGraphic(graphicSize,horizontal and 'Right' or 'Down',true,graphicTemplate)
  6943. ScrollDownGraphic.Position = UDim2.new(0.5,-graphicSize/2,0.5,-graphicSize/2)
  6944. ScrollDownGraphic.Parent = ScrollDownFrame
  6945. local ScrollUpFrame = ScrollFrame.ScrollUp
  6946. local ScrollUpGraphic = ArrowGraphic(graphicSize,horizontal and 'Left' or 'Up',true,graphicTemplate)
  6947. ScrollUpGraphic.Position = UDim2.new(0.5,-graphicSize/2,0.5,-graphicSize/2)
  6948. ScrollUpGraphic.Parent = ScrollUpFrame
  6949. local ScrollBarFrame = ScrollFrame.ScrollBar
  6950. local ScrollThumbFrame = ScrollBarFrame.ScrollThumb
  6951. do
  6952. local size = ScrollBarWidth*3/8
  6953. local Decal = GripGraphic(Vector2.new(size,size),horizontal and 'Vertical' or 'Horizontal',2,graphicTemplate)
  6954. Decal.Position = UDim2.new(0.5,-size/2,0.5,-size/2)
  6955. Decal.Parent = ScrollThumbFrame
  6956. end
  6957. local MouseDrag = Create('ImageButton',{
  6958. Name = "MouseDrag";
  6959. Position = UDim2.new(-0.25,0,-0.25,0);
  6960. Size = UDim2.new(1.5,0,1.5,0);
  6961. Transparency = 1;
  6962. AutoButtonColor = false;
  6963. Active = true;
  6964. ZIndex = 10;
  6965. })
  6966. local Class = setmetatable({
  6967. GUI = ScrollFrame;
  6968. ScrollIndex = 0;
  6969. VisibleSpace = 0;
  6970. TotalSpace = 0;
  6971. PageIncrement = 1;
  6972. },mt)
  6973. local UpdateScrollThumb
  6974. if horizontal then
  6975. function UpdateScrollThumb()
  6976. ScrollThumbFrame.Size = UDim2.new(Class.VisibleSpace/Class.TotalSpace,0,0,ScrollBarWidth)
  6977. if ScrollThumbFrame.AbsoluteSize.x < ScrollBarWidth then
  6978. ScrollThumbFrame.Size = UDim2.new(0,ScrollBarWidth,0,ScrollBarWidth)
  6979. end
  6980. local barSize = ScrollBarFrame.AbsoluteSize.x
  6981. ScrollThumbFrame.Position = UDim2.new(Class:GetScrollPercent()*(barSize - ScrollThumbFrame.AbsoluteSize.x)/barSize,0,0,0)
  6982. end
  6983. else
  6984. function UpdateScrollThumb()
  6985. ScrollThumbFrame.Size = UDim2.new(0,ScrollBarWidth,Class.VisibleSpace/Class.TotalSpace,0)
  6986. if ScrollThumbFrame.AbsoluteSize.y < ScrollBarWidth then
  6987. ScrollThumbFrame.Size = UDim2.new(0,ScrollBarWidth,0,ScrollBarWidth)
  6988. end
  6989. local barSize = ScrollBarFrame.AbsoluteSize.y
  6990. ScrollThumbFrame.Position = UDim2.new(0,0,Class:GetScrollPercent()*(barSize - ScrollThumbFrame.AbsoluteSize.y)/barSize,0)
  6991. end
  6992. end
  6993. local lastDown
  6994. local lastUp
  6995. local scrollStyle = {BackgroundColor3=Color3.new(1, 1, 1),BackgroundTransparency=0}
  6996. local scrollStyle_ds = {BackgroundColor3=Color3.new(1, 1, 1),BackgroundTransparency=0.7}
  6997. local function Update()
  6998. local t = Class.TotalSpace
  6999. local v = Class.VisibleSpace
  7000. local s = Class.ScrollIndex
  7001. if v <= t then
  7002. if s > 0 then
  7003. if s + v > t then
  7004. Class.ScrollIndex = t - v
  7005. end
  7006. else
  7007. Class.ScrollIndex = 0
  7008. end
  7009. else
  7010. Class.ScrollIndex = 0
  7011. end
  7012. if Class.UpdateCallback then
  7013. if Class.UpdateCallback(Class) == false then
  7014. return
  7015. end
  7016. end
  7017. local down = Class:CanScrollDown()
  7018. local up = Class:CanScrollUp()
  7019. if down ~= lastDown then
  7020. lastDown = down
  7021. ScrollDownFrame.Active = down
  7022. ScrollDownFrame.AutoButtonColor = down
  7023. local children = ScrollDownGraphic:GetChildren()
  7024. local style = down and scrollStyle or scrollStyle_ds
  7025. for i = 1,#children do
  7026. Create(children[i],style)
  7027. end
  7028. end
  7029. if up ~= lastUp then
  7030. lastUp = up
  7031. ScrollUpFrame.Active = up
  7032. ScrollUpFrame.AutoButtonColor = up
  7033. local children = ScrollUpGraphic:GetChildren()
  7034. local style = up and scrollStyle or scrollStyle_ds
  7035. for i = 1,#children do
  7036. Create(children[i],style)
  7037. end
  7038. end
  7039. ScrollThumbFrame.Visible = down or up
  7040. UpdateScrollThumb()
  7041. end
  7042. Class.Update = Update
  7043. SetZIndexOnChanged(ScrollFrame)
  7044. local scrollEventID = 0
  7045. ScrollDownFrame.MouseButton1Down:connect(function()
  7046. scrollEventID = tick()
  7047. local current = scrollEventID
  7048. local up_con
  7049. up_con = MouseDrag.MouseButton1Up:connect(function()
  7050. scrollEventID = tick()
  7051. MouseDrag.Parent = nil
  7052. ResetButtonColor(ScrollDownFrame)
  7053. up_con:disconnect(); drag = nil
  7054. end)
  7055. MouseDrag.Parent = GetScreen(ScrollFrame)
  7056. Class:ScrollDown()
  7057. wait(0.2) -- delay before auto scroll
  7058. while scrollEventID == current do
  7059. Class:ScrollDown()
  7060. if not Class:CanScrollDown() then break end
  7061. wait()
  7062. end
  7063. end)
  7064. ScrollDownFrame.MouseButton1Up:connect(function()
  7065. scrollEventID = tick()
  7066. end)
  7067. ScrollUpFrame.MouseButton1Down:connect(function()
  7068. scrollEventID = tick()
  7069. local current = scrollEventID
  7070. local up_con
  7071. up_con = MouseDrag.MouseButton1Up:connect(function()
  7072. scrollEventID = tick()
  7073. MouseDrag.Parent = nil
  7074. ResetButtonColor(ScrollUpFrame)
  7075. up_con:disconnect(); drag = nil
  7076. end)
  7077. MouseDrag.Parent = GetScreen(ScrollFrame)
  7078. Class:ScrollUp()
  7079. wait(0.2)
  7080. while scrollEventID == current do
  7081. Class:ScrollUp()
  7082. if not Class:CanScrollUp() then break end
  7083. wait()
  7084. end
  7085. end)
  7086. ScrollUpFrame.MouseButton1Up:connect(function()
  7087. scrollEventID = tick()
  7088. end)
  7089. if horizontal then
  7090. ScrollBarFrame.MouseButton1Down:connect(function(x,y)
  7091. scrollEventID = tick()
  7092. local current = scrollEventID
  7093. local up_con
  7094. up_con = MouseDrag.MouseButton1Up:connect(function()
  7095. scrollEventID = tick()
  7096. MouseDrag.Parent = nil
  7097. ResetButtonColor(ScrollUpFrame)
  7098. up_con:disconnect(); drag = nil
  7099. end)
  7100. MouseDrag.Parent = GetScreen(ScrollFrame)
  7101. if x > ScrollThumbFrame.AbsolutePosition.x then
  7102. Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
  7103. wait(0.2)
  7104. while scrollEventID == current do
  7105. if x < ScrollThumbFrame.AbsolutePosition.x + ScrollThumbFrame.AbsoluteSize.x then break end
  7106. Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
  7107. wait()
  7108. end
  7109. else
  7110. Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
  7111. wait(0.2)
  7112. while scrollEventID == current do
  7113. if x > ScrollThumbFrame.AbsolutePosition.x then break end
  7114. Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
  7115. wait()
  7116. end
  7117. end
  7118. end)
  7119. else
  7120. ScrollBarFrame.MouseButton1Down:connect(function(x,y)
  7121. scrollEventID = tick()
  7122. local current = scrollEventID
  7123. local up_con
  7124. up_con = MouseDrag.MouseButton1Up:connect(function()
  7125. scrollEventID = tick()
  7126. MouseDrag.Parent = nil
  7127. ResetButtonColor(ScrollUpFrame)
  7128. up_con:disconnect(); drag = nil
  7129. end)
  7130. MouseDrag.Parent = GetScreen(ScrollFrame)
  7131. if y > ScrollThumbFrame.AbsolutePosition.y then
  7132. Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
  7133. wait(0.2)
  7134. while scrollEventID == current do
  7135. if y < ScrollThumbFrame.AbsolutePosition.y + ScrollThumbFrame.AbsoluteSize.y then break end
  7136. Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
  7137. wait()
  7138. end
  7139. else
  7140. Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
  7141. wait(0.2)
  7142. while scrollEventID == current do
  7143. if y > ScrollThumbFrame.AbsolutePosition.y then break end
  7144. Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
  7145. wait()
  7146. end
  7147. end
  7148. end)
  7149. end
  7150. if horizontal then
  7151. ScrollThumbFrame.MouseButton1Down:connect(function(x,y)
  7152. scrollEventID = tick()
  7153. local mouse_offset = x - ScrollThumbFrame.AbsolutePosition.x
  7154. local drag_con
  7155. local up_con
  7156. drag_con = MouseDrag.MouseMoved:connect(function(x,y)
  7157. if not game:GetService'UserInputService':IsMouseButtonPressed'MouseButton1' then
  7158. scrollEventID = tick()
  7159. MouseDrag.Parent = nil
  7160. ResetButtonColor(ScrollThumbFrame)
  7161. drag_con:disconnect(); drag_con = nil
  7162. up_con:disconnect(); drag = nil
  7163. end
  7164. local bar_abs_pos = ScrollBarFrame.AbsolutePosition.x
  7165. local bar_drag = ScrollBarFrame.AbsoluteSize.x - ScrollThumbFrame.AbsoluteSize.x
  7166. local bar_abs_one = bar_abs_pos + bar_drag
  7167. x = x - mouse_offset
  7168. x = x < bar_abs_pos and bar_abs_pos or x > bar_abs_one and bar_abs_one or x
  7169. x = x - bar_abs_pos
  7170. Class:SetScrollPercent(x/(bar_drag))
  7171. end)
  7172. up_con = MouseDrag.MouseButton1Up:connect(function()
  7173. scrollEventID = tick()
  7174. MouseDrag.Parent = nil
  7175. ResetButtonColor(ScrollThumbFrame)
  7176. drag_con:disconnect(); drag_con = nil
  7177. up_con:disconnect(); drag = nil
  7178. end)
  7179. MouseDrag.Parent = GetScreen(ScrollFrame)
  7180. end)
  7181. else
  7182. ScrollThumbFrame.MouseButton1Down:connect(function(x,y)
  7183. scrollEventID = tick()
  7184. local mouse_offset = y - ScrollThumbFrame.AbsolutePosition.y
  7185. local drag_con
  7186. local up_con
  7187. drag_con = MouseDrag.MouseMoved:connect(function(x,y)
  7188. if not game:GetService'UserInputService':IsMouseButtonPressed'MouseButton1' then
  7189. scrollEventID = tick()
  7190. MouseDrag.Parent = nil
  7191. ResetButtonColor(ScrollThumbFrame)
  7192. drag_con:disconnect(); drag_con = nil
  7193. up_con:disconnect(); drag = nil
  7194. end
  7195. local bar_abs_pos = ScrollBarFrame.AbsolutePosition.y
  7196. local bar_drag = ScrollBarFrame.AbsoluteSize.y - ScrollThumbFrame.AbsoluteSize.y
  7197. local bar_abs_one = bar_abs_pos + bar_drag
  7198. y = y - mouse_offset
  7199. y = y < bar_abs_pos and bar_abs_pos or y > bar_abs_one and bar_abs_one or y
  7200. y = y - bar_abs_pos
  7201. Class:SetScrollPercent(y/(bar_drag))
  7202. end)
  7203. up_con = MouseDrag.MouseButton1Up:connect(function()
  7204. scrollEventID = tick()
  7205. MouseDrag.Parent = nil
  7206. ResetButtonColor(ScrollThumbFrame)
  7207. drag_con:disconnect(); drag_con = nil
  7208. up_con:disconnect(); drag = nil
  7209. end)
  7210. MouseDrag.Parent = GetScreen(ScrollFrame)
  7211. end)
  7212. end
  7213. function Class:Destroy()
  7214. ScrollFrame:Destroy()
  7215. MouseDrag:Destroy()
  7216. for k in pairs(Class) do
  7217. Class[k] = nil
  7218. end
  7219. setmetatable(Class,nil)
  7220. end
  7221. Update()
  7222. return Class
  7223. end
  7224. end
  7225. ----------------------------------------------------------------
  7226. ----------------------------------------------------------------
  7227. ----------------------------------------------------------------
  7228. ----------------------------------------------------------------
  7229. local MainFrame = Instance.new("Frame")
  7230. MainFrame.Name = "MainFrame"
  7231. MainFrame.Size = UDim2.new(1, -1 * ScrollBarWidth, 1, 0)
  7232. MainFrame.Position = UDim2.new(0, 0, 0, 0)
  7233. MainFrame.BackgroundTransparency = 1
  7234. MainFrame.ClipsDescendants = true
  7235. MainFrame.Parent = PropertiesFrame
  7236. ContentFrame = Instance.new("Frame")
  7237. ContentFrame.Name = "ContentFrame"
  7238. ContentFrame.Size = UDim2.new(1, 0, 0, 0)
  7239. ContentFrame.BackgroundTransparency = 1
  7240. ContentFrame.Parent = MainFrame
  7241. scrollBar = ScrollBar(false)
  7242. scrollBar.PageIncrement = 1
  7243. Create(scrollBar.GUI,{
  7244. Position = UDim2.new(1,-ScrollBarWidth,0,0);
  7245. Size = UDim2.new(0,ScrollBarWidth,1,0);
  7246. Parent = PropertiesFrame;
  7247. })
  7248. scrollBarH = ScrollBar(true)
  7249. scrollBarH.PageIncrement = ScrollBarWidth
  7250. Create(scrollBarH.GUI,{
  7251. Position = UDim2.new(0,0,1,-ScrollBarWidth);
  7252. Size = UDim2.new(1,-ScrollBarWidth,0,ScrollBarWidth);
  7253. Visible = false;
  7254. Parent = PropertiesFrame;
  7255. })
  7256. do
  7257. local listEntries = {}
  7258. local nameConnLookup = {}
  7259. function scrollBar.UpdateCallback(self)
  7260. scrollBar.TotalSpace = ContentFrame.AbsoluteSize.Y
  7261. scrollBar.VisibleSpace = MainFrame.AbsoluteSize.Y
  7262. ContentFrame.Position = UDim2.new(ContentFrame.Position.X.Scale,ContentFrame.Position.X.Offset,0,-1*scrollBar.ScrollIndex)
  7263. end
  7264. function scrollBarH.UpdateCallback(self)
  7265. end
  7266. MainFrame.Changed:connect(function(p)
  7267. if p == 'AbsoluteSize' then
  7268. scrollBarH.VisibleSpace = math.ceil(MainFrame.AbsoluteSize.x)
  7269. scrollBarH:Update()
  7270. scrollBar.VisibleSpace = math.ceil(MainFrame.AbsoluteSize.y)
  7271. scrollBar:Update()
  7272. end
  7273. end)
  7274. local wheelAmount = Row.Height
  7275. PropertiesFrame.MouseWheelForward:connect(function()
  7276. if input ~= nil and input.down ~= nil and input.down.leftshift then
  7277. if scrollBarH.VisibleSpace - 1 > wheelAmount then
  7278. scrollBarH:ScrollTo(scrollBarH.ScrollIndex - wheelAmount)
  7279. else
  7280. scrollBarH:ScrollTo(scrollBarH.ScrollIndex - scrollBarH.VisibleSpace)
  7281. end
  7282. else
  7283. if scrollBar.VisibleSpace - 1 > wheelAmount then
  7284. scrollBar:ScrollTo(scrollBar.ScrollIndex - wheelAmount)
  7285. else
  7286. scrollBar:ScrollTo(scrollBar.ScrollIndex - scrollBar.VisibleSpace)
  7287. end
  7288. end
  7289. end)
  7290. PropertiesFrame.MouseWheelBackward:connect(function()
  7291. if input ~= nil and input.down ~= nil and input.down.leftshift then
  7292. if scrollBarH.VisibleSpace - 1 > wheelAmount then
  7293. scrollBarH:ScrollTo(scrollBarH.ScrollIndex + wheelAmount)
  7294. else
  7295. scrollBarH:ScrollTo(scrollBarH.ScrollIndex + scrollBarH.VisibleSpace)
  7296. end
  7297. else
  7298. if scrollBar.VisibleSpace - 1 > wheelAmount then
  7299. scrollBar:ScrollTo(scrollBar.ScrollIndex + wheelAmount)
  7300. else
  7301. scrollBar:ScrollTo(scrollBar.ScrollIndex + scrollBar.VisibleSpace)
  7302. end
  7303. end
  7304. end)
  7305. end
  7306. scrollBar.VisibleSpace = math.ceil(MainFrame.AbsoluteSize.y)
  7307. scrollBar:Update()
  7308. showProperties(GetSelection())
  7309. bindSelectionChanged.Event:connect(function()
  7310. showProperties(GetSelection())
  7311. end)
  7312. bindSetAwait.Event:connect(function(obj)
  7313. if AwaitingObjectValue then
  7314. AwaitingObjectValue = false
  7315. local mySel = obj
  7316. if mySel then
  7317. pcall(function()
  7318. Set(AwaitingObjectObj, AwaitingObjectProp, mySel)
  7319. end)
  7320. end
  7321. end
  7322. end)
  7323. propertiesSearch.Changed:connect(function(prop)
  7324. if prop == "Text" then
  7325. showProperties(GetSelection())
  7326. end
  7327. end)
  7328. bindGetApi.OnInvoke = function()
  7329. return RbxApi
  7330. end
  7331. bindGetAwait.OnInvoke = function()
  7332. return AwaitingObjectValue
  7333. end
  7334. end)
  7335. spawn(function()
  7336. local top = D_E_X.ScriptEditor
  7337. print(top)
  7338. local editorGrid = top:WaitForChild("EditorGrid")
  7339. print(editorGrid)
  7340. local currentSource = ""
  7341. local currentScrName = "";
  7342. local currentEditor = {
  7343. x = 0,
  7344. y = 0
  7345. }
  7346. local userInput = game:GetService("UserInputService")
  7347. local mouse = game:GetService'Players'.LocalPlayer:GetMouse()
  7348. local topBar = top:WaitForChild("TopBar")
  7349. local scriptBar = topBar:WaitForChild("ScriptBar")
  7350. local scriptBarLeft = topBar:WaitForChild("ScriptBarLeft")
  7351. local scriptBarRight = topBar:WaitForChild("ScriptBarRight")
  7352. local clipboardButton = topBar:WaitForChild("Clipboard")
  7353. local saveScriptButton = topBar:FindFirstChild("SaveScript")
  7354. local entryTemplate = topBar:WaitForChild("Entry")
  7355. local openEvent = top:WaitForChild("OpenScript")
  7356. local closeButton = top:WaitForChild("Close")
  7357. local memoryScripts = {}
  7358. local editingIndex = 0
  7359. -- Scrollbar
  7360. local ScrollBarWidth = 16
  7361. local ScrollStyles = {
  7362. Background = Color3.fromRGB(233, 233, 233);
  7363. Border = Color3.fromRGB( 20, 20, 20);
  7364. Selected = Color3.fromRGB( 63, 119, 189);
  7365. BorderSelected = Color3.fromRGB( 55, 106, 167);
  7366. Text = Color3.fromRGB( 0, 0, 0);
  7367. TextDisabled = Color3.fromRGB(128, 128, 128);
  7368. TextSelected = Color3.fromRGB(255, 255, 255);
  7369. Button = Color3.fromRGB( 35, 35, 35);
  7370. ButtonBorder = Color3.fromRGB(149, 149, 149);
  7371. ButtonSelected = Color3.fromRGB(255, 0, 0);
  7372. Field = Color3.fromRGB(255, 255, 255);
  7373. FieldBorder = Color3.fromRGB(191, 191, 191);
  7374. TitleBackground = Color3.fromRGB(178, 178, 178);
  7375. }
  7376. do
  7377. local ZIndexLock = {}
  7378. function SetZIndex(object,z)
  7379. if not ZIndexLock[object] then
  7380. ZIndexLock[object] = true
  7381. if object:IsA'GuiObject' then
  7382. object.ZIndex = z
  7383. end
  7384. local children = object:GetChildren()
  7385. for i = 1,#children do
  7386. SetZIndex(children[i],z)
  7387. end
  7388. ZIndexLock[object] = nil
  7389. end
  7390. end
  7391. end
  7392. function SetZIndexOnChanged(object)
  7393. return object.Changed:connect(function(p)
  7394. if p == "ZIndex" then
  7395. SetZIndex(object,object.ZIndex)
  7396. end
  7397. end)
  7398. end
  7399. function Create(ty,data)
  7400. local obj
  7401. if type(ty) == 'string' then
  7402. obj = Instance.new(ty)
  7403. else
  7404. obj = ty
  7405. end
  7406. for k, v in pairs(data) do
  7407. if type(k) == 'number' then
  7408. v.Parent = obj
  7409. else
  7410. obj[k] = v
  7411. end
  7412. end
  7413. return obj
  7414. end
  7415. -- returns the ascendant ScreenGui of an object
  7416. function GetScreen(screen)
  7417. if screen == nil then return nil end
  7418. while not screen:IsA("ScreenGui") do
  7419. screen = screen.Parent
  7420. if screen == nil then return nil end
  7421. end
  7422. return screen
  7423. end
  7424. -- AutoButtonColor doesn't always reset properly
  7425. function ResetButtonColor(button)
  7426. local active = button.Active
  7427. button.Active = not active
  7428. button.Active = active
  7429. end
  7430. function ArrowGraphic(size,dir,scaled,template)
  7431. local Frame = Create('Frame',{
  7432. Name = "Arrow Graphic";
  7433. BorderSizePixel = 0;
  7434. Size = UDim2.new(0,size,0,size);
  7435. Transparency = 1;
  7436. })
  7437. if not template then
  7438. template = Instance.new("Frame")
  7439. template.BorderSizePixel = 0
  7440. end
  7441. template.BackgroundColor3 = Color3.new(1, 1, 1);
  7442. local transform
  7443. if dir == nil or dir == 'Up' then
  7444. function transform(p,s) return p,s end
  7445. elseif dir == 'Down' then
  7446. function transform(p,s) return UDim2.new(0,p.X.Offset,0,size-p.Y.Offset-1),s end
  7447. elseif dir == 'Left' then
  7448. 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
  7449. elseif dir == 'Right' then
  7450. 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
  7451. end
  7452. local scale
  7453. if scaled then
  7454. 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
  7455. else
  7456. function scale(p,s) return p,s end
  7457. end
  7458. local o = math.floor(size/4)
  7459. if size%2 == 0 then
  7460. local n = size/2-1
  7461. for i = 0,n do
  7462. local t = template:Clone()
  7463. local p,s = scale(transform(
  7464. UDim2.new(0,n-i,0,o+i),
  7465. UDim2.new(0,(i+1)*2,0,1)
  7466. ))
  7467. t.Position = p
  7468. t.Size = s
  7469. t.Parent = Frame
  7470. end
  7471. else
  7472. local n = (size-1)/2
  7473. for i = 0,n do
  7474. local t = template:Clone()
  7475. local p,s = scale(transform(
  7476. UDim2.new(0,n-i,0,o+i),
  7477. UDim2.new(0,i*2+1,0,1)
  7478. ))
  7479. t.Position = p
  7480. t.Size = s
  7481. t.Parent = Frame
  7482. end
  7483. end
  7484. if size%4 > 1 then
  7485. local t = template:Clone()
  7486. local p,s = scale(transform(
  7487. UDim2.new(0,0,0,size-o-1),
  7488. UDim2.new(0,size,0,1)
  7489. ))
  7490. t.Position = p
  7491. t.Size = s
  7492. t.Parent = Frame
  7493. end
  7494. for i,v in pairs(Frame:GetChildren()) do
  7495. v.BackgroundColor3 = Color3.new(1, 1, 1);
  7496. end
  7497. return Frame
  7498. end
  7499. function GripGraphic(size,dir,spacing,scaled,template)
  7500. local Frame = Create('Frame',{
  7501. Name = "Grip Graphic";
  7502. BorderSizePixel = 0;
  7503. Size = UDim2.new(0,size.x,0,size.y);
  7504. Transparency = 1;
  7505. })
  7506. if not template then
  7507. template = Instance.new("Frame")
  7508. template.BorderSizePixel = 0
  7509. end
  7510. spacing = spacing or 2
  7511. local scale
  7512. if scaled then
  7513. function scale(p) return UDim2.new(p.X.Offset/size.x,0,p.Y.Offset/size.y,0) end
  7514. else
  7515. function scale(p) return p end
  7516. end
  7517. if dir == 'Vertical' then
  7518. for i=0,size.x-1,spacing do
  7519. local t = template:Clone()
  7520. t.Size = scale(UDim2.new(0,1,0,size.y))
  7521. t.Position = scale(UDim2.new(0,i,0,0))
  7522. t.Parent = Frame
  7523. end
  7524. elseif dir == nil or dir == 'Horizontal' then
  7525. for i=0,size.y-1,spacing do
  7526. local t = template:Clone()
  7527. t.Size = scale(UDim2.new(0,size.x,0,1))
  7528. t.Position = scale(UDim2.new(0,0,0,i))
  7529. t.Parent = Frame
  7530. end
  7531. end
  7532. return Frame
  7533. end
  7534. do
  7535. local mt = {
  7536. __index = {
  7537. GetScrollPercent = function(self)
  7538. return self.ScrollIndex/(self.TotalSpace-self.VisibleSpace)
  7539. end;
  7540. CanScrollDown = function(self)
  7541. return self.ScrollIndex + self.VisibleSpace < self.TotalSpace
  7542. end;
  7543. CanScrollUp = function(self)
  7544. return self.ScrollIndex > 0
  7545. end;
  7546. ScrollDown = function(self)
  7547. self.ScrollIndex = self.ScrollIndex + self.PageIncrement
  7548. self:Update()
  7549. end;
  7550. ScrollUp = function(self)
  7551. self.ScrollIndex = self.ScrollIndex - self.PageIncrement
  7552. self:Update()
  7553. end;
  7554. ScrollTo = function(self,index)
  7555. self.ScrollIndex = index
  7556. self:Update()
  7557. end;
  7558. SetScrollPercent = function(self,percent)
  7559. self.ScrollIndex = math.floor((self.TotalSpace - self.VisibleSpace)*percent + 0.5)
  7560. self:Update()
  7561. end;
  7562. };
  7563. }
  7564. mt.__index.CanScrollRight = mt.__index.CanScrollDown
  7565. mt.__index.CanScrollLeft = mt.__index.CanScrollUp
  7566. mt.__index.ScrollLeft = mt.__index.ScrollUp
  7567. mt.__index.ScrollRight = mt.__index.ScrollDown
  7568. function ScrollBar(horizontal)
  7569. -- create row scroll bar
  7570. local ScrollFrame = Create('Frame',{
  7571. Name = "ScrollFrame";
  7572. Position = horizontal and UDim2.new(0,0,1,-ScrollBarWidth) or UDim2.new(1,-ScrollBarWidth,0,0);
  7573. Size = horizontal and UDim2.new(1,0,0,ScrollBarWidth) or UDim2.new(0,ScrollBarWidth,1,0);
  7574. BackgroundTransparency = 1;
  7575. Create('ImageButton',{
  7576. Name = "ScrollDown";
  7577. Position = horizontal and UDim2.new(1,-ScrollBarWidth,0,0) or UDim2.new(0,0,1,-ScrollBarWidth);
  7578. Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
  7579. BackgroundColor3 = ScrollStyles.Button;
  7580. BorderColor3 = ScrollStyles.Border;
  7581. BorderSizePixel = 0;
  7582. });
  7583. Create('ImageButton',{
  7584. Name = "ScrollUp";
  7585. Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
  7586. BackgroundColor3 = ScrollStyles.Button;
  7587. BorderColor3 = ScrollStyles.Border;
  7588. BorderSizePixel = 0;
  7589. });
  7590. Create('ImageButton',{
  7591. Name = "ScrollBar";
  7592. Size = horizontal and UDim2.new(1,-ScrollBarWidth*2,1,0) or UDim2.new(1,0,1,-ScrollBarWidth*2);
  7593. Position = horizontal and UDim2.new(0,ScrollBarWidth,0,0) or UDim2.new(0,0,0,ScrollBarWidth);
  7594. AutoButtonColor = false;
  7595. BackgroundColor3 = Color3.fromRGB(20, 20, 20);
  7596. BorderColor3 = ScrollStyles.Border;
  7597. BorderSizePixel = 0;
  7598. Create('ImageButton',{
  7599. Name = "ScrollThumb";
  7600. AutoButtonColor = false;
  7601. Size = UDim2.new(0, ScrollBarWidth, 0, ScrollBarWidth);
  7602. BackgroundColor3 = ScrollStyles.Button;
  7603. BorderColor3 = ScrollStyles.Border;
  7604. BorderSizePixel = 0;
  7605. });
  7606. });
  7607. })
  7608. local graphicTemplate = Create('Frame',{
  7609. Name="Graphic";
  7610. BorderSizePixel = 0;
  7611. BackgroundColor3 = Color3.new(1, 1, 1);
  7612. })
  7613. local graphicSize = ScrollBarWidth/2
  7614. local ScrollDownFrame = ScrollFrame.ScrollDown
  7615. local ScrollDownGraphic = ArrowGraphic(graphicSize,horizontal and 'Right' or 'Down',true,graphicTemplate)
  7616. ScrollDownGraphic.Position = UDim2.new(0.5,-graphicSize/2,0.5,-graphicSize/2)
  7617. ScrollDownGraphic.Parent = ScrollDownFrame
  7618. local ScrollUpFrame = ScrollFrame.ScrollUp
  7619. local ScrollUpGraphic = ArrowGraphic(graphicSize,horizontal and 'Left' or 'Up',true,graphicTemplate)
  7620. ScrollUpGraphic.Position = UDim2.new(0.5,-graphicSize/2,0.5,-graphicSize/2)
  7621. ScrollUpGraphic.Parent = ScrollUpFrame
  7622. local ScrollBarFrame = ScrollFrame.ScrollBar
  7623. local ScrollThumbFrame = ScrollBarFrame.ScrollThumb
  7624. do
  7625. local size = ScrollBarWidth*3/8
  7626. local Decal = GripGraphic(Vector2.new(size,size),horizontal and 'Vertical' or 'Horizontal',2,graphicTemplate)
  7627. Decal.Position = UDim2.new(0.5,-size/2,0.5,-size/2)
  7628. Decal.Parent = ScrollThumbFrame
  7629. end
  7630. local MouseDrag = Create('ImageButton',{
  7631. Name = "MouseDrag";
  7632. Position = UDim2.new(-0.25,0,-0.25,0);
  7633. Size = UDim2.new(1.5,0,1.5,0);
  7634. Transparency = 1;
  7635. AutoButtonColor = false;
  7636. Active = true;
  7637. ZIndex = 10;
  7638. })
  7639. local Class = setmetatable({
  7640. GUI = ScrollFrame;
  7641. ScrollIndex = 0;
  7642. VisibleSpace = 0;
  7643. TotalSpace = 0;
  7644. PageIncrement = 1;
  7645. },mt)
  7646. local UpdateScrollThumb
  7647. if horizontal then
  7648. function UpdateScrollThumb()
  7649. ScrollThumbFrame.Size = UDim2.new(Class.VisibleSpace/Class.TotalSpace,0,0,ScrollBarWidth)
  7650. if ScrollThumbFrame.AbsoluteSize.x < ScrollBarWidth then
  7651. ScrollThumbFrame.Size = UDim2.new(0,ScrollBarWidth,0,ScrollBarWidth)
  7652. end
  7653. local barSize = ScrollBarFrame.AbsoluteSize.x
  7654. ScrollThumbFrame.Position = UDim2.new(Class:GetScrollPercent()*(barSize - ScrollThumbFrame.AbsoluteSize.x)/barSize,0,0,0)
  7655. end
  7656. else
  7657. function UpdateScrollThumb()
  7658. ScrollThumbFrame.Size = UDim2.new(0,ScrollBarWidth,Class.VisibleSpace/Class.TotalSpace,0)
  7659. if ScrollThumbFrame.AbsoluteSize.y < ScrollBarWidth then
  7660. ScrollThumbFrame.Size = UDim2.new(0,ScrollBarWidth,0,ScrollBarWidth)
  7661. end
  7662. local barSize = ScrollBarFrame.AbsoluteSize.y
  7663. ScrollThumbFrame.Position = UDim2.new(0,0,Class:GetScrollPercent()*(barSize - ScrollThumbFrame.AbsoluteSize.y)/barSize,0)
  7664. end
  7665. end
  7666. local lastDown
  7667. local lastUp
  7668. local scrollStyle = {BackgroundColor3=Color3.new(1, 1, 1),BackgroundTransparency=0}
  7669. local scrollStyle_ds = {BackgroundColor3=Color3.new(1, 1, 1),BackgroundTransparency=0.7}
  7670. local function Update()
  7671. local t = Class.TotalSpace
  7672. local v = Class.VisibleSpace
  7673. local s = Class.ScrollIndex
  7674. if v <= t then
  7675. if s > 0 then
  7676. if s + v > t then
  7677. Class.ScrollIndex = t - v
  7678. end
  7679. else
  7680. Class.ScrollIndex = 0
  7681. end
  7682. else
  7683. Class.ScrollIndex = 0
  7684. end
  7685. if Class.UpdateCallback then
  7686. if Class.UpdateCallback(Class) == false then
  7687. return
  7688. end
  7689. end
  7690. local down = Class:CanScrollDown()
  7691. local up = Class:CanScrollUp()
  7692. if down ~= lastDown then
  7693. lastDown = down
  7694. ScrollDownFrame.Active = down
  7695. ScrollDownFrame.AutoButtonColor = down
  7696. local children = ScrollDownGraphic:GetChildren()
  7697. local style = down and scrollStyle or scrollStyle_ds
  7698. for i = 1,#children do
  7699. Create(children[i],style)
  7700. end
  7701. end
  7702. if up ~= lastUp then
  7703. lastUp = up
  7704. ScrollUpFrame.Active = up
  7705. ScrollUpFrame.AutoButtonColor = up
  7706. local children = ScrollUpGraphic:GetChildren()
  7707. local style = up and scrollStyle or scrollStyle_ds
  7708. for i = 1,#children do
  7709. Create(children[i],style)
  7710. end
  7711. end
  7712. ScrollThumbFrame.Visible = down or up
  7713. UpdateScrollThumb()
  7714. end
  7715. Class.Update = Update
  7716. SetZIndexOnChanged(ScrollFrame)
  7717. local scrollEventID = 0
  7718. ScrollDownFrame.MouseButton1Down:connect(function()
  7719. scrollEventID = tick()
  7720. local current = scrollEventID
  7721. local up_con
  7722. up_con = MouseDrag.MouseButton1Up:connect(function()
  7723. scrollEventID = tick()
  7724. MouseDrag.Parent = nil
  7725. ResetButtonColor(ScrollDownFrame)
  7726. up_con:disconnect(); drag = nil
  7727. end)
  7728. MouseDrag.Parent = GetScreen(ScrollFrame)
  7729. Class:ScrollDown()
  7730. wait(0.2) -- delay before auto scroll
  7731. while scrollEventID == current do
  7732. Class:ScrollDown()
  7733. if not Class:CanScrollDown() then break end
  7734. wait()
  7735. end
  7736. end)
  7737. ScrollDownFrame.MouseButton1Up:connect(function()
  7738. scrollEventID = tick()
  7739. end)
  7740. ScrollUpFrame.MouseButton1Down:connect(function()
  7741. scrollEventID = tick()
  7742. local current = scrollEventID
  7743. local up_con
  7744. up_con = MouseDrag.MouseButton1Up:connect(function()
  7745. scrollEventID = tick()
  7746. MouseDrag.Parent = nil
  7747. ResetButtonColor(ScrollUpFrame)
  7748. up_con:disconnect(); drag = nil
  7749. end)
  7750. MouseDrag.Parent = GetScreen(ScrollFrame)
  7751. Class:ScrollUp()
  7752. wait(0.2)
  7753. while scrollEventID == current do
  7754. Class:ScrollUp()
  7755. if not Class:CanScrollUp() then break end
  7756. wait()
  7757. end
  7758. end)
  7759. ScrollUpFrame.MouseButton1Up:connect(function()
  7760. scrollEventID = tick()
  7761. end)
  7762. if horizontal then
  7763. ScrollBarFrame.MouseButton1Down:connect(function(x,y)
  7764. scrollEventID = tick()
  7765. local current = scrollEventID
  7766. local up_con
  7767. up_con = MouseDrag.MouseButton1Up:connect(function()
  7768. scrollEventID = tick()
  7769. MouseDrag.Parent = nil
  7770. ResetButtonColor(ScrollUpFrame)
  7771. up_con:disconnect(); drag = nil
  7772. end)
  7773. MouseDrag.Parent = GetScreen(ScrollFrame)
  7774. if x > ScrollThumbFrame.AbsolutePosition.x then
  7775. Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
  7776. wait(0.2)
  7777. while scrollEventID == current do
  7778. if x < ScrollThumbFrame.AbsolutePosition.x + ScrollThumbFrame.AbsoluteSize.x then break end
  7779. Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
  7780. wait()
  7781. end
  7782. else
  7783. Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
  7784. wait(0.2)
  7785. while scrollEventID == current do
  7786. if x > ScrollThumbFrame.AbsolutePosition.x then break end
  7787. Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
  7788. wait()
  7789. end
  7790. end
  7791. end)
  7792. else
  7793. ScrollBarFrame.MouseButton1Down:connect(function(x,y)
  7794. scrollEventID = tick()
  7795. local current = scrollEventID
  7796. local up_con
  7797. up_con = MouseDrag.MouseButton1Up:connect(function()
  7798. scrollEventID = tick()
  7799. MouseDrag.Parent = nil
  7800. ResetButtonColor(ScrollUpFrame)
  7801. up_con:disconnect(); drag = nil
  7802. end)
  7803. MouseDrag.Parent = GetScreen(ScrollFrame)
  7804. if y > ScrollThumbFrame.AbsolutePosition.y then
  7805. Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
  7806. wait(0.2)
  7807. while scrollEventID == current do
  7808. if y < ScrollThumbFrame.AbsolutePosition.y + ScrollThumbFrame.AbsoluteSize.y then break end
  7809. Class:ScrollTo(Class.ScrollIndex + Class.VisibleSpace)
  7810. wait()
  7811. end
  7812. else
  7813. Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
  7814. wait(0.2)
  7815. while scrollEventID == current do
  7816. if y > ScrollThumbFrame.AbsolutePosition.y then break end
  7817. Class:ScrollTo(Class.ScrollIndex - Class.VisibleSpace)
  7818. wait()
  7819. end
  7820. end
  7821. end)
  7822. end
  7823. if horizontal then
  7824. ScrollThumbFrame.MouseButton1Down:connect(function(x,y)
  7825. scrollEventID = tick()
  7826. local mouse_offset = x - ScrollThumbFrame.AbsolutePosition.x
  7827. local drag_con
  7828. local up_con
  7829. drag_con = MouseDrag.MouseMoved:connect(function(x,y)
  7830. if not game:GetService'UserInputService':IsMouseButtonPressed'MouseButton1' then
  7831. scrollEventID = tick()
  7832. MouseDrag.Parent = nil
  7833. ResetButtonColor(ScrollThumbFrame)
  7834. drag_con:disconnect(); drag_con = nil
  7835. up_con:disconnect(); drag = nil
  7836. end
  7837. local bar_abs_pos = ScrollBarFrame.AbsolutePosition.x
  7838. local bar_drag = ScrollBarFrame.AbsoluteSize.x - ScrollThumbFrame.AbsoluteSize.x
  7839. local bar_abs_one = bar_abs_pos + bar_drag
  7840. x = x - mouse_offset
  7841. x = x < bar_abs_pos and bar_abs_pos or x > bar_abs_one and bar_abs_one or x
  7842. x = x - bar_abs_pos
  7843. Class:SetScrollPercent(x/(bar_drag))
  7844. end)
  7845. up_con = MouseDrag.MouseButton1Up:connect(function()
  7846. scrollEventID = tick()
  7847. MouseDrag.Parent = nil
  7848. ResetButtonColor(ScrollThumbFrame)
  7849. drag_con:disconnect(); drag_con = nil
  7850. up_con:disconnect(); drag = nil
  7851. end)
  7852. MouseDrag.Parent = GetScreen(ScrollFrame)
  7853. end)
  7854. else
  7855. ScrollThumbFrame.MouseButton1Down:connect(function(x,y)
  7856. scrollEventID = tick()
  7857. local mouse_offset = y - ScrollThumbFrame.AbsolutePosition.y
  7858. local drag_con
  7859. local up_con
  7860. drag_con = MouseDrag.MouseMoved:connect(function(x,y)
  7861. if not game:GetService'UserInputService':IsMouseButtonPressed'MouseButton1' then
  7862. scrollEventID = tick()
  7863. MouseDrag.Parent = nil
  7864. ResetButtonColor(ScrollThumbFrame)
  7865. drag_con:disconnect(); drag_con = nil
  7866. up_con:disconnect(); drag = nil
  7867. end
  7868. local bar_abs_pos = ScrollBarFrame.AbsolutePosition.y
  7869. local bar_drag = ScrollBarFrame.AbsoluteSize.y - ScrollThumbFrame.AbsoluteSize.y
  7870. local bar_abs_one = bar_abs_pos + bar_drag
  7871. y = y - mouse_offset
  7872. y = y < bar_abs_pos and bar_abs_pos or y > bar_abs_one and bar_abs_one or y
  7873. y = y - bar_abs_pos
  7874. Class:SetScrollPercent(y/(bar_drag))
  7875. end)
  7876. up_con = MouseDrag.MouseButton1Up:connect(function()
  7877. scrollEventID = tick()
  7878. MouseDrag.Parent = nil
  7879. ResetButtonColor(ScrollThumbFrame)
  7880. drag_con:disconnect(); drag_con = nil
  7881. up_con:disconnect(); drag = nil
  7882. end)
  7883. MouseDrag.Parent = GetScreen(ScrollFrame)
  7884. end)
  7885. end
  7886. function Class:Destroy()
  7887. ScrollFrame:Destroy()
  7888. MouseDrag:Destroy()
  7889. for k in pairs(Class) do
  7890. Class[k] = nil
  7891. end
  7892. setmetatable(Class,nil)
  7893. end
  7894. Update()
  7895. return Class
  7896. end
  7897. end
  7898. -- End Scrollbar
  7899. local scrollBar = ScrollBar(false)
  7900. scrollBar.PageIncrement = 16
  7901. Create(scrollBar.GUI,{
  7902. Position = UDim2.new(1,0,0,0);
  7903. Size = UDim2.new(0,ScrollBarWidth,1,0);
  7904. Parent = editorGrid;
  7905. })
  7906. local scrollBarH = ScrollBar(true)
  7907. scrollBarH.PageIncrement = 8
  7908. Create(scrollBarH.GUI,{
  7909. Position = UDim2.new(0,0,1,0);
  7910. Size = UDim2.new(1,0,0,ScrollBarWidth);
  7911. Parent = editorGrid;
  7912. })
  7913. local wheelAmount = 24;
  7914. editorGrid.MouseWheelForward:connect(function()
  7915. if input ~= nil and input.down ~= nil and input.down.leftshift then
  7916. if scrollBarH.VisibleSpace - 1 > wheelAmount then
  7917. scrollBarH:ScrollTo(scrollBarH.ScrollIndex - wheelAmount)
  7918. else
  7919. scrollBarH:ScrollTo(scrollBarH.ScrollIndex - scrollBarH.VisibleSpace)
  7920. end
  7921. else
  7922. if scrollBar.VisibleSpace - 1 > wheelAmount then
  7923. scrollBar:ScrollTo(scrollBar.ScrollIndex - wheelAmount)
  7924. else
  7925. scrollBar:ScrollTo(scrollBar.ScrollIndex - scrollBar.VisibleSpace)
  7926. end
  7927. end
  7928. end)
  7929. editorGrid.MouseWheelBackward:connect(function()
  7930. if input ~= nil and input.down ~= nil and input.down.leftshift then
  7931. if scrollBarH.VisibleSpace - 1 > wheelAmount then
  7932. scrollBarH:ScrollTo(scrollBarH.ScrollIndex + wheelAmount)
  7933. else
  7934. scrollBarH:ScrollTo(scrollBarH.ScrollIndex + scrollBarH.VisibleSpace)
  7935. end
  7936. else
  7937. if scrollBar.VisibleSpace - 1 > wheelAmount then
  7938. scrollBar:ScrollTo(scrollBar.ScrollIndex + wheelAmount)
  7939. else
  7940. scrollBar:ScrollTo(scrollBar.ScrollIndex + scrollBar.VisibleSpace)
  7941. end
  7942. end
  7943. end)
  7944. local entries = {}
  7945. local grid = {}
  7946. local count = 1
  7947. local xCount = 1
  7948. local lineSpan = 0
  7949. for i = 0,editorGrid.AbsoluteSize.X - 20,8 do
  7950. local newRow = {}
  7951. for j = 0,390,16 do
  7952. local cellText = Instance.new("TextLabel",editorGrid)
  7953. cellText.Name = string.format('grid(%s,%s)', i, j);
  7954. cellText.BackgroundTransparency = 1
  7955. cellText.BorderSizePixel = 0
  7956. cellText.Text = ""
  7957. cellText.Position = UDim2.new(0,i,0,j)
  7958. cellText.Size = UDim2.new(0,8,0,16)
  7959. cellText.Font = Enum.Font.SourceSans
  7960. cellText.FontSize = Enum.FontSize.Size18
  7961. table.insert(newRow,cellText)
  7962. xCount = xCount + 1
  7963. end
  7964. table.insert(grid,newRow)
  7965. count = count + 1
  7966. xCount = 1
  7967. end
  7968. local syntaxHighlightList = {
  7969. {["Keyword"] = "for", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
  7970. {["Keyword"] = "local", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
  7971. {["Keyword"] = "if", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
  7972. {["Keyword"] = "then", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
  7973. {["Keyword"] = "do", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
  7974. {["Keyword"] = "while", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
  7975. {["Keyword"] = "end", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
  7976. {["Keyword"] = "function", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
  7977. {["Keyword"] = "return", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
  7978. {["Keyword"] = "break", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
  7979. {["Keyword"] = "else", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
  7980. {["Keyword"] = "elseif", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
  7981. {["Keyword"] = "in", ["Color"] = Color3.fromRGB( 86, 153, 212), ["Independent"] = true};
  7982. {["Keyword"] = "pairs", ["Color"] = Color3.fromRGB(205, 98, 255), ["Independent"] = true};
  7983. {["Keyword"] = "ipairs", ["Color"] = Color3.fromRGB(205, 98, 255), ["Independent"] = true};
  7984. {["Keyword"] = "next", ["Color"] = Color3.fromRGB(205, 98, 255), ["Independent"] = true};
  7985. {["Keyword"] = "require", ["Color"] = Color3.fromRGB(205, 98, 255), ["Independent"] = true};
  7986. {["Keyword"] = "pcall", ["Color"] = Color3.fromRGB(205, 98, 255), ["Independent"] = true};
  7987. {["Keyword"] = "xpcall", ["Color"] = Color3.fromRGB(205, 98, 255), ["Independent"] = true};
  7988. {["Keyword"] = "ypcall", ["Color"] = Color3.fromRGB(205, 98, 255), ["Independent"] = true};
  7989. {["Keyword"] = "assert", ["Color"] = Color3.fromRGB(205, 98, 255), ["Independent"] = true};
  7990. }
  7991. function checkMouseInGui(gui)
  7992. if gui == nil then return false end
  7993. local plrMouse = game:GetService'Players'.LocalPlayer:GetMouse()
  7994. local guiPosition = gui.AbsolutePosition
  7995. local guiSize = gui.AbsoluteSize
  7996. 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
  7997. return true
  7998. else
  7999. return false
  8000. end
  8001. end
  8002. function AddZeros(num,reach)
  8003. local toConvert = tostring(num)
  8004. while #toConvert < reach do
  8005. toConvert = " "..toConvert
  8006. end
  8007. return toConvert
  8008. end
  8009. function buildScript(source,xOff,yOff,override)
  8010. local buildingRows = true
  8011. local buildScr = source
  8012. local totalLines = 0
  8013. if currentSource ~= source then
  8014. currentSource = source
  8015. end
  8016. if override then
  8017. currentSource = source
  8018. entries = {}
  8019. buildScr = tostring(buildScr);
  8020. while buildingRows do
  8021. local x,y = string.find(buildScr,"\n")
  8022. if x and y then
  8023. table.insert(entries,string.sub(buildScr,1,y))
  8024. buildScr = string.sub(buildScr,y+1,string.len(buildScr))
  8025. else
  8026. buildingRows = false
  8027. table.insert(entries,buildScr)
  8028. end
  8029. end
  8030. end
  8031. totalLines = #entries
  8032. lineSpan = #tostring(totalLines)
  8033. if lineSpan == 1 then lineSpan = 2 end
  8034. local currentRow = 1
  8035. local currentColumn = 2 + lineSpan
  8036. local colorTime = 0
  8037. local colorReplace = nil
  8038. local inString = false
  8039. local workingEntries = entries
  8040. --[[
  8041. for i,v in pairs(entries) do
  8042. table.insert(workingEntries,v)
  8043. end
  8044. for i = 1,yOff do
  8045. table.remove(workingEntries,1)
  8046. end
  8047. --]]
  8048. local delayance = xOff
  8049. for i = 1,#grid do
  8050. for j = 1,#grid[i] do
  8051. if i <= lineSpan then
  8052. local newNum = AddZeros(yOff + j,lineSpan)
  8053. local newDigit = string.sub(newNum,i,i)
  8054. if newDigit == " " then
  8055. grid[i][j].Text = ""
  8056. else
  8057. grid[i][j].Text = newDigit
  8058. end
  8059. -- grid[i][j].BorderSizePixel = 1
  8060. grid[i][j].TextColor3 = Color3.fromRGB(245, 245, 245)
  8061. grid[i][j].BackgroundTransparency = 0
  8062. grid[i][j].BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  8063. grid[i][j].Font = Enum.Font.SourceSans
  8064. elseif i == lineSpan + 1 then
  8065. -- grid[i][j].BorderSizePixel = 1
  8066. grid[i][j].Text = ""
  8067. grid[i][j].BackgroundTransparency = 0
  8068. grid[i][j].BackgroundColor3 = Color3.fromRGB(55, 55, 55)
  8069. -- grid[i][j].Font = Enum.Font.SourceSans
  8070. else
  8071. -- grid[i][j].BorderSizePixel = 1
  8072. grid[i][j].Text = ""
  8073. grid[i][j].BackgroundTransparency = 1
  8074. --grid[i][j].Font = Enum.Font.SourceSans
  8075. end
  8076. end
  8077. end
  8078. while true do
  8079. if currentRow > #workingEntries or currentRow > #grid[1] then break end
  8080. local entry = workingEntries[currentRow+yOff]
  8081. while entry ~= nil and typeof(entry) == 'string' and string.len(entry) > 0 do
  8082. if string.sub(entry,1,1) == "\t" then entry = " "..string.sub(entry,2) end
  8083. if currentColumn > #grid then break end
  8084. if delayance == 0 then
  8085. grid[currentColumn][currentRow].Text = string.sub(entry,1,1)
  8086. end
  8087. -- Coloring
  8088. if not inString then
  8089. for i,v in pairs(syntaxHighlightList) do
  8090. if string.sub(entry,1,string.len(v["Keyword"])) == v["Keyword"] then
  8091. if v["Independent"] then
  8092. local outCheck = string.len(v["Keyword"])+1
  8093. local outEntry = string.sub(entry,outCheck,outCheck)
  8094. if not string.find(outEntry,"%w") then
  8095. colorTime = string.len(v["Keyword"])
  8096. colorReplace = v["Color"]
  8097. end
  8098. else
  8099. colorTime = string.len(v["Keyword"])
  8100. colorReplace = v["Color"]
  8101. end
  8102. end
  8103. end
  8104. end
  8105. if string.sub(entry,1,1) == "\"" and string.match(entry,"\".+\"") then
  8106. inString = true
  8107. colorTime = string.len(string.match(entry,"\".+\""))
  8108. colorReplace = Color3.fromRGB(73, 212, 107);
  8109. end
  8110. local oldTC3 = Color3.fromRGB(244, 244, 244); --grid[currentColumn][currentRow].TextColor3
  8111. if colorTime > 0 then
  8112. colorTime = colorTime - 1
  8113. oldTC3 = grid[currentColumn][currentRow].TextColor3
  8114. grid[currentColumn][currentRow].TextColor3 = colorReplace
  8115. if colorTime == 0 then inString = false end
  8116. else
  8117. grid[currentColumn][currentRow].TextColor3 = oldTC3 --Color3.new(0,0,0)
  8118. inString = false
  8119. end
  8120. if delayance == 0 then
  8121. currentColumn = currentColumn + 1
  8122. else
  8123. delayance = delayance - 1
  8124. end
  8125. entry = string.sub(entry,2,string.len(entry))
  8126. end
  8127. currentRow = currentRow + 1
  8128. currentColumn = 2 + lineSpan
  8129. colorTime = 0
  8130. delayance = xOff
  8131. inString = false
  8132. end
  8133. end
  8134. function scrollBar.UpdateCallback(self)
  8135. scrollBar.TotalSpace = #entries * 16
  8136. scrollBar.VisibleSpace = editorGrid.AbsoluteSize.Y
  8137. buildScript(currentSource,math.floor(scrollBarH.ScrollIndex/8),math.floor(scrollBar.ScrollIndex/16))
  8138. end
  8139. function scrollBarH.UpdateCallback(self)
  8140. scrollBarH.TotalSpace = (getLongestEntry(entries) + 1 + lineSpan) * 8
  8141. scrollBarH.VisibleSpace = editorGrid.AbsoluteSize.X
  8142. buildScript(currentSource,math.floor(scrollBarH.ScrollIndex/8),math.floor(scrollBar.ScrollIndex/16))
  8143. end
  8144. function getLongestEntry(tab)
  8145. local longest = 0
  8146. for i,v in pairs(tab) do
  8147. if string.len(v) > longest then
  8148. longest = string.len(v)
  8149. end
  8150. end
  8151. return longest
  8152. end
  8153. function openScript(scrObj)
  8154. if scrObj:IsA("LocalScript") then
  8155. scrObj.Archivable = true
  8156. scrObj = scrObj:Clone()
  8157. scrObj.Disabled = true
  8158. end
  8159. local scrName = scrObj.Name
  8160. local scrSource = decompile(scrObj)
  8161. currentScrName = scrObj.Name;
  8162. table.insert(memoryScripts,{Name = scrName,Source = scrSource})
  8163. local newTab = entryTemplate:Clone()
  8164. newTab.Button.Text = scrName
  8165. newTab.Position = UDim2.new(0,#scriptBar:GetChildren() * 100,0,0)
  8166. newTab.BackgroundColor3 = Color3.new(33, 33, 33)
  8167. newTab.Visible = true
  8168. newTab.Button.MouseButton1Down:connect(function()
  8169. for i,v in pairs(scriptBar:GetChildren()) do
  8170. if v == newTab then
  8171. editingIndex = i
  8172. buildScript(memoryScripts[i].Source,0,0,true)
  8173. wait(.1);
  8174. scrollBar:ScrollTo(1)
  8175. scrollBar:Update()
  8176. scrollBarH:ScrollTo(1)
  8177. scrollBarH:Update()
  8178. end
  8179. end
  8180. end)
  8181. newTab.Close.MouseButton1Click:connect(function()
  8182. for i,v in pairs(scriptBar:GetChildren()) do
  8183. if v == newTab then
  8184. table.remove(memoryScripts,i)
  8185. if editingIndex == i then
  8186. editingIndex = #memoryScripts
  8187. if editingIndex > 0 then
  8188. buildScript(memoryScripts[#memoryScripts].Source,0,0,true)
  8189. else
  8190. buildScript("",0,0,true)
  8191. end
  8192. end
  8193. scrollBar:ScrollTo(1)
  8194. scrollBar:Update()
  8195. scrollBarH:ScrollTo(1)
  8196. scrollBarH:Update()
  8197. for i2 = i,#scriptBar:GetChildren() do
  8198. scriptBar:GetChildren()[i2].Position = scriptBar:GetChildren()[i2].Position + UDim2.new(0,-100,0,0)
  8199. end
  8200. if editingIndex > i then
  8201. editingIndex = editingIndex - 1
  8202. end
  8203. newTab:Destroy()
  8204. end
  8205. end
  8206. end)
  8207. editingIndex = #memoryScripts
  8208. buildScript(scrSource,0,0,true)
  8209. newTab.Parent = scriptBar
  8210. end
  8211. getgenv().openScript = openScript;
  8212. function updateScriptBar()
  8213. end
  8214. function _updateScriptBar()
  8215. local entryCount = 0
  8216. scriptBarLeft.Active = false
  8217. scriptBarLeft.AutoButtonColor = false
  8218. for i,v in pairs(scriptBarLeft["Arrow Graphic"]:GetChildren()) do
  8219. v.BackgroundTransparency = 0.7
  8220. end
  8221. scriptBarRight.Active = false
  8222. scriptBarRight.AutoButtonColor = false
  8223. for i,v in pairs(scriptBarRight["Arrow Graphic"]:GetChildren()) do
  8224. v.BackgroundTransparency = 0.7
  8225. end
  8226. for i,v in pairs(scriptBar:GetChildren()) do
  8227. if v.Position.X.Offset < 0 then
  8228. scriptBarLeft.Active = true
  8229. scriptBarLeft.AutoButtonColor = true
  8230. for i,v in pairs(scriptBarLeft["Arrow Graphic"]:GetChildren()) do
  8231. v.BackgroundTransparency = 0
  8232. end
  8233. elseif v.Position.X.Offset >= 0 then
  8234. entryCount = entryCount + 1
  8235. if entryCount == 5 then
  8236. scriptBarRight.Active = true
  8237. scriptBarRight.AutoButtonColor = true
  8238. for i,v in pairs(scriptBarRight["Arrow Graphic"]:GetChildren()) do
  8239. v.BackgroundTransparency = 0
  8240. end
  8241. end
  8242. end
  8243. end
  8244. end
  8245. scriptBar.ChildAdded:connect(updateScriptBar)
  8246. scriptBar.ChildRemoved:connect(updateScriptBar)
  8247. scriptBarLeft.MouseButton1Click:connect(function()
  8248. if scriptBarLeft.Active == false then return end
  8249. for i,v in pairs(scriptBar:GetChildren()) do
  8250. v.Position = v.Position + UDim2.new(0,100,0,0)
  8251. end
  8252. updateScriptBar()
  8253. end)
  8254. scriptBarRight.MouseButton1Click:connect(function()
  8255. if scriptBarRight.Active == false then return end
  8256. for i,v in pairs(scriptBar:GetChildren()) do
  8257. v.Position = v.Position + UDim2.new(0,-100,0,0)
  8258. end
  8259. updateScriptBar()
  8260. end)
  8261. mouse.Button1Down:connect(function()
  8262. if checkMouseInGui(editorGrid) then
  8263. end
  8264. end)
  8265. openEvent.Event:connect(function(...)
  8266. top.Visible = true
  8267. local args = {...}
  8268. if #args > 0 then
  8269. openScript(args[1])
  8270. end
  8271. end)
  8272. clipboardButton.MouseButton1Click:connect(function()
  8273. if Clipboard and Clipboard.set then
  8274. Clipboard.set(currentSource)
  8275. elseif CopyString then
  8276. CopyString(currentSource)
  8277. elseif Synapse then
  8278. Synapse:Copy(currentSource)
  8279. elseif setclipboard then
  8280. setclipboard(currentSource)
  8281. end
  8282. end)
  8283. saveScriptButton.MouseButton1Click:connect(function()
  8284. if Synapse then
  8285. Synapse:WriteFile(game.PlaceId .. '_' .. currentScrName:gsub('%W', '') .. '_' .. math.random(100000, 999999) .. '.lua', currentSource)
  8286. elseif writefile then
  8287. writefile(game.PlaceId .. '_' .. currentScrName:gsub('%W', '') .. '_' .. math.random(100000, 999999) .. '.lua', currentSource);
  8288. end
  8289. end)
  8290. closeButton.MouseButton1Click:connect(function()
  8291. top.Visible = false
  8292. end)
  8293. --[[
  8294. local scr = script.Parent:WaitForChild("Scr")
  8295. local scr2 = script.Parent:WaitForChild("Scr2")
  8296. local scr3 = script.Parent:WaitForChild("Scr3")
  8297. local scr4 = script.Parent:WaitForChild("TOS")
  8298. local scr5 = script.Parent:WaitForChild("HW")
  8299. --]]
  8300. buildScript("",0,0,true)
  8301. --[[
  8302. openScript(scr)
  8303. openScript(scr2)
  8304. openScript(scr3)
  8305. openScript(scr4)
  8306. openScript(scr5)
  8307. --]]
  8308. scrollBar:Update()
  8309. scrollBarH:Update()
  8310. end)
  8311. function ScrambleNames(A)
  8312. for i,v in pairs(A:GetDescendants()) do
  8313. v.Name = RandomCharacters(math.random(16, 64));
  8314. end
  8315. end
  8316. wait(.25)