Advertisement
billwa

Explorer GUI

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