Advertisement
ClockworkHorror

Explorer Test

Aug 10th, 2015
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.06 KB | None | 0 0
  1. Properties={nil,"Name","className","Parent","archivable","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","CFrame","BrickColor","Material","Reflectance","Transparency","Position","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"}
  2. GlobalProperties={nil,"Name","className","Parent","archivable"}
  3. GlobalEvents={nil,"AncestryChanged","ChildAdded","ChildRemoved","DescendantAdded","DescendantRemoving"}
  4. GlobalFunctions={nil,"Clone","FindFirstChild","GetChildren","GetFullName","IsA","IsAncesterOf","IsDescendantOf","Remove"}
  5. local Selection=game
  6. local updateDebounce=1
  7. local Name="koolzion"
  8. local Name=script.Parent.Parent.Parent.Name
  9. local P=game.Players:FindFirstChild(Name)
  10. if (P~=nil) then
  11. script.Parent=P.PlayerGui
  12. end
  13. Base="http://www.roblox.com/asset/?id="
  14. Images={Value=40332408,Sound=40332463,Script=40332546,ScreenGui=40332596,Part=40332760,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}
  15. Min=1
  16. Max=40
  17. MAXPAGEN=40
  18. --[[==================================================================]]
  19. function GetProperties(Object,Table)
  20. local Return={}
  21. local function C() end
  22. for i=1,#Table do
  23. if pcall(function() C(Object[Table[i]]) end) then
  24. if (Object:FindFirstChild(Table[i])==nil) then
  25. table.insert(Return,Table[i])
  26. end end end
  27. return Return
  28. end
  29.  
  30. function GetType(Prop)
  31. if (type(Prop)=="userdata") then
  32. if pcall(function() Prop.Name=Prop.Name end) then
  33. return Prop.Name
  34. end end
  35. return Prop
  36. end
  37.  
  38. function SetPropGui()
  39. if (Selection~=nil) then
  40. local PropGuiPos=0
  41. local Playergui=script.Parent
  42. local Gui=Playergui:FindFirstChild("PropertiesGui")
  43. if (Gui~=nil) then
  44. Gui:Remove()
  45. end
  46. PropGui=Instance.new("ScreenGui")
  47. PropGui.Parent=Playergui
  48. PropGui.Name="PropertiesGui"
  49. local Props=GetProperties(Selection,Properties)
  50. for i=1,#Props do
  51. PropGuiPos=i
  52. local Get=GetType(Props[i])
  53. local Label=Instance.new("TextButton")
  54. Label.Parent=PropGui
  55. Label.Size=UDim2.new(0,150,0,15)
  56. Label.Text=" "..tostring(Get).." | "..tostring(Selection[Get])
  57. Label.BackgroundColor3=Color3.new(0.7,0.7,0.9)
  58. Label.Name=tostring(Get)
  59. Label.TextXAlignment="Left"
  60. Label.Position=UDim2.new(0,230,0,(i*15)-15)
  61. Label.TextColor3=Color3.new(0,0,0)
  62. Label.BorderColor3=Color3.new(0,0,0)
  63. Label.BackgroundTransparency=0.5
  64. Label.Active=false
  65. Label.AutoButtonColor=false
  66. CreateImageLabel(Label,Base..Images.Property)
  67. if (type(Selection[Props[i]])=="boolean") then
  68. if pcall(function() Selection[Props[i]]=Selection[Props[i]] end) then
  69. Label.Active=true
  70. Label.AutoButtonColor=true
  71. Label.BackgroundColor3=Color3.new(0.5,0.5,1)
  72. Label.MouseButton1Click:connect(function()
  73. if (Selection[Props[i]]==true) then
  74. Selection[Props[i]]=false
  75. elseif (Selection[Props[i]]==false) then
  76. Selection[Props[i]]=true
  77. end
  78. Label.Text=" "..tostring(Props[i]).." | "..tostring(Selection[Props[i]])
  79. end) end end end
  80. end end
  81.  
  82. function CreateImageLabel(Par,image)
  83. local label=Instance.new("ImageLabel")
  84. label.BackgroundColor3=Color3.new(1,1,1)
  85. label.BackgroundTransparency=1
  86. label.Name="ItemImage"
  87. label.Size=UDim2.new(0,13,0,13)
  88. label.Position=UDim2.new(0,1,0,1)
  89. label.Image=image
  90. label.BorderSizePixel=0
  91. label.Parent=Par
  92. end
  93.  
  94. function SetImage(Par,class)
  95. 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
  96. CreateImageLabel(Par,Base..Images.Value)
  97. elseif (class=="Sound") or (class=="StockSound") or (class=="SoundService") then
  98. CreateImageLabel(Par,Base..Images.Sound)
  99. elseif (class=="Script") then
  100. CreateImageLabel(Par,Base..Images.Script)
  101. elseif (class=="ScreenGui") or (class=="GuiMain") or (class=="BillboardGui") then
  102. CreateImageLabel(Par,Base..Images.ScreenGui)
  103. elseif (class=="Part") or (class=="WedgePart") or (class=="TrussPart") then
  104. CreateImageLabel(Par,Base..Images.Part)
  105. elseif (class=="Model") then
  106. CreateImageLabel(Par,Base..Images.Model)
  107. elseif (class=="Hint") or (class=="Message") then
  108. CreateImageLabel(Par,Base..Images.Message)
  109. elseif (class=="LocalScript") then
  110. CreateImageLabel(Par,Base..Images.LocalScript)
  111. elseif (class=="Weld") or (class=="Snap") or (class=="Glue") or (class=="Rotate") or (class=="RotateP") or (class=="RotateV") or (class=="JointsService") then
  112. CreateImageLabel(Par,Base..Images.Joint)
  113. elseif (class=="Frame") or (class=="TextLabel") or (class=="TextButton") or (class=="TextBox") or (class=="ImageButton") or (class=="ImageLabel") then
  114. CreateImageLabel(Par,Base..Images.Frame)
  115. elseif (class=="Camera") then
  116. CreateImageLabel(Par,Base..Images.Camera)
  117. elseif (class=="Backpack") or (class=="StarterGear") or (class=="StarterPack") or (class=="StarterGui") or (class=="PlayerGui") then
  118. CreateImageLabel(Par,Base..Images.Backpack)
  119. elseif (class=="Player") or (class=="PseudoPlayer") or (class=="Players") then
  120. CreateImageLabel(Par,Base..Images.Player)
  121. elseif (class=="BodyPosition") or (class=="BodyGyro") or (class=="BodyVelocity") or (class=="BodyThrust") or (class=="BodyForce") or (class=="RocketPropulsion") then
  122. CreateImageLabel(Par,Base..Images.Body)
  123. elseif (class=="HopperBin") then
  124. CreateImageLabel(Par,Base..Images.HopperBin)
  125. elseif (class=="Tool") then
  126. CreateImageLabel(Par,Base..Images.Tool)
  127. elseif (class=="Workspace") then
  128. CreateImageLabel(Par,Base..Images.Workspace)
  129. elseif (class=="BlockMesh") or (class=="SpecialMesh") or (class=="CylinderMesh") then
  130. CreateImageLabel(Par,Base..Images.Mesh)
  131. elseif (class=="Animation") or (class=="CharacterMesh") then
  132. CreateImageLabel(Par,Base..Images.Animation)
  133. elseif (class=="Hat") then
  134. CreateImageLabel(Par,Base..Images.Hat)
  135. elseif (class=="Humanoid") then
  136. CreateImageLabel(Par,Base..Images.Humanoid)
  137. else CreateImageLabel(Par,Base..Images.Nil)
  138. end
  139. end
  140.  
  141. function SetExplGui()
  142. local Playergui=script.Parent
  143. if (Selection~=nil) then
  144. local Gui=Playergui:FindFirstChild("ExplorerGui")
  145. if (Gui~=nil) then Gui:Remove() end
  146. local Children=Selection:GetChildren()
  147. ExplGui=Instance.new("ScreenGui")
  148. ExplGui.Parent=Playergui
  149. ExplGui.Name="ExplorerGui"
  150. if (Selection.Parent~=nil) then
  151. local BackButton=Instance.new("TextButton")
  152. BackButton.Size=UDim2.new(0,120,0,15)
  153. BackButton.BorderColor3=Color3.new(0,0,0)
  154. BackButton.TextColor3=Color3.new(0,0,0)
  155. BackButton.Parent=ExplGui
  156. BackButton.Text="Back to " .. Selection.Parent.Name
  157. BackButton.BackgroundColor3=Color3.new(0.3,0.3,1)
  158. BackButton.BackgroundTransparency=0.5
  159. BackButton.Position=UDim2.new(0,380,0,0)
  160. BackButton.Name="Back"
  161. BackButton.MouseButton1Click:connect(function()
  162. Selection=Selection.Parent
  163. SetExplGui()
  164. SetPropGui()
  165. end) end
  166. if (#Children>=MAXPAGEN) then
  167. local f=0
  168. for i=Min,Max do
  169. f=f+1
  170. local Obj=Instance.new("TextButton")
  171. Obj.Size=UDim2.new(0,120,0,15)
  172. Obj.BorderColor3=Color3.new(0,0,0)
  173. Obj.TextColor3=Color3.new(0,0,0)
  174. Obj.Parent=ExplGui
  175. Obj.Text=" "..Children[i].Name
  176. Obj.BackgroundColor3=Color3.new(0.4,0.4,0.6)
  177. Obj.BackgroundTransparency=0.5
  178. Obj.TextXAlignment="Left"
  179. if (Selection.Parent~=nil) then Obj.Position=UDim2.new(0,380,0,(f*15)) else Obj.Position=UDim2.new(0,380,0,(f*15)-15) end
  180. Obj.Name=Children[i].Name
  181. SetImage(Obj,Children[i].className)
  182. Obj.MouseButton1Click:connect(function() pcall(function() Selection=Children[i] SetExplGui() SetPropGui() end) end)
  183. local Remove=Instance.new("TextButton")
  184. Remove.Size=UDim2.new(0,15,0,15)
  185. Remove.BorderColor3=Color3.new(0,0,0)
  186. Remove.TextColor3=Color3.new(0,0,0)
  187. Remove.Parent=ExplGui
  188. Remove.Text="X"
  189. Remove.BackgroundColor3=Color3.new(1,0.25,0.25)
  190. Remove.BackgroundTransparency=0.5
  191. Remove.Name="Remove" .. Children[i].Name
  192. if (Selection.Parent~=nil) then Remove.Position=UDim2.new(0,500,0,(f*15)) else Remove.Position=UDim2.new(0,500,0,(f*15)-15) end
  193. Remove.MouseButton1Click:connect(function() if (pcall(function() Children[i]:Remove() end)) then SetPropGui() SetExplGui() else Remove.BackgroundColor3=Color3.new(1,1,1) wait(1) Remove.BackgroundColor3=Color3.new(1,0.25,0.25) end end)
  194. end
  195. local UP=Instance.new("TextButton")
  196. UP.Position=UDim2.new(0,515,0,0)
  197. UP.Size=UDim2.new(0,15,0,15)
  198. UP.BorderColor3=Color3.new(0,0,0)
  199. UP.TextColor3=Color3.new(0,0,0)
  200. UP.Parent=ExplGui
  201. UP.Text="^"
  202. UP.BackgroundColor3=Color3.new(1,0.25,0.25)
  203. UP.BackgroundTransparency=0.5
  204. UP.Name="UpButton"
  205. UP.MouseButton1Click:connect(function() if (Min<=1) then return end Min=Min-1 Max=Max-1 SetExplGui() end)
  206. local DOWN=Instance.new("TextButton")
  207. DOWN.Position=UDim2.new(0,515,0,15)
  208. DOWN.Size=UDim2.new(0,15,0,15)
  209. DOWN.BorderColor3=Color3.new(0,0,0)
  210. DOWN.TextColor3=Color3.new(0,0,0)
  211. DOWN.Parent=ExplGui
  212. DOWN.Text="v"
  213. DOWN.BackgroundColor3=Color3.new(1,0.25,0.25)
  214. DOWN.BackgroundTransparency=0.5
  215. DOWN.Name="DownButton"
  216. DOWN.MouseButton1Click:connect(function() if (Max>=#Children) then return end Min=Min+1 Max=Max+1 SetExplGui() end)
  217. else
  218. Max=MAXPAGEN
  219. Min=1
  220. for i=1,#Children do
  221. local Obj=Instance.new("TextButton")
  222. Obj.Size=UDim2.new(0,120,0,15)
  223. Obj.BorderColor3=Color3.new(0,0,0)
  224. Obj.TextColor3=Color3.new(0,0,0)
  225. Obj.Parent=ExplGui
  226. Obj.Text=" "..Children[i].Name
  227. Obj.BackgroundColor3=Color3.new(0.4,0.4,0.6)
  228. Obj.BackgroundTransparency=0.5
  229. Obj.TextXAlignment="Left"
  230. if (Selection.Parent~=nil) then Obj.Position=UDim2.new(0,380,0,(i*15)) else Obj.Position=UDim2.new(0,380,0,(i*15)-15) end
  231. Obj.Name=Children[i].Name
  232. SetImage(Obj,Children[i].className)
  233. Obj.MouseButton1Click:connect(function() pcall(function() Selection=Children[i] SetExplGui() SetPropGui() end) end)
  234. local Remove=Instance.new("TextButton")
  235. Remove.Size=UDim2.new(0,15,0,15)
  236. Remove.BorderColor3=Color3.new(0,0,0)
  237. Remove.TextColor3=Color3.new(0,0,0)
  238. Remove.Parent=ExplGui
  239. Remove.Text="X"
  240. Remove.BackgroundColor3=Color3.new(1,0.25,0.25)
  241. Remove.BackgroundTransparency=0.5
  242. Remove.Name="Remove" .. Children[i].Name
  243. if (Selection.Parent~=nil) then Remove.Position=UDim2.new(0,500,0,(i*15)) else Remove.Position=UDim2.new(0,500,0,(i*15)-15) end
  244. Remove.MouseButton1Click:connect(function() if (pcall(function() Children[i]:Remove() end)) then SetPropGui() SetExplGui() else Remove.BackgroundColor3=Color3.new(1,1,1) wait(1) Remove.BackgroundColor3=Color3.new(1,0.25,0.25) end end)
  245. end
  246. end
  247. end
  248. ----------------
  249. Selection.Changed:connect(function(prop)
  250. if (Selection==game) then return end
  251. if (updateDebounce==1) then
  252. updateDebounce=0
  253. if (Selection.Parent==nil) then
  254. Selection=game
  255. updateDebounce=1
  256. SetPropGui()
  257. SetExplGui()
  258. return end
  259. if (PropGui~=nil) then
  260. local Button=PropGui:FindFirstChild(prop)
  261. if (Button~=nil) then
  262. local Get=GetType(prop)
  263. Button.Text=" "..tostring(Get).." | "..tostring(Selection[Get])
  264. end end
  265. wait()
  266. updateDebounce=1
  267. end end)
  268. ---------------------------
  269. end
  270. SetPropGui()
  271. SetExplGui()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement