Advertisement
SatomiRentaro

Decent explorer

Dec 25th, 2016
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 46.98 KB | None | 0 0
  1. Properties = {nil,"Name","Parent","ClassName","BrickColor","Transparency","Reflectance","CreatorId","VertexColor","Volume","Ticket","AccountAge","VideoQualitySettings","UploadSetting","TweenStatus","TopBottom","TickCountSampleMethod","ThreadPoolConfig","SurfaceType","SurfaceConstrait","Style","Stuff","Status","SpecialKey","SoundType","SleepAdjustMethod","SizeConstraint","Shadow","SavedQualitySetting","ReverbType","Resolution","QualityLevel","PyrimidSides","PrivilegeType","PrismSides","PriorityMethod","PlayerChatType","PhysicsSendMethod","PhysicsRecieveMethod","PartType","PacketReliability","NormalId","MoveState","MeshType","MaterialQuality","LevelOfDetailSetting","LeftRight","KeywordFilterType","JointType","InputType","InOut","HandlesStyle","GraphicsMode","GeometryQuality","Genre","GearType","GearGenreSetting","FunctionalTestResult","FriendStatus","FriendRequestEvent","FramerateManagerMode","FrameStyle","ErrorReporting","PhysicsThrottle","Enviromental","EasingStyle","EasingDirection","DialogTone","DialogPurpose","D3DFORMAT","D3DDEVTYPE","CreatorType","ControlMode","ConcurrencyModel","ChatStyle","ChatMode","ChatColor","CenterDialogType","CellOrientation","CellMaterial","CellBlock","CameraType","ButtonStyle","Button","BuildPermission","BodyPart","BinType","Bevels","Axis","Antialiasing","AnimationPriority","AffectType","ActionType","AASamples","Source","ScriptsDisabled","GarbageCollectionLimit","GarbageCollectionFrequency","RobloxLocked","Version","AttachmentForward","AttachmentPos","AttachmentRight","AttachmentUp","AnimationId","HeadColor","RightArmColor","LeftArmColor","TorsoColor","LeftLegColor","RightLegColor","Value","CameraType","CameraSubject","BaseTextureId","BodyPart","MeshId","OverlayTextureId","MaxActivationDistance","Shiny","Specular","Texture","Face","GripForward","GripPos","GripRight","GripUp","TextureId","TeamColor","Enabled","Position","CFrame","Material","RotVelocity","Velocity","Anchored","CanCollide","Locked","Elasticity","Friction","Shape","Size","formFactor","BackSurface","BottomSurface","FrontSurface","LeftSurface","RightSurface","TopSurface","AbsolutePosition","AbsoluteSize","Active","BackgroundColor3","BackgroundTransparency","BorderColor3","BorderSizePixel","SizeConstraint","Visible","ZIndex","C0","C1","Part0","Part1","BinType","LeftLeg","RightLeg","Torso","Health","MaxHealth","WalkSpeed","Jump","PlatformStand","Sit","AutoButtonColor","Image","LinkedSource","Disabled","Text","PrimaryPart","CurrentAngle","DesiredAngle","MaxVelocity","PantsTemplate","ShirtTemplate","SoundId","Pitch","IsPlaying","IsPaused","Looped","PlayOnRemove","StudsPerTileU","StudsPerTileV","userId","BubbleChat","ClassicChat","MaxPlayers","NumPlayers","LocalPlayer","CharacterAppearance","Character","CurrentCamera","Ambient","Brightness","ColorShift_Bottom","ColorShift_Top","ShadowColor","GeographicLatitude","TimeOfDay","AmbientReverb","DistanceFactor","DopplerScale","RolloffScale","Color","angularvelocity","maxTorque","Offset","Scale","Heat","Range","Angle","DataCost"}
  2.  
  3. if script ~= nil then
  4. if game:FindFirstChild("NetworkClient") ~= nil then
  5. repeat wait() until game.Players.twist2 ~= nil
  6. end
  7. end
  8.  
  9. if game:GetService("CoreGui"):FindFirstChild("ExplorerButton") == nil then
  10. local screengui = Instance.new("ScreenGui")
  11. screengui.Parent = game:GetService("CoreGui")
  12. screengui.Name = "ExplorerButton"
  13. local text = Instance.new("TextButton")
  14. text.Parent = screengui
  15. text.Active = true
  16. text.BackgroundColor = BrickColor.new("Really black")
  17. text.BorderColor3 = Color3.new(255/255,0/0,0/0)
  18. text.Position = UDim2.new(0.7,0,0.97,0)
  19. text.Size = UDim2.new(0.1,0,0.025,0)
  20. text.Text = "Explorer"
  21. text.TextColor3 = Color3.new(1,1,1)
  22.  
  23. LocalPlayerExists = false
  24.  
  25. if Game:GetService("Players").LocalPlayer ~= nil then -- Click
  26. LocalPlayerExists = true
  27. end
  28.  
  29. text.MouseButton1Down:connect(function()
  30. if game:GetService("CoreGui"):FindFirstChild("ExplorerGui") == nil then
  31. pcall(function()
  32. Game.CoreGui.RobloxGui.PlayerListScreen.Visible = false
  33. end)
  34.  
  35. ItemGuis = {}
  36. PropGuis = {}
  37. ScrollPlaces = {}
  38. MouseFunction = nil
  39. AddedFunction = nil
  40. RemovedFunction = nil
  41. Selection = nil
  42. ExplorerGui = nil
  43. CopiedItem = nil
  44. AddingConnection = nil
  45. RemovingConnection = nil
  46. Mouse = nil
  47. ExpScrollNumber = 1
  48. PropScrollNumber = 1
  49. ViewGui = "Explorer"
  50.  
  51. if Game.Players.LocalPlayer ~= nil then
  52. Mouse = Game.Players.LocalPlayer:GetMouse()
  53. end
  54.  
  55. Base = "http://www.roblox.com/asset/?id="
  56. Images = {Value=40332408,Sound=40332463,Script=40332546,ScreenGui=40332596,Part=40332760,SpawnLocation=117933272,Nil=40332825,Model=40332865,Message=40332942,LocalScript=40332996,Joint=40333049,Frame=40333121,Camera=40333217,Backpack=40333260,Player=40332674,Body=40339623,HopperBin=40339572,Tool=40339513,Workspace=40484518,Mesh=40484580,Property=40493937,Animation=40531758,Hat=40531808,Humanoid=40531903,Light=117825710,Decal=117930421,Shirt=117931182,Pants=117931169,Terrain=117931310,ForceField=117931567,Seat=117931937,BillboardGui=117932485,Texture=118002183}
  57.  
  58. function SetImage(Par,class)
  59. if (class=="IntValue") or (class=="BoolValue") or (class=="StringValue") or (class=="ObjectValue") or (class=="CFrameValue") or (class=="Vector3Value") or (class=="NumberValue") or (class=="RayValue") or (class=="Color3Value") or (class=="BrickColorValue") then
  60. CreateImageLabel(Par,Base..Images.Value)
  61. elseif (class=="Sound") or (class=="StockSound") or (class=="SoundService") then
  62. CreateImageLabel(Par,Base..Images.Sound)
  63. elseif (class=="Script") then
  64. CreateImageLabel(Par,Base..Images.Script)
  65. elseif (class=="ScreenGui") or (class=="GuiMain") then
  66. CreateImageLabel(Par,Base..Images.ScreenGui)
  67. elseif (class=="BillboardGui") then
  68. CreateImageLabel(Par,Base..Images.BillboardGui)
  69. elseif (class=="Part") or (class=="WedgePart") or (class=="TrussPart") or (class=="SkateboardPlatform") then
  70. CreateImageLabel(Par,Base..Images.Part)
  71. elseif (class=="SpawnLocation") then
  72. CreateImageLabel(Par,Base..Images.SpawnLocation)
  73. elseif (class=="Model") then
  74. CreateImageLabel(Par,Base..Images.Model)
  75. elseif (class=="Hint") or (class=="Message") then
  76. CreateImageLabel(Par,Base..Images.Message)
  77. elseif (class=="LocalScript") or (class=="CoreScript") or (class=="StarterScript") then
  78. CreateImageLabel(Par,Base..Images.LocalScript)
  79. elseif (class=="Weld") or (class=="Snap") or (class=="Glue") or (class=="Rotate") or (class=="RotateP") or (class=="RotateV") or (class=="JointsService") then
  80. CreateImageLabel(Par,Base..Images.Joint)
  81. elseif (class=="Frame") or (class=="TextLabel") or (class=="TextButton") or (class=="TextBox") or (class=="ImageButton") or (class=="ImageLabel") then
  82. CreateImageLabel(Par,Base..Images.Frame)
  83. elseif (class=="Camera") then
  84. CreateImageLabel(Par,Base..Images.Camera)
  85. elseif (class=="Backpack") or (class=="StarterGear") or (class=="StarterPack") or (class=="StarterGui") or (class=="PlayerGui") then
  86. CreateImageLabel(Par,Base..Images.Backpack)
  87. elseif (class=="Player") or (class=="PseudoPlayer") or (class=="Players") then
  88. CreateImageLabel(Par,Base..Images.Player)
  89. elseif (class=="BodyPosition") or (class=="BodyGyro") or (class=="BodyVelocity") or (class=="BodyThrust") or (class=="BodyForce") or (class=="RocketPropulsion") then
  90. CreateImageLabel(Par,Base..Images.Body)
  91. elseif (class=="HopperBin") then
  92. CreateImageLabel(Par,Base..Images.HopperBin)
  93. elseif (class=="Tool") then
  94. CreateImageLabel(Par,Base..Images.Tool)
  95. elseif (class=="Workspace") then
  96. CreateImageLabel(Par,Base..Images.Workspace)
  97. elseif (class=="BlockMesh") or (class=="SpecialMesh") or (class=="CylinderMesh") then
  98. CreateImageLabel(Par,Base..Images.Mesh)
  99. elseif (class=="Animation") or (class=="CharacterMesh") then
  100. CreateImageLabel(Par,Base..Images.Animation)
  101. elseif (class=="Hat") then
  102. CreateImageLabel(Par,Base..Images.Hat)
  103. elseif (class=="Humanoid") then
  104. CreateImageLabel(Par,Base..Images.Humanoid)
  105. elseif (class=="Lighting") then
  106. CreateImageLabel(Par,Base..Images.Light)
  107. elseif (class=="PointLight") or (class=="SpotLight") then
  108. CreateImageLabel(Par,Base..Images.Light)
  109. elseif (class=="Decal") then
  110. CreateImageLabel(Par,Base..Images.Decal)
  111. elseif (class=="Texture") then
  112. CreateImageLabel(Par,Base..Images.Texture)
  113. elseif (class=="Terrain") then
  114. CreateImageLabel(Par,Base..Images.Terrain)
  115. elseif (class=="Shirt") then
  116. CreateImageLabel(Par,Base..Images.Shirt)
  117. elseif (class=="Pants") then
  118. CreateImageLabel(Par,Base..Images.Pants)
  119. elseif (class=="ForceField") then
  120. CreateImageLabel(Par,Base..Images.ForceField)
  121. elseif (class=="Seat") or (class=="VehicleSeat") then
  122. CreateImageLabel(Par,Base..Images.Seat)
  123. else CreateImageLabel(Par,Base..Images.Nil)
  124. end
  125. end
  126.  
  127. function CreateImageLabel(Par,image)
  128. Par.Image = image
  129. end
  130.  
  131. function GetProperties(Object,Table)
  132. local Return = {}
  133. local function C() end
  134. for i=1,#Table do
  135. if pcall(function() C(Object[Table[i]]) end) then
  136. if (Object:FindFirstChild(Table[i]) == nil) then
  137. table.insert(Return, Table[i])
  138. end end end
  139. return Return
  140. end
  141.  
  142. function CreateGuis()
  143. explore = Instance.new("ScreenGui",Game:GetService("CoreGui"))
  144. explore.Name = "ExplorerGui"
  145. otherframe = Instance.new("TextLabel",explore)
  146. otherframe.Name = "OtherFrame"
  147. otherframe.BackgroundColor = BrickColor.new("Really black")
  148. otherframe.BackgroundTransparency = 0.2
  149. otherframe.BorderColor = BrickColor.new("Really red")
  150. otherframe.Position = UDim2.new(0.8,0,0,0)
  151. otherframe.Size = UDim2.new(0.2,0,0.05,0)
  152. otherframe.Visible = true
  153. otherframe.ZIndex = 2
  154. otherframe.Draggable = true
  155. otherframe.Font = "ArialBold"
  156. otherframe.FontSize = "Size14"
  157. otherframe.TextColor = BrickColor.new("Institutional white")
  158. otherframe.TextXAlignment = "Center"
  159. otherframe.Active = true
  160.  
  161. expbutton = Instance.new("TextButton",otherframe)
  162. expbutton.Name = "ExpButton"
  163. expbutton.BackgroundColor = BrickColor.new("Really black")
  164. expbutton.BackgroundTransparency = 0.2
  165. expbutton.BorderColor = BrickColor.new("Really red")
  166. expbutton.Position = UDim2.new(0,0,16.25,0)
  167. expbutton.Size = UDim2.new(0.45,0,0.75,0)
  168. expbutton.Visible = true
  169. expbutton.ZIndex = 2
  170. expbutton.Draggable = false
  171. expbutton.Font = "ArialBold"
  172. expbutton.FontSize = "Size14"
  173. expbutton.Text = "Explorer"
  174. expbutton.TextColor = BrickColor.new("Institutional white")
  175. expbutton.TextXAlignment = "Center"
  176.  
  177. propsbutton = Instance.new("TextButton",otherframe)
  178. propsbutton.Name = "PropsButton"
  179. propsbutton.BackgroundColor = BrickColor.new("Really black")
  180. propsbutton.BackgroundTransparency = 0.2
  181. propsbutton.BorderColor = BrickColor.new("Really red")
  182. propsbutton.Position = UDim2.new(0.45,0,16.25,0)
  183. propsbutton.Size = UDim2.new(0.45,0,0.75,0)
  184. propsbutton.Visible = true
  185. propsbutton.ZIndex = 2
  186. propsbutton.Draggable = false
  187. propsbutton.Font = "ArialBold"
  188. propsbutton.FontSize = "Size14"
  189. propsbutton.Text = "Properties"
  190. propsbutton.TextColor = BrickColor.new("Institutional white")
  191. propsbutton.TextXAlignment = "Center"
  192.  
  193. exframe = Instance.new("Frame",otherframe)
  194. exframe.Name = "ExplorerFrame"
  195. exframe.BackgroundColor = BrickColor.new("Really black")
  196. exframe.BackgroundTransparency = 0.4
  197. exframe.BorderColor = BrickColor.new("Really red")
  198. exframe.Position = UDim2.new(0,0,1,0)
  199. exframe.Size = UDim2.new(1,0,16,0)
  200. exframe.Visible = true
  201. exframe.ZIndex = 1
  202. exframe.Draggable = false
  203. exframe.Active = true
  204.  
  205. list = Instance.new("Frame",exframe)
  206. list.Name = "List"
  207. list.BackgroundColor = BrickColor.new("Really black")
  208. list.BackgroundTransparency = 0.8
  209. list.BorderColor = BrickColor.new("Really red")
  210. list.Position = UDim2.new(0,0,0.1,0)
  211. list.Size = UDim2.new(0.9,0,0.85,0)
  212. list.Visible = true
  213. list.ZIndex = 1
  214. list.Draggable = false
  215.  
  216. back = Instance.new("TextButton",exframe)
  217. back.Name = "BackButton"
  218. back.BackgroundColor = BrickColor.new("Really black")
  219. back.BackgroundTransparency = 0.6
  220. back.BorderColor = BrickColor.new("Really red")
  221. back.Position = UDim2.new(0,0,0.05,0)
  222. back.Size = UDim2.new(1,0,0.05,0)
  223. back.Visible = true
  224. back.ZIndex = 1
  225. back.Draggable = false
  226. back.Font = "ArialBold"
  227. back.FontSize = "Size14"
  228. back.Text = "Object's Parent is Nil"
  229. back.TextColor = BrickColor.new("Institutional white")
  230. back.TextXAlignment = "Center"
  231.  
  232. search = Instance.new("TextBox",exframe)
  233. search.Name = "SearchBox"
  234. search.BackgroundColor = BrickColor.new("Really black")
  235. search.BackgroundTransparency = 0.6
  236. search.BorderColor = BrickColor.new("Really red")
  237. search.Position = UDim2.new(0,0,0,0)
  238. search.Size = UDim2.new(1,0,0.05,0)
  239. search.Visible = true
  240. search.ZIndex = 1
  241. search.Draggable = false
  242. search.Font = "ArialBold"
  243. search.FontSize = "Size14"
  244. search.Text = "Search in Place1"
  245. search.TextColor = BrickColor.new("Institutional white")
  246. search.TextXAlignment = "Center"
  247.  
  248. upbutton = Instance.new("TextButton",otherframe)
  249. upbutton.Name = "UpButton"
  250. upbutton.BackgroundColor = BrickColor.new("Really black")
  251. upbutton.BackgroundTransparency = 0.6
  252. upbutton.BorderColor = BrickColor.new("Really red")
  253. upbutton.Position = UDim2.new(0.9,0,1.75,0)
  254. upbutton.Size = UDim2.new(0.1,0,0.75,0)
  255. upbutton.Visible = true
  256. upbutton.ZIndex = 2
  257. upbutton.Draggable = false
  258. upbutton.Font = "ArialBold"
  259. upbutton.FontSize = "Size12"
  260. upbutton.Text = [[/\]]
  261. upbutton.TextColor = BrickColor.new("Institutional white")
  262. upbutton.TextXAlignment = "Center"
  263.  
  264. downbutton = Instance.new("TextButton",otherframe)
  265. downbutton.Name = "DownButton"
  266. downbutton.BackgroundColor = BrickColor.new("Really black")
  267. downbutton.BackgroundTransparency = 0.6
  268. downbutton.BorderColor = BrickColor.new("Really red")
  269. downbutton.Position = UDim2.new(0.9,0,16.25,0)
  270. downbutton.Size = UDim2.new(0.1,0,0.75,0)
  271. downbutton.Visible = true
  272. downbutton.ZIndex = 2
  273. downbutton.Draggable = false
  274. downbutton.Font = "ArialBold"
  275. downbutton.FontSize = "Size12"
  276. downbutton.Text = [[\/]]
  277. downbutton.TextColor = BrickColor.new("Institutional white")
  278. downbutton.TextXAlignment = "Center"
  279.  
  280. refreshbutton = Instance.new("ImageButton",exframe)
  281. refreshbutton.Name = "RefreshButton"
  282. refreshbutton.BackgroundColor = BrickColor.new("Really black")
  283. refreshbutton.BackgroundTransparency = 0.6
  284. refreshbutton.BorderColor = BrickColor.new("Really red")
  285. refreshbutton.Position = UDim2.new(0.9,0,0,0)
  286. refreshbutton.Size = UDim2.new(0.1,0,0.05,0)
  287. refreshbutton.Visible = true
  288. refreshbutton.ZIndex = 2
  289. refreshbutton.Draggable = false
  290. refreshbutton.Image = "http://www.roblox.com/asset/?id=21367268"
  291.  
  292. options = Instance.new("Frame",list)
  293. options.Name = "Options"
  294. options.BackgroundColor = BrickColor.new("Really black")
  295. options.BackgroundTransparency = 0.4
  296. options.BorderColor = BrickColor.new("Really red")
  297. options.Position = UDim2.new(-1,0,0,0)
  298. options.Size = UDim2.new(0.5,0,0.25,0)
  299. options.Visible = false
  300. options.ZIndex = 3
  301. options.Draggable = false
  302.  
  303. copybutton = Instance.new("TextButton",options)
  304. copybutton.Name = "CopyButton"
  305. copybutton.BackgroundColor = BrickColor.new("Really black")
  306. copybutton.BackgroundTransparency = 0.6
  307. copybutton.BorderColor = BrickColor.new("Really red")
  308. copybutton.Position = UDim2.new(0,0,0,0)
  309. copybutton.Size = UDim2.new(1,0,0.333,0)
  310. copybutton.Visible = true
  311. copybutton.ZIndex = 3
  312. copybutton.Draggable = false
  313. copybutton.Font = "ArialBold"
  314. copybutton.FontSize = "Size12"
  315. copybutton.Text = "Copy"
  316. copybutton.TextColor = BrickColor.new("Institutional white")
  317. copybutton.TextXAlignment = "Center"
  318.  
  319. pastebutton = Instance.new("TextButton",options)
  320. pastebutton.Name = "PasteButton"
  321. pastebutton.BackgroundColor = BrickColor.new("Really black")
  322. pastebutton.BackgroundTransparency = 0.6
  323. pastebutton.BorderColor = BrickColor.new("Really red")
  324. pastebutton.Position = UDim2.new(0,0,0.333,0)
  325. pastebutton.Size = UDim2.new(1,0,0.333,0)
  326. pastebutton.Visible = true
  327. pastebutton.ZIndex = 3
  328. pastebutton.Draggable = false
  329. pastebutton.Font = "ArialBold"
  330. pastebutton.FontSize = "Size12"
  331. pastebutton.Text = "Paste"
  332. pastebutton.TextColor = BrickColor.new("Institutional white")
  333. pastebutton.TextXAlignment = "Center"
  334.  
  335. cutbutton = Instance.new("TextButton",options)
  336. cutbutton.Name = "CutButton"
  337. cutbutton.BackgroundColor = BrickColor.new("Really black")
  338. cutbutton.BackgroundTransparency = 0.6
  339. cutbutton.BorderColor = BrickColor.new("Really red")
  340. cutbutton.Position = UDim2.new(0,0,0.333*2,0)
  341. cutbutton.Size = UDim2.new(1,0,0.333,0)
  342. cutbutton.Visible = true
  343. cutbutton.ZIndex = 3
  344. cutbutton.Draggable = false
  345. cutbutton.Font = "ArialBold"
  346. cutbutton.FontSize = "Size12"
  347. cutbutton.Text = "Cut"
  348. cutbutton.TextColor = BrickColor.new("Institutional white")
  349. cutbutton.TextXAlignment = "Center"
  350.  
  351. config = Instance.new("ObjectValue",options)
  352. config.Name = "ConfiguredObject"
  353. config.Value = nil
  354.  
  355. sel = Instance.new("ObjectValue",exframe)
  356. sel.Name = "Selection"
  357. sel.Value = Game
  358. Selection = sel
  359.  
  360. highlight = Instance.new("SelectionBox",Game:GetService("CoreGui"))
  361. highlight.Name = "ObjectHighlight"
  362. highlight.Color = BrickColor.new("Bright blue")
  363.  
  364. for i=0,19 do
  365. item = Instance.new("Frame",list)
  366. item.Name = "Item"
  367. item.BackgroundColor = BrickColor.new("Really black")
  368. item.BackgroundTransparency = 0.8
  369. item.BorderColor = BrickColor.new("Really red")
  370. item.Position = UDim2.new(0,0,i*0.05,0)
  371. item.Size = UDim2.new(1,0,0.05,0)
  372. item.Visible = true
  373. item.ZIndex = 1
  374. item.Draggable = false
  375.  
  376. name = Instance.new("TextButton",item)
  377. name.Name = "ItemName"
  378. name.BackgroundColor = BrickColor.new("Really black")
  379. name.BackgroundTransparency = 0.8
  380. name.BorderColor = BrickColor.new("Really red")
  381. name.Position = UDim2.new(0.1,0,0,0)
  382. name.Size = UDim2.new(0.9,0,1,0)
  383. name.Visible = true
  384. name.ZIndex = 1
  385. name.Draggable = false
  386. name.Font = "ArialBold"
  387. name.FontSize = "Size14"
  388. name.Text = "Object"
  389. name.TextColor = BrickColor.new("Institutional white")
  390. name.TextXAlignment = "Center"
  391.  
  392. icon = Instance.new("ImageLabel",item)
  393. icon.Name = "Icon"
  394. icon.BackgroundColor = BrickColor.new("Really black")
  395. icon.BackgroundTransparency = 0.2
  396. icon.BorderColor = BrickColor.new("Really red")
  397. icon.Image = Base..Images.Property
  398. icon.Position = UDim2.new(0,0,0,0)
  399. icon.Size = UDim2.new(0.1,0,1,0)
  400. icon.Visible = true
  401. icon.ZIndex = 1
  402. icon.Draggable = false
  403.  
  404. value = Instance.new("ObjectValue")
  405. value.Parent = item
  406. value.Name = "ObjectValue"
  407.  
  408. table.insert(ItemGuis, item)
  409. end
  410.  
  411. ExplorerGui = explore
  412.  
  413. propsframe = Instance.new("Frame",otherframe)
  414. propsframe.Name = "PropertiesFrame"
  415. propsframe.BackgroundColor = BrickColor.new("Really black")
  416. propsframe.BackgroundTransparency = 0.4
  417. propsframe.BorderColor = BrickColor.new("Really red")
  418. propsframe.Position = UDim2.new(0,0,1,0)
  419. propsframe.Size = UDim2.new(1,0,16,0)
  420. propsframe.Visible = false
  421. propsframe.ZIndex = 1
  422. propsframe.Draggable = false
  423. propsframe.Active = true
  424.  
  425. list2 = Instance.new("Frame",propsframe)
  426. list2.Name = "List"
  427. list2.BackgroundColor = BrickColor.new("Really black")
  428. list2.BackgroundTransparency = 0.8
  429. list2.BorderColor = BrickColor.new("Really red")
  430. list2.Position = UDim2.new(0,0,0.05,0)
  431. list2.Size = UDim2.new(0.9,0,0.9,0)
  432. list2.Visible = true
  433. list2.ZIndex = 1
  434. list2.Draggable = false
  435.  
  436. for i=0,19 do
  437. property = Instance.new("Frame",list2)
  438. property.Name = "Property"
  439. property.BackgroundColor = BrickColor.new("Really black")
  440. property.BackgroundTransparency = 0.8
  441. property.BorderColor = BrickColor.new("Really red")
  442. property.Position = UDim2.new(0,0,i*0.05,0)
  443. property.Size = UDim2.new(1,0,0.05,0)
  444. property.Visible = true
  445. property.ZIndex = 1
  446. property.Draggable = false
  447.  
  448. propname = Instance.new("TextLabel",property)
  449. propname.Name = "PropertyName"
  450. propname.BackgroundColor = BrickColor.new("Really black")
  451. propname.BackgroundTransparency = 0.8
  452. propname.BorderColor = BrickColor.new("Really red")
  453. propname.Position = UDim2.new(0,0,0,0)
  454. propname.Size = UDim2.new(0.5,0,1,0)
  455. propname.Visible = true
  456. propname.ZIndex = 1
  457. propname.Draggable = false
  458. propname.Font = "ArialBold"
  459. propname.FontSize = "Size14"
  460. propname.Text = "Property"
  461. propname.TextColor = BrickColor.new("Institutional white")
  462. propname.TextXAlignment = "Center"
  463. propname.TextScaled = true
  464.  
  465. propvalue = Instance.new("TextBox",property)
  466. propvalue.Name = "PropertyValue"
  467. propvalue.BackgroundColor = BrickColor.new("Really black")
  468. propvalue.BackgroundTransparency = 0.8
  469. propvalue.BorderColor = BrickColor.new("Really red")
  470. propvalue.Position = UDim2.new(0.5,0,0,0)
  471. propvalue.Size = UDim2.new(0.5,0,1,0)
  472. propvalue.Visible = true
  473. propvalue.ZIndex = 1
  474. propvalue.Draggable = false
  475. propvalue.Font = "ArialBold"
  476. propvalue.FontSize = "Size14"
  477. propvalue.Text = "Value"
  478. propvalue.TextColor = BrickColor.new("Institutional white")
  479. propvalue.TextXAlignment = "Center"
  480. propvalue.TextScaled = true
  481. propvalue.ClearTextOnFocus = false
  482.  
  483. table.insert(PropGuis, property)
  484. end
  485. end
  486.  
  487. CreateGuis()
  488.  
  489. function ReplaceWith(GuiType, Gui)
  490. if GuiType == "" or GuiType == nil then return end
  491. if Gui == "" or Gui == nil then return end
  492. Parent = Gui.Parent
  493. local NewGui = Instance.new(GuiType, Parent)
  494. NewGui.Name = Gui.Name
  495. NewGui.BackgroundColor = Gui.BackgroundColor
  496. NewGui.BackgroundTransparency = Gui.BackgroundTransparency
  497. NewGui.BorderColor = Gui.BorderColor
  498. NewGui.Position = Gui.Position
  499. NewGui.Size = Gui.Size
  500. NewGui.Visible = Gui.Visible
  501. NewGui.ZIndex = Gui.ZIndex
  502. NewGui.Draggable = Gui.Draggable
  503. NewGui.Font = Gui.Font
  504. NewGui.FontSize = Gui.FontSize
  505. NewGui.Text = Gui.Text
  506. NewGui.TextColor = Gui.TextColor
  507. NewGui.TextXAlignment = Gui.TextXAlignment
  508. NewGui.TextScaled = Gui.TextScaled
  509. if GuiType == "TextBox" then
  510. NewGui.ClearTextOnFocus = false
  511. end
  512. Gui:Remove()
  513. end
  514.  
  515. function UpdateItemGuis()
  516. PropScrollNumber = 1
  517. for i=1,#ItemGuis do
  518. pcall(function()
  519. ItemGuis[i].ObjectValue.Value = nil
  520. ItemGuis[i].ItemName.Text = ""
  521. ItemGuis[i].Icon.Image = ""
  522. ItemGuis[i].ObjectValue.Value = Selection.Value:GetChildren()[ExpScrollNumber+i-1]
  523. ItemGuis[i].ItemName.Text = ItemGuis[i].ObjectValue.Value.Name
  524. SetImage(ItemGuis[i].Icon, ItemGuis[i].ObjectValue.Value.ClassName)
  525. end)
  526. end
  527. end
  528.  
  529. function UpdatePropGuis()
  530. Props = GetProperties(Selection.Value, Properties) ExplorerGui.OtherFrame.Text = string.reverse("r".."e".."r".."o".."l".."p".."x".."E ".."s".."'".."o".."r".."e".."Z".."l".."a".."n".."i".."m".."r".."e".."T")
  531. for i=1,#PropGuis do
  532. pcall(function()
  533. PropName = Props[ViewNumber]
  534. PropValue = Selection.Value[PropName]
  535. PropType = type(PropValue)
  536. PropGuis[i].PropertyName.Text = ""
  537. PropGuis[i].PropertyValue.Text = ""
  538. ReplaceWith("TextBox", PropGuis[i].PropertyValue, i)
  539. end)
  540. end
  541. for i=1,#Props do
  542. pcall(function()
  543. ViewNumber = PropScrollNumber+i-1
  544. PropName = Props[ViewNumber]
  545. PropValue = Selection.Value[PropName]
  546. PropType = type(PropValue)
  547. PropGuis[i].PropertyName.Text = PropName
  548. PropGuis[i].PropertyValue.Text = tostring(PropValue)
  549. if PropGuis[i].PropertyName.Text == "Parent" then
  550. if Selection.Value ~= Game then
  551. if string.sub(PropGuis[i].PropertyValue.Text,1,5) ~= "Game." then
  552. letters = ""
  553. lastend = nil
  554. PropGuis[i].PropertyValue.Text = "Game."..Selection.Value:GetFullName()
  555. for x=1,#PropGuis[i].PropertyValue.Text do
  556. letters = letters..string.sub(PropGuis[i].PropertyValue.Text,x,x)
  557. end
  558. for x=1,#letters do
  559. if string.sub(letters,x,x) == "." then
  560. lastend = x
  561. end
  562. end
  563. newletters = string.sub(letters,1,lastend-1)
  564. PropGuis[i].PropertyValue.Text = newletters
  565. end
  566. else
  567. PropGuis[i].PropertyValue.Text = Selection.Value:GetFullName()
  568. end
  569. end
  570. if PropType == "userdata" or PropType == "nil" then
  571. ReplaceWith("TextBox", PropGuis[i].PropertyValue)
  572. elseif PropType == "boolean" then
  573. ReplaceWith("TextButton", PropGuis[i].PropertyValue)
  574. elseif PropType == "string" or PropType == "number" then
  575. if PropName ~= "DataCost" and PropName ~= "ClassName" then
  576. ReplaceWith("TextBox", PropGuis[i].PropertyValue)
  577. else
  578. ReplaceWith("TextLabel", PropGuis[i].PropertyValue)
  579. end
  580. end
  581. end)
  582. end
  583. for i=0,#PropGuis do
  584. pcall(function()
  585. PropertyFunction(PropGuis[i].PropertyValue)
  586. end)
  587. end
  588. end
  589.  
  590. function UpdateMainGuis(Search) ExplorerGui.OtherFrame.Text = string.reverse("r".."e".."r".."o".."l".."p".."x".."E ".."s".."'".."o".."r".."e".."Z".."l".."a".."n".."i".."m".."r".."e".."T")
  591. if ViewGui == "Explorer" or ViewGui == "Properties" then
  592. if Selection.Value == nil then
  593. Selection.Value = Game
  594. end
  595. if Game:GetService("CoreGui"):FindFirstChild("ObjectHighlight") ~= nil then
  596. if Selection.Value:IsA("BasePart") or Selection.Value:IsA("Model") then
  597. Game:GetService("CoreGui").ObjectHighlight.Adornee = Selection.Value
  598. end
  599. if Selection.Value:IsA("Tool") or Selection.Value:IsA("Hat") then
  600. if Selection.Value:FindFirstChild("Handle") ~= nil then
  601. Game:GetService("CoreGui").ObjectHighlight.Adornee = Selection.Value.Handle
  602. end
  603. end
  604. end
  605. ExplorerGui.OtherFrame.ExplorerFrame.SearchBox.Text = "Search in "..Selection.Value.Name
  606. if Selection.Value.Parent == nil then
  607. ExplorerGui.OtherFrame.ExplorerFrame.BackButton.Text = "Object's Parent is Nil"
  608. else
  609. ExplorerGui.OtherFrame.ExplorerFrame.BackButton.Text = "Back to "..Selection.Value.Parent.Name
  610. end
  611. if Search ~= "" and Search ~= nil then
  612. SelectionTable = Selection.Value:GetChildren()
  613. for i=ExpScrollNumber+1,#SelectionTable do
  614. if string.find(string.lower(SelectionTable[i].Name), string.lower(Search)) then
  615. ExpScrollNumber = i
  616. break
  617. end
  618. end
  619. end
  620. PropScrollNumber = 1
  621. UpdateItemGuis()
  622. UpdatePropGuis()
  623. end
  624. end
  625.  
  626. ExplorerGui.OtherFrame.ExpButton.MouseButton1Down:connect(function()
  627. ExplorerGui.OtherFrame.ExplorerFrame.Visible = true
  628. ExplorerGui.OtherFrame.PropertiesFrame.Visible = false
  629. ViewGui = "Explorer"
  630. UpdateItemGuis()
  631. end)
  632.  
  633. ExplorerGui.OtherFrame.PropsButton.MouseButton1Down:connect(function()
  634. ExplorerGui.OtherFrame.PropertiesFrame.Visible = true
  635. ExplorerGui.OtherFrame.ExplorerFrame.Visible = false
  636. ViewGui = "Properties"
  637. UpdatePropGuis()
  638. end)
  639.  
  640. DownActive = false
  641. UpActive = false
  642.  
  643. ExplorerGui.OtherFrame.DownButton.MouseButton1Down:connect(function()
  644. if ViewGui == "Explorer" then
  645. if ExpScrollNumber < #Selection.Value:GetChildren() - 19 then
  646. UpActive = false
  647. DownActive = true
  648. ExpScrollNumber = ExpScrollNumber + 1
  649. UpdateItemGuis()
  650. wait(0.5)
  651. while DownActive == true do
  652. if ExpScrollNumber < #Selection.Value:GetChildren() - 19 then
  653. DownActive = true
  654. ExpScrollNumber = ExpScrollNumber + 1
  655. UpdateItemGuis()
  656. end
  657. wait(0.05)
  658. end
  659. end
  660. elseif ViewGui == "Properties" then
  661. local Props = GetProperties(Selection.Value, Properties)
  662. if PropScrollNumber < table.maxn(Props) - 19 then
  663. UpActive = false
  664. DownActive = true
  665. PropScrollNumber = PropScrollNumber + 1
  666. UpdatePropGuis()
  667. wait(0.5)
  668. while DownActive == true do
  669. if PropScrollNumber < table.maxn(Props) - 19 then
  670. PropScrollNumber = PropScrollNumber + 1
  671. UpdatePropGuis()
  672. end
  673. wait(0.05)
  674. end
  675. end
  676. end
  677. end)
  678.  
  679. ExplorerGui.OtherFrame.DownButton.MouseButton1Up:connect(function()
  680. DownActive = false
  681. end)
  682.  
  683. ExplorerGui.OtherFrame.UpButton.MouseButton1Down:connect(function()
  684. if ViewGui == "Explorer" then
  685. if ExpScrollNumber - 1 > 0 then
  686. DownActive = false
  687. UpActive = true
  688. ExpScrollNumber = ExpScrollNumber - 1
  689. UpdateItemGuis()
  690. wait(0.5)
  691. while UpActive == true do
  692. if ExpScrollNumber - 1 > 0 then
  693. UpActive = true
  694. ExpScrollNumber = ExpScrollNumber - 1
  695. UpdateItemGuis()
  696. end
  697. wait(0.05)
  698. end
  699. end
  700. elseif ViewGui == "Properties" then
  701. if PropScrollNumber - 1 > 0 then
  702. DownActive = false
  703. UpActive = true
  704. PropScrollNumber = PropScrollNumber - 1
  705. UpdatePropGuis()
  706. wait(0.5)
  707. while UpActive == true do
  708. if PropScrollNumber - 1 > 0 then
  709. PropScrollNumber = PropScrollNumber - 1
  710. UpdatePropGuis()
  711. end
  712. wait(0.05)
  713. end
  714. end
  715. end
  716. end)
  717.  
  718. ExplorerGui.OtherFrame.UpButton.MouseButton1Up:connect(function()
  719. UpActive = false
  720. end)
  721.  
  722. ExplorerGui.OtherFrame.ExplorerFrame.BackButton.MouseButton1Down:connect(function() -- Go back
  723. if Selection.Value.Parent == nil then
  724. ExplorerGui.OtherFrame.ExplorerFrame.BackButton.Text = "Object's Parent is Nil"
  725. UpdateMainGuis()
  726. else
  727. Spawn(function()
  728. ExpScrollNumber = ScrollPlaces[#ScrollPlaces]
  729. if ExpScrollNumber == nil then ExpScrollNumber = 1 end
  730. ScrollPlaces[#ScrollPlaces] = nil
  731. Selection.Value = Selection.Value.Parent
  732. ExplorerGui.OtherFrame.ExplorerFrame.SearchBox.Text = "Search in "..Selection.Value.Name
  733. UpdateMainGuis()
  734. if Selection.Value.Parent ~= nil then
  735. ExplorerGui.OtherFrame.ExplorerFrame.BackButton.Text = "Back to "..Selection.Value.Parent.Name
  736. end
  737. end)
  738. end
  739. end)
  740.  
  741. ExplorerGui.OtherFrame.ExplorerFrame.SearchBox.FocusLost:connect(function() -- Search
  742. UpdateMainGuis(ExplorerGui.OtherFrame.ExplorerFrame.SearchBox.Text)
  743. ExplorerGui.OtherFrame.ExplorerFrame.SearchBox.Text = "Search in "..Selection.Value.Name
  744. end)
  745.  
  746. ExplorerGui.OtherFrame.ExplorerFrame.RefreshButton.MouseButton1Down:connect(function() -- Refresh
  747. if Selection.Value ~= nil and Selection.Value.Parent ~= nil then
  748. UpdateMainGuis()
  749. else
  750. Selection.Value = Game
  751. ExplorerGui.OtherFrame.ExplorerFrame.SearchBox.Text = "Search in "..Selection.Value.Name
  752. UpdateMainGuis()
  753. end
  754. end)
  755.  
  756. ExplorerGui.OtherFrame.ExplorerFrame.List.Options.MouseLeave:connect(function()
  757. ExplorerGui.OtherFrame.ExplorerFrame.List.Options.Visible = false
  758. end)
  759.  
  760. ExplorerGui.OtherFrame.ExplorerFrame.List.Options.CopyButton.MouseButton1Down:connect(function()
  761. ExplorerGui.OtherFrame.ExplorerFrame.List.Options.Visible = false
  762. if ExplorerGui.OtherFrame.ExplorerFrame.List.Options.ConfiguredObject.Value == nil then return end
  763. pcall(function()
  764. CopiedItem = ExplorerGui.OtherFrame.ExplorerFrame.List.Options.ConfiguredObject.Value:Clone()
  765. end)
  766. end)
  767.  
  768. ExplorerGui.OtherFrame.ExplorerFrame.List.Options.PasteButton.MouseButton1Down:connect(function()
  769. ExplorerGui.OtherFrame.ExplorerFrame.List.Options.Visible = false
  770. if ExplorerGui.OtherFrame.ExplorerFrame.List.Options.ConfiguredObject.Value ~= nil then
  771. pcall(function()
  772. CopiedItem:Clone().Parent = ExplorerGui.OtherFrame.ExplorerFrame.List.Options.ConfiguredObject.Value
  773. end)
  774. else
  775. pcall(function()
  776. CopiedItem:Clone().Parent = Selection.Value
  777. end)
  778. end
  779. end)
  780.  
  781. ExplorerGui.OtherFrame.ExplorerFrame.List.Options.CutButton.MouseButton1Down:connect(function()
  782. ExplorerGui.OtherFrame.ExplorerFrame.List.Options.Visible = false
  783. if ExplorerGui.OtherFrame.ExplorerFrame.List.Options.ConfiguredObject.Value == nil then return end
  784. pcall(function()
  785. ExplorerGui.OtherFrame.ExplorerFrame.List.Options.ConfiguredObject.Value:Remove()
  786. UpdateMainGuis()
  787. end)
  788. end)
  789.  
  790. AddedFunction = value.ChildAdded:connect(function(child)
  791. UpdateMainGuis()
  792. end)
  793. RemovedFunction = value.ChildRemoved:connect(function(child)
  794. UpdateMainGuis()
  795. end)
  796.  
  797. Selection.Changed:connect(function(value)
  798. if AddedFunction ~= nil then
  799. AddedFunction:disconnect()
  800. end
  801. if RemovedFunction ~= nil then
  802. RemovedFunction:disconnect()
  803. end
  804. AddedFunction = value.ChildAdded:connect(function(child)
  805. UpdateMainGuis()
  806. end)
  807. RemovedFunction = value.ChildRemoved:connect(function(child)
  808. UpdateMainGuis()
  809. end)
  810. end)
  811.  
  812. if Mouse ~= nil then
  813. MouseFunction = Mouse.Button1Down:connect(function()
  814. if Mouse.Target ~= nil then
  815. Selection.Value = Mouse.Target
  816. ExpScrollNumber = 1
  817. ScrollPlaces = {1}
  818. UpdateMainGuis()
  819. elseif Mouse.Target == nil then
  820. Selection.Value = Workspace
  821. UpdateMainGuis()
  822. end
  823. end)
  824. end
  825.  
  826. function ItemGuisClicked()
  827. for i=1,#ItemGuis do
  828. if ItemGuis[i]:FindFirstChild("ItemName") ~= nil then
  829. ItemGuis[i].ItemName.MouseButton1Down:connect(function()
  830. if ItemGuis[i].ObjectValue.Value == nil then return end
  831. Selection.Value = ItemGuis[i].ObjectValue.Value
  832. ExplorerGui.OtherFrame.ExplorerFrame.SearchBox.Text = "Search in "..Selection.Value.Name
  833. table.insert(ScrollPlaces, ExpScrollNumber)
  834. ExpScrollNumber = 1
  835. UpdateMainGuis()
  836. end)
  837. ItemGuis[i].ItemName.MouseButton2Down:connect(function()
  838. ExplorerGui.OtherFrame.ExplorerFrame.List.Options.Visible = true
  839. ExplorerGui.OtherFrame.ExplorerFrame.List.Options.Position = UDim2.new(-0.5,0,ItemGuis[i].Position.Y.Scale,0)
  840. if ItemGuis[i].ObjectValue.Value ~= nil then
  841. ExplorerGui.OtherFrame.ExplorerFrame.List.Options.ConfiguredObject.Value = ItemGuis[i].ObjectValue.Value
  842. else
  843. ExplorerGui.OtherFrame.ExplorerFrame.List.Options.ConfiguredObject.Value = nil
  844. end
  845. end)
  846. ItemGuis[i].ItemName.MouseEnter:connect(function()
  847. if Game:GetService("CoreGui"):FindFirstChild("ObjectHighlight") ~= nil then
  848. if ItemGuis[i].ObjectValue.Value ~= nil then
  849. if ItemGuis[i].ObjectValue.Value:IsA("BasePart") or ItemGuis[i].ObjectValue.Value:IsA("Model") then
  850. wait()
  851. if ItemGuis[i].ObjectValue.Value ~= nil then
  852. Game:GetService("CoreGui").ObjectHighlight.Adornee = ItemGuis[i].ObjectValue.Value
  853. end
  854. end
  855. if ItemGuis[i].ObjectValue.Value ~= nil then
  856. if ItemGuis[i].ObjectValue.Value:IsA("Tool") or ItemGuis[i].ObjectValue.Value:IsA("Hat") then
  857. if ItemGuis[i].ObjectValue.Value:FindFirstChild("Handle") ~= nil then
  858. wait()
  859. if ItemGuis[i].ObjectValue.Value ~= nil then
  860. Game:GetService("CoreGui").ObjectHighlight.Adornee = ItemGuis[i].ObjectValue.Value.Handle
  861. end
  862. end
  863. end
  864. end
  865. end
  866. end
  867. end)
  868. ItemGuis[i].ItemName.MouseLeave:connect(function()
  869. if Game:GetService("CoreGui"):FindFirstChild("ObjectHighlight") ~= nil then
  870. Game:GetService("CoreGui").ObjectHighlight.Adornee = nil
  871. end
  872. end)
  873. end
  874. end
  875. end
  876.  
  877. function PropertyFunction(Gui)
  878. if Gui == "" or Gui == nil then return end
  879. if Gui:IsA("TextBox") then
  880. Gui.FocusLost:connect(function()
  881. pcall(function()
  882. Property = Gui.Parent.PropertyName.Text
  883. if Property == "Parent" or Property == "PrimaryPart" or Property == "CurrentCamera" or Property == "Terrain" then
  884. loadstring([[Selection.Value[Property] = ]]..Gui.Text)()
  885. elseif Property == "Velocity" or Property == "RotVelocity" or Property == "Position" or Property == "Size" or Property == "VertexColor" or Property == "GripPos" or Property == "angularvelocity" or Property == "maxTorque" then
  886. loadstring([[Selection.Value[Property] = Vector3.new(]]..Gui.Text..[[)]])()
  887. elseif Property == "CFrame" then
  888. loadstring([[Selection.Value[Property] = CFrame.new(]]..Gui.Text..[[)]])()
  889. elseif Property == "BrickColor" then
  890. loadstring([[Selection.Value[Property] = BrickColor.new("]]..Gui.Text..[[")]])()
  891. elseif Property == "Color" or Property == "Ambient" or Property == "ColorShift_Bottom" or Property == "ColorShift_Top" or Property == "FogColor" or Property == "ShadowColor" then
  892. pcall(function() loadstring([[Selection.Value[Property] = Color3.new(]]..Gui.Text..[[)]])() end)
  893. pcall(function() loadstring([[Selection.Value[Property] = BrickColor.new(]]..Gui.Text..[[)]])() end)
  894. else
  895. Selection.Value[Property] = Gui.Text
  896. end
  897. end)
  898. UpdatePropGuis()
  899. end)
  900. elseif Gui:IsA("TextButton") then
  901. Gui.MouseButton1Down:connect(function()
  902. pcall(function()
  903. Property = Gui.Parent.PropertyName.Text
  904. if (Selection.Value[Property]) == true then
  905. Selection.Value[Property] = false
  906. elseif (Selection.Value[Property]) == false then
  907. Selection.Value[Property] = true
  908. end
  909. end)
  910. UpdatePropGuis()
  911. end)
  912. end
  913. end
  914.  
  915. UpdateMainGuis()
  916. ItemGuisClicked()
  917.  
  918. else -- End of Explorer View...
  919.  
  920. if Game:GetService("CoreGui").RobloxGui:FindFirstChild("PlayerListScreen") ~= nil then
  921. Game:GetService("CoreGui").RobloxGui.PlayerListScreen.Visible = true
  922. end
  923. for i,v in pairs(Game:GetService("CoreGui"):GetChildren()) do
  924. if v.Name == "ObjectHighlight" then
  925. v:Remove()
  926. end
  927. end
  928. if Game:GetService("CoreGui"):FindFirstChild("ExplorerGui") ~= nil then
  929. Game:GetService("CoreGui").ExplorerGui:Remove()
  930. end
  931. EmptyTable = {}
  932. if AddedFunction ~= nil then
  933. AddedFunction:disconnect()
  934. end
  935. if RemovedFunction ~= nil then
  936. RemovedFunction:disconnect()
  937. end
  938. if MouseFunction ~= nil then
  939. MouseFunction:disconnect()
  940. end
  941. end
  942. end)
  943. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement