Advertisement
ohhhhhhshdhashdahsd

Explorer

Nov 24th, 2014
376
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.27 KB | None | 0 0
  1. --Last line
  2. local Asset = "http://www.roblox.com/asset/?id="
  3. local Provider = game:service("ContentProvider")
  4. local Seen = 20
  5.  
  6. local C3 = Color3.new
  7. local UD = UDim2.new
  8. local V2 = Vector2.new
  9.  
  10. local Icons = {
  11. PreviousPage = Asset..(57411555),
  12. NextPage = Asset..(57411520),
  13. Previous = Asset..(57375309),
  14. Home = Asset..(57375258),
  15. Refresh = Asset..(57376869),
  16. Properties = Asset..(57475029),
  17. Delete = Asset..(57474956),
  18. Copy = Asset..(57474905),
  19. Paste = Asset..(57474999),
  20. Cut = Asset..(57474927),
  21. Exit = Asset..(57510854),
  22. }
  23.  
  24. local Images = {
  25. {{"IntValue", "BrickColorValue", "Color3Value", "Vector3Value", "CFrameValue", "NumberValue", "ObjectValue", "StringValue", "BoolValue", "RayValue"}, Asset..(57403779)},
  26. {{"BasePart", "Part", "WedgePart"}, Asset..(57403711)},
  27. {{"ForceField"}, Asset..(57404473)},
  28. {{"Weld", "Rotate", "Glue"}, Asset..(57403808)},
  29. {{"BodyVelocity", "BodyPosition", "BodyForce", "BodyGyro", "BodyThrust", "BodyAngularVelocity", "BodyPosition", "RocketPropulsion"}, Asset..(57403610)},
  30. {{"Animation", "AnimationTrack"}, Asset..(57403557)},
  31. {{"Model"}, Asset..(57403668)},
  32. {{"Player", "Players"}, Asset..(57403743)},
  33. {{"BlockMesh", "SpecialMesh", "CylinderMesh", "FileMesh", "CharacterMesh"}, Asset..(57403643)},
  34. {{"TextButton", "TextLabel", "ImageLabel", "ImageButton", "Frame"}, Asset..(57403587)},
  35. {{"Camera"}, Asset..(57406901)},
  36. {{"Hat", "Accoutrement"}, Asset..(57406931)},
  37. {{"LocalScript"}, Asset..(57406954)},
  38. {{"HopperBin"}, Asset..(57406984)},
  39. {{"Tool"}, Asset..(57407105)},
  40. {{"Humanoid"}, Asset..(57407016)},
  41. {{"Script"}, Asset..(57407071)},
  42. {{"Message", "Hint"}, Asset..(57407564)},
  43. {{"Decal"}, Asset..(57583116)},
  44. {{"Pants"}, Asset..(57583183)},
  45. {{"Seat", "VehicleSeat", "SkateboardPlatform"}, Asset..(57583240)},
  46. {{"Shirt"}, Asset..(57583288)},
  47. {{"SpawnLocation"}, Asset..(57583329)},
  48. {{"Texture"}, Asset..(57583364)},
  49. }
  50.  
  51. for _,v in pairs(Images) do
  52. Provider:Preload(v[2])
  53. end
  54.  
  55. wait(0.5)
  56.  
  57. function Find(Object)
  58. local Img = Asset..(57403690)
  59. for _,v in pairs(Images) do
  60. for _,k in pairs(v[1]) do
  61. if Object.className == k then
  62. Img = v[2]
  63. end
  64. end
  65. end
  66. return Img
  67. end
  68.  
  69. local Classes = {"Frame", "ImageLabel", "ImageButton", "TextLabel", "TextButton", "TextBox"}
  70. function Make(Class, Par, Size, Pos, Color, Trans, Border, Borderc, Txt, TxtC, Img)
  71. local Mk = "Frame"
  72. for _,v in pairs(Classes) do
  73. if Class == v then
  74. Mk = v
  75. end
  76. end
  77. local g = Instance.new(Mk)
  78. g.Size = Size
  79. g.Position = Pos
  80. g.BackgroundColor3 = Color
  81. g.Transparency = Trans
  82. g.BorderSizePixel = Border
  83. g.BorderColor3 = Borderc
  84. if Mk == "TextButton" or Mk == "TextLabel" or Mk == "TextBox" then
  85. g.Text = Txt
  86. g.TextColor3 = TxtC
  87. elseif Mk == "ImageLabel" or Mk == "ImageButton" then
  88. g.Image = Img
  89. end
  90. g.Parent = Par
  91. return g
  92. end
  93.  
  94. function Give(Player)
  95. local Place = workspace
  96. local From = 0
  97. local gui = Player:findFirstChild("PlayerGui")
  98. if gui then
  99. for _,v in pairs(gui:children()) do if v.Name == "GuiText" then v:remove() end end
  100. end
  101. local Sc = Instance.new("ScreenGui")
  102. Sc.Name = "GuiText"
  103. local Options = nil
  104. local Copied = nil
  105. local Number = (50-32)
  106. local Resolution = V2(1028, 768)
  107. local Main = Make("Frame", Sc, UD(1, 0, 1, 1), UD(0, 0, 0, -1), C3(0.92, 0.92, 0.96), 1, 0, C3())
  108. coroutine.resume(coroutine.create(function()
  109. wait(0.04)
  110. Resolution = V2(Main.AbsoluteSize.X, Main.AbsoluteSize.Y)
  111. end))
  112. local ExplorerDec = Make("Frame", Main, UD(0, 155, 0, 360), UD(0, 0, 0.5, -175), C3(0.75, 0.75, 0.9), 0, 0, C3())
  113. local Explorer = Make("Frame", ExplorerDec, UD(1, -5, 1, -10), UD(0, 0, 0, 5), C3(0.9, 0.9, 0.95), 0, 0, C3())
  114. local Bar = Make("Frame", Explorer, UD(1, 0, 0, 32), UD(), C3(0.75, 0.75, 0.9), 0, 0, C3())
  115. local Previous = Make("ImageButton", Bar, UD(0, 32, 0, 32), UD(0, 9, 0, 0), C3(0.75, 0.75, 0.9), 0, 0, C3(), nil, nil, Icons.Previous)
  116. local Home = Make("ImageButton", Bar, UD(0, 32, 0, 32), UD(0, 59, 0, 0), C3(0.75, 0.75, 0.9), 0, 0, C3(), nil, nil, Icons.Home)
  117. local Refresh = Make("ImageButton", Bar, UD(0, 32, 0, 32), UD(0, 109, 0, 0), C3(0.75, 0.75, 0.9), 0, 0, C3(), nil, nil, Icons.Refresh)
  118. local List = Make("Frame", Explorer, UD(1, -10, 1, -32-4), UD(0, 5, 0, 32), C3(0.7, 0.7, 0.85), 0, 0, C3())
  119. local NextPage = Make("ImageButton", ExplorerDec, UD(0.5, 0, 0, 30), UD(0.5, 0, 1, 0), C3(0.75, 0.75, 0.9), 0, 0, C3(), nil, nil, Icons.NextPage)
  120. local PreviousPage = Make("ImageButton", ExplorerDec, UD(0.5, 0, 0, 30), UD(0, 0, 1, 0), C3(0.75, 0.75, 0.9), 0, 0, C3(), nil, nil, Icons.PreviousPage)
  121.  
  122. local BackTool = Make("Frame", ExplorerDec, UD(0, 36, 0, (32+4)*4+4), UD(1, 0, 0, 0), C3(0.75, 0.75, 0.9), 0, 0, C3())
  123. local Properties = Make("ImageButton", BackTool, UD(0, 32, 0, 32), UD(0, 0, 0, 4), C3(0.82, 0.82, 0.93), 0, 0, C3(), nil, nil, Icons.Properties)
  124. local CopyP = Make("ImageButton", BackTool, UD(0, 32, 0, 32), UD(0, 0, 0, (32+4)*1+4), C3(0.82, 0.82, 0.93), 0, 0, C3(), nil, nil, Icons.Copy)
  125. local PasteP = Make("ImageButton", BackTool, UD(0, 32, 0, 32), UD(0, 0, 0, (32+4)*2+4), C3(0.82, 0.82, 0.93), 0, 0, C3(), nil, nil, Icons.Paste)
  126. local DeleteP = Make("ImageButton", BackTool, UD(0, 32, 0, 32), UD(0, 0, 0, (32+4)*3+4), C3(0.82, 0.82, 0.93), 0, 0, C3(), nil, nil, Icons.Delete)
  127.  
  128. local Name = Make("TextLabel", ExplorerDec, UD(1, 0, 0, 25), UD(0, 0, 0, -25), C3(0.8, 0.8, 0.95), 0, 0, C3(), "nil", C3())
  129. Name.FontSize = "Size14"
  130. Name.Font = "Arial"
  131. local Size = 350-36
  132. local Buttons = {}
  133. local SeenSize = (Size/Seen)
  134. for i = 0, Size-SeenSize, SeenSize do
  135. local Txt = Make("TextButton", List, UD(1, -SeenSize, 0, SeenSize), UD(0, SeenSize, 0, i), C3(0.8, 0.8, 0.9), 0, 0, C3(), "-", C3())
  136. Txt.Font = "Arial"
  137. Txt.FontSize = "Size12"
  138. Txt.TextWrap = true
  139. Txt.TextXAlignment = "Left"
  140. local Im = Make("ImageLabel", Txt, UD(0, SeenSize, 1, 0), UD(0, -SeenSize, 0, 0), C3(0.76, 0.76, 0.9), 0, 0, C3(), nil, nil, "")
  141. local Button = {Go = nil, Gui = Txt, Img = Im}
  142. table.insert(Buttons, Button)
  143. end
  144. local function Update(P)
  145. if Options then Options:remove() end
  146. if P ~= nil then
  147. Place = P
  148. Name.Text = tostring(Place)
  149.  
  150. local Items = Place:children()
  151. local Amount = #Items
  152. for i = 1, #Buttons do
  153. pcall(function()
  154. local Item = Items[i+From]
  155. if Item then
  156. local img = Find(Item)
  157. Buttons[i].Go = Item
  158. Buttons[i].Gui.Text = Item.Name
  159. Buttons[i].Img.Image = img
  160. else
  161. Buttons[i].Go = nil
  162. Buttons[i].Gui.Text = "-"
  163. Buttons[i].Img.Image = ""
  164. end
  165. end)
  166. end
  167. end
  168. end
  169. local function OpenOptions(P, x, y)
  170. if Options then Options:remove() end
  171. if P ~= nil then
  172. local Pos = 87
  173. local Siz = 112
  174. if P:IsA("StringValue") then
  175. Siz = 132
  176. Pos = 107
  177. end
  178. local Back = Make("Frame", Main, UD(0, 150, 0, Siz), UD(0, x+3, 0, y+4), C3(0.65, 0.65, 0.8), 0, 0, C3())
  179. local Copy = Make("TextButton", Back, UD(1, -10, 0, 20), UD(0, 5, 0, 5), C3(0.85, 0.85, 0.95), 0, 0, C3(), "Copy", C3())
  180. local Paste = Make("TextButton", Back, UD(1, -10, 0, 20), UD(0, 5, 0, 25), C3(0.85, 0.85, 0.95), 0, 0, C3(), "Paste", C3())
  181. local Delete = Make("TextButton", Back, UD(1, -10, 0, 20), UD(0, 5, 0, 45), C3(0.85, 0.85, 0.95), 0, 0, C3(), "Delete", C3())
  182. local Rename = Make("TextButton", Back, UD(1, -10, 0, 20), UD(0, 5, 0, 65), C3(0.85, 0.85, 0.95), 0, 0, C3(), "Rename", C3())
  183. if P:IsA("StringValue") then
  184. local Read = Make("TextButton", Back, UD(1, -10, 0, 20), UD(0, 5, 0, 85), C3(0.85, 0.85, 0.95), 0, 0, C3(), "Read", C3())
  185. Read.Font = "Arial"
  186. Read.FontSize = "Size12"
  187. Read.TextXAlignment = "Left"
  188. Read.MouseButton1Down:connect(function()
  189. if Options then Options:remove() end
  190. local Text = P.Value
  191. local Lines = {}
  192. local Last = 1
  193. for i = 1, #Text, 1 do
  194. if Text:sub(i,i) == string.char(10) then
  195. local asd = Text:sub(Last, i-1)
  196. asd = asd:gsub(string.char(9), " ")
  197. table.insert(Lines, asd)
  198. Last = i+1
  199. end
  200. end
  201. local asd = Text:sub(Last, #Text)
  202. asd = asd:gsub(string.char(9), " ")
  203. table.insert(Lines, asd)
  204. local MainT = Make("Frame", Main, UD(1, -200, 0, 0), UD(0, 0, 0.5, 0), C3(1, 1, 1), 1, 0, C3())
  205. local DerpGui = Make("ImageButton", Main, UD(1, 0, 1, 0), UD(0, 0, 0, 0), C3(), 1, 0, C3(), nil, nil, "")
  206. DerpGui.Visible = false
  207. local Scroll = Make("Frame", Main, UD(0, 20, 0, Resolution.Y-40), UD(1, -220, 0, 20), C3(0.97, 0.97, 1), 0, 0, C3())
  208. local ButtonUp = Make("ImageButton", Scroll, UD(0, 20, 0, 20), UD(0, 0, 0, -20), C3(0.85, 0.85, 0.9), 0, 0, C3(), nil, nil, "")
  209. local ButtonDown = Make("ImageButton", Scroll, UD(0, 20, 0, 20), UD(0, 0, 1, 0), C3(0.85, 0.85, 0.9), 0, 0, C3(), nil, nil, "")
  210. local ScrollBar = Make("ImageButton", Scroll, UD(1, 0, 0, 150), UD(0, 0, 0, 0), C3(0.75, 0.75, 0.85), 0, 0, C3(), nil, nil, "")
  211. local Texts = {}
  212. for i = 0, Resolution.Y-13, 13 do
  213. local Txt = Make("TextLabel", MainT, UD(1, 0, 0, 13), UD(0, 0, i/Resolution.Y, 0), C3(1, 1, 1), 0, 1, C3(0.9, 0.9, 0.9), "", C3())
  214. Txt.Font = "Arial"
  215. Txt.FontSize = "Size12"
  216. Txt.TextXAlignment = "Left"
  217. table.insert(Texts, Txt)
  218. end
  219. for i, v in pairs(Texts) do
  220. local line = Lines[i]
  221. if line then
  222. v.Text = tostring(line)
  223. end
  224. end
  225. local Normal = UD(0, 0, 0.5, -175)
  226. ExplorerDec:TweenPosition(UD(0, -200, 0.5, -175), nil, nil, 0.5)
  227. MainT:TweenSize(UD(1, -200, 0, Resolution.Y+1))
  228. MainT:TweenPosition(UD(0, 0, 0, -1))
  229. local ScrollPos = 20
  230. local ScrollSize = Resolution.Y-40
  231. local SlideSize = 150
  232. local Point = ScrollPos + ScrollSize
  233. local AllPoint = Point-SlideSize-ScrollPos
  234. ScrollBar.MouseButton1Down:connect(function(x, y)
  235. local pos2 = ScrollBar.Position.Y.Offset-y
  236. DerpGui.Visible = true
  237. local Conn = DerpGui.MouseMoved:connect(function(X, Y)
  238. local pos = Y+pos2
  239. if pos < 0 then pos = 0 end
  240. if pos+SlideSize+ScrollPos > Point then pos = AllPoint end
  241. ScrollBar.Position = UD(0, 0, 0, pos)
  242. local Division = (pos/AllPoint)
  243. local Asd = #Lines-#Texts+5
  244. if Asd > #Lines then Asd = #Lines end
  245. local Placement = math.floor((Asd)*Division)
  246. for i, v in pairs(Texts) do
  247. local Line = Lines[i+Placement]
  248. if Line then
  249. v.Text = Line
  250. else
  251. v.Text = ""
  252. end
  253. end
  254. end)
  255. local co = DerpGui.MouseButton1Up:connect(function()
  256. DerpGui.Visible = false
  257. Conn:disconnect()
  258. co:disconnect()
  259. end)
  260. end)
  261. local Exit = Make("ImageButton", MainT, UD(0, 35, 0, 35), UD(1, -75, 0, 25), C3(), 1, 0, C3(), nil, nil, Icons.Exit)
  262. local c = Exit.MouseButton1Down:connect(function()
  263. Scroll:remove()
  264. Exit:remove()
  265. for _,v in pairs(Texts) do v.Text = "" end
  266. ExplorerDec:TweenPosition(Normal, nil, nil, 0.7)
  267. MainT:TweenSize(UD(0, 0, 0, 0), nil, nil, 0.5)
  268. MainT:TweenPosition(UD(0.5, 0, 0.5, 0), nil, nil, 0.5)
  269. wait(0.5)
  270. MainT:remove()
  271. end)
  272. end)
  273. end
  274. local Cancel = Make("TextButton", Back, UD(1, -10, 0, 20), UD(0, 5, 0, Pos), C3(0.85, 0.85, 0.95), 0, 0, C3(), "Cancel", C3())
  275. Copy.Font = "Arial"
  276. Paste.Font = "Arial"
  277. Delete.Font = "Arial"
  278. Rename.Font = "Arial"
  279. Cancel.Font = "Arial"
  280. Copy.FontSize = "Size12"
  281. Paste.FontSize = "Size12"
  282. Delete.FontSize = "Size12"
  283. Rename.FontSize = "Size12"
  284. Cancel.FontSize = "Size12"
  285. Copy.TextXAlignment = "Left"
  286. Paste.TextXAlignment = "Left"
  287. Delete.TextXAlignment = "Left"
  288. Rename.TextXAlignment = "Left"
  289. Cancel.TextXAlignment = "Left"
  290. Copy.MouseButton1Down:connect(function()
  291. if Options then Options:remove() end
  292. local a = P.archivable
  293. P.archivable = true
  294. Copied = P:clone()
  295. wait()
  296. P.archivable = a
  297. end)
  298. Paste.MouseButton1Down:connect(function()
  299. if Options then Options:remove() end
  300. if Copied then
  301. local clo = Copied:clone()
  302. clo.Parent = P
  303. end
  304. end)
  305. Delete.MouseButton1Down:connect(function()
  306. if Options then Options:remove() end
  307. P:remove()
  308. Update(Place)
  309. end)
  310. Rename.MouseButton1Down:connect(function()
  311. if Options then Options:remove() end
  312. local Sc2 = Instance.new("ScreenGui")
  313. Sc2.Name = "Rename"
  314. Sc2.Parent = gui
  315. local Effect = Make("ImageButton", Sc2, UD(0, 0, 0, 0), UD(0.5, 0, 0.5, 0), C3(0.9, 0.9, 1), 0, 0, C3(), nil, nil, "")
  316. Effect.AutoButtonColor = false
  317. local Writeback = Make("Frame", Sc2, UD(0, 0, 0, 0), UD(0.5, 0, 0.5, 0), C3(0.7, 0.7, 0.9), 0, 0, C3())
  318. local Write = Make("Frame", Writeback, UD(1, -10, 1, -10), UD(0, 5, 0, 5), C3(0.9, 0.9, 0.95), 0, 0, C3())
  319. local TextBar = Make("TextBox", Write, UD(0.8, 0, 0.15, 0), UD(0.1, 0, 0.2, 0), C3(0.5, 0.5, 0.8), 0, 0, C3(), "", C3(1,1,1))
  320. TextBar.FontSize = "Size14"
  321. TextBar.Font = "Arial"
  322. local Ok = Make("TextButton", Write, UD(0.3, 0, 0.17, 0), UD(0.1, 0, 0.5, 0), C3(0.65, 0.65, 0.85), 0, 0, C3(), "Ok", C3(1,1,1))
  323. local Canc = Make("TextButton", Write, UD(0.3, 0, 0.17, 0), UD(0.6, 0, 0.5, 0), C3(0.65, 0.65, 0.85), 0, 0, C3(), "Cancel", C3(1,1,1))
  324. Ok.Font = "ArialBold"
  325. Ok.FontSize = "Size18"
  326. Canc.Font = "ArialBold"
  327. Canc.FontSize = "Size18"
  328. Effect:TweenPosition(UD(0, 0, 0, -1))
  329. Writeback:TweenPosition(UD(0.5, -150, 0.5, -60))
  330. Writeback:TweenSize(UD(0, 300, 0, 120))
  331. Effect:TweenSize(UD(1, 0, 1, 1))
  332. local Normal = UD(0, 0, 0.5, -175)
  333. ExplorerDec:TweenPosition(UD(0, -200, 0.5, -175), nil, nil, 0.4)
  334. local function TweenBack()
  335. Effect:TweenPosition(UD(1, 0, 0.5, 0), nil, nil, 0.5)
  336. Effect:TweenSize(UD(0, 0, 0, 0), nil, nil, 0.5)
  337. Writeback:TweenPosition(UD(1, 0, 0.5, 0), nil, nil, 0.5)
  338. Writeback:TweenSize(UD(0, 0, 0, 0), nil, nil, 0.5)
  339. ExplorerDec:TweenPosition(Normal, nil, nil, 0.5)
  340. Ok.Text = ""
  341. Canc.Text = ""
  342. TextBar.Text = ""
  343. coroutine.resume(coroutine.create(function()
  344. for i = 0, 1, 0.08 do
  345. wait()
  346. Effect.BackgroundTransparency = 0.4+0.7*i
  347. end
  348. Sc2:remove()
  349. end))
  350. end
  351. coroutine.resume(coroutine.create(function()
  352. for i = 0, 1, 0.035 do
  353. wait()
  354. Effect.BackgroundTransparency = 0.4*i
  355. end
  356. end))
  357. Canc.MouseButton1Down:connect(function()
  358. TweenBack()
  359. end)
  360. Ok.MouseButton1Down:connect(function()
  361. coroutine.resume(coroutine.create(function()
  362. local derp = P.archivable
  363. P.archivable = true
  364. P.Name = TextBar.Text
  365. wait()
  366. P.archivable = derp
  367. end))
  368. TweenBack()
  369. Update(Place)
  370. end)
  371. end)
  372. Cancel.MouseButton1Down:connect(function()
  373. if Options then Options:remove() end
  374. end)
  375. Options = Back
  376. end
  377. end
  378. for i,v in pairs(Buttons) do
  379. v.Gui.MouseButton1Down:connect(function()
  380. if v.Go ~= nil then
  381. From = 0
  382. Update(v.Go)
  383. end
  384. end)
  385. v.Gui.MouseButton2Down:connect(function(x, y)
  386. OpenOptions(v.Go, x, y)
  387. end)
  388. end
  389. Home.MouseButton1Down:connect(function()
  390. pcall(function()
  391. From = 0
  392. Update(workspace)
  393. end)
  394. end)
  395. Previous.MouseButton1Down:connect(function()
  396. pcall(function()
  397. From = 0
  398. Update(Place.Parent)
  399. end)
  400. end)
  401. Refresh.MouseButton1Down:connect(function()
  402. pcall(function()
  403. From = 0
  404. Update(Place)
  405. end)
  406. end)
  407. NextPage.MouseButton1Down:connect(function()
  408. pcall(function()
  409. From = From + Seen
  410. Update(Place)
  411. end)
  412. end)
  413. PreviousPage.MouseButton1Down:connect(function()
  414. pcall(function()
  415. From = From - Seen
  416. if From < 0 then From = 0 end
  417. Update(Place)
  418. end)
  419. end)
  420. CopyP.MouseButton1Down:connect(function()
  421. pcall(function()
  422. if Options then Options:remove() end
  423. if Place ~= workspace then
  424. local a = Place.archivable
  425. Place.archivable = true
  426. Copied = Place:clone()
  427. wait()
  428. Place.archivable = a
  429. end
  430. end)
  431. end)
  432. PasteP.MouseButton1Down:connect(function()
  433. pcall(function()
  434. if Options then Options:remove() end
  435. if Copied and Copied ~= workspace then
  436. local clo = Copied:clone()
  437. clo.Parent = Place
  438. Update(Place)
  439. end
  440. end)
  441. end)
  442. DeleteP.MouseButton1Down:connect(function()
  443. pcall(function()
  444. if Options then Options:remove() end
  445. if Place ~= workspace then
  446. local plaic = Place.Parent
  447. if plaic == nil then plaic = workspace end
  448. Place:remove()
  449. Update(plaic)
  450. end
  451. end)
  452. end)
  453. Update(Place)
  454. Sc.Parent = gui
  455. end
  456.  
  457. Give(game.Players.LocalPlayer)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement