Advertisement
Remour

Untitled

Feb 18th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.53 KB | None | 0 0
  1. TextProperties = {"ClassName", "Name", "Value", "Text", "Reflectance", "Transparency", "Heat", "TeamName", "WalkSpeed", "Health", "MaxHealth", "Size", "Position", "AccountAge", "RobloxLocked", "TeamColor", "userId", "Brightness", "Ambient", "TimeOfDay", "FieldOfView", "CameraType", "LinkedSource"}
  2. [/color]
  3. BoolProperties = {"Anchored", "CanCollide", "Disabled", "Jump", "Sit", "Visible", "Enabled", "Locked", "FilteringEnabled", "StreamingEnabled", "GlobalShadows"}
  4. BrickColorProperties = {"BrickColor", "Color", "TeamColor", "Texture", "Value"}
  5. s = Instance.new("ScreenGui", game.CoreGui)
  6. pgr = Instance.new("TextButton")
  7. pgr.Parent = s
  8. pgr.Size = UDim2.new(0,100,0,40)
  9. pgr.Position = UDim2.new(0,30,0,440)
  10. pgr.Text="Explorer"
  11. pgr.BackgroundTransparency = 0.3
  12. pgr.TextColor = BrickColor.new("White")
  13. pgr.BackgroundColor = BrickColor.new("Really Black")
  14. pgr.BorderColor = BrickColor.new("Black")
  15. pgr.Font = "ArialBold"
  16. pgr.FontSize = "Size14"
  17. pgr.TextStrokeColor3 = Color3.new(0/0,0/0,0/0)
  18. pgr.TextStrokeTransparency = 0.3
  19. pgr.BorderSizePixel = 1
  20. pgr.BorderColor = BrickColor.new("White")
  21.  
  22. if game.CoreGui:findFirstChild("Explorer") then
  23. game.CoreGui:findFirstChild("Explorer"):Remove()
  24. end
  25.  
  26. local Cloned
  27. local Deleted
  28. local DeleteParent
  29. local Player
  30. local Search
  31. local ScriptSearch
  32. local Gui
  33. local Cloned = nil
  34. local Deleted = nil
  35. local DeleteParent = nil
  36. local Current = 0
  37. local CurrentOption = 0
  38.  
  39. function Clear()
  40. if Gui then
  41. Gui:Remove()
  42. end
  43. Current = 0
  44. CurrentOption = 0
  45. end
  46.  
  47. function AddButton(N, Function, Color, Copy)
  48. if not N then
  49. error("RenderButton - No Name Specified")
  50. end
  51. if not Function then
  52. error("RenderButton - No Function Specified")
  53. end
  54. if not Color then
  55. Color = Color3.new(1, 1, 1)
  56. end
  57. if Copy == nil then
  58. Copy = true
  59. end
  60. P = Instance.new("TextButton")
  61. if Copy then
  62. P.Size = UDim2.new(0, 110, 0, 20)
  63. else
  64. P.Size = UDim2.new(0, 130, 0, 20)
  65. end
  66. P.Text = N.Name
  67. P.Name = N.Name
  68. P.Parent = Gui
  69. P.BackgroundColor3 = Color
  70. P.TextColor3 = Color3.new(0, 0, 0)
  71. P.BackgroundTransparency = 0.5
  72. P.Position = UDim2.new(0, ((math.modf(Current/30))*150)+300, 0, 50+(20*((Current%30)-1)))
  73. P.MouseButton1Click:connect(function()
  74. Function(P)
  75. end)
  76. D = Instance.new("TextButton")
  77. D.Size = UDim2.new(0, 20, 0, 20)
  78. D.Text = "X"
  79. D.Name = N.Name
  80. D.Parent = Gui
  81. D.BackgroundColor3 = Color3.new(1, 0, 0)
  82. D.TextColor3 = Color3.new(0, 0, 0)
  83. D.BackgroundTransparency = 0.5
  84. D.Position = UDim2.new(0, ((math.modf(Current/30))*150)+300+130, 0, 50+(20*((Current%30)-1)))
  85. D.MouseButton1Click:connect(function()
  86. Deleted = N
  87. DeleteParent = N.Parent
  88. N.Parent = nil
  89. Clear()
  90. Search(DeleteParent)
  91. end)
  92. if Copy then
  93. C = Instance.new("TextButton")
  94. C.Size = UDim2.new(0, 20, 0, 20)
  95. C.Text = "C"
  96. C.Name = N.Name
  97. C.Parent = Gui
  98. C.BackgroundColor3 = Color3.new(0, 1, 0.5)
  99. C.TextColor3 = Color3.new(0, 0, 0)
  100. C.BackgroundTransparency = 0.5
  101. C.Position = UDim2.new(0, ((math.modf(Current/30))*150)+300+110, 0, 50+(20*((Current%30)-1)))
  102. C.MouseButton1Click:connect(function()
  103. Cloned = N
  104. Clear()
  105. Search(N.Parent)
  106. end)
  107. end
  108. Current = Current + 1
  109. return P
  110. end
  111.  
  112. function AddOption(N, Function, Color, Text)
  113. if not N then
  114. error("RenderButton - No Name Specified")
  115. end
  116. if not Color then
  117. Color = Color3.new(1, 1, 1)
  118. end
  119. if Text == nil then
  120. Text = false
  121. end
  122. if Text then
  123. P = Instance.new("TextBox")
  124. else
  125. P = Instance.new("TextButton")
  126. end
  127. P.Text = N
  128. P.Name = N
  129. P.Parent = Gui
  130. P.BackgroundColor3 = Color
  131. P.TextColor3 = Color3.new(0, 0, 0)
  132. P.BackgroundTransparency = 0.5
  133. P.Size = UDim2.new(0, 150, 0, 20)
  134. P.Position = UDim2.new(0, ((math.modf(CurrentOption/30))*150)+150, 0, 50+(20*((CurrentOption%30)-1)))
  135. if not Text and Function then
  136. P.MouseButton1Click:connect(function() Function(P) end)
  137. end
  138. CurrentOption = CurrentOption + 1
  139. return P
  140. end
  141.  
  142. function AddTextOption(Obj, Prop)
  143. local Ob = Obj
  144. local Pro = Prop
  145. if type(Ob[Pro]) == "number" or type(Ob[Pro]) == "string" then
  146. CurrentOption = CurrentOption + 1
  147. local T = AddOption(Ob[Pro], nil, Color3.new(0.1, 0.4, 0.1), true)
  148. CurrentOption = CurrentOption - 2
  149. local O = AddOption("Change "..Pro..":", function() Ob[Pro] = T.Text end, Color3.new(0.1, 0.8, 0.1), false)
  150. CurrentOption = CurrentOption + 1
  151. end
  152. end
  153.  
  154. function AddBrickColorOption(Obj, Prop)
  155. local Ob = Obj
  156. local Pro = Prop
  157. if BrickColor.new(tostring(Ob[Pro])) == Ob[Pro] then
  158. CurrentOption = CurrentOption + 1
  159. local T = AddOption(tostring(Ob[Pro]), nil, Color3.new(0.1, 0.4, 0.1), true)
  160. CurrentOption = CurrentOption - 2
  161. local O = AddOption("Change "..Pro..":", function() Ob[Pro] = BrickColor.new(T.Text) end, Color3.new(0.1, 0.8, 0.1), false)
  162. CurrentOption = CurrentOption + 1
  163. end
  164. end
  165.  
  166. function AddBoolOption(Obj, Prop)
  167. local Ob = Obj
  168. local Pro = Prop
  169. if type(Ob[Pro]) == "boolean" then
  170. local O = AddOption(Pro..": "..tostring(Ob[Pro]), nil, Color3.new(0.1, 0.8, 0.1), false)
  171. O.MouseButton1Click:connect(function()
  172. if Ob[Pro] then
  173. Ob[Pro] = false
  174. O.Text = Pro..": false"
  175. else
  176. Ob[Pro] = true
  177. O.Text = Pro..": true"
  178. end
  179. end)
  180. end
  181. end
  182.  
  183. function TestProperty(Obj, Property)
  184. Success = pcall(function()
  185. if Obj[Property] then
  186. return
  187. end
  188. end)
  189. return Success
  190. end
  191.  
  192. function LoadOptions(Object)
  193. for Num, Prop in pairs(TextProperties) do
  194. if TestProperty(Object, Prop) then
  195. AddTextOption(Object, Prop)
  196. end
  197. end
  198. for Num, Prop in pairs(BoolProperties) do
  199. if TestProperty(Object, Prop) then
  200. AddBoolOption(Object, Prop)
  201. end
  202. end
  203. for Num, Prop in pairs(BrickColorProperties) do
  204. if TestProperty(Object, Prop) then
  205. AddBrickColorOption(Object, Prop)
  206. end
  207. end
  208. end
  209.  
  210. function Search(Object)
  211. Gui = Instance.new("ScreenGui")
  212. Gui.Parent = game.CoreGui
  213. Gui.Name = "Explorer"
  214. if Object ~= game then
  215. AddOption("Back", function()
  216. Clear();
  217. Search(Object.Parent)
  218. end, Color3.new(0.5, 1, 1), false)
  219. end
  220. AddOption("Reload", function() Clear(); Search(Object); end, Color3.new(0.2, 1, 0.2), false)
  221. if Cloned then
  222. AddOption("Paste", function() Cloned:Clone().Parent = Object; Clear(); Search(Object); end, Color3.new(0.5, 1, 1), false)
  223. end
  224. if Deleted then
  225. AddOption("Undo", function() Deleted.Parent = DeleteParent; Deleted = nil; DeletedParent = nil; Clear(); Search(Object); end, Color3.new(1, 0.6, 0.1), false)
  226. end
  227. if Object:IsA("Player") then
  228. AddOption("Goto Character", function() Clear(); if Object.Character then Search(Object.Character); end end, Color3.new(1, 1, 1), false)
  229. end
  230. if Object:IsA("LocalScript") then
  231. AddOption("EditScript", function() Clear(); ScriptSearch(Object); end, Color3.new(1, 1, 1), false)
  232. end
  233. if Object:IsA("Terrain") then
  234. AddOption("Clear", function() Object:Clear(); end, Color3.new(1, 1, 1), false)
  235. end
  236. LoadOptions(Object)
  237. AddOption("Close", Clear, Color3.new(1, 0.2, 0), false)
  238. if not Object:IsA("Workspace") or not Object:IsA("Player") then
  239. for Num, Obj in pairs(Object:GetChildren()) do
  240. --if not Obj:IsA("BasePart") or not Object.Parent == game.Workspace then
  241. if true then
  242. if Obj:IsA("LocalScript") then
  243. AddButton(Obj, function() Clear(); Search(Obj); end, Color3.new(1, 0, 0), true)
  244. elseif Obj:IsA("Script") or Obj:IsA("StarterScript") or Obj:IsA("CoreScript") then
  245. AddButton(Obj, function() Clear(); Search(Obj); end, Color3.new(0.5, 0.5, 0.8), true)
  246. elseif Obj.Parent == game then
  247. AddButton(Obj, function() Clear(); Search(Obj); end, Color3.new(1, 1, 1), false)
  248. else
  249. AddButton(Obj, function() Clear(); Search(Obj); end, Color3.new(1, 1, 1), true)
  250. end
  251. end
  252. end
  253. end
  254. function MoveUp(Place, Amount)
  255. for i,v in pairs(Place:GetChildren()) do
  256. if v:IsA("TextLabel") or v:IsA("TextBox") then
  257. v.Position = v.Position + UDim2.new(0,0,0,-Amount)
  258. end
  259. end
  260. end
  261. function MoveDown(Place, Amount)
  262. for i,v in pairs(Place:GetChildren()) do
  263. if v:IsA("TextLabel") or v:IsA("TextBox") then
  264. v.Position = v.Position + UDim2.new(0,0,0,Amount)
  265. end
  266. end
  267. end
  268. i=0
  269. function ScriptSearch(S)
  270. Script2 = S
  271. Script = Script2.Source
  272. Table = {}
  273. Enabled = true
  274. Gui = Instance.new("ScreenGui")
  275. Gui.Parent = game.CoreGui
  276. Gui.Name = "Explorer"
  277. while Enabled do
  278. Start, End = string.find(Script, '\n')
  279. print(Start, End)
  280. if Start and End then
  281. table.insert(Table, string.sub(Script, 1, End))
  282. New = string.sub(Script, End+1, string.len(Script))
  283. Script = New
  284. else
  285. Enabled = false
  286. table.insert(Table, string.sub(Script, 1, End))
  287. print("Finished")
  288. end
  289. end
  290. P = Instance.new("TextLabel")
  291. P.Size = UDim2.new(0, 500, 0, 20)
  292. P.Text = Script2.Name
  293. P.Name = "Script Line"
  294. P.Parent = Gui
  295. P.BackgroundColor3 = Color3.new(1, 1, 1)
  296. P.TextColor3 = Color3.new(0, 0, 0)
  297. P.BackgroundTransparency = 0.5
  298. P.Position = UDim2.new(0.5, -250, 0, 150+(20*(i-1)))
  299. P.TextXAlignment = "Left"
  300. i=i+1
  301. New = {}
  302. for I,Val in pairs(Table) do
  303. print(Val)
  304. P = Instance.new("TextBox")
  305. P.ClearTextOnFocus = false
  306. P.Size = UDim2.new(0, 500, 0, 20)
  307. P.Text = Val
  308. P.Name = "Script Line"
  309. P.Parent = Gui
  310. P.BackgroundColor3 = Color3.new(1, 1, 1)
  311. P.TextColor3 = Color3.new(0, 0, 0)
  312. P.BackgroundTransparency = 0.5
  313. P.Position = UDim2.new(0.5, -250, 0, 150+(20*(i-1)))
  314. P.TextXAlignment = "Left"
  315. table.insert(New, P)
  316. i=i+1
  317. end
  318. i=1
  319. P = Instance.new("TextButton")
  320. P.Size = UDim2.new(0, 20, 0, 20)
  321. P.Text = "^"
  322. P.Name = "Scroll"
  323. P.Parent = Gui
  324. P.BackgroundColor3 = Color3.new(1, 1, 1)
  325. P.TextColor3 = Color3.new(0, 0, 0)
  326. P.BackgroundTransparency = 0.5
  327. P.Position = UDim2.new(0.5, -270, 0, 150+(20*(i-1)))
  328. P.MouseButton1Click:connect(function()
  329. MoveUp(Gui, -20)
  330. end)
  331. i=i+1
  332. P = Instance.new("TextButton")
  333. P.Size = UDim2.new(0, 20, 0, 20)
  334. P.Text = "v"
  335. P.Name = "Scroll"
  336. P.Parent = Gui
  337. P.BackgroundColor3 = Color3.new(1, 1, 1)
  338. P.TextColor3 = Color3.new(0, 0, 0)
  339. P.BackgroundTransparency = 0.5
  340. P.Position = UDim2.new(0.5, -270, 0, 150+(20*(i-1)))
  341. P.MouseButton1Click:connect(function()
  342. MoveDown(Gui, -20)
  343. end)
  344. i=i+1
  345. P = Instance.new("TextButton")
  346. P.Size = UDim2.new(0, 20, 0, 20)
  347. P.Text = "^^"
  348. P.Name = "Scroll"
  349. P.Parent = Gui
  350. P.BackgroundColor3 = Color3.new(1, 1, 1)
  351. P.TextColor3 = Color3.new(0, 0, 0)
  352. P.BackgroundTransparency = 0.5
  353. P.Position = UDim2.new(0.5, -270, 0, 150+(20*(i-1)))
  354. P.MouseButton1Click:connect(function()
  355. MoveUp(Gui, -200)
  356. end)
  357. i=i+1
  358. P = Instance.new("TextButton")
  359. P.Size = UDim2.new(0, 20, 0, 20)
  360. P.Text = "vv"
  361. P.Name = "Scroll"
  362. P.Parent = Gui
  363. P.BackgroundColor3 = Color3.new(1, 1, 1)
  364. P.TextColor3 = Color3.new(0, 0, 0)
  365. P.BackgroundTransparency = 0.5
  366. P.Position = UDim2.new(0.5, -270, 0, 150+(20*(i-1)))
  367. P.MouseButton1Click:connect(function()
  368. MoveDown(Gui, -200)
  369. end)
  370. i=i+1
  371. P = Instance.new("TextButton")
  372. P.Size = UDim2.new(0, 20, 0, 20)
  373. P.Text = "S"
  374. P.Name = "Save"
  375. P.Parent = Gui
  376. P.BackgroundColor3 = Color3.new(0, 1, 0)
  377. P.TextColor3 = Color3.new(0, 0, 0)
  378. P.BackgroundTransparency = 0.5
  379. P.Position = UDim2.new(0.5, -270, 0, 150+(20*(i-1)))
  380. P.MouseButton1Click:connect(function()
  381. StringS = ""
  382. for Num, Obj in pairs(New) do
  383. StringS = StringS..Obj.Text..'\n'
  384. end
  385. S.Source = StringS
  386. S.Disabled = true
  387. S.Disabled = false
  388. end)
  389. i=i+1
  390. P = Instance.new("TextButton")
  391. P.Size = UDim2.new(0, 20, 0, 20)
  392. P.Text = "x"
  393. P.Name = "Back"
  394. P.Parent = Gui
  395. P.BackgroundColor3 = Color3.new(1, 0.2, 0)
  396. P.TextColor3 = Color3.new(0, 0, 0)
  397. P.BackgroundTransparency = 0.5
  398. P.Position = UDim2.new(0.5, -270, 0, 150+(20*(i-1)))
  399. P.MouseButton1Click:connect(function()
  400. Clear()
  401. i=0
  402. Search(S)
  403. end)
  404. i=i+1
  405. end
  406. end
  407.  
  408. pgr.MouseButton1Click:connect(function()
  409. Clear()
  410. Search(game)
  411. [color=#33cc33]end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement