Advertisement
Createok

Untitled

Feb 20th, 2019
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- This script has been converted to FE by iPxter
  2.  
  3.  
  4. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  5. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  6. do
  7.     print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
  8.     script.Parent = Player.Character
  9.  
  10.     --RemoteEvent for communicating
  11.     local Event = Instance.new("RemoteEvent")
  12.     Event.Name = "UserInput_Event"
  13.  
  14.     --Fake event to make stuff like Mouse.KeyDown work
  15.     local function fakeEvent()
  16.         local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
  17.         t.connect = t.Connect
  18.         return t
  19.     end
  20.  
  21.     --Creating fake input objects with fake variables
  22.     local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  23.     local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  24.     local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  25.         CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  26.     end}
  27.     --Merged 2 functions into one by checking amount of arguments
  28.     CAS.UnbindAction = CAS.BindAction
  29.  
  30.     --This function will trigger the events that have been :Connect()'ed
  31.     local function te(self,ev,...)
  32.         local t = m[ev]
  33.         if t and t._fakeEvent and t.Function then
  34.             t.Function(...)
  35.         end
  36.     end
  37.     m.TrigEvent = te
  38.     UIS.TrigEvent = te
  39.  
  40.     Event.OnServerEvent:Connect(function(plr,io)
  41.         if plr~=Player then return end
  42.         if io.isMouse then
  43.             m.Target = io.Target
  44.             m.Hit = io.Hit
  45.         else
  46.             local b = io.UserInputState == Enum.UserInputState.Begin
  47.             if io.UserInputType == Enum.UserInputType.MouseButton1 then
  48.                 return m:TrigEvent(b and "Button1Down" or "Button1Up")
  49.             end
  50.             for _,t in pairs(CAS.Actions) do
  51.                 for _,k in pairs(t.Keys) do
  52.                     if k==io.KeyCode then
  53.                         t.Function(t.Name,io.UserInputState,io)
  54.                     end
  55.                 end
  56.             end
  57.             m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  58.             UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  59.         end
  60.     end)
  61.     Event.Parent = NLS([==[
  62.     local Player = game:GetService("Players").LocalPlayer
  63.     local Event = script:WaitForChild("UserInput_Event")
  64.  
  65.     local UIS = game:GetService("UserInputService")
  66.     local input = function(io,a)
  67.         if a then return end
  68.         --Since InputObject is a client-side instance, we create and pass table instead
  69.         Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
  70.     end
  71.     UIS.InputBegan:Connect(input)
  72.     UIS.InputEnded:Connect(input)
  73.  
  74.     local Mouse = Player:GetMouse()
  75.     local h,t
  76.     --Give the server mouse data 30 times every second, but only if the values changed
  77.     --If player is not moving their mouse, client won't fire events
  78.     while wait(1/30) do
  79.         if h~=Mouse.Hit or t~=Mouse.Target then
  80.             h,t=Mouse.Hit,Mouse.Target
  81.             Event:FireServer({isMouse=true,Target=t,Hit=h})
  82.         end
  83.     end]==],Player.Character)
  84.     Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
  85. end
  86.  
  87. TextProperties = {"ClassName", "Name", "Value", "Text", "Reflectance", "Transparency", "Heat", "TeamName", "WalkSpeed", "Health", "MaxHealth", "Size", "Position", "AccountAge", "RobloxLocked", "TeamColor", "userId", "Brightness", "Ambient", "TimeOfDay", "FieldOfView", "CameraType", "LinkedSource"}
  88. BoolProperties = {"Anchored", "CanCollide", "Disabled", "Jump", "Sit", "Visible", "Enabled", "Locked", "FilteringEnabled", "StreamingEnabled", "GlobalShadows"}
  89. BrickColorProperties = {"BrickColor", "Color", "TeamColor", "Texture", "Value"}
  90. s = Instance.new("ScreenGui", game.Players.wrrrryyyyyyyyyyyyyyy.PlayerGui)
  91. pgr = Instance.new("TextButton")
  92. pgr.Parent = s
  93. pgr.Size = UDim2.new(0,100,0,40)
  94. pgr.Position = UDim2.new(0,30,0,440)
  95. pgr.Text="Explorer"
  96. pgr.BackgroundTransparency = 0.3
  97. pgr.TextColor = BrickColor.new("White")
  98. pgr.BackgroundColor = BrickColor.new("Really Black")
  99. pgr.BorderColor = BrickColor.new("Black")
  100. pgr.Font = "ArialBold"
  101. pgr.FontSize = "Size14"
  102. pgr.TextStrokeColor3 = Color3.new(0/0,0/0,0/0)
  103. pgr.TextStrokeTransparency = 0.3
  104. pgr.BorderSizePixel = 1
  105. pgr.BorderColor = BrickColor.new("White")
  106.  
  107. if game.Players.wrrrryyyyyyyyyyyyyyy.PlayerGui:findFirstChild("Explorer") then
  108.     game.Players.wrrrryyyyyyyyyyyyyyy.PlayerGui:findFirstChild("Explorer"):Remove()
  109. end
  110.  
  111. local Cloned
  112. local Deleted
  113. local DeleteParent
  114. local Player
  115. local Search
  116. local ScriptSearch
  117. local Gui
  118. local Cloned = nil
  119. local Deleted = nil
  120. local DeleteParent = nil
  121. local Current = 0
  122. local CurrentOption = 0
  123.  
  124. function Clear()
  125.     if Gui then
  126.         Gui:Remove()
  127.     end
  128.     Current = 0
  129.     CurrentOption = 0
  130. end
  131.  
  132. function AddButton(N, Function, Color, Copy)
  133.     if not N then
  134.         error("RenderButton - No Name Specified")
  135.     end
  136.     if not Function then
  137.         error("RenderButton - No Function Specified")
  138.     end
  139.     if not Color then
  140.         Color = Color3.new(1, 1, 1)
  141.     end
  142.     if Copy == nil then
  143.         Copy = true
  144.     end
  145.     P = Instance.new("TextButton")
  146.     if Copy then
  147.         P.Size = UDim2.new(0, 110, 0, 20)
  148.     else
  149.         P.Size = UDim2.new(0, 130, 0, 20)
  150.     end
  151.     P.Text = N.Name
  152.     P.Name = N.Name
  153.     P.Parent = Gui
  154.     P.BackgroundColor3 = Color
  155.     P.TextColor3 = Color3.new(0, 0, 0)
  156.     P.BackgroundTransparency = 0.5
  157.     P.Position = UDim2.new(0, ((math.modf(Current/30))*150)+300, 0, 50+(20*((Current%30)-1)))
  158.     P.MouseButton1Click:connect(function()
  159.         Function(P)
  160.     end)
  161.     D = Instance.new("TextButton")
  162.     D.Size = UDim2.new(0, 20, 0, 20)
  163.     D.Text = "X"
  164.     D.Name = N.Name
  165.     D.Parent = Gui
  166.     D.BackgroundColor3 = Color3.new(1, 0, 0)
  167.     D.TextColor3 = Color3.new(0, 0, 0)
  168.     D.BackgroundTransparency = 0.5
  169.     D.Position = UDim2.new(0, ((math.modf(Current/30))*150)+300+130, 0, 50+(20*((Current%30)-1)))
  170.     D.MouseButton1Click:connect(function()
  171.         Deleted = N
  172.         DeleteParent = N.Parent
  173.         N.Parent = nil
  174.         Clear()
  175.         Search(DeleteParent)
  176.     end)
  177.     if Copy then
  178.         C = Instance.new("TextButton")
  179.         C.Size = UDim2.new(0, 20, 0, 20)
  180.         C.Text = "C"
  181.         C.Name = N.Name
  182.         C.Parent = Gui
  183.         C.BackgroundColor3 = Color3.new(0, 1, 0.5)
  184.         C.TextColor3 = Color3.new(0, 0, 0)
  185.         C.BackgroundTransparency = 0.5
  186.         C.Position = UDim2.new(0, ((math.modf(Current/30))*150)+300+110, 0, 50+(20*((Current%30)-1)))
  187.         C.MouseButton1Click:connect(function()
  188.             Cloned = N
  189.             Clear()
  190.             Search(N.Parent)
  191.         end)
  192.     end
  193.     Current = Current + 1
  194.     return P
  195. end
  196.    
  197. function AddOption(N, Function, Color, Text)
  198.     if not N then
  199.         error("RenderButton - No Name Specified")
  200.     end
  201.     if not Color then
  202.         Color = Color3.new(1, 1, 1)
  203.     end
  204.     if Text == nil then
  205.         Text = false
  206.     end
  207.     if Text then
  208.         P = Instance.new("TextBox")
  209.     else
  210.         P = Instance.new("TextButton")
  211.     end
  212.     P.Text = N
  213.     P.Name = N
  214.     P.Parent = Gui
  215.     P.BackgroundColor3 = Color
  216.     P.TextColor3 = Color3.new(0, 0, 0)
  217.     P.BackgroundTransparency = 0.5
  218.     P.Size = UDim2.new(0, 150, 0, 20)
  219.     P.Position = UDim2.new(0, ((math.modf(CurrentOption/30))*150)+150, 0, 50+(20*((CurrentOption%30)-1)))
  220.     if not Text and Function then
  221.         P.MouseButton1Click:connect(function() Function(P) end)
  222.     end
  223.     CurrentOption = CurrentOption + 1
  224.     return P
  225. end
  226.  
  227. function AddTextOption(Obj, Prop)
  228.     local Ob = Obj
  229.     local Pro = Prop
  230.     if type(Ob[Pro]) == "number" or type(Ob[Pro]) == "string" then
  231.         CurrentOption = CurrentOption + 1
  232.         local T = AddOption(Ob[Pro], nil, Color3.new(0.1, 0.4, 0.1), true)
  233.         CurrentOption = CurrentOption - 2
  234.         local O = AddOption("Change "..Pro..":", function() Ob[Pro] = T.Text end, Color3.new(0.1, 0.8, 0.1), false)
  235.         CurrentOption = CurrentOption + 1
  236.     end
  237. end
  238.  
  239. function AddBrickColorOption(Obj, Prop)
  240.     local Ob = Obj
  241.     local Pro = Prop
  242.     if BrickColor.new(tostring(Ob[Pro])) == Ob[Pro] then
  243.         CurrentOption = CurrentOption + 1
  244.         local T = AddOption(tostring(Ob[Pro]), nil, Color3.new(0.1, 0.4, 0.1), true)
  245.         CurrentOption = CurrentOption - 2
  246.         local O = AddOption("Change "..Pro..":", function() Ob[Pro] = BrickColor.new(T.Text) end, Color3.new(0.1, 0.8, 0.1), false)
  247.         CurrentOption = CurrentOption + 1
  248.     end
  249. end
  250.  
  251. function AddBoolOption(Obj, Prop)
  252.     local Ob = Obj
  253.     local Pro = Prop
  254.     if type(Ob[Pro]) == "boolean" then
  255.         local O = AddOption(Pro..": "..tostring(Ob[Pro]), nil, Color3.new(0.1, 0.8, 0.1), false)
  256.         O.MouseButton1Click:connect(function()
  257.             if Ob[Pro] then
  258.                 Ob[Pro] = false
  259.                 O.Text = Pro..": false"
  260.             else
  261.                 Ob[Pro] = true
  262.                 O.Text = Pro..": true"
  263.             end
  264.         end)
  265.     end
  266. end
  267.  
  268. function TestProperty(Obj, Property)
  269.     Success = pcall(function()
  270.         if Obj[Property] then
  271.             return
  272.         end
  273.     end)
  274.     return Success
  275. end
  276.  
  277. function LoadOptions(Object)
  278.     for Num, Prop in pairs(TextProperties) do
  279.         if TestProperty(Object, Prop) then
  280.             AddTextOption(Object, Prop)
  281.         end
  282.     end
  283.     for Num, Prop in pairs(BoolProperties) do
  284.         if TestProperty(Object, Prop) then
  285.             AddBoolOption(Object, Prop)
  286.         end
  287.     end
  288.     for Num, Prop in pairs(BrickColorProperties) do
  289.         if TestProperty(Object, Prop) then
  290.             AddBrickColorOption(Object, Prop)
  291.         end
  292.     end
  293. end
  294.  
  295. function Search(Object)
  296.     Gui = Instance.new("ScreenGui")
  297.     Gui.Parent = game.Players.wrrrryyyyyyyyyyyyyyy.PlayerGui
  298.     Gui.Name = "Explorer"
  299.     if Object ~= game then
  300.         AddOption("Back", function()
  301.             Clear();
  302.             Search(Object.Parent)
  303.         end, Color3.new(0.5, 1, 1), false)
  304.     end
  305.     AddOption("Reload", function() Clear(); Search(Object); end, Color3.new(0.2, 1, 0.2), false)
  306.     if Cloned then
  307.         AddOption("Paste", function() Cloned:Clone().Parent = Object; Clear(); Search(Object); end, Color3.new(0.5, 1, 1), false)
  308.     end
  309.     if Deleted then
  310.         AddOption("Undo", function() Deleted.Parent = DeleteParent; Deleted = nil; DeletedParent = nil; Clear(); Search(Object); end, Color3.new(1, 0.6, 0.1), false)
  311.     end
  312.     if Object:IsA("Player") then
  313.         AddOption("Goto Character", function() Clear(); if Object.Character then Search(Object.Character); end end, Color3.new(1, 1, 1), false)
  314.     end
  315.     if Object:IsA("LocalScript") then
  316.         AddOption("EditScript", function() Clear(); ScriptSearch(Object); end, Color3.new(1, 1, 1), false)
  317.     end
  318.     if Object:IsA("Terrain") then
  319.         AddOption("Clear", function() Object:Clear(); end, Color3.new(1, 1, 1), false)
  320.     end
  321.     LoadOptions(Object)
  322.     AddOption("Close", Clear, Color3.new(1, 0.2, 0), false)
  323.     if not Object:IsA("Workspace") or not Object:IsA("Player") then
  324.         for Num, Obj in pairs(Object:GetChildren()) do
  325.             --if not Obj:IsA("BasePart") or not Object.Parent == game.Workspace then
  326.             if true then
  327.                 if Obj:IsA("LocalScript") then
  328.                     AddButton(Obj, function() Clear(); Search(Obj); end, Color3.new(1, 0, 0), true)
  329.                 elseif Obj:IsA("Script") or Obj:IsA("StarterScript") or Obj:IsA("CoreScript") then
  330.                     AddButton(Obj, function() Clear(); Search(Obj); end, Color3.new(0.5, 0.5, 0.8), true)
  331.                 elseif Obj.Parent == game then
  332.                     AddButton(Obj, function() Clear(); Search(Obj); end, Color3.new(1, 1, 1), false)
  333.                 else
  334.                     AddButton(Obj, function() Clear(); Search(Obj); end, Color3.new(1, 1, 1), true)
  335.                 end
  336.             end
  337.         end
  338.     end
  339.     function MoveUp(Place, Amount)
  340.         for i,v in pairs(Place:GetChildren()) do
  341.             if v:IsA("TextLabel") or v:IsA("TextBox") then
  342.                 v.Position = v.Position + UDim2.new(0,0,0,-Amount)
  343.             end
  344.         end
  345.     end
  346.     function MoveDown(Place, Amount)
  347.         for i,v in pairs(Place:GetChildren()) do
  348.             if v:IsA("TextLabel") or v:IsA("TextBox") then
  349.                 v.Position = v.Position + UDim2.new(0,0,0,Amount)
  350.             end
  351.         end
  352.     end
  353.     i=0
  354.     function ScriptSearch(S)
  355.         Script2 = S
  356.         Script = Script2.Source
  357.         Table = {}
  358.         Enabled = true
  359.         Gui = Instance.new("ScreenGui")
  360.         Gui.Parent = game.Players.wrrrryyyyyyyyyyyyyyy.PlayerGui
  361.         Gui.Name = "Explorer"
  362.         while Enabled do
  363.             Start, End = string.find(Script, '\n')
  364.             print(Start, End)
  365.             if Start and End then
  366.                 table.insert(Table, string.sub(Script, 1, End))
  367.                 New = string.sub(Script, End+1, string.len(Script))
  368.                 Script = New
  369.             else
  370.                 Enabled = false
  371.                 table.insert(Table, string.sub(Script, 1, End))
  372.                 print("Finished")
  373.             end
  374.         end
  375.         P = Instance.new("TextLabel")
  376.         P.Size = UDim2.new(0, 500, 0, 20)
  377.         P.Text = Script2.Name
  378.         P.Name = "Script Line"
  379.         P.Parent = Gui
  380.         P.BackgroundColor3 = Color3.new(1, 1, 1)
  381.         P.TextColor3 = Color3.new(0, 0, 0)
  382.         P.BackgroundTransparency = 0.5
  383.         P.Position = UDim2.new(0.5, -250, 0, 150+(20*(i-1)))
  384.         P.TextXAlignment = "Left"
  385.         i=i+1
  386.         New = {}
  387.         for I,Val in pairs(Table) do
  388.             print(Val)
  389.             P = Instance.new("TextBox")
  390.             P.ClearTextOnFocus = false
  391.             P.Size = UDim2.new(0, 500, 0, 20)
  392.             P.Text = Val
  393.             P.Name = "Script Line"
  394.             P.Parent = Gui
  395.             P.BackgroundColor3 = Color3.new(1, 1, 1)
  396.             P.TextColor3 = Color3.new(0, 0, 0)
  397.             P.BackgroundTransparency = 0.5
  398.             P.Position = UDim2.new(0.5, -250, 0, 150+(20*(i-1)))
  399.             P.TextXAlignment = "Left"
  400.             table.insert(New, P)
  401.             i=i+1
  402.         end
  403.         i=1
  404.         P = Instance.new("TextButton")
  405.         P.Size = UDim2.new(0, 20, 0, 20)
  406.         P.Text = "^"
  407.         P.Name = "Scroll"
  408.         P.Parent = Gui
  409.         P.BackgroundColor3 = Color3.new(1, 1, 1)
  410.         P.TextColor3 = Color3.new(0, 0, 0)
  411.         P.BackgroundTransparency = 0.5
  412.         P.Position = UDim2.new(0.5, -270, 0, 150+(20*(i-1)))
  413.         P.MouseButton1Click:connect(function()
  414.             MoveUp(Gui, -20)
  415.         end)
  416.         i=i+1
  417.         P = Instance.new("TextButton")
  418.         P.Size = UDim2.new(0, 20, 0, 20)
  419.         P.Text = "v"
  420.         P.Name = "Scroll"
  421.         P.Parent = Gui
  422.         P.BackgroundColor3 = Color3.new(1, 1, 1)
  423.         P.TextColor3 = Color3.new(0, 0, 0)
  424.         P.BackgroundTransparency = 0.5
  425.         P.Position = UDim2.new(0.5, -270, 0, 150+(20*(i-1)))
  426.         P.MouseButton1Click:connect(function()
  427.             MoveDown(Gui, -20)
  428.         end)
  429.         i=i+1
  430.         P = Instance.new("TextButton")
  431.         P.Size = UDim2.new(0, 20, 0, 20)
  432.         P.Text = "^^"
  433.         P.Name = "Scroll"
  434.         P.Parent = Gui
  435.         P.BackgroundColor3 = Color3.new(1, 1, 1)
  436.         P.TextColor3 = Color3.new(0, 0, 0)
  437.         P.BackgroundTransparency = 0.5
  438.         P.Position = UDim2.new(0.5, -270, 0, 150+(20*(i-1)))
  439.         P.MouseButton1Click:connect(function()
  440.             MoveUp(Gui, -200)
  441.         end)
  442.         i=i+1
  443.         P = Instance.new("TextButton")
  444.         P.Size = UDim2.new(0, 20, 0, 20)
  445.         P.Text = "vv"
  446.         P.Name = "Scroll"
  447.         P.Parent = Gui
  448.         P.BackgroundColor3 = Color3.new(1, 1, 1)
  449.         P.TextColor3 = Color3.new(0, 0, 0)
  450.         P.BackgroundTransparency = 0.5
  451.         P.Position = UDim2.new(0.5, -270, 0, 150+(20*(i-1)))
  452.         P.MouseButton1Click:connect(function()
  453.             MoveDown(Gui, -200)
  454.         end)
  455.         i=i+1
  456.         P = Instance.new("TextButton")
  457.         P.Size = UDim2.new(0, 20, 0, 20)
  458.         P.Text = "S"
  459.         P.Name = "Save"
  460.         P.Parent = Gui
  461.         P.BackgroundColor3 = Color3.new(0, 1, 0)
  462.         P.TextColor3 = Color3.new(0, 0, 0)
  463.         P.BackgroundTransparency = 0.5
  464.         P.Position = UDim2.new(0.5, -270, 0, 150+(20*(i-1)))
  465.         P.MouseButton1Click:connect(function()
  466.             StringS = ""
  467.             for Num, Obj in pairs(New) do
  468.                 StringS = StringS..Obj.Text..'\n'
  469.             end
  470.             S.Source = StringS
  471.             S.Disabled = true
  472.             S.Disabled = false
  473.         end)
  474.         i=i+1
  475.         P = Instance.new("TextButton")
  476.         P.Size = UDim2.new(0, 20, 0, 20)
  477.         P.Text = "x"
  478.         P.Name = "Back"
  479.         P.Parent = Gui
  480.         P.BackgroundColor3 = Color3.new(1, 0.2, 0)
  481.         P.TextColor3 = Color3.new(0, 0, 0)
  482.         P.BackgroundTransparency = 0.5
  483.         P.Position = UDim2.new(0.5, -270, 0, 150+(20*(i-1)))
  484.         P.MouseButton1Click:connect(function()
  485.             Clear()
  486.             i=0
  487.             Search(S)
  488.         end)
  489.         i=i+1
  490.     end
  491. end
  492.  
  493. pgr.MouseButton1Click:connect(function()
  494.     Clear()
  495.     Search(game)
  496. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement