GreenMs02

Untitled

May 7th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.44 KB | None | 0 0
  1. if game.CoreGui:findFirstChild("Explorer") then
  2. game.CoreGui:findFirstChild("Explorer"):remove();
  3. end
  4.  
  5. local TextProperties = {"BackgroundTransparency", "Gravity", "ClassName", "Name", "Value", "Text", "Reflectance", "Transparency", "Heat", "TeamName", "WalkSpeed", "Health", "MaxHealth", "Size", "Position", "AccountAge", "RobloxLocked", "TeamColor", "userId", "Brightness", "Ambient", "TimeOfDay", "FieldOfView", "CameraType", "LinkedSource"}
  6. local BoolProperties = {"Anchored", "CanCollide", "Disabled", "Jump", "Sit", "Visible", "Enabled", "Locked", "FilteringEnabled", "StreamingEnabled", "GlobalShadows"}
  7. local BrickColorProperties = {"BrickColor", "BackgroundColor3", "BorderColor3", "Color", "TeamColor", "Texture", "Value"}
  8.  
  9. local ScreenGui = Instance.new("ScreenGui", game.CoreGui)
  10. ScreenGui.Name = 'Explorer'
  11. local Button = Instance.new("TextButton")
  12. Button.Parent = ScreenGui
  13. Button.Size = UDim2.new(0,100,0,20)
  14. Button.Position = UDim2.new(0,30,0,440)
  15. Button.Text = 'Open Explorer'
  16. Button.BackgroundTransparency = 0.3
  17. Button.TextColor3 = Color3.new(255/255,255/255,255/255)
  18. Button.BackgroundColor3 = Color3.new(85/255,170/255,255/255)
  19. Button.Font = Enum.Font.SciFi
  20. Button.FontSize = Enum.FontSize.Size14;
  21.  
  22.  
  23.  
  24. local Cloned
  25. local Deleted
  26. local DeleteParent
  27. local Player
  28. local Search
  29. local ScriptSearch
  30. local Gui
  31. local Cloned = nil
  32. local Deleted = nil
  33. local DeleteParent = nil
  34. local Current = 0
  35. local CurrentOption = 0
  36.  
  37. function Clear()
  38. if Gui then
  39. Gui:Remove()
  40. end
  41. Current = 0
  42. CurrentOption = 0
  43. end
  44.  
  45. function AddButton(N, Function, Color, Copy)
  46. if not N then
  47. error("RenderButton - No Name Specified")
  48. end
  49. if not Function then
  50. error("RenderButton - No Function Specified")
  51. end
  52. if not Color then
  53. Color = Color3.new(1, 1, 1)
  54. end
  55. if Copy == nil then
  56. Copy = true
  57. end
  58. P = Instance.new("TextButton")
  59. if Copy then
  60. P.Size = UDim2.new(0, 110, 0, 20)
  61. else
  62. P.Size = UDim2.new(0, 130, 0, 20)
  63. end
  64. P.Text = N.Name
  65. P.Name = N.Name
  66. P.Parent = Gui
  67. P.BackgroundColor3 = Color3.new(85/255,170/255,255/255)
  68. P.BorderColor3 = Color3.new(85/255,170/255,255/255)
  69. P.TextColor3 = Color3.new(1,1,1)
  70. P.Font = Enum.Font.SciFi
  71. P.FontSize = Enum.FontSize.Size14;
  72. P.BackgroundTransparency = 0.5
  73. P.Position = UDim2.new(0, ((math.modf(Current/30))*150)+300, 0, 50+(20*((Current%30)-1)))
  74. P.MouseButton1Click:connect(function()
  75. Function(P)
  76. end)
  77. local D = Instance.new("TextButton")
  78. D.Size = UDim2.new(0, 20, 0, 20)
  79. D.Text = "X"
  80. D.Name = N.Name
  81. D.Parent = Gui
  82. D.BackgroundColor3 = Color3.new(1,0,0)
  83. D.BorderColor3 = Color3.new(1,0,0)
  84. D.TextColor3 = Color3.new(1,1,1)
  85. D.Font = Enum.Font.SciFi
  86. D.FontSize = Enum.FontSize.Size14;
  87. D.BackgroundTransparency = 0.5
  88. D.Position = UDim2.new(0, ((math.modf(Current/30))*150)+300+130, 0, 50+(20*((Current%30)-1)))
  89. D.MouseButton1Click:connect(function()
  90. Deleted = N
  91. DeleteParent = N.Parent
  92. N.Parent = nil
  93. Clear()
  94. Search(DeleteParent)
  95. end)
  96. if Copy then
  97. local C = Instance.new("TextButton")
  98. C.Size = UDim2.new(0, 20, 0, 20)
  99. C.Text = "C"
  100. C.Name = N.Name
  101. C.Parent = Gui
  102. C.BackgroundColor3 = Color3.new(85/255,170/255,255/255)
  103. C.BorderColor3 = Color3.new(85/255,170/255,255/255)
  104. C.TextColor3 = Color3.new(1,1,1)
  105. C.Font = Enum.Font.SciFi
  106. C.FontSize = Enum.FontSize.Size14;
  107. C.BackgroundTransparency = 0.5
  108. C.Position = UDim2.new(0, ((math.modf(Current/30))*150)+300+110, 0, 50+(20*((Current%30)-1)))
  109. C.MouseButton1Click:connect(function()
  110. Cloned = N
  111. Clear()
  112. Search(N.Parent)
  113. end)
  114. end
  115. Current = Current + 1
  116. return P
  117. end
  118.  
  119. function AddOption(N, Function, Color, Text)
  120. Color = nil;
  121. if not N then
  122. N = "No Name Specified";
  123. end
  124. if Text == nil then
  125. Text = false
  126. end
  127. if Text then
  128. P = Instance.new("TextBox")
  129. else
  130. P = Instance.new("TextButton")
  131. end
  132. P.Text = N
  133. P.Name = N
  134. P.Parent = Gui
  135. P.BackgroundColor3 = Color3.new(85/255,170/255,255/255)
  136. P.BorderColor3 = Color3.new(85/255,170/255,255/255)
  137. P.TextColor3 = Color3.new(1,1,1)
  138. P.Font = Enum.Font.SciFi
  139. P.FontSize = Enum.FontSize.Size14;
  140. P.BackgroundTransparency = 0.5
  141. P.Size = UDim2.new(0, 150, 0, 20)
  142. P.Position = UDim2.new(0, ((math.modf(CurrentOption/30))*150)+150, 0, 50+(20*((CurrentOption%30)-1)))
  143. if not Text and Function then
  144. P.MouseButton1Click:connect(function() Function(P) end)
  145. end
  146. CurrentOption = CurrentOption + 1
  147. return P
  148. end
  149.  
  150. function AddTextOption(Obj, Prop)
  151. local Ob = Obj
  152. local Pro = Prop
  153. if type(Ob[Pro]) == "number" or type(Ob[Pro]) == "string" then
  154. CurrentOption = CurrentOption + 1
  155. local T = AddOption(Ob[Pro], nil, Color3.new(0.1, 0.4, 0.1), true)
  156. CurrentOption = CurrentOption - 2
  157. local O = AddOption("Change "..Pro..":", function() Ob[Pro] = T.Text end, Color3.new(0.1, 0.8, 0.1), false)
  158. CurrentOption = CurrentOption + 1
  159. end
  160. end
  161.  
  162. function AddBrickColorOption(Obj, Prop)
  163. local Ob = Obj
  164. local Pro = Prop
  165. if BrickColor.new(tostring(Ob[Pro])) == Ob[Pro] then
  166. CurrentOption = CurrentOption + 1
  167. local T = AddOption(tostring(Ob[Pro]), nil, Color3.new(0.1, 0.4, 0.1), true)
  168. CurrentOption = CurrentOption - 2
  169. local O = AddOption("Change "..Pro..":", function() Ob[Pro] = BrickColor.new(T.Text) end, Color3.new(0.1, 0.8, 0.1), false)
  170. CurrentOption = CurrentOption + 1
  171. end
  172. end
  173.  
  174. function AddBoolOption(Obj, Prop)
  175. local Ob = Obj
  176. local Pro = Prop
  177. if type(Ob[Pro]) == "boolean" then
  178. local O = AddOption(Pro..": "..tostring(Ob[Pro]), nil, Color3.new(0.1, 0.8, 0.1), false)
  179. O.MouseButton1Click:connect(function()
  180. if Ob[Pro] then
  181. Ob[Pro] = false
  182. O.Text = Pro..": false"
  183. else
  184. Ob[Pro] = true
  185. O.Text = Pro..": true"
  186. end
  187. end)
  188. end
  189. end
  190.  
  191. function TestProperty(Obj, Property)
  192. Success = pcall(function()
  193. if Obj[Property] then
  194. return
  195. end
  196. end)
  197. return Success
  198. end
  199.  
  200. function LoadOptions(Object)
  201. for Num, Prop in pairs(TextProperties) do
  202. if TestProperty(Object, Prop) then
  203. AddTextOption(Object, Prop)
  204. end
  205. end
  206. for Num, Prop in pairs(BoolProperties) do
  207. if TestProperty(Object, Prop) then
  208. AddBoolOption(Object, Prop)
  209. end
  210. end
  211. for Num, Prop in pairs(BrickColorProperties) do
  212. if TestProperty(Object, Prop) then
  213. AddBrickColorOption(Object, Prop)
  214. end
  215. end
  216. end
  217.  
  218. function Search(Object)
  219. Gui = Instance.new("ScreenGui")
  220. Gui.Parent = game.CoreGui
  221. Gui.Name = "Explorer"
  222. if Object ~= game then
  223. AddOption("Back", function()
  224. Clear();
  225. Search(Object.Parent)
  226. end, Color3.new(0.5, 1, 1), false)
  227. end
  228. AddOption("Reload", function() Clear(); Search(Object); end, Color3.new(0.2, 1, 0.2), false)
  229. if Cloned then
  230. AddOption("Paste", function() Cloned:Clone().Parent = Object; Clear(); Search(Object); end, Color3.new(0.5, 1, 1), false)
  231. end
  232. if Deleted then
  233. AddOption("Undo", function() Deleted.Parent = DeleteParent; Deleted = nil; DeletedParent = nil; Clear(); Search(Object); end, Color3.new(1, 0.6, 0.1), false)
  234. end
  235. if Object:IsA("Player") then
  236. AddOption("Kill Player", function() if Object.Character:FindFirstChild('Humanoid') then Object.Character.Humanoid.Health = 0; end end)
  237. AddOption("Goto Character", function() Clear(); if Object.Character then Search(Object.Character); end end, Color3.new(1, 1, 1), false)
  238. end
  239. if Object:IsA("Terrain") then
  240. AddOption("Clear", function() Object:Clear(); end, Color3.new(1, 1, 1), false)
  241. end
  242. LoadOptions(Object)
  243. AddOption("Close", Clear, Color3.new(1, 0.2, 0), false)
  244. if not Object:IsA("Workspace") or not Object:IsA("Player") then
  245. for Num, Obj in pairs(Object:GetChildren()) do
  246. if true then
  247. if Obj:IsA("LocalScript") then
  248. AddButton(Obj, function() Clear(); Search(Obj); end, Color3.new(1, 0, 0), true)
  249. elseif Obj:IsA("Script") or Obj:IsA("StarterScript") or Obj:IsA("CoreScript") then
  250. AddButton(Obj, function() Clear(); Search(Obj); end, Color3.new(0.5, 0.5, 0.8), true)
  251. elseif Obj.Parent == game then
  252. AddButton(Obj, function() Clear(); Search(Obj); end, Color3.new(1, 1, 1), false)
  253. else
  254. AddButton(Obj, function() Clear(); Search(Obj); end, Color3.new(1, 1, 1), true)
  255. end
  256. end
  257. end
  258. end
  259. local function MoveUp(Place, Amount)
  260. for i,v in pairs(Place:GetChildren()) do
  261. if v:IsA("TextLabel") or v:IsA("TextBox") then
  262. v.Position = v.Position + UDim2.new(0,0,0,-Amount)
  263. end
  264. end
  265. end
  266. local function MoveDown(Place, Amount)
  267. for i,v in pairs(Place:GetChildren()) do
  268. if v:IsA("TextLabel") or v:IsA("TextBox") then
  269. v.Position = v.Position + UDim2.new(0,0,0,Amount)
  270. end
  271. end
  272. end
  273. i=0;
  274. end
  275.  
  276. Button.MouseButton1Click:connect(function()
  277. Clear()
  278. Search(game)
  279. end)
Add Comment
Please, Sign In to add comment