Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Decompiler = false; --/ If you have decompile replace this with the decompile function.
- local Colors = {
- ['Properties'] = {
- Property = Color3.fromRGB(165, 206, 255);
- Value = Color3.fromRGB(205, 255, 193);
- };
- ['Objects'] = Color3.fromRGB(85, 255, 127);
- ['Functions'] = Color3.fromRGB(0, 211, 234);
- ['CopyButton'] = Color3.fromRGB(0, 251, 255);
- ['PasteButton'] = Color3.fromRGB(147, 212, 255);
- ['PastedObject'] = Color3.fromRGB(167, 167, 167);
- ['DestroyButton'] = Color3.fromRGB(255, 131, 133);
- ['ScriptDisabled'] = Color3.fromRGB(255, 131, 133);
- ['BackButton'] = Color3.fromRGB(255, 242, 47);
- };
- local InfinityExplorer = Instance.new("ScreenGui")
- local Container = Instance.new("Frame")
- local ClassNameBox = Instance.new("TextLabel")
- local Objects = Instance.new("ScrollingFrame")
- local UIGridLayout = Instance.new("UIGridLayout")
- local UIPadding = Instance.new("UIPadding")
- local TextTemplate = Instance.new("TextBox")
- local Template = Instance.new("TextButton")
- InfinityExplorer.Name = "InfinityExplorer"
- InfinityExplorer.Parent = game.CoreGui;
- InfinityExplorer.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
- Container.Name = "Container"
- Container.Parent = InfinityExplorer
- Container.BackgroundColor3 = Color3.new(0.129412, 0.129412, 0.129412)
- Container.BackgroundTransparency = 0.20000000298023
- Container.BorderColor3 = Color3.new(0.592157, 0.592157, 0.592157)
- Container.ClipsDescendants = true
- Container.Position = UDim2.new(0, 4, 0, 4)
- Container.Selectable = true
- Container.Size = UDim2.new(0, 210, 1, -8)
- ClassNameBox.Name = "ClassNameBox"
- ClassNameBox.Parent = Container
- ClassNameBox.BackgroundColor3 = Color3.new(0, 0, 0)
- ClassNameBox.BackgroundTransparency = 0.89999997615814
- ClassNameBox.BorderColor3 = Color3.new(0.819608, 0.819608, 0.819608)
- ClassNameBox.Position = UDim2.new(0, 5, 0, 5)
- ClassNameBox.Size = UDim2.new(0, 200, 0, 25)
- ClassNameBox.Font = Enum.Font.Gotham
- ClassNameBox.Text = "Object.Class"
- ClassNameBox.TextColor3 = Color3.new(0.980392, 1, 0.752941)
- ClassNameBox.TextSize = 14
- Objects.Name = "Objects"
- Objects.Parent = Container
- Objects.BackgroundColor3 = Color3.new(1, 1, 1)
- Objects.BackgroundTransparency = 1
- Objects.BorderSizePixel = 0
- Objects.Position = UDim2.new(0, 0, 0, 35)
- Objects.Size = UDim2.new(1, 0, 1, 0)
- Objects.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
- Objects.ScrollBarThickness = 1
- Objects.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
- UIGridLayout.Parent = Objects
- UIGridLayout.SortOrder = Enum.SortOrder.LayoutOrder
- UIGridLayout.CellSize = UDim2.new(0, 200, 0, 16)
- UIPadding.Parent = Objects
- UIPadding.PaddingLeft = UDim.new(0, 5)
- UIPadding.PaddingTop = UDim.new(0, 5)
- TextTemplate.Name = "TextTemplate"
- TextTemplate.Parent = InfinityExplorer
- TextTemplate.BackgroundColor3 = Color3.new(0.188235, 0.188235, 0.188235)
- TextTemplate.BackgroundTransparency = 0.5
- TextTemplate.BorderColor3 = Color3.new(0.705882, 0.705882, 0.705882)
- TextTemplate.Size = UDim2.new(0, 200, 0, 16)
- TextTemplate.Visible = false
- TextTemplate.ClearTextOnFocus = false
- TextTemplate.Font = Enum.Font.Gotham
- TextTemplate.Text = "Text"
- TextTemplate.TextColor3 = Color3.new(0.580392, 0.745098, 0.505882)
- TextTemplate.TextSize = 14
- TextTemplate.TextXAlignment = Enum.TextXAlignment.Left
- Template.Name = "Template"
- Template.Parent = InfinityExplorer
- Template.BackgroundColor3 = Color3.new(0.254902, 0.254902, 0.254902)
- Template.BackgroundTransparency = 0.5
- Template.BorderColor3 = Color3.new(0.705882, 0.705882, 0.705882)
- Template.Size = UDim2.new(0, 200, 0, 16)
- Template.Visible = false
- Template.Font = Enum.Font.GothamBold
- Template.TextColor3 = Color3.new(1, 1, 1)
- Template.TextSize = 14
- Template.TextXAlignment = Enum.TextXAlignment.Left
- local Properties = game.HttpService:JSONDecode(game:HttpGet('https://pastebin.com/raw/LrQgmLn9'));
- local LP = game:GetService('Players').LocalPlayer;
- local Mouse = LP:GetMouse'';
- local ogPos = Container.Position;
- local isOpen = true;
- local ClosedPosition = UDim2.new(0, -Container.Size.X.Offset, ogPos.Y.Scale, ogPos.Y.Offset);
- local Toggle = function()
- if isOpen then
- Container:TweenPosition(ogPos, 'Out', 'Quad', 1, true);
- else
- Container:TweenPosition(ClosedPosition, 'In', 'Quad', 1, true);
- end;
- end;
- Mouse.KeyDown:Connect(function(Key)
- if Key:lower'' == 'e' then
- isOpen = not isOpen;
- Toggle();
- end;
- end);
- if not Synapse then
- local rtable = table;
- local table = setmetatable({}, {
- __index = rtable;
- });
- table.insert = function(Table, Value)
- Table[#Table + 1] = Value;
- end;
- end;
- local function Clear()
- for _, Obj in next, Objects:GetChildren() do
- if Obj.ClassName:match'Text' then
- Obj:Destroy'';
- end;
- end;
- end;
- local function SetForeColor(C3, Object)
- Object.TextColor3 = C3;
- Object.BorderColor3 = C3;
- end;
- local function AddButton(isBTN, Text, onClick, onClick2)
- local temp = (isBTN and Template:Clone()) or TextTemplate:Clone();
- if isBTN then
- temp.Text = ' ' .. Text;
- if onClick then
- temp.MouseButton1Down:Connect(onClick);
- end;
- if onClick2 then
- temp.MouseButton2Down:Connect(onClick2);
- end;
- temp.MouseEnter:Connect(function()
- temp.Text = '> ' .. Text;
- end)
- temp.MouseLeave:Connect(function()
- temp.Text = ' ' .. Text;
- end)
- elseif not isBTN then
- temp.Text = Text;
- temp.FocusLost:Connect(function()
- if temp.Text == '' then
- temp.Text = Text;
- else
- local i, v = pcall(function()
- onClick.obj[onClick.prop]=temp.Text;
- end);
- if i then
- Text = temp.Text;
- else
- temp.Text = Text;
- end;
- end;
- end);
- end;
- temp.Visible = true;
- temp.Name = Text;
- temp.Parent = Objects;
- return temp;
- end;
- local function AddBackButton(dir)
- if dir then
- SetForeColor(Colors.BackButton, AddButton(true, '../' .. ((dir==game and 'Game') or dir.Name), function()
- Navigate(dir);
- end));
- end;
- end;
- local guiClipboard;
- local Pasted = {};
- local function ViewProperties(Object)
- Clear();
- if guiClipboard then
- guiClipboard=nil;
- end;
- AddBackButton(Object.Parent);
- SetForeColor(Colors.DestroyButton, AddButton(true, 'Destroy', function()
- Object:Destroy();
- Navigate();
- end));
- SetForeColor(Colors.CopyButton, AddButton(true, 'Copy', function()
- guiClipboard = Object:Clone'';
- end));
- for _, Property in next, Properties do
- local Val;
- pcall(function()
- Val = Object[Property];
- end);
- if Val and type(Val) ~= 'function' and typeof(Val) ~= 'RBXScriptSignal' then
- SetForeColor(Colors.Properties.Property, AddButton(true, tostring(Property)));
- SetForeColor(Colors.Properties.Value, AddButton(false, tostring(Val), {prop=Property, obj = Object}));
- end;
- end;
- end;
- local function AddChild(Child)
- local guiobj;
- guiobj = AddButton(true, '[' .. Child.ClassName:sub(0, 1) .. '] ' .. Child.Name, function()
- Navigate(Child);
- end, function()
- ViewProperties(Child);
- end);
- SetForeColor(Colors.Objects, guiobj);
- if Child.ClassName:match'Script' then
- if Child.Disabled then
- SetForeColor(Colors.ScriptDisabled, guiobj);
- end;
- end;
- if Pasted[Child] then
- SetForeColor(Colors.PastedObject, guiobj);
- end;
- guiobj.MouseEnter:Connect(function()
- ClassNameBox.Text = Child.ClassName;
- end);
- Child.Parent.ChildRemoved:Connect(function(c)
- if c == Child then
- guiobj:Destroy'';
- end;
- end);
- end;
- function Navigate(Object)
- local Children;
- if not Object or Object==game then Children = game:GetChildren();else Children=Object:GetChildren();end;
- Clear();
- if Object then
- AddBackButton(Object.Parent);
- Object.ChildAdded:Connect(AddChild);
- if guiClipboard then
- SetForeColor(Colors.PasteButton, AddButton(true, 'Paste', function()
- guiClipboard.Parent = Object;
- Pasted[guiClipboard] = true;
- guiClipboard = nil;
- Navigate(Object);
- end));
- end;
- if Object.ClassName == 'Script' or Object.ClassName == 'LocalScript' then
- if Decompiler then
- SetForeColor(Colors.Functions, AddButton(true, 'Print Source', function()
- print(Decompiler(Object));
- end));
- end;
- SetForeColor(Colors.Functions, AddButton(true, 'Toggle Script', function()
- Object.Disabled = not Object.Disabled;
- ClassNameBox.Text = (Object.Disabled and 'Disabled' or 'Enabled');
- end));
- end;
- end;
- for _, Child in next, Children do
- pcall(AddChild, Child);
- end
- end;
- local function UpdateCanvas()
- wait();
- local Size = 0;
- for i, v in next, Objects:GetChildren'' do
- if v.ClassName:match'Text' then
- Size = (Size + v.Size.Y.Offset) + (i > 1 and 5.8) or 0;
- end;
- end;
- Objects.CanvasSize = UDim2.new(0, 0, 0, Size);
- end;
- Objects.ChildAdded:Connect(UpdateCanvas);
- Objects.ChildRemoved:Connect(UpdateCanvas);
- Navigate();
- Container.Position = ClosedPosition;
- Toggle();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement