Gerard_games

slime

Sep 16th, 2022 (edited)
6,900
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 58.24 KB | None | 0 0
  1. repeat task.wait() until game:isLoaded()
  2. repeat task.wait() until game:GetService("Players")
  3. repeat task.wait() until game:GetService("Players").LocalPlayer
  4. repeat task.wait() until game:GetService("Players").LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
  5.  
  6. if game.PlaceId == 10675066724 then
  7.  
  8. local library = {count = 0, queue = {}, callbacks = {}, rainbowtable = {}, toggled = true, binds = {}};
  9. local defaults; do
  10.     local dragger = {}; do
  11.         local mouse        = game:GetService("Players").LocalPlayer:GetMouse();
  12.         local inputService = game:GetService('UserInputService');
  13.         local heartbeat    = game:GetService("RunService").Heartbeat;
  14.         -- // credits to Ririchi / Inori for this cute drag function :)
  15.         function dragger.new(frame)
  16.             local s, event = pcall(function()
  17.                 return frame.MouseEnter
  18.             end)
  19.  
  20.             if s then
  21.                 frame.Active = true;
  22.  
  23.                 event:connect(function()
  24.                     local input = frame.InputBegan:connect(function(key)
  25.                         if key.UserInputType == Enum.UserInputType.MouseButton1 then
  26.                             local objectPosition = Vector2.new(mouse.X - frame.AbsolutePosition.X, mouse.Y - frame.AbsolutePosition.Y);
  27.                             while heartbeat:wait() and inputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) do
  28.                                 pcall(function()
  29.                                     frame:TweenPosition(UDim2.new(0, mouse.X - objectPosition.X + (frame.Size.X.Offset * frame.AnchorPoint.X), 0, mouse.Y - objectPosition.Y + (frame.Size.Y.Offset * frame.AnchorPoint.Y)), 'Out', 'Linear', 0.1, true);
  30.                                 end)
  31.                             end
  32.                         end
  33.                     end)
  34.  
  35.                     local leave;
  36.                     leave = frame.MouseLeave:connect(function()
  37.                         input:disconnect();
  38.                         leave:disconnect();
  39.                     end)
  40.                 end)
  41.             end
  42.         end
  43.  
  44.         game:GetService('UserInputService').InputBegan:connect(function(key, gpe)
  45.             if (not gpe) then
  46.                 if key.KeyCode == Enum.KeyCode.RightControl then
  47.                     library.toggled = not library.toggled;
  48.                     for i, data in next, library.queue do
  49.                         local pos = (library.toggled and data.p or UDim2.new(-1, 0, -0.5,0))
  50.                         data.w:TweenPosition(pos, (library.toggled and 'Out' or 'In'), 'Quad', 0.15, true)
  51.                         wait();
  52.                     end
  53.                 end
  54.             end
  55.         end)
  56.     end
  57.  
  58.     local types = {}; do
  59.         types.__index = types;
  60.         function types.window(name, options)
  61.             library.count = library.count + 1
  62.             local newWindow = library:Create('Frame', {
  63.                 Name = name;
  64.                 Size = UDim2.new(0, 190, 0, 30);
  65.                 BackgroundColor3 = options.topcolor;
  66.                 BorderSizePixel = 0;
  67.                 Parent = library.container;
  68.                 Position = UDim2.new(0, (15 + (200 * library.count) - 200), 0, 0);
  69.                 ZIndex = 3;
  70.                 library:Create('TextLabel', {
  71.                     Text = name;
  72.                     Size = UDim2.new(1, -10, 1, 0);
  73.                     Position = UDim2.new(0, 5, 0, 0);
  74.                     BackgroundTransparency = 1;
  75.                     Font = Enum.Font.Code;
  76.                     TextSize = options.titlesize;
  77.                     Font = options.titlefont;
  78.                     TextColor3 = options.titletextcolor;
  79.                     TextStrokeTransparency = library.options.titlestroke;
  80.                     TextStrokeColor3 = library.options.titlestrokecolor;
  81.                     ZIndex = 3;
  82.                 });
  83.                 library:Create("TextButton", {
  84.                     Size = UDim2.new(0, 30, 0, 30);
  85.                     Position = UDim2.new(1, -35, 0, 0);
  86.                     BackgroundTransparency = 1;
  87.                     Text = "-";
  88.                     TextSize = options.titlesize;
  89.                     Font = options.titlefont;--Enum.Font.Code;
  90.                     Name = 'window_toggle';
  91.                     TextColor3 = options.titletextcolor;
  92.                     TextStrokeTransparency = library.options.titlestroke;
  93.                     TextStrokeColor3 = library.options.titlestrokecolor;
  94.                     ZIndex = 3;
  95.                 });
  96.                 library:Create("Frame", {
  97.                     Name = 'Underline';
  98.                     Size = UDim2.new(1, 0, 0, 2);
  99.                     Position = UDim2.new(0, 0, 1, -2);
  100.                     BackgroundColor3 = (options.underlinecolor ~= "rainbow" and options.underlinecolor or Color3.new());
  101.                     BorderSizePixel = 0;
  102.                     ZIndex = 3;
  103.                 });
  104.                 library:Create('Frame', {
  105.                     Name = 'container';
  106.                     Position = UDim2.new(0, 0, 1, 0);
  107.                     Size = UDim2.new(1, 0, 0, 0);
  108.                     BorderSizePixel = 0;
  109.                     BackgroundColor3 = options.bgcolor;
  110.                     ClipsDescendants = false;
  111.                     library:Create('UIListLayout', {
  112.                         Name = 'List';
  113.                         SortOrder = Enum.SortOrder.LayoutOrder;
  114.                     })
  115.                 });
  116.             })
  117.  
  118.             if options.underlinecolor == "rainbow" then
  119.                 table.insert(library.rainbowtable, newWindow:FindFirstChild('Underline'))
  120.             end
  121.  
  122.             local window = setmetatable({
  123.                 count = 0;
  124.                 object = newWindow;
  125.                 container = newWindow.container;
  126.                 toggled = true;
  127.                 flags   = {};
  128.  
  129.             }, types)
  130.  
  131.             table.insert(library.queue, {
  132.                 w = window.object;
  133.                 p = window.object.Position;
  134.             })
  135.  
  136.             newWindow:FindFirstChild("window_toggle").MouseButton1Click:connect(function()
  137.                 window.toggled = not window.toggled;
  138.                 newWindow:FindFirstChild("window_toggle").Text = (window.toggled and "+" or "-")
  139.                 if (not window.toggled) then
  140.                     window.container.ClipsDescendants = true;
  141.                 end
  142.                 wait();
  143.                 local y = 0;
  144.                 for i, v in next, window.container:GetChildren() do
  145.                     if (not v:IsA('UIListLayout')) then
  146.                         y = y + v.AbsoluteSize.Y;
  147.                     end
  148.                 end
  149.  
  150.                 local targetSize = window.toggled and UDim2.new(1, 0, 0, y+5) or UDim2.new(1, 0, 0, 0);
  151.                 local targetDirection = window.toggled and "In" or "Out"
  152.  
  153.                 window.container:TweenSize(targetSize, targetDirection, "Quad", 0.15, true)
  154.                 wait(.15)
  155.                 if window.toggled then
  156.                     window.container.ClipsDescendants = false;
  157.                 end
  158.             end)
  159.  
  160.             return window;
  161.         end
  162.  
  163.         function types:Resize()
  164.             local y = 0;
  165.             for i, v in next, self.container:GetChildren() do
  166.                 if (not v:IsA('UIListLayout')) then
  167.                     y = y + v.AbsoluteSize.Y;
  168.                 end
  169.             end
  170.             self.container.Size = UDim2.new(1, 0, 0, y+5)
  171.         end
  172.  
  173.         function types:GetOrder()
  174.             local c = 20;
  175.             for i, v in next, self.container:GetChildren() do
  176.                 if (not v:IsA('UIListLayout')) then
  177.                     c = c + 1
  178.                 end
  179.             end
  180.             return c
  181.         end
  182.  
  183.         function types:Label(text)
  184.             local v = game:GetService'TextService':GetTextSize(text, 18, Enum.Font.SourceSans, Vector2.new(math.huge, math.huge))
  185.             local object = library:Create('Frame', {
  186.                 Size = UDim2.new(1, 0, 0, v.Y + 5);
  187.                 BackgroundTransparency  = 1;
  188.                 library:Create('TextLabel', {
  189.                     Size = UDim2.new(1, 0, 1, 0);
  190.                     Position = UDim2.new(0, 10, 0, 0);
  191.                     LayoutOrder = self:GetOrder();
  192.  
  193.                     Text = text;
  194.                     TextSize = 18;
  195.                     Font = Enum.Font.SourceSans;
  196.                     TextColor3 = Color3.fromRGB(255, 255, 255);
  197.                     BackgroundTransparency = 1;
  198.                     TextXAlignment = Enum.TextXAlignment.Left;
  199.                     TextWrapped = true;
  200.                 });
  201.                 Parent = self.container
  202.             })
  203.             self:Resize();
  204.         end
  205.  
  206.         function types:Toggle(name, options, callback)
  207.             local default  = options.default or false;
  208.             local location = options.location or self.flags;
  209.             local flag     = options.flag or "";
  210.             local callback = callback or function() end;
  211.  
  212.             location[flag] = default;
  213.  
  214.             local check = library:Create('Frame', {
  215.                 BackgroundTransparency = 1;
  216.                 Size = UDim2.new(1, 0, 0, 25);
  217.                 LayoutOrder = self:GetOrder();
  218.                 library:Create('TextLabel', {
  219.                     Name = name;
  220.                     Text = "\r" .. name;
  221.                     BackgroundTransparency = 1;
  222.                     TextColor3 = library.options.textcolor;
  223.                     Position = UDim2.new(0, 5, 0, 0);
  224.                     Size     = UDim2.new(1, -5, 1, 0);
  225.                     TextXAlignment = Enum.TextXAlignment.Left;
  226.                     Font = library.options.font;
  227.                     TextSize = library.options.fontsize;
  228.                     TextStrokeTransparency = library.options.textstroke;
  229.                     TextStrokeColor3 = library.options.strokecolor;
  230.                     library:Create('TextButton', {
  231.                         Text = (location[flag] and utf8.char(10003) or "");
  232.                         Font = library.options.font;
  233.                         TextSize = library.options.fontsize;
  234.                         Name = 'Checkmark';
  235.                         Size = UDim2.new(0, 20, 0, 20);
  236.                         Position = UDim2.new(1, -25, 0, 4);
  237.                         TextColor3 = library.options.textcolor;
  238.                         BackgroundColor3 = library.options.bgcolor;
  239.                         BorderColor3 = library.options.bordercolor;
  240.                         TextStrokeTransparency = library.options.textstroke;
  241.                         TextStrokeColor3 = library.options.strokecolor;
  242.                     })
  243.                 });
  244.                 Parent = self.container;
  245.             });
  246.  
  247.             local function click(t)
  248.                 location[flag] = not location[flag];
  249.                 check:FindFirstChild(name).Checkmark.Text = location[flag] and utf8.char(10003) or "";
  250.                 callback(location[flag])
  251.             end
  252.  
  253.             check:FindFirstChild(name).Checkmark.MouseButton1Click:connect(click)
  254.             library.callbacks[flag] = click;
  255.  
  256.             if location[flag] == true then
  257.                 spawn(function() callback(location[flag]) end)
  258.             end
  259.  
  260.             self:Resize();
  261.             return {
  262.                 Set = function(self, b)
  263.                     location[flag] = b;
  264.                     spawn(function() callback(location[flag]) end)
  265.                     check:FindFirstChild(name).Checkmark.Text = location[flag] and utf8.char(10003) or "";
  266.                 end
  267.             }
  268.         end
  269.  
  270.         function types:Button(name, callback)
  271.             callback = callback or function() end;
  272.  
  273.             local check = library:Create('Frame', {
  274.                 BackgroundTransparency = 1;
  275.                 Size = UDim2.new(1, 0, 0, 25);
  276.                 LayoutOrder = self:GetOrder();
  277.                 library:Create('TextButton', {
  278.                     Name = name;
  279.                     Text = name;
  280.                     BackgroundColor3 = library.options.btncolor;
  281.                     BorderColor3 = library.options.bordercolor;
  282.                     TextStrokeTransparency = library.options.textstroke;
  283.                     TextStrokeColor3 = library.options.strokecolor;
  284.                     TextColor3 = library.options.textcolor;
  285.                     Position = UDim2.new(0, 5, 0, 5);
  286.                     Size     = UDim2.new(1, -10, 0, 20);
  287.                     Font = library.options.font;
  288.                     TextSize = library.options.fontsize;
  289.                 });
  290.                 Parent = self.container;
  291.             });
  292.  
  293.             check:FindFirstChild(name).MouseButton1Click:connect(callback)
  294.             self:Resize();
  295.  
  296.             return {
  297.                 Fire = function()
  298.                     callback();
  299.                 end
  300.             }
  301.         end
  302.  
  303.         function types:Box(name, options, callback) --type, default, data, location, flag)
  304.             local type   = options.type or "number";
  305.             local default = options.default or "";
  306.             local data = options.data
  307.             local location = options.location or self.flags;
  308.             local flag     = options.flag or "";
  309.             local callback = callback or function() end;
  310.             local min      = options.min or 0;
  311.             local max      = options.max or 9e9;
  312.  
  313.             if type == 'number' then
  314.                 location[flag] = tonumber(default);
  315.             else
  316.                 location[flag] = default;
  317.             end
  318.  
  319.             local check = library:Create('Frame', {
  320.                 BackgroundTransparency = 1;
  321.                 Size = UDim2.new(1, 0, 0, 25);
  322.                 LayoutOrder = self:GetOrder();
  323.                 library:Create('TextLabel', {
  324.                     Name = name;
  325.                     Text = "\r" .. name;
  326.                     BackgroundTransparency = 1;
  327.                     TextColor3 = library.options.textcolor;
  328.                     TextStrokeTransparency = library.options.textstroke;
  329.                     TextStrokeColor3 = library.options.strokecolor;
  330.                     Position = UDim2.new(0, 5, 0, 0);
  331.                     Size     = UDim2.new(1, -5, 1, 0);
  332.                     TextXAlignment = Enum.TextXAlignment.Left;
  333.                     Font = library.options.font;
  334.                     TextSize = library.options.fontsize;
  335.                     library:Create('TextBox', {
  336.                         TextStrokeTransparency = library.options.textstroke;
  337.                         TextStrokeColor3 = library.options.strokecolor;
  338.                         Text = tostring(default);
  339.                         Font = library.options.font;
  340.                         TextSize = library.options.fontsize;
  341.                         Name = 'Box';
  342.                         Size = UDim2.new(0, 60, 0, 20);
  343.                         Position = UDim2.new(1, -65, 0, 3);
  344.                         TextColor3 = library.options.textcolor;
  345.                         BackgroundColor3 = library.options.boxcolor;
  346.                         BorderColor3 = library.options.bordercolor;
  347.                         PlaceholderColor3 = library.options.placeholdercolor;
  348.                     })
  349.                 });
  350.                 Parent = self.container;
  351.             });
  352.  
  353.             local box = check:FindFirstChild(name):FindFirstChild('Box');
  354.             box.FocusLost:connect(function(e)
  355.                 local old = location[flag];
  356.                 if type == "number" then
  357.                     local num = tonumber(box.Text)
  358.                     if (not num) then
  359.                         box.Text = tonumber(location[flag])
  360.                     else
  361.                         location[flag] = math.clamp(num, min, max)
  362.                         box.Text = tonumber(location[flag])
  363.                     end
  364.                 else
  365.                     location[flag] = tostring(box.Text)
  366.                 end
  367.  
  368.                 callback(location[flag], old, e)
  369.             end)
  370.  
  371.             if type == 'number' then
  372.                 box:GetPropertyChangedSignal('Text'):connect(function()
  373.                     box.Text = string.gsub(box.Text, "[%a+]", "");
  374.                 end)
  375.             end
  376.  
  377.             self:Resize();
  378.             return box
  379.         end
  380.  
  381.         function types:Bind(name, options, callback)
  382.             local location     = options.location or self.flags;
  383.             local keyboardOnly = options.kbonly or false
  384.             local flag         = options.flag or "";
  385.             local callback     = callback or function() end;
  386.             local default      = options.default;
  387.  
  388.             if keyboardOnly and (not tostring(default):find('MouseButton')) then
  389.                 location[flag] = default
  390.             end
  391.  
  392.             local banned = {
  393.                 Return = true;
  394.                 Space = true;
  395.                 Tab = true;
  396.                 Unknown = true;
  397.             }
  398.  
  399.             local shortNames = {
  400.                 RightControl = 'RightCtrl';
  401.                 LeftControl = 'LeftCtrl';
  402.                 LeftShift = 'LShift';
  403.                 RightShift = 'RShift';
  404.                 MouseButton1 = "Mouse1";
  405.                 MouseButton2 = "Mouse2";
  406.             }
  407.  
  408.             local allowed = {
  409.                 MouseButton1 = true;
  410.                 MouseButton2 = true;
  411.             }      
  412.  
  413.             local nm = (default and (shortNames[default.Name] or default.Name) or "None");
  414.             local check = library:Create('Frame', {
  415.                 BackgroundTransparency = 1;
  416.                 Size = UDim2.new(1, 0, 0, 30);
  417.                 LayoutOrder = self:GetOrder();
  418.                 library:Create('TextLabel', {
  419.                     Name = name;
  420.                     Text = "\r" .. name;
  421.                     BackgroundTransparency = 1;
  422.                     TextColor3 = library.options.textcolor;
  423.                     Position = UDim2.new(0, 5, 0, 0);
  424.                     Size     = UDim2.new(1, -5, 1, 0);
  425.                     TextXAlignment = Enum.TextXAlignment.Left;
  426.                     Font = library.options.font;
  427.                     TextSize = library.options.fontsize;
  428.                     TextStrokeTransparency = library.options.textstroke;
  429.                     TextStrokeColor3 = library.options.strokecolor;
  430.                     BorderColor3     = library.options.bordercolor;
  431.                     BorderSizePixel  = 1;
  432.                     library:Create('TextButton', {
  433.                         Name = 'Keybind';
  434.                         Text = nm;
  435.                         TextStrokeTransparency = library.options.textstroke;
  436.                         TextStrokeColor3 = library.options.strokecolor;
  437.                         Font = library.options.font;
  438.                         TextSize = library.options.fontsize;
  439.                         Size = UDim2.new(0, 60, 0, 20);
  440.                         Position = UDim2.new(1, -65, 0, 5);
  441.                         TextColor3 = library.options.textcolor;
  442.                         BackgroundColor3 = library.options.bgcolor;
  443.                         BorderColor3     = library.options.bordercolor;
  444.                         BorderSizePixel  = 1;
  445.                     })
  446.                 });
  447.                 Parent = self.container;
  448.             });
  449.  
  450.             local button = check:FindFirstChild(name).Keybind;
  451.             button.MouseButton1Click:connect(function()
  452.                 library.binding = true
  453.  
  454.                 button.Text = "..."
  455.                 local a, b = game:GetService('UserInputService').InputBegan:wait();
  456.                 local name = tostring(a.KeyCode.Name);
  457.                 local typeName = tostring(a.UserInputType.Name);
  458.  
  459.                 if (a.UserInputType ~= Enum.UserInputType.Keyboard and (allowed[a.UserInputType.Name]) and (not keyboardOnly)) or (a.KeyCode and (not banned[a.KeyCode.Name])) then
  460.                     local name = (a.UserInputType ~= Enum.UserInputType.Keyboard and a.UserInputType.Name or a.KeyCode.Name);
  461.                     location[flag] = (a);
  462.                     button.Text = shortNames[name] or name;
  463.  
  464.                 else
  465.                     if (location[flag]) then
  466.                         if (not pcall(function()
  467.                             return location[flag].UserInputType
  468.                         end)) then
  469.                             local name = tostring(location[flag])
  470.                             button.Text = shortNames[name] or name
  471.                         else
  472.                             local name = (location[flag].UserInputType ~= Enum.UserInputType.Keyboard and location[flag].UserInputType.Name or location[flag].KeyCode.Name);
  473.                             button.Text = shortNames[name] or name;
  474.                         end
  475.                     end
  476.                 end
  477.  
  478.                 wait(0.1)  
  479.                 library.binding = false;
  480.             end)
  481.  
  482.             if location[flag] then
  483.                 button.Text = shortNames[tostring(location[flag].Name)] or tostring(location[flag].Name)
  484.             end
  485.  
  486.             library.binds[flag] = {
  487.                 location = location;
  488.                 callback = callback;
  489.             };
  490.  
  491.             self:Resize();
  492.         end
  493.  
  494.         function types:Section(name)
  495.             local order = self:GetOrder();
  496.             local determinedSize = UDim2.new(1, 0, 0, 25)
  497.             local determinedPos = UDim2.new(0, 1, 0, 5);
  498.             local secondarySize = UDim2.new(1, -2, 0, 18);
  499.  
  500.             if order == 0 then
  501.                 determinedSize = UDim2.new(1, 0, 0, 21)
  502.                 determinedPos = UDim2.new(0, 0, 0, -1);
  503.                 secondarySize = nil
  504.             end
  505.  
  506.             local check = library:Create('Frame', {
  507.                 Name = 'Section';
  508.                 BackgroundTransparency = 1;
  509.                 Size = determinedSize;
  510.                 BackgroundColor3 = library.options.sectncolor;
  511.                 BorderSizePixel = 0;
  512.                 LayoutOrder = order;
  513.                 library:Create('TextLabel', {
  514.                     Name = 'section_lbl';
  515.                     Text = name;
  516.                     BackgroundTransparency = 0;
  517.                     BorderSizePixel = 1;
  518.                     BorderColor3 = library.options.bordercolor;
  519.                     BackgroundColor3 = library.options.sectncolor;
  520.                     TextColor3 = library.options.textcolor;
  521.                     Position = determinedPos;
  522.                     Size     = (secondarySize or UDim2.new(1, 0, 1, 0));
  523.                     Font = library.options.font;
  524.                     TextSize = library.options.fontsize;
  525.                     TextStrokeTransparency = library.options.textstroke;
  526.                     TextStrokeColor3 = library.options.strokecolor;
  527.                 });
  528.                 Parent = self.container;
  529.             });
  530.  
  531.             self:Resize();
  532.         end
  533.  
  534.         function types:Slider(name, options, callback)
  535.             local default = options.default or options.min;
  536.             local min     = options.min or 0;
  537.             local max      = options.max or 1;
  538.             local location = options.location or self.flags;
  539.             local precise  = options.precise  or false -- e.g 0, 1 vs 0, 0.1, 0.2, ...
  540.             local flag     = options.flag or "";
  541.             local callback = callback or function() end
  542.  
  543.             location[flag] = default;
  544.  
  545.             local check = library:Create('Frame', {
  546.                 BackgroundTransparency = 1;
  547.                 Size = UDim2.new(1, 0, 0, 25);
  548.                 LayoutOrder = self:GetOrder();
  549.                 library:Create('TextLabel', {
  550.                     Name = name;
  551.                     TextStrokeTransparency = library.options.textstroke;
  552.                     TextStrokeColor3 = library.options.strokecolor;
  553.                     Text = "\r" .. name;
  554.                     BackgroundTransparency = 1;
  555.                     TextColor3 = library.options.textcolor;
  556.                     Position = UDim2.new(0, 5, 0, 2);
  557.                     Size     = UDim2.new(1, -5, 1, 0);
  558.                     TextXAlignment = Enum.TextXAlignment.Left;
  559.                     Font = library.options.font;
  560.                     TextSize = library.options.fontsize;
  561.                     library:Create('Frame', {
  562.                         Name = 'Container';
  563.                         Size = UDim2.new(0, 60, 0, 20);
  564.                         Position = UDim2.new(1, -65, 0, 3);
  565.                         BackgroundTransparency = 1;
  566.                         --BorderColor3 = library.options.bordercolor;
  567.                         BorderSizePixel = 0;
  568.                         library:Create('TextLabel', {
  569.                             Name = 'ValueLabel';
  570.                             Text = default;
  571.                             BackgroundTransparency = 1;
  572.                             TextColor3 = library.options.textcolor;
  573.                             Position = UDim2.new(0, -10, 0, 0);
  574.                             Size     = UDim2.new(0, 1, 1, 0);
  575.                             TextXAlignment = Enum.TextXAlignment.Right;
  576.                             Font = library.options.font;
  577.                             TextSize = library.options.fontsize;
  578.                             TextStrokeTransparency = library.options.textstroke;
  579.                             TextStrokeColor3 = library.options.strokecolor;
  580.                         });
  581.                         library:Create('TextButton', {
  582.                             Name = 'Button';
  583.                             Size = UDim2.new(0, 5, 1, -2);
  584.                             Position = UDim2.new(0, 0, 0, 1);
  585.                             AutoButtonColor = false;
  586.                             Text = "";
  587.                             BackgroundColor3 = Color3.fromRGB(20, 20, 20);
  588.                             BorderSizePixel = 0;
  589.                             ZIndex = 2;
  590.                             TextStrokeTransparency = library.options.textstroke;
  591.                             TextStrokeColor3 = library.options.strokecolor;
  592.                         });
  593.                         library:Create('Frame', {
  594.                             Name = 'Line';
  595.                             BackgroundTransparency = 0;
  596.                             Position = UDim2.new(0, 0, 0.5, 0);
  597.                             Size     = UDim2.new(1, 0, 0, 1);
  598.                             BackgroundColor3 = Color3.fromRGB(255, 255, 255);
  599.                             BorderSizePixel = 0;
  600.                         });
  601.                     })
  602.                 });
  603.                 Parent = self.container;
  604.             });
  605.  
  606.             local overlay = check:FindFirstChild(name);
  607.  
  608.             local renderSteppedConnection;
  609.             local inputBeganConnection;
  610.             local inputEndedConnection;
  611.             local mouseLeaveConnection;
  612.             local mouseDownConnection;
  613.             local mouseUpConnection;
  614.  
  615.             check:FindFirstChild(name).Container.MouseEnter:connect(function()
  616.                 local function update()
  617.                     if renderSteppedConnection then renderSteppedConnection:disconnect() end
  618.  
  619.  
  620.                     renderSteppedConnection = game:GetService('RunService').RenderStepped:connect(function()
  621.                         local mouse = game:GetService("UserInputService"):GetMouseLocation()
  622.                         local percent = (mouse.X - overlay.Container.AbsolutePosition.X) / (overlay.Container.AbsoluteSize.X)
  623.                         percent = math.clamp(percent, 0, 1)
  624.                         percent = tonumber(string.format("%.2f", percent))
  625.  
  626.                         overlay.Container.Button.Position = UDim2.new(math.clamp(percent, 0, 0.99), 0, 0, 1)
  627.  
  628.                         local num = min + (max - min) * percent
  629.                         local value = (precise and num or math.floor(num))
  630.  
  631.                         overlay.Container.ValueLabel.Text = value;
  632.                         callback(tonumber(value))
  633.                         location[flag] = tonumber(value)
  634.                     end)
  635.                 end
  636.  
  637.                 local function disconnect()
  638.                     if renderSteppedConnection then renderSteppedConnection:disconnect() end
  639.                     if inputBeganConnection then inputBeganConnection:disconnect() end
  640.                     if inputEndedConnection then inputEndedConnection:disconnect() end
  641.                     if mouseLeaveConnection then mouseLeaveConnection:disconnect() end
  642.                     if mouseUpConnection then mouseUpConnection:disconnect() end
  643.                 end
  644.  
  645.                 inputBeganConnection = check:FindFirstChild(name).Container.InputBegan:connect(function(input)
  646.                     if input.UserInputType == Enum.UserInputType.MouseButton1 then
  647.                         update()
  648.                     end
  649.                 end)
  650.  
  651.                 inputEndedConnection = check:FindFirstChild(name).Container.InputEnded:connect(function(input)
  652.                     if input.UserInputType == Enum.UserInputType.MouseButton1 then
  653.                         disconnect()
  654.                     end
  655.                 end)
  656.  
  657.                 mouseDownConnection = check:FindFirstChild(name).Container.Button.MouseButton1Down:connect(update)
  658.                 mouseUpConnection   = game:GetService("UserInputService").InputEnded:connect(function(a, b)
  659.                     if a.UserInputType == Enum.UserInputType.MouseButton1 and (mouseDownConnection.Connected) then
  660.                         disconnect()
  661.                     end
  662.                 end)
  663.             end)    
  664.  
  665.             if default ~= min then
  666.                 local percent = 1 - ((max - default) / (max - min))
  667.                 local number  = default
  668.  
  669.                 number = tonumber(string.format("%.2f", number))
  670.                 if (not precise) then
  671.                     number = math.floor(number)
  672.                 end
  673.  
  674.                 overlay.Container.Button.Position  = UDim2.new(math.clamp(percent, 0, 0.99), 0,  0, 1)
  675.                 overlay.Container.ValueLabel.Text  = number
  676.             end
  677.  
  678.             self:Resize();
  679.             return {
  680.                 Set = function(self, value)
  681.                     local percent = 1 - ((max - value) / (max - min))
  682.                     local number  = value
  683.  
  684.                     number = tonumber(string.format("%.2f", number))
  685.                     if (not precise) then
  686.                         number = math.floor(number)
  687.                     end
  688.  
  689.                     overlay.Container.Button.Position  = UDim2.new(math.clamp(percent, 0, 0.99), 0,  0, 1)
  690.                     overlay.Container.ValueLabel.Text  = number
  691.                     location[flag] = number
  692.                     callback(number)
  693.                 end
  694.             }
  695.         end
  696.  
  697.         function types:SearchBox(text, options, callback)
  698.             local list = options.list or {};
  699.             local flag = options.flag or "";
  700.             local location = options.location or self.flags;
  701.             local callback = callback or function() end;
  702.  
  703.             local busy = false;
  704.             local box = library:Create('Frame', {
  705.                 BackgroundTransparency = 1;
  706.                 Size = UDim2.new(1, 0, 0, 25);
  707.                 LayoutOrder = self:GetOrder();
  708.                 library:Create('TextBox', {
  709.                     Text = "";
  710.                     PlaceholderText = text;
  711.                     PlaceholderColor3 = Color3.fromRGB(60, 60, 60);
  712.                     Font = library.options.font;
  713.                     TextSize = library.options.fontsize;
  714.                     Name = 'Box';
  715.                     Size = UDim2.new(1, -10, 0, 20);
  716.                     Position = UDim2.new(0, 5, 0, 4);
  717.                     TextColor3 = library.options.textcolor;
  718.                     BackgroundColor3 = library.options.dropcolor;
  719.                     BorderColor3 = library.options.bordercolor;
  720.                     TextStrokeTransparency = library.options.textstroke;
  721.                     TextStrokeColor3 = library.options.strokecolor;
  722.                     library:Create('ScrollingFrame', {
  723.                         Position = UDim2.new(0, 0, 1, 1);
  724.                         Name = 'Container';
  725.                         BackgroundColor3 = library.options.btncolor;
  726.                         ScrollBarThickness = 0;
  727.                         BorderSizePixel = 0;
  728.                         BorderColor3 = library.options.bordercolor;
  729.                         Size = UDim2.new(1, 0, 0, 0);
  730.                         library:Create('UIListLayout', {
  731.                             Name = 'ListLayout';
  732.                             SortOrder = Enum.SortOrder.LayoutOrder;
  733.                         });
  734.                         ZIndex = 2;
  735.                     });
  736.                 });
  737.                 Parent = self.container;
  738.             })
  739.  
  740.             local function rebuild(text)
  741.                 box:FindFirstChild('Box').Container.ScrollBarThickness = 0
  742.                 for i, child in next, box:FindFirstChild('Box').Container:GetChildren() do
  743.                     if (not child:IsA('UIListLayout')) then
  744.                         child:Destroy();
  745.                     end
  746.                 end
  747.  
  748.                 if #text > 0 then
  749.                     for i, v in next, list do
  750.                         if string.sub(string.lower(v), 1, string.len(text)) == string.lower(text) then
  751.                             local button = library:Create('TextButton', {
  752.                                 Text = v;
  753.                                 Font = library.options.font;
  754.                                 TextSize = library.options.fontsize;
  755.                                 TextColor3 = library.options.textcolor;
  756.                                 BorderColor3 = library.options.bordercolor;
  757.                                 TextStrokeTransparency = library.options.textstroke;
  758.                                 TextStrokeColor3 = library.options.strokecolor;
  759.                                 Parent = box:FindFirstChild('Box').Container;
  760.                                 Size = UDim2.new(1, 0, 0, 20);
  761.                                 LayoutOrder = i;
  762.                                 BackgroundColor3 = library.options.btncolor;
  763.                                 ZIndex = 2;
  764.                             })
  765.  
  766.                             button.MouseButton1Click:connect(function()
  767.                                 busy = true;
  768.                                 box:FindFirstChild('Box').Text = button.Text;
  769.                                 wait();
  770.                                 busy = false;
  771.  
  772.                                 location[flag] = button.Text;
  773.                                 callback(location[flag])
  774.  
  775.                                 box:FindFirstChild('Box').Container.ScrollBarThickness = 0
  776.                                 for i, child in next, box:FindFirstChild('Box').Container:GetChildren() do
  777.                                     if (not child:IsA('UIListLayout')) then
  778.                                         child:Destroy();
  779.                                     end
  780.                                 end
  781.                                 box:FindFirstChild('Box').Container:TweenSize(UDim2.new(1, 0, 0, 0), 'Out', 'Quad', 0.25, true)
  782.                             end)
  783.                         end
  784.                     end
  785.                 end
  786.  
  787.                 local c = box:FindFirstChild('Box').Container:GetChildren()
  788.                 local ry = (20 * (#c)) - 20
  789.  
  790.                 local y = math.clamp((20 * (#c)) - 20, 0, 100)
  791.                 if ry > 100 then
  792.                     box:FindFirstChild('Box').Container.ScrollBarThickness = 5;
  793.                 end
  794.  
  795.                 box:FindFirstChild('Box').Container:TweenSize(UDim2.new(1, 0, 0, y), 'Out', 'Quad', 0.25, true)
  796.                 box:FindFirstChild('Box').Container.CanvasSize = UDim2.new(1, 0, 0, (20 * (#c)) - 20)
  797.             end
  798.  
  799.             box:FindFirstChild('Box'):GetPropertyChangedSignal('Text'):connect(function()
  800.                 if (not busy) then
  801.                     rebuild(box:FindFirstChild('Box').Text)
  802.                 end
  803.             end);
  804.  
  805.             local function reload(new_list)
  806.                 list = new_list;
  807.                 rebuild("")
  808.             end
  809.             self:Resize();
  810.             return reload, box:FindFirstChild('Box');
  811.         end
  812.  
  813.         function types:Dropdown(name, options, callback)
  814.             local location = options.location or self.flags;
  815.             local flag = options.flag or "";
  816.             local callback = callback or function() end;
  817.             local list = options.list or {};
  818.             local droptype = options.type or 'single'
  819.             local SearchOption = options.search or false
  820.             local default =  (options.default and ((droptype == 'multi' and {table.unpack(options.default)}) or (droptype == 'single' and options.default)))or ((droptype == 'multi' and {table.unpack(list)}) or (droptype == 'single' and list[1]))
  821.  
  822.             location[flag] = default
  823.             local check = library:Create('Frame', {
  824.                 BackgroundTransparency = 1;
  825.                 Size = UDim2.new(1, 0, 0, 25);
  826.                 BackgroundColor3 = Color3.fromRGB(25, 25, 25);
  827.                 BorderSizePixel = 0;
  828.                 LayoutOrder = self:GetOrder();
  829.                 library:Create('Frame', {
  830.                     Name = 'dropdown_lbl';
  831.                     BackgroundTransparency = 0;
  832.                     BackgroundColor3 = library.options.dropcolor;
  833.                     Position = UDim2.new(0, 5, 0, 4);
  834.                     BorderColor3 = library.options.bordercolor;
  835.                     Size     = UDim2.new(1, -10, 0, 20);
  836.                     library:Create('TextLabel', {
  837.                         Name = 'Selection';
  838.                         Size = UDim2.new(1, 0, 1, 0);
  839.                         Text = name;
  840.                         TextColor3 = library.options.textcolor;
  841.                         BackgroundTransparency = 1;
  842.                         Font = library.options.font;
  843.                         TextSize = library.options.fontsize;
  844.                         TextStrokeTransparency = library.options.textstroke;
  845.                         TextStrokeColor3 = library.options.strokecolor;
  846.                     });
  847.                     library:Create("TextButton", {
  848.                         Name = 'drop';
  849.                         BackgroundTransparency = 1;
  850.                         Size = UDim2.new(0, 20, 1, 0);
  851.                         Position = UDim2.new(1, -25, 0, 0);
  852.                         Text = 'v';
  853.                         TextColor3 = library.options.textcolor;
  854.                         Font = library.options.font;
  855.                         TextSize = library.options.fontsize;
  856.                         TextStrokeTransparency = library.options.textstroke;
  857.                         TextStrokeColor3 = library.options.strokecolor;
  858.                     })
  859.                 });
  860.                 Parent = self.container;
  861.             });
  862.  
  863.             local button = check:FindFirstChild('dropdown_lbl').drop;
  864.             local input;
  865.  
  866.             button.MouseButton1Click:connect(function()
  867.                 if (input and input.Connected) then
  868.                     return
  869.                 end
  870.  
  871.                 check:FindFirstChild('dropdown_lbl'):WaitForChild('Selection').TextColor3 = Color3.fromRGB(60, 60, 60);
  872.                 check:FindFirstChild('dropdown_lbl'):WaitForChild('Selection').Text = (droptype == 'multi' and tostring("#"..tostring(#location[flag]).." selected")) or location[flag];
  873.                 local c = (SearchOption and 20) or 0;
  874.                 for i, v in next, list do
  875.                     c = c + 20;
  876.                 end
  877.  
  878.                 local size = UDim2.new(1, 0, 0, c)
  879.  
  880.                 local clampedSize;
  881.                 local scrollSize = 0;
  882.                 if size.Y.Offset > 150 then
  883.                     clampedSize = UDim2.new(1, 0, 0, 150)
  884.                     scrollSize = 5;
  885.                 end
  886.  
  887.                 local goSize = (clampedSize ~= nil and clampedSize) or size;    
  888.                 local container = library:Create('ScrollingFrame', {
  889.                     TopImage = 'rbxasset://textures/ui/Scroll/scroll-middle.png';
  890.                     BottomImage = 'rbxasset://textures/ui/Scroll/scroll-middle.png';
  891.                     Name = 'DropContainer';
  892.                     Parent = check:FindFirstChild('dropdown_lbl');
  893.                     Size = UDim2.new(1, 0, 0, 0);
  894.                     BackgroundColor3 = library.options.bgcolor;
  895.                     BorderColor3 = library.options.bordercolor;
  896.                     Position = UDim2.new(0, 0, 1, 0);
  897.                     ScrollBarThickness = scrollSize;
  898.                     CanvasSize = UDim2.new(0, 0, 0, size.Y.Offset);
  899.                     ZIndex = 5;
  900.                     ClipsDescendants = true;
  901.                     library:Create('UIListLayout', {
  902.                         Name = 'List';
  903.                         SortOrder = Enum.SortOrder.LayoutOrder
  904.                     })
  905.                 })
  906.  
  907.                 if SearchOption then
  908.                     local searchbox = library:Create('TextBox', {
  909.                         Size = UDim2.new(1, 0, 0, 20);
  910.                         BackgroundColor3 = library.options.btncolor;
  911.                         BorderColor3 = library.options.bordercolor;
  912.                         Text = utf8.char(128269).."Search Box!";
  913.                         Font = library.options.font;
  914.                         TextSize = library.options.fontsize;
  915.                         LayoutOrder = 0;
  916.                         Parent = container;
  917.                         ZIndex = 5;
  918.                         TextColor3 = ((droptype == 'multi' and table.find(location[flag], v)) and Color3.fromRGB(0, 255, 0)) or ((droptype == 'single' and location[flag] == v) and Color3.fromRGB(0, 255, 0)) or library.options.textcolor;
  919.                         TextStrokeTransparency = library.options.textstroke;
  920.                         TextStrokeColor3 = library.options.strokecolor;
  921.                     })
  922.  
  923.                     searchbox:GetPropertyChangedSignal("Text"):Connect(function()
  924.                         for aaaah, fuck in pairs(container:GetChildren()) do
  925.                             if fuck.ClassName == 'TextButton' then
  926.                                 fuck.Visible = false
  927.                                 if searchbox.Text ~= nil and searchbox.Text ~= "" then
  928.                                     if string.find(string.lower(fuck.Text), string.lower(searchbox.Text)) then
  929.                                         fuck.Visible = true
  930.                                     end
  931.                                 else
  932.                                     fuck.Visible = true
  933.                                 end
  934.                             end
  935.                         end
  936.  
  937.                         local c = (SearchOption and 20) or 0;
  938.                         for a, b in pairs(container:GetChildren()) do
  939.                             if b.ClassName == 'TextButton' and b.Visible then
  940.                                 c = c + 20;
  941.                             end
  942.                         end
  943.  
  944.                         local size = UDim2.new(1, 0, 0, c)
  945.  
  946.                         local clampedSize;
  947.                         if size.Y.Offset > 150 then
  948.                             clampedSize = UDim2.new(1, 0, 0, 150)
  949.                         end
  950.  
  951.                         local goSize = (clampedSize ~= nil and clampedSize) or size;
  952.                         container:TweenSize(goSize, 'Out', 'Quad', 0.15, true)
  953.                     end)
  954.                 end
  955.  
  956.                 for i, v in next, list do
  957.                     local btn = library:Create('TextButton', {
  958.                         Size = UDim2.new(1, 0, 0, 20);
  959.                         BackgroundColor3 = library.options.btncolor;
  960.                         BorderColor3 = library.options.bordercolor;
  961.                         Text = v;
  962.                         Font = library.options.font;
  963.                         TextSize = library.options.fontsize;
  964.                         LayoutOrder = ((droptype == 'multi' and table.find(location[flag], v)) and 1) or i+1;
  965.                         Parent = container;
  966.                         ZIndex = 5;
  967.                         TextColor3 = ((droptype == 'multi' and table.find(location[flag], v)) and Color3.fromRGB(0, 255, 0)) or ((droptype == 'single' and location[flag] == v) and Color3.fromRGB(0, 255, 0)) or library.options.textcolor;
  968.                         TextStrokeTransparency = library.options.textstroke;
  969.                         TextStrokeColor3 = library.options.strokecolor;
  970.                     })
  971.  
  972.                     btn.MouseButton1Click:connect(function()
  973.                         if droptype == 'single' then
  974.                             location[flag] = tostring(btn.Text);
  975.                         elseif droptype == 'multi' then
  976.                             if not table.find(location[flag], btn.Text) then
  977.                                 table.insert(location[flag], btn.Text)
  978.                             else
  979.                                 for aaa = 1, #location[flag] do
  980.                                     if location[flag][aaa] == btn.Text then
  981.                                         table.remove(location[flag], aaa)
  982.                                     end
  983.                                 end
  984.                             end
  985.                         end
  986.                         for aaaah, fuck in pairs(container:GetChildren()) do
  987.                             if fuck.ClassName == 'TextButton' then
  988.                                 fuck.TextColor3 = ((droptype == 'multi' and table.find(location[flag], fuck.Text)) and Color3.fromRGB(0, 255, 0)) or ((droptype == 'single' and location[flag] == fuck.Text) and Color3.fromRGB(0, 255, 0)) or library.options.textcolor;
  989.                             end
  990.                         end
  991.  
  992.                         check:FindFirstChild('dropdown_lbl'):WaitForChild('Selection').TextColor3 = library.options.textcolor
  993.                         check:FindFirstChild('dropdown_lbl'):WaitForChild('Selection').Text = (droptype == 'multi' and tostring("#"..tostring(#location[flag]).." selected")) or btn.Text;
  994.  
  995.                         callback(location[flag])
  996.  
  997.                         if droptype == 'single' then
  998.                             container:TweenSize(UDim2.new(1, 0, 0, 0), 'In', 'Quad', 0.15, true)
  999.                             wait(0.15)
  1000.                             check:FindFirstChild('dropdown_lbl'):WaitForChild('Selection').Text       = (droptype == 'multi' and tostring("#"..tostring(#location[flag]).." selected")) or btn.Text;
  1001.                             game:GetService('Debris'):AddItem(container, 0)
  1002.                             input:disconnect();
  1003.                         end
  1004.                     end)
  1005.                 end
  1006.  
  1007.                 container:TweenSize(goSize, 'Out', 'Quad', 0.15, true)
  1008.  
  1009.                 local function isInGui(frame)
  1010.                     local mloc = game:GetService('UserInputService'):GetMouseLocation();
  1011.                     local mouse = Vector2.new(mloc.X, mloc.Y - 36);
  1012.  
  1013.                     local x1, x2 = frame.AbsolutePosition.X, frame.AbsolutePosition.X + frame.AbsoluteSize.X;
  1014.                     local y1, y2 = frame.AbsolutePosition.Y, frame.AbsolutePosition.Y + frame.AbsoluteSize.Y;
  1015.  
  1016.                     return (mouse.X >= x1 and mouse.X <= x2) and (mouse.Y >= y1 and mouse.Y <= y2)
  1017.                 end
  1018.  
  1019.                 input = game:GetService('UserInputService').InputBegan:connect(function(a)
  1020.                     if a.UserInputType == Enum.UserInputType.MouseButton1 and (not isInGui(container)) then
  1021.                         check:FindFirstChild('dropdown_lbl'):WaitForChild('Selection').TextColor3 = library.options.textcolor
  1022.                         check:FindFirstChild('dropdown_lbl'):WaitForChild('Selection').Text       = name;
  1023.  
  1024.                         container:TweenSize(UDim2.new(1, 0, 0, 0), 'In', 'Quad', 0.15, true)
  1025.                         wait(0.15)
  1026.  
  1027.                         game:GetService('Debris'):AddItem(container, 0)
  1028.                         input:disconnect();
  1029.                     end
  1030.                 end)
  1031.             end)
  1032.  
  1033.             self:Resize();
  1034.             local function reload(self, array)
  1035.                 options = array;
  1036.                 location[flag] = array[1];
  1037.                 pcall(function()
  1038.                     input:disconnect()
  1039.                 end)
  1040.                 check:WaitForChild('dropdown_lbl').Selection.Text = (droptype == 'multi' and tostring("#"..tostring(#location[flag]).." selected")) or location[flag];
  1041.                 check:FindFirstChild('dropdown_lbl'):WaitForChild('Selection').TextColor3 = library.options.textcolor
  1042.                 game:GetService('Debris'):AddItem(container, 0)
  1043.             end
  1044.  
  1045.             return {
  1046.                 Refresh = reload;
  1047.             }
  1048.         end
  1049.     end
  1050.  
  1051.     function library:Create(class, data)
  1052.         local obj = Instance.new(class);
  1053.         for i, v in next, data do
  1054.             if i ~= 'Parent' then
  1055.  
  1056.                 if typeof(v) == "Instance" then
  1057.                     v.Parent = obj;
  1058.                 else
  1059.                     obj[i] = v
  1060.                 end
  1061.             end
  1062.         end
  1063.  
  1064.         obj.Parent = data.Parent;
  1065.         return obj
  1066.     end
  1067.  
  1068.     function library:CreateWindow(name, options)
  1069.         if (not library.container) then
  1070.             library.container = self:Create("ScreenGui", {
  1071.                 self:Create('Frame', {
  1072.                     Name = 'Container';
  1073.                     Size = UDim2.new(1, -30, 1, 0);
  1074.                     Position = UDim2.new(0, 20, 0, 20);
  1075.                     BackgroundTransparency = 1;
  1076.                     Active = false;
  1077.                 });
  1078.                 Parent = game:GetService("CoreGui");
  1079.             }):FindFirstChild('Container');
  1080.         end
  1081.  
  1082.         if (not library.options) then
  1083.             library.options = setmetatable(options or {}, {__index = defaults})
  1084.         end
  1085.  
  1086.         local window = types.window(name, library.options);
  1087.         dragger.new(window.object);
  1088.         return window
  1089.     end
  1090.  
  1091.     default = {
  1092.         topcolor       = Color3.fromRGB(30, 30, 30);
  1093.         titlecolor     = Color3.fromRGB(255, 255, 255);
  1094.  
  1095.         underlinecolor = Color3.fromRGB(0, 255, 140);
  1096.         bgcolor        = Color3.fromRGB(35, 35, 35);
  1097.         boxcolor       = Color3.fromRGB(35, 35, 35);
  1098.         btncolor       = Color3.fromRGB(25, 25, 25);
  1099.         dropcolor      = Color3.fromRGB(25, 25, 25);
  1100.         sectncolor     = Color3.fromRGB(10, 10, 10);
  1101.         bordercolor    = Color3.fromRGB(60, 60, 60);
  1102.  
  1103.         font           = Enum.Font.SourceSans;
  1104.         titlefont      = Enum.Font.Code;
  1105.  
  1106.         fontsize       = 17;
  1107.         titlesize      = 18;
  1108.  
  1109.         textstroke     = 1;
  1110.         titlestroke    = 1;
  1111.  
  1112.         strokecolor    = Color3.fromRGB(0, 0, 0);
  1113.  
  1114.         textcolor      = Color3.fromRGB(255, 255, 255);
  1115.         titletextcolor = Color3.fromRGB(255, 255, 255);
  1116.  
  1117.         placeholdercolor = Color3.fromRGB(255, 255, 255);
  1118.         titlestrokecolor = Color3.fromRGB(0, 0, 0);
  1119.     }
  1120.  
  1121.     library.options = setmetatable({}, {__index = default})
  1122.  
  1123.     spawn(function()
  1124.         while true do
  1125.             for i=0, 1, 1 / 300 do              
  1126.                 for _, obj in next, library.rainbowtable do
  1127.                     obj.BackgroundColor3 = Color3.fromHSV(i, 1, 1);
  1128.                 end
  1129.                 wait()
  1130.             end;
  1131.         end
  1132.     end)
  1133.  
  1134.     local function isreallypressed(bind, inp)
  1135.         local key = bind
  1136.         if typeof(key) == "Instance" then
  1137.             if key.UserInputType == Enum.UserInputType.Keyboard and inp.KeyCode == key.KeyCode then
  1138.                 return true;
  1139.             elseif tostring(key.UserInputType):find('MouseButton') and inp.UserInputType == key.UserInputType then
  1140.                 return true
  1141.             end
  1142.         end
  1143.         if tostring(key):find'MouseButton1' then
  1144.             return key == inp.UserInputType
  1145.         else
  1146.             return key == inp.KeyCode
  1147.         end
  1148.     end
  1149.  
  1150.     game:GetService("UserInputService").InputBegan:connect(function(input)
  1151.         if (not library.binding) then
  1152.             for idx, binds in next, library.binds do
  1153.                 local real_binding = binds.location[idx];
  1154.                 if real_binding and isreallypressed(real_binding, input) then
  1155.                     binds.callback()
  1156.                 end
  1157.             end
  1158.         end
  1159.     end)
  1160. end
  1161.  
  1162. library.options.underlinecolor = "rainbow"
  1163.  
  1164.  
  1165. -- local Play = game:GetService("Players").LocalPlayer.PlayerGui:WaitForChild("MainMenu"):WaitForChild("Home"):WaitForChild("Buttons"):WaitForChild("Play")
  1166. -- local events = {"MouseButton1Click", "MouseButton1Down", "MouseButton1Up", "Activated"}
  1167. -- for i,v in pairs(events) do
  1168. --     firesignal(Play[v])
  1169. --     for i, v in pairs(getconnections(Play[v])) do
  1170. --         v:Fire()
  1171. --     end
  1172. -- end
  1173.  
  1174. local function survive()
  1175.     for i,v in pairs(game:GetService("Workspace"):GetDescendants()) do
  1176.         if v:FindFirstChild("TouchInterest") and v.Name == "Killer" or v.Name == "Sword" or v.Name == "SwampKillBrick" or v.Name == "Lava" then
  1177.             v:Destroy()
  1178.         end
  1179.     end
  1180. end
  1181.  
  1182. local function tween(NewCframe)
  1183.     local Player = game.Players.LocalPlayer
  1184.     local Character = Player.Character or Player.CharacterAdded:Wait()
  1185.  
  1186.     --local tween =  game:GetService("TweenService"):Create(Character:WaitForChild("HumanoidRootPart", 5), TweenInfo.new(2.5), {CFrame = NewCframe})
  1187.     --tween:Play()
  1188.     --tween.Completed:Wait()
  1189.  
  1190.     getgenv().DoTp = true
  1191.     spawn(function() wait(4.5) getgenv().DoTp = false end)
  1192.     repeat task.wait()
  1193.         pcall(function() Character:WaitForChild("HumanoidRootPart", 5).CFrame = NewCframe end)
  1194.     until not DoTp
  1195. end
  1196.  
  1197. local function run()
  1198.     local Points = game:GetService("Workspace"):WaitForChild("ObbyCheckpoints", 5)
  1199.     for i = 1, 11 do
  1200.             local str = tostring("ObbyCheckpoint" .. i)
  1201.             pcall(function() survive() end)
  1202.             pcall(function() tween(Points[str].CFrame) end)
  1203.     end
  1204.     pcall(function() survive() end)
  1205.     pcall(function() tween(game:GetService("Workspace"):WaitForChild("ObbyButton3", 5):WaitForChild("Button", 5).CFrame) end)
  1206. end
  1207.  
  1208.  
  1209. if not Preset then
  1210.     getgenv().Preset = {}
  1211. end
  1212.  
  1213. getgenv().Preset = {
  1214.     Collect = Preset.Collect or true;
  1215.     Deposit = Preset.Deposit or true;
  1216.     SlimeAmount = Preset.SlimeAmount or 1;
  1217.     BuySlime = Preset.BuySlime or true;
  1218.     BuyDropRate = Preset.BuyDropRate or false;
  1219.     AutoMerge = Preset.AutoMerge or true;
  1220.     Obby = Preset.Obby or false;
  1221.     KickOnLimit = Preset.KickOnLimit or false
  1222. }
  1223.  
  1224.  
  1225. local Window = library:CreateWindow("Slime Tower Tycoon")
  1226.  
  1227. local Plot = nil
  1228. repeat task.wait()
  1229.     for i,v in pairs(game:GetService("Workspace").Plots:GetChildren()) do
  1230.         if v:GetAttribute("UserId") == game.Players.LocalPlayer.UserId then
  1231.             Plot = v
  1232.         end
  1233.     end
  1234. until Plot ~= nil
  1235.  
  1236. local CollectDrops = Window:Toggle("Collect Drops", {flag = "Collect", default = Preset.Collect}, function()
  1237.     while task.wait() and Window.flags.Collect do
  1238.     local Player = game.Players.LocalPlayer
  1239.     local Character = Player.Character or Player.CharacterAdded:Wait()
  1240.         for i,v in pairs(Workspace.Drops:GetChildren()) do
  1241.             pcall(function() v.CFrame = Character:WaitForChild("HumanoidRootPart", 5).CFrame end)
  1242.         end
  1243.     end
  1244. end)
  1245.  
  1246. local DepositDrops = Window:Toggle("Deposit Drops", {flag = "Deposit", default = Preset.Deposit}, function()
  1247.     while task.wait() and Window.flags.Deposit do
  1248.         pcall(function() game:GetService("ReplicatedStorage").GTycoonClient.Remotes.DepositDrops:FireServer() end)
  1249.     end
  1250. end)
  1251.  
  1252. local SlimeNum = Window:Dropdown("Amount", {flag = "SlimeAmount", list = {1, 5, 10, 25, 100, 1000, 10000}, default = Preset.SlimeAmount})
  1253.  
  1254. local function tonum(poo)
  1255.     local number = string.gsub(poo, "%D", "")
  1256.     local abrev = string.gsub(poo, "%d+", "")
  1257.  
  1258.     if abrev == "K" then
  1259.     number = number * 1000
  1260.     elseif abrev == "M" then
  1261.         number = number * 1000000
  1262.     elseif abrev == "B" then
  1263.         number = number * 1000000000
  1264.     elseif abrev == "T" then
  1265.         number = number * 1000000000000
  1266.     end
  1267.  
  1268.     return number
  1269. end
  1270.  
  1271. local BuySlime = Window:Toggle("Auto Buy Slime", {flag = "BuySlime", default = Preset.BuySlime}, function()
  1272.     while task.wait(0.05) and Window.flags.BuySlime do
  1273.         local cost = string.gsub(Plot:WaitForChild("Buttons").BuyDropper.Button.BillboardGui.DropperCost.Text, "%$", "")
  1274.         local cost = tonum(cost)
  1275.         repeat task.wait(0,05) until game:GetService("Players").LocalPlayer.leaderstats.Coins.Value > tonumber(cost * Window.flags.SlimeAmount)
  1276.         game:GetService("ReplicatedStorage").GTycoonClient.Remotes.BuyDropper:FireServer(Window.flags.SlimeAmount)
  1277.     end
  1278. end)
  1279.  
  1280. local BuyRate = Window:Toggle("Auto Buy Rate", {flag = "BuyRate", default = Preset.BuyDropRate}, function()
  1281.     while task.wait(0.25) and Window.flags.BuyRate do
  1282.         game:GetService("ReplicatedStorage").GTycoonClient.Remotes.BuySpeed:FireServer(1)
  1283.     end
  1284. end)
  1285.  
  1286. local Merge = Window:Toggle("Auto Merge", {flag = "Merge", default = Preset.AutoMerge}, function()
  1287.     while task.wait(0.25) and Window.flags.Merge do
  1288.         game:GetService("ReplicatedStorage").GTycoonClient.Remotes.MergeDroppers:FireServer()
  1289.     end
  1290. end)
  1291.  
  1292. local Obby = Window:Toggle("Auto Obby", {flag = "Obby", default = Preset.Obby}, function()
  1293.     local DoThing = false
  1294.     while task.wait() and Window.flags.Obby do
  1295.         if #game:GetService("Players").LocalPlayer.Boosts:GetChildren() < 3 then
  1296.             DoThing = true
  1297.         else
  1298.             local Boosts = game:GetService("Players").LocalPlayer.Boosts:GetChildren()
  1299.             if Boosts[1].Value > 1200 and Boosts[2].Value > 1200 and Boosts[3].Value > 1200 then
  1300.                 DoThing = false
  1301.             elseif Boosts[1].Value < 240 or Boosts[2].Value < 240 or Boosts[3].Value < 240 then
  1302.                 DoThing = true
  1303.             end
  1304.         end
  1305.        
  1306.         if DoThing then
  1307.             run()
  1308.         end
  1309.     end
  1310. end)
  1311.  
  1312. local Kickonlimit = Window:Toggle("Kick on limit", {flag = "Kickonlimit", default = Preset.KickOnLimit}, function()
  1313.     while wait(1) and Window.flags.Kickonlimit do
  1314.         for i,v in pairs(game:GetService("Players").LocalPlayer.PlayerGui.Chat.Frame.ChatChannelParentFrame["Frame_MessageLogDisplay"].Scroller:GetChildren()) do
  1315.             if v.Name == "Frame" then
  1316.                 local Text = v:FindFirstChild("TextLabel")
  1317.                 if string.find(Text.Text, "Take a break. Maximum obby boosts per play session has been reached.") and Text.TextColor3 == Color3.fromRGB(255, 80, 83) then
  1318.                     game.Players.LocalPlayer:kick("Obby limit reached")
  1319.                 end
  1320.             end
  1321.         end
  1322.     end
  1323. end)
  1324.  
  1325. end
Add Comment
Please, Sign In to add comment