Jezilas

topkekv4

Jan 28th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 92.33 KB | None | 0 0
  1. --topkek v4
  2. -- syndicate fixed this for intriggered
  3. -- release by vermill122
  4. local topkek = {}
  5. topkek.patch = '1.0.5a'
  6. topkek.data = {}
  7. topkek.commandbase = {}
  8. topkek.navigation = {}
  9. topkek.banmgr = {}
  10. topkek.lplr = game:GetService('Players').LocalPlayer
  11.  
  12. topkek.tools = {}
  13. topkek.tools.gui = {}
  14. topkek.tools.util = {}
  15. topkek.tools.animator = {}
  16.  
  17. topkek.windows = {}
  18. topkek.windows.lplr = {}
  19. topkek.windows.server = {}
  20. topkek.windows.players = {}
  21. topkek.windows.destruction = {}
  22. topkek.windows.scripts = {}
  23. topkek.windows.misc = {}
  24.  
  25. topkek.misc = {}
  26.  
  27. topkek.gui = game:GetObjects("rbxassetid://678309209")[1]
  28. topkek.gui.Parent = game:GetService("CoreGui")
  29.  
  30. topkek.center = topkek.gui.Main
  31. topkek.holder = topkek.center.Holder
  32. topkek.topbar = topkek.center.Topbar
  33. topkek.template = topkek.holder.Template
  34. topkek.navigator = topkek.center.Navigation
  35.  
  36. AllowHovers = false
  37. PlayerChatHook, UpdateBanlist = nil
  38. cmd = {}
  39.  
  40. --// data //--
  41. topkek.data.windows = {
  42.     'Home',
  43.     'LocalPlayer',
  44.     'Server',
  45.     'Players',
  46.     'Destruction',
  47.     'Scripts',
  48.     'Catalog',
  49.     'Music',
  50.     'Hats',
  51.     'Faces',
  52.     'Settings',
  53.     'Commands',
  54.     'Banlist',
  55. }
  56.  
  57. color3 = function(r,g,b)
  58.     return Color3.new(r/255, g/255, b/255)
  59. end
  60. --// doggo dropdown //--
  61. -- thanks krystal
  62. GUI = {
  63.     TextBox = {
  64.         Settings = {
  65.             Font = Enum.Font.SourceSans;
  66.             FontSize = Enum.FontSize.Size14;
  67.         };
  68.         Color = {
  69.             Main = Color3.fromRGB(5,8,11);
  70.             Border = Color3.fromRGB(27,42,53);
  71.             Text = Color3.fromRGB(199,199,199);
  72.         };
  73.         New = function(Position, Size, Parent, ...)
  74.             local arguments = {...};
  75.            
  76.             local TextBox = Instance.new("TextBox", Parent);
  77.             TextBox.BackgroundColor3 = GUI.DropDown.Color.Main;
  78.             TextBox.BorderColor3 = GUI.DropDown.Color.Border;
  79.             TextBox.Font = GUI.TextBox.Settings.Font;
  80.             TextBox.FontSize = GUI.TextBox.Settings.FontSize;
  81.             TextBox.TextColor3 = GUI.TextBox.Color.Text;
  82.             TextBox.Position = Position;
  83.             TextBox.Size = Size;
  84.             if #arguments then
  85.                 if arguments[1] then
  86.                     TextBox.Text = tostring(arguments[1]);
  87.                 else
  88.                     TextBox.Text = "";
  89.                 end
  90.             end    
  91.             return TextBox;
  92.         end;
  93.     };
  94.     DropDown = {
  95.         Settings = {
  96.             ScrollerAmount = 5; --A scroller will appear at this amount.
  97.             ScrollBarThickness = 6;
  98.         };
  99.         Gfx = {
  100.             Scroller = "rbxassetid://606572419";
  101.         };
  102.         Color = {
  103.             Main = color3(107, 36, 36);
  104.             Secondary = color3(113, 39, 39);
  105.             Border = color3(127, 44, 44);
  106.             Text = Color3.fromRGB(199,199,199);
  107.         };
  108.         New = function(Position, Size, Parent, ...)
  109.             local vValue = {};
  110.             local arguments = {...};
  111.             local vSelected = Instance.new("StringValue");
  112.             vSelected.Value = "nil";
  113.            
  114.             if arguments then
  115.                 if type(arguments) == "table" then
  116.                     for i=1,#(arguments) do
  117.                         if type(arguments[i]) == "table" then
  118.                             for f=1,#(arguments[i]) do
  119.                                 table.insert(vValue, tostring((arguments[i])[f]));
  120.                             end
  121.                         else
  122.                             table.insert(vValue, tostring(arguments[i]));
  123.                         end
  124.                     end
  125.                     vSelected.Value = (vValue[1]);
  126.                 end
  127.             end
  128.            
  129.             local Main = Instance.new("TextButton", Parent);
  130.             Main.BackgroundColor3 = GUI.DropDown.Color.Main;
  131.             Main.BorderColor3 = GUI.DropDown.Color.Border;
  132.             Main.Position = Position;
  133.             Main.Size = Size;
  134.             Main.TextColor3 = GUI.DropDown.Color.Text;
  135.             Main.FontSize = Enum.FontSize.Size14;
  136.             Main.TextStrokeTransparency = 0.5;
  137.             Main.TextXAlignment = Enum.TextXAlignment.Left;
  138.             Main.Font = Enum.Font.SourceSans;
  139.             Main.Text = "  "..tostring(vSelected.Value);
  140.             Main.ZIndex = 3
  141.            
  142.             local Icon = Instance.new("TextLabel", Main);
  143.             Icon.SizeConstraint = Enum.SizeConstraint.RelativeYY;
  144.             Icon.BackgroundColor3 = GUI.DropDown.Color.Secondary;
  145.             Icon.BorderColor3 = GUI.DropDown.Color.Border;
  146.             Icon.Position = UDim2.new(1,-2,1,-2);
  147.             Icon.Size = UDim2.new(-1,4,-1,4);
  148.             Icon.TextColor3 = GUI.DropDown.Color.Text;
  149.             Icon.FontSize = Enum.FontSize.Size14;
  150.             Icon.TextStrokeTransparency = 0.5;
  151.             Icon.Font = Enum.Font.SourceSans;
  152.             Icon.Text = "V"
  153.             Icon.ZIndex = 4
  154.  
  155.             local Holder, Search;
  156.             local ClearHolder = function()
  157.                 if Holder then
  158.                     Holder:ClearAllChildren();
  159.                     Holder.Size = UDim2.new(1,0,0,0);
  160.                     Holder.Visible = false;
  161.                     if Search then
  162.                         Search.Visible = false;
  163.                     end
  164.                 end
  165.             end;
  166.            
  167.             local CreateButton;
  168.             local RefreshDropDown = function()
  169.                 if #vValue <= (GUI.DropDown.Settings.ScrollerAmount) then
  170.                     if not Holder or not Holder:IsA("Frame") then
  171.                         Holder = nil; Search = nil;
  172.                         Holder = Instance.new("Frame",Main);
  173.                         Holder.Size = UDim2.new(1,0,0,0);
  174.                         Holder.BackgroundColor3 = GUI.DropDown.Color.Main;
  175.                         Holder.BorderColor3 = GUI.DropDown.Color.Border;
  176.                         Holder.Visible = false;
  177.                         Holder.ZIndex = 3
  178.                     end
  179.                 elseif #vValue > (GUI.DropDown.Settings.ScrollerAmount) then
  180.                     if not Holder or not Holder:IsA("ScrollingFrame") then
  181.                         Holder = nil; Search = nil;
  182.                         Search = GUI.TextBox.New(UDim2.new(0,0,0,0),UDim2.new(1,0,0,Main.AbsoluteSize.Y),Main);
  183.                         Search.Visible = false;
  184.                         Search.ZIndex = 4
  185.                         Search.Changed:connect(function(p)
  186.                             if p == "Text" then
  187.                                 CreateButton(Search.Text);
  188.                             end
  189.                         end)
  190.                         Holder = Instance.new("ScrollingFrame",Main);
  191.                         Holder.BackgroundColor3 = GUI.DropDown.Color.Main;
  192.                         Holder.BorderColor3 = GUI.DropDown.Color.Border;
  193.                         Holder.TopImage = GUI.DropDown.Gfx.Scroller;
  194.                         Holder.MidImage = GUI.DropDown.Gfx.Scroller;
  195.                         Holder.BottomImage = GUI.DropDown.Gfx.Scroller;
  196.                         Holder.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y * (GUI.DropDown.Settings.ScrollerAmount-1));
  197.                         Holder.Position = UDim2.new(0,0,0,Main.AbsoluteSize.Y)
  198.                         Holder.ScrollBarThickness = GUI.DropDown.Settings.ScrollBarThickness;
  199.                         Holder.Visible = false;
  200.                         Holder.ZIndex = 3;
  201.                     end
  202.                 end
  203.                 if #vValue == 1 and vSelected.Value ~= vValue[1] then
  204.                     vSelected.Value = vValue[1];
  205.                 elseif #vValue == 0 then
  206.                     vSelected.Value = "nil";
  207.                     warn("Table amount is nil.");
  208.                 end
  209.                 Main.Text = "  "..tostring(vSelected.Value);
  210.                 --ClearHolder();
  211.             end;
  212.            
  213.             local Debounce = false;
  214.             CreateButton = function(searches)
  215.                 if Debounce == false then
  216.                     Debounce = true;
  217.                     ClearHolder()
  218.                     Holder.Visible = true;
  219.                     local Searched = 0;
  220.                     if #vValue > 0 then
  221.                         for i=1,#vValue do
  222.                             if (searches ~= nil and string.find(string.lower(vValue[i]), string.lower(searches)) and searches ~= "") then
  223.                                 Searched = Searched + 1;
  224.                             end
  225.                         end
  226.                         for i=1,#vValue do
  227.                             if (searches ~= nil and string.find(string.lower(vValue[i]), string.lower(searches)) and searches ~= "" and Searched > 0) or searches == nil or searches == "" or Searched <= 0 then
  228.                                 local Select = Instance.new("TextButton", Holder);
  229.                                 Select.BackgroundColor3 = GUI.DropDown.Color.Main;
  230.                                 Select.BorderColor3 = GUI.DropDown.Color.Border;
  231.                                 Select.BackgroundTransparency = 1;
  232.                                 Select.BorderSizePixel = 0;
  233.                                 Select.Position = Position;
  234.                                 if #vValue <= (GUI.DropDown.Settings.ScrollerAmount) then
  235.                                     Select.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y);
  236.                                 else
  237.                                     Select.Size = UDim2.new(1,-(GUI.DropDown.Settings.ScrollBarThickness),0,Main.AbsoluteSize.Y);
  238.                                 end
  239.                                 Select.Position = UDim2.new(0,0,0,(Main.AbsoluteSize.Y) * (#Holder:GetChildren() - 1))
  240.                                 Select.TextColor3 = GUI.DropDown.Color.Text;
  241.                                 Select.FontSize = Enum.FontSize.Size14;
  242.                                 Select.TextStrokeTransparency = 0.5;
  243.                                 Select.Font = Enum.Font.SourceSans;
  244.                                 Select.Text = tostring(vValue[i]);
  245.                                 Select.ZIndex = 3
  246.                                 Select.MouseButton1Click:connect(function()
  247.                                     vSelected.Value = vValue[i];
  248.                                     ClearHolder();
  249.                                     RefreshDropDown();
  250.                                 end)
  251.                                 if  #vValue <= (GUI.DropDown.Settings.ScrollerAmount) then
  252.                                     Holder.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y * i);
  253.                                 elseif Holder:IsA("ScrollingFrame") then
  254.                                     Search.Visible = true;
  255.                                     if #Holder:GetChildren() >= 1 then
  256.                                         Holder.CanvasSize = UDim2.new(1,0,0,Main.AbsoluteSize.Y * #Holder:GetChildren());
  257.                                         Holder.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y * #Holder:GetChildren());--GUI.DropDown.Settings.ScrollerAmount);
  258.                                         if #Holder:GetChildren() >= GUI.DropDown.Settings.ScrollerAmount then
  259.                                             Holder.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y * GUI.DropDown.Settings.ScrollerAmount);
  260.                                             Holder.CanvasSize = UDim2.new(1,0,0,Main.AbsoluteSize.Y * #Holder:GetChildren());
  261.                                         end
  262.                                     elseif #Holder:GetChildren() < 1 then
  263.                                         Holder.CanvasSize = UDim2.new(1,0,0,Main.AbsoluteSize.Y * 1);
  264.                                         Holder.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y * 1);
  265.                                     end
  266.                                 end
  267.                             end
  268.                         end
  269.                     end
  270.                     Debounce = false;
  271.                 end
  272.             end;
  273.            
  274.             RefreshDropDown();
  275.  
  276.             Main.MouseButton1Click:connect(function()
  277.                 CreateButton()
  278.                 if #vValue >= GUI.DropDown.Settings.ScrollerAmount and Search ~= nil then
  279.                     Search:CaptureFocus();
  280.                     Search.Text = "";
  281.                 end
  282.             end)
  283.            
  284.             topkek.lplr:GetMouse().Button1Down:connect(function()
  285.                 ClearHolder()
  286.             end)
  287.  
  288.             return {
  289.                 Update = function()
  290.                     RefreshDropDown();
  291.                 end;
  292.                 GetValue = function()
  293.                     RefreshDropDown();
  294.                     return vValue;
  295.                 end;
  296.                 GetSelected = function()
  297.                     RefreshDropDown();
  298.                     return vSelected.Value;
  299.                 end;
  300.                 SetTable = function(F)
  301.                     vValue = F;
  302.                     RefreshDropDown();
  303.                 end;
  304.                 Changed = function(F)
  305.                     vSelected.Changed:connect(function()
  306.                         ypcall(function()
  307.                             F(vSelected.Value);
  308.                         end)
  309.                     end)
  310.                     return "ChangedEvent Hooked";
  311.                 end;
  312.                 AddValue = function(obj)
  313.                     local Type = type(obj);
  314.                     if Type == "table" then
  315.                         for i=1,#obj do
  316.                             table.insert(vValue, obj[i])
  317.                         end
  318.                     elseif Type == "string" or Type == "number" or Type == "boolean" then
  319.                         table.insert(vValue, obj)
  320.                     end
  321.                     RefreshDropDown();
  322.                 end;
  323.                 RemoveValue = function(obj)
  324.                     local Type = type(obj);
  325.                     if Type == "table" then
  326.                         for i=1,#vValue do
  327.                             for f=1,#obj do
  328.                                 if tostring(obj[f]) == tostring(vValue[i]) then
  329.                                     table.remove(vValue,i)
  330.                                 end
  331.                             end
  332.                         end
  333.                     else
  334.                         for i=1,#vValue do
  335.                             if tostring(obj) == tostring(vValue[i]) then
  336.                                 table.remove(vValue,i)
  337.                             end
  338.                         end
  339.                     end
  340.                     RefreshDropDown();
  341.                 end;
  342.                 ClearValue = function()
  343.                     vValue = {};
  344.                     RefreshDropDown();
  345.                 end;
  346.             }
  347.         end;
  348.     };
  349. };
  350. --// util //--
  351. function topkek.tools.util.Object(o, p)
  352.     local a, b = pcall(function()
  353.         Instance.new(o)
  354.     end)
  355.     if not a then
  356.         return
  357.     end
  358.     local obj = Instance.new(o)
  359.     for prop, val in pairs(p) do
  360.         pcall(function()
  361.             obj[prop] = val
  362.         end)
  363.     end
  364.     return obj
  365. end
  366.  
  367. function topkek.tools.util.getContainer(n)
  368.     if topkek.holder:FindFirstChild(n) then
  369.         return topkek.holder[n]
  370.     else
  371.         print("menu not found; returning template")
  372.         return topkek.holder['Template']
  373.     end
  374. end
  375.  
  376. function topkek.tools.util.play(id)
  377.     local mu = Instance.new("Sound", game:GetService('Workspace'))
  378.     mu.Volume = 1
  379.     mu.Looped = true
  380.     mu.Pitch = 1
  381.     mu.SoundId = "rbxassetid://"..tostring(id)
  382.     mu:Play()
  383. end
  384.  
  385. function topkek.tools.util.getTorso(plr) --r15 compatibility lole
  386.     if plr.Character then
  387.         if plr.Character:FindFirstChild('UpperTorso') then
  388.             return plr.Character.UpperTorso
  389.         elseif plr.Character:FindFirstChild('Torso') then
  390.             return plr.Character.Torso
  391.         else
  392.             return nil
  393.         end
  394.     end
  395. end
  396.  
  397. function topkek.tools.util.recurseRemove(x,type_)
  398.     local function recurse(x)
  399.         for i, v in pairs(x:GetChildren()) do
  400.             pcall(function()
  401.                 if v:IsA(type_) then
  402.                     v:Destroy()
  403.                 end
  404.                 if #(v:GetChildren())>0 then
  405.                     recurse(v)
  406.                 end
  407.             end)
  408.         end
  409.     end
  410.     recurse(x)
  411. end
  412.  
  413. function topkek.tools.util.recurseFunc(type_,func)
  414.     local function recurse(x)
  415.         for i, v in pairs(x:GetChildren()) do
  416.             pcall(function()
  417.                 if v:IsA(type_) then
  418.                     func(v)
  419.                 end
  420.                 if #(v:GetChildren())>0 then
  421.                     recurse(v)
  422.                 end
  423.             end)
  424.         end
  425.     end
  426.     recurse(game)
  427. end
  428. function topkek.tools.util.trowel()
  429.     local T = Instance.new('Tool', game.Players.LocalPlayer.Backpack)
  430.     T.Name = 'Custom Trowel'
  431.    
  432.     local p = Instance.new('Part')
  433.     p.Name = 'Handle'
  434.     p.Size = Vector3.new(1,4.4,1)
  435.     p.Parent = T
  436.    
  437.     local specialMesh = Instance.new('SpecialMesh')
  438.     specialMesh.MeshId = 'rbxasset://fonts/trowel.mesh'
  439.     specialMesh.MeshType = 'FileMesh'
  440.     specialMesh.TextureId = 'rbxasset://textures/TrowelTexture.png'
  441.     specialMesh.Parent = T.Handle
  442.    
  443.     local sound = Instance.new'Sound'
  444.     sound.Name = 'build'
  445.     sound.SoundId = 'rbxasset://sounds//bass.wav'
  446.     sound.Volume = 1
  447.     sound.Parent = T.Handle
  448.      
  449.     local brickHeight = 100
  450.     local trowelSpeed = 0.05
  451.     local brickWidth = 500
  452.     local mouseConnection
  453.      
  454.     function newBrick(CF, P, color)
  455.      local brick = Instance.new('Part')
  456.      brick.BrickColor = color
  457.      brick.CFrame = CF * CFrame.new(P + brick.Size / 2)
  458.      brick.Parent = game.Workspace
  459.      brick:MakeJoints()
  460.      brick.Material = 'Neon'
  461.      brick.Name = 'DeleteMe'
  462.      return  brick, P + brick.Size
  463.     end
  464.      
  465.     function genBrick(cFrame)
  466.      local randBrickColor = BrickColor.Random()
  467.      assert(brickWidth > 0)
  468.      
  469.      local yPos = 0
  470.      
  471.      while yPos < brickHeight do
  472.       local vPos
  473.       local X = -brickWidth / 2
  474.       while X < brickWidth / 2 do
  475.        local brick
  476.        brick, vPos = newBrick(cFrame, Vector3.new(X, yPos, 0), randBrickColor)
  477.        X = vPos.x
  478.        wait(trowelSpeed)
  479.       end
  480.       yPos = vPos.y
  481.      end
  482.     end
  483.      
  484.     function calcPos(vec)
  485.      if (math.abs(vec.x) > math.abs(vec.z)) then
  486.       if vec.x > 0 then
  487.        return Vector3.new(1, 0, 0)
  488.       else
  489.        return Vector3.new(-1, 0, 0)
  490.       end
  491.      else
  492.       if (vec.z > 0) then
  493.        return Vector3.new(0, 0, 1)
  494.       else
  495.        return Vector3.new(0, 0, -1)
  496.       end
  497.      end
  498.     end
  499.      
  500.     T.Enabled = true
  501.    
  502.     T.Activated:connect(function()
  503.      if T.Enabled and game.Players.LocalPlayer.Character:FindFirstChild('Humanoid') then
  504.       T.Enabled = false
  505.       T.Handle.build:Play()
  506.       genBrick(CFrame.new(game.Players.LocalPlayer.Character.Humanoid.TargetPoint, game.Players.LocalPlayer.Character.Humanoid.TargetPoint + calcPos((game.Players.LocalPlayer.Character.Humanoid.TargetPoint - game.Players.LocalPlayer.Character.Head.Position).unit)))
  507.       T.Enabled = true
  508.      end
  509.     end)
  510.    
  511.     T.Equipped:connect(function()
  512.      mouseConnection = game.Players.LocalPlayer:GetMouse().KeyDown:connect(function(key)
  513.       if (key == 'r') then
  514.        for i,v in next, workspace:children'' do
  515.         if (v.Name == 'DeleteMe') then
  516.          v:Destroy()
  517.         end
  518.        end
  519.       end
  520.      end)
  521.     end)
  522.    
  523.     T.Unequipped:connect(function()
  524.      mouseConnection:disconnect()
  525.     end)
  526. end
  527. function topkek.tools.util.recurseSet(type_,prop,val)
  528.     local function recurse(x)
  529.         for i, v in pairs(x:GetChildren()) do
  530.             pcall(function()
  531.                 if v:IsA(type_) then
  532.                     v[prop]=val
  533.                 end
  534.                 if #(v:GetChildren())>0 then
  535.                     recurse(v)
  536.                 end
  537.             end)
  538.         end
  539.     end
  540.     recurse(game)
  541. end
  542. function topkek.tools.util.recurseUltimate(d)
  543.     topkek.tools.util.recurseDecal(d)
  544.     topkek.tools.util.recurseParticles(d)
  545. end
  546. function topkek.tools.util.recurseDecal(img)
  547.     img = 'rbxassetid://' .. img
  548.     local function skybox(x)
  549.         local sky = Instance.new("Sky",game.Lighting)
  550.         local fcs={"Bk","Dn","Ft","Lf","Rt","Up"}
  551.         for i,v in pairs(fcs) do
  552.             sky["Skybox"..v]=x
  553.         end
  554.     end
  555.    
  556.     local function decal(p, b)
  557.         local sides = {"Back", "Bottom", "Front", "Left", "Right", "Top"}
  558.         for i, v in pairs(sides) do
  559.             local a = Instance.new("Decal", p)
  560.             a.Texture = b
  561.             a.Face = v
  562.         end
  563.     end
  564.            
  565.     local function recurse(x)
  566.         for i, v in pairs(x:GetChildren()) do
  567.             pcall(function() -- 'error occured, no output from Lua' LOLE
  568.                 if v:IsA("BasePart") then
  569.                     decal(v, img)
  570.                 end
  571.                 if #(v:GetChildren())>0 then
  572.                     recurse(v)
  573.                 end
  574.             end)
  575.         end
  576.     end
  577.            
  578.     recurse(game)
  579.     skybox(img)
  580. end
  581. function topkek.tools.util.recurseParticles(img)--topkek2.0 code tbh
  582.     img = 'rbxassetid://' .. img
  583.     local function skybox(x)
  584.         local sky = Instance.new("Sky",game.Lighting)
  585.         local fcs={"Bk","Dn","Ft","Lf","Rt","Up"}
  586.         for i,v in pairs(fcs) do
  587.             sky["Skybox"..v]=x
  588.         end
  589.     end
  590.     local function particle(p, b)
  591.         local a = Instance.new("ParticleEmitter", p)
  592.         a.Rate = 500
  593.         a.Lifetime = NumberRange.new(20, 30)
  594.         a.VelocitySpread = 200
  595.         a.Texture = b
  596.     end
  597.            
  598.     local function recurse(x)
  599.         for i, v in pairs(x:GetChildren()) do
  600.             pcall(function() -- 'error occured, no output from Lua' LOLE
  601.                 if v:IsA("BasePart") then
  602.                     particle(v, img)
  603.                 end
  604.                 if #(v:GetChildren())>0 then
  605.                     recurse(v)
  606.                 end
  607.             end)
  608.         end
  609.     end
  610.            
  611.     recurse(game)
  612.     skybox(img)
  613. end
  614. function topkek.tools.util.recurseSetObj(obj,type_,prop,val)
  615.     local function recurse(x)
  616.         for i, v in pairs(x:GetChildren()) do
  617.             pcall(function()
  618.                 if v:IsA(type_) then
  619.                     v[prop]=val
  620.                 end
  621.                 if #(v:GetChildren())>0 then
  622.                     recurse(v)
  623.                 end
  624.             end)
  625.         end
  626.     end
  627.     recurse(obj)
  628. end
  629. function topkek.tools.util.doPlayers(cval, func)
  630.     local plrs = {}
  631.     if cval == 'All' then
  632.         plrs = game:GetService('Players'):GetPlayers()
  633.     else
  634.         plrs = {game:GetService('Players'):FindFirstChild(cval)}
  635.     end
  636.     for i, v in pairs(plrs) do
  637.         func(v)
  638.     end
  639. end
  640. function topkek.tools.util.scalePlayer(sc,plr)
  641.     local pchar = plr.Character
  642.     if pchar:FindFirstChild("UpperTorso") then
  643.         warn("Player [" ..plr.Name.. "] is R15.")
  644.         return
  645.     end
  646.     local function scale(chr,scl)
  647.    
  648.         for _,v in pairs(pchar:GetChildren()) do
  649.             if v:IsA("Hat") then
  650.                 v:Clone()
  651.                 v.Parent = game.Lighting
  652.             end
  653.         end
  654.            
  655.         local Head = chr['Head']
  656.         local Torso = chr['Torso']
  657.         local LA = chr['Left Arm']
  658.         local RA = chr['Right Arm']
  659.         local LL = chr['Left Leg']
  660.         local RL = chr['Right Leg']
  661.         local HRP = chr['HumanoidRootPart']
  662.    
  663.         wait(0.1)
  664.        
  665.         Head.formFactor = 3
  666.         Torso.formFactor = 3
  667.         LA.formFactor = 3
  668.         RA.formFactor = 3
  669.         LL.formFactor = 3
  670.         RL.formFactor = 3
  671.         HRP.formFactor = 3
  672.        
  673.         Head.Size = Vector3.new(scl * 2, scl, scl)
  674.         Torso.Size = Vector3.new(scl * 2, scl * 2, scl)
  675.         LA.Size = Vector3.new(scl, scl * 2, scl)
  676.         RA.Size = Vector3.new(scl, scl * 2, scl)
  677.         LL.Size = Vector3.new(scl, scl * 2, scl)
  678.         RL.Size = Vector3.new(scl, scl * 2, scl)
  679.         HRP.Size = Vector3.new(scl * 2, scl * 2, scl)
  680.        
  681.         local Motor1 = Instance.new('Motor6D', Torso)
  682.         Motor1.Part0 = Torso
  683.         Motor1.Part1 = Head
  684.         Motor1.C0 = CFrame.new(0, 1 * scl, 0) * CFrame.Angles(-1.6, 0, 3.1)
  685.         Motor1.C1 = CFrame.new(0, -0.5 * scl, 0) * CFrame.Angles(-1.6, 0, 3.1)
  686.         Motor1.Name = "Neck"
  687.                
  688.         local Motor2 = Instance.new('Motor6D', Torso)
  689.         Motor2.Part0 = Torso
  690.         Motor2.Part1 = LA
  691.         Motor2.C0 = CFrame.new(-1 * scl, 0.5 * scl, 0) * CFrame.Angles(0, -1.6, 0)
  692.         Motor2.C1 = CFrame.new(0.5 * scl, 0.5 * scl, 0) * CFrame.Angles(0, -1.6, 0)
  693.         Motor2.Name = "Left Shoulder"
  694.        
  695.         local Motor3 = Instance.new('Motor6D', Torso)
  696.         Motor3.Part0 = Torso
  697.         Motor3.Part1 = RA
  698.         Motor3.C0 = CFrame.new(1 * scl, 0.5 * scl, 0) * CFrame.Angles(0, 1.6, 0)
  699.         Motor3.C1 = CFrame.new(-0.5 * scl, 0.5 * scl, 0) * CFrame.Angles(0, 1.6, 0)
  700.         Motor3.Name = "Right Shoulder"
  701.        
  702.         local Motor4 = Instance.new('Motor6D', Torso)
  703.         Motor4.Part0 = Torso
  704.         Motor4.Part1 = LL
  705.         Motor4.C0 = CFrame.new(-1 * scl, -1 * scl, 0) * CFrame.Angles(0, -1.6, 0)
  706.         Motor4.C1 = CFrame.new(-0.5 * scl, 1 * scl, 0) * CFrame.Angles(0, -1.6, 0)
  707.         Motor4.Name = "Left Hip"
  708.        
  709.         local Motor5 = Instance.new('Motor6D', Torso)
  710.         Motor5.Part0 = Torso
  711.         Motor5.Part1 = RL
  712.         Motor5.C0 = CFrame.new(1 * scl, -1 * scl, 0) * CFrame.Angles(0, 1.6, 0)
  713.         Motor5.C1 = CFrame.new(0.5 * scl, 1 * scl, 0) * CFrame.Angles(0, 1.6, 0)
  714.         Motor5.Name = "Right Hip"
  715.        
  716.         local Motor6 = Instance.new('Motor6D', HRP)
  717.         Motor6.Part0 = HRP
  718.         Motor6.Part1 = Torso
  719.         Motor6.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(-1.6, 0, -3.1)
  720.         Motor6.C1 = CFrame.new(0, 0, 0) * CFrame.Angles(-1.6, 0, -3.1)
  721.            
  722.     end
  723.    
  724.     scale(pchar, sc)
  725.    
  726.     for _,v in pairs(game.Lighting:GetChildren()) do
  727.         if v:IsA("Hat") then
  728.             v.Parent = pchar
  729.         end
  730.     end
  731. end
  732. function topkek.tools.util.applyFace(id)
  733.     local Char = topkek.lplr.Character
  734.     if(Char)then
  735.         local Type = id
  736.         local Meme=id
  737.         local BBG_SIZE=Char.Head.Size.X*1.25;
  738.         local STUD_VECTOR_1=Char.Head.Size.Z/4;
  739.         local STUD_VECTOR_2=Char.Head.Size.Z;
  740.         local bbg=Char:FindFirstChild'BBGMEME'or Instance.new('BillboardGui',Char);
  741.             bbg.StudsOffset=Vector3.new(0,STUD_VECTOR_1,STUD_VECTOR_2);
  742.             bbg.Size=UDim2.new(BBG_SIZE,0,BBG_SIZE);
  743.             bbg.Adornee=Char.Head;
  744.             bbg.Name='BBGMEME';
  745.         local img=bbg:FindFirstChild'Meme'or Instance.new('ImageLabel',bbg);
  746.             img.BackgroundTransparency=1;
  747.             img.Image="rbxassetid://"..Meme;
  748.             img.Size=UDim2.new(1,0,1,0)
  749.             img.Name='Meme';
  750.         for i,v in next,Char:children()do
  751.             if(v.className=='Hat')then
  752.                 v=v:FindFirstChild'Handle';
  753.                 if(v)then
  754.                     v.Transparency=0
  755.                 end;
  756.             end;
  757.         end;
  758.     end;
  759. end;
  760. function topkek.tools.util.weenieHutJunior(plr)
  761.     plr=plr.Character
  762.     Shaft=Instance.new("Part", plr)
  763.     Shaft.Name='Shaft'
  764.     Shaft.Size=Vector3.new(1, 2.5, 1)
  765.     Shaft.TopSurface=0
  766.     Shaft.BottomSurface=0
  767.     Shaft.CanCollide=true
  768.     Cyln=Instance.new("CylinderMesh", Shaft)
  769.     Cyln.Scale=Vector3.new(0.5,0.7,0.5)
  770.     Instance.new("Weld", plr)
  771.     plr.Weld.Part0=plr:FindFirstChild("Torso") or plr:FindFirstChild("LowerTorso")
  772.     plr.Weld.Part1=plr.Shaft
  773.     plr.Weld.C0=CFrame.new(0,-0.35,-0.9)*CFrame.fromEulerAnglesXYZ(2.2,0,0)
  774.     Shaft.BrickColor=BrickColor.new("Pastel brown")
  775.     Tip=Instance.new("Part", plr)
  776.     Tip.Name='Tip'
  777.     Tip.TopSurface=0
  778.     Tip.BottomSurface=0
  779.     Tip.Size=Vector3.new(1, 1, 1)
  780.     Tip.CanCollide=true
  781.     Tip.Touched:connect(function(prt) if prt.Parent~=player then spawn(function() for i=1, 5 do local pert=Instance.new("Part", player) pert.CFrame=CFrame.new(prt.Position) pert.CanCollide=true local mesh=Instance.new("BlockMesh", pert) mesh.Scale=Vector3.new(0.2,0.2,0.2) pert.BrickColor=BrickColor.new("White") end end) end end)
  782.     Cyln2=Instance.new("SpecialMesh", Tip)
  783.     Cyln2.MeshType='Sphere'
  784.     Cyln2.Scale=Vector3.new(0.6,0.6,0.6)
  785.     Instance.new("Weld", plr).Name='Weld2'
  786.     plr.Weld2.Part0=plr.Shaft
  787.     plr.Weld2.Part1=plr.Tip
  788.     plr.Weld2.C0=CFrame.new(0,-.9,0)
  789.     Tip.BrickColor=BrickColor.new("Pink")
  790.     -----
  791.     Ball1=Instance.new("Part", plr)
  792.     Ball1.Name='Ball1'
  793.     Ball1.Size=Vector3.new(1, 1, 1)
  794.     Ball1.TopSurface=0
  795.     Ball1.BottomSurface=0
  796.     Cyln3=Instance.new("SpecialMesh", Ball1)
  797.     Cyln3.MeshType='Sphere'
  798.     Cyln3.Scale=Vector3.new(0.4,0.4,0.4)
  799.     Instance.new("Weld", plr).Name='Weld3'
  800.     plr.Weld3.Part0=plr.Shaft
  801.     plr.Weld3.Part1=plr.Ball1
  802.     plr.Weld3.C0=CFrame.new(0.225,.4,0.2)
  803.     Ball1.BrickColor=BrickColor.new("Pastel brown")
  804.     -----
  805.     Ball2=Instance.new("Part", plr)
  806.     Ball2.Name='Ball2'
  807.     Ball2.Size=Vector3.new(1, 1, 1)
  808.     Ball2.TopSurface=0
  809.     Ball2.BottomSurface=0
  810.     Cyln3=Instance.new("SpecialMesh", Ball2)
  811.     Cyln3.MeshType='Sphere'
  812.     Cyln3.Scale=Vector3.new(0.4,0.4,0.4)
  813.     Instance.new("Weld", plr).Name='Weld4'
  814.     plr.Weld4.Part0=plr.Shaft
  815.     plr.Weld4.Part1=plr.Ball2
  816.     plr.Weld4.C0=CFrame.new(-0.225,.4,0.2)
  817.     Ball2.BrickColor=BrickColor.new("Pastel brown")
  818. end
  819. --// banmgr //--
  820. topkek.banmgr.isPrivate = false
  821. topkek.banmgr.whitelist = {}
  822. topkek.banmgr.bans = {}
  823. function topkek.banmgr.executeKick(z)
  824.     local function doKick()
  825.         if z.Character and z.Character:FindFirstChild('HumanoidRootPart') and z.Character:FindFirstChild('Torso') then
  826.             z.Character.HumanoidRootPart.CFrame = CFrame.new(math.random(999000, 1001000), 1000000, 1000000)
  827.             local SP = Instance.new('SkateboardPlatform', z.Character) SP.Position = z.Character.HumanoidRootPart.Position SP.Transparency = 1
  828.             spawn(function()
  829.                 repeat wait()
  830.                     if z.Character and z.Character:FindFirstChild('HumanoidRootPart') then
  831.                         SP.Position = z.Character.HumanoidRootPart.Position
  832.                     end
  833.                 until not game:GetService('Players'):FindFirstChild(z.Name)
  834.             end)
  835.             z.Character.Torso.Anchored = true
  836.         end
  837.     end
  838.     repeat
  839.         doKick()
  840.         wait()
  841.     until not z
  842. end
  843. function topkek.banmgr.loadFromFile()
  844.     -- todo: read file
  845.     topkek.settings.get()
  846.     topkek.banmgr.bans = topkek.settingsTable['Bans']
  847. end
  848. function topkek.banmgr.addHardBan(p)
  849.     -- todo: write file
  850.     table.insert(topkek.banmgr.bans, p.Name)
  851.     topkek.settings.get()
  852.     table.insert(topkek.settingsTable['Bans'], p.Name)
  853.     topkek.settings.write()
  854.     print("Hardbanned " .. p.Name)
  855.     UpdateBanlist()
  856.     topkek.banmgr.executeKick(p)
  857.     topkek.banmgr.loadFromFile()
  858. end
  859. function topkek.banmgr.addSoftBan(p)
  860.     table.insert(topkek.banmgr.bans, p.Name)
  861.     topkek.banmgr.executeKick(p)
  862. end
  863. function topkek.banmgr.plrBanned(p)
  864.     for x, m in pairs(topkek.banmgr.bans) do
  865.         if m == p.Name then
  866.             return true
  867.         end
  868.     end
  869.     return false
  870. end
  871. function topkek.banmgr.doWhitelist(p)
  872.     print(p .. " whitelisted")
  873.     table.insert(topkek.banmgr.whitelist, p)
  874. end
  875. function topkek.banmgr.unwhitelist(p)
  876.     for x, m in pairs(topkek.banmgr.whitelist) do
  877.         if m == p then
  878.             print(m .. " unwhitelisted")
  879.             table.remove(topkek.banmgr.whitelist, x)
  880.             if game:GetService('Players'):FindFirstChild(p) then
  881.                 topkek.banmgr.executeKick(game:GetService('Players')[p])
  882.             end
  883.         end
  884.     end
  885. end
  886. function topkek.banmgr.plrWhitelisted(p)
  887.     for x, m in pairs(topkek.banmgr.whitelist) do
  888.         if m == p.Name then
  889.             return true
  890.         end
  891.     end
  892.     return false
  893. end
  894. function topkek.banmgr.makePrivate()
  895.     topkek.banmgr.isPrivate = true
  896.     for i, v in pairs(game:GetService('Players'):GetPlayers()) do
  897.         if not topkek.banmgr.plrWhitelisted(v) and v ~= topkek.lplr then
  898.             spawn(function()
  899.                 topkek.banmgr.executeKick(v)
  900.             end)
  901.         end
  902.     end
  903. end
  904. function topkek.banmgr.unprivate()
  905.     topkek.banmgr.isPrivate = false
  906. end
  907. function topkek.banmgr.init()
  908.     topkek.banmgr.loadFromFile()
  909.     game:GetService('Players').PlayerAdded:connect(function(p)
  910.         if topkek.banmgr.plrBanned(p) or (topkek.banmgr.isPrivate and not topkek.banmgr.plrWhitelisted(p)) then
  911.             print("Player " .. p.Name .. " is banned (or private on)! Kicking now.")
  912.             topkek.banmgr.executeKick(p)
  913.         end
  914.     end)
  915. end
  916. --// settings //--
  917. topkek.settings = {}
  918. topkek.settingsTable = {}
  919. function topkek.settings.write()
  920.     --writefile("testplzignore.lua", "", game:GetService('HttpService'):JSONEncode(topkek.settingsTable))
  921. end
  922. function topkek.settings.get()
  923. if game.Players.LocalPlayer.Character then
  924.         print("No settings! Making new ...")
  925.         topkek.settingsTable = {
  926.             ['Bans'] = {
  927.                
  928.             },
  929.             ['Themes'] = {
  930.                 {Primary = {0,0,0}, Secondary = {0,0,0}, Tertiary = {0,0,0}}
  931.             };
  932.         }
  933.         topkek.settings.write()
  934.         return topkek.settingsTable
  935.     else
  936.         local lset = game:GetService('HttpService'):JSONDecode(set)
  937.         topkek.settingsTable = lset
  938.         return lset
  939. end
  940. end
  941. --// shortcuts //--
  942. tk = {}
  943. tk.ob = topkek.tools.util.Object
  944. tk.dp = topkek.tools.util.doPlayers
  945. tk.rcm = topkek.tools.util.recurseRemove
  946. tk.rcs = topkek.tools.util.recurseSet
  947. tk.rcf = topkek.tools.util.recurseFunc
  948. tk.rco = topkek.tools.util.recurseSetObj
  949. tk.play = topkek.tools.util.play
  950. tk.gt = topkek.tools.util.getTorso
  951. --// gui //--
  952. -- copying this from topkek3.0 because i'm
  953. -- too lazy to rewrite my lib
  954. topkek.tools.gui.seperation = 12
  955. function topkek.tools.gui:addLeftIcon(parent, img, sz)
  956.     topkek.tools.util.Object('ImageLabel', {
  957.         Parent = parent;
  958.         BackgroundTransparency = 1;
  959.         Position = UDim2.new(0, 2, 0, 2);
  960.         Size = UDim2.new(0, sz, 0, sz);
  961.         Image = img;
  962.     })
  963. end
  964. function topkek.tools.gui:makeContainer(n)
  965.     local temp = topkek.template:Clone()
  966.     temp.Name = n
  967.     temp.Parent = topkek.holder
  968.     temp.Container.Visible = false
  969. end
  970. function topkek.tools.gui:hookContainer(o, ncan, sepr, stt)
  971.     if not o:IsA("ScrollingFrame") and (not ncan) then
  972.         return nil
  973.     elseif o:IsA("ScrollingFrame") then
  974.         o.CanvasSize = UDim2.new(0, 0, 0, 0)
  975.     end
  976.    
  977.     local self = {}
  978.     self.main = o
  979.     self.drawX = 0
  980.     self.drawY = stt or topkek.tools.gui.seperation/2
  981.     self.drawHeight = 0
  982.     self.sepr = sepr or topkek.tools.gui.seperation
  983.    
  984.     function self:drawButton(sz, txt, func, ysz, cbgd)
  985.         local xposOffset = 0
  986.         local xposScale = self.drawX
  987.         local xszOffset = 0
  988.         local xszScale = sz
  989.         if not (self.drawX == 0)  then
  990.             xszOffset = -5
  991.             if sz + self.drawX > 0.998 then
  992.                 xszOffset = -10
  993.             end
  994.         elseif sz == 1 then
  995.             local bzz = 4
  996.             if ncan then
  997.                 bzz = 0
  998.             end
  999.             xszOffset = -(self.sepr) - bzz
  1000.             xposOffset = self.sepr/2
  1001.         else
  1002.             xszOffset = -4 + -(self.sepr/2)
  1003.             xposOffset = self.sepr/2
  1004.         end
  1005.         if not ysz then ysz = 20 end
  1006.         local obj = topkek.tools.util.Object("TextButton", {
  1007.             Parent = self.main;
  1008.             BackgroundColor3 = cbgd or Color3.new(163/255, 57/255, 57/255);
  1009.             BorderSizePixel = 0;
  1010.             Position = UDim2.new(xposScale, xposOffset, 0, self.drawY);
  1011.             Size = UDim2.new(xszScale, xszOffset, 0, ysz);
  1012.             Font = 'SourceSans';
  1013.             FontSize = 'Size14';
  1014.             Text = txt;
  1015.             TextSize = 14;
  1016.             TextColor3 = Color3.new(199/255, 199/255, 199/255);
  1017.         })
  1018.         obj.MouseButton1Down:connect(function()
  1019.             spawn(func)
  1020.         end)
  1021.         if ysz > self.drawHeight then
  1022.             self.drawHeight = ysz
  1023.         end
  1024.         self.drawX = self.drawX + sz
  1025.         if self.drawX > 0.998 then
  1026.             self.drawY = self.drawY + 3 + self.drawHeight
  1027.             self.drawX = 0
  1028.             self.drawHeight = 0
  1029.             if (not ncan) then
  1030.                 self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
  1031.             end
  1032.         end
  1033.         return obj
  1034.     end
  1035.    
  1036.     function self:GetChildren()
  1037.         return self.main:GetChildren()
  1038.     end
  1039.    
  1040.     function self:getDrawY()
  1041.         return self.drawY
  1042.     end
  1043.    
  1044.     function self:setDrawY(y)
  1045.         self.drawY = y
  1046.     end
  1047.    
  1048.     function self:drawTextBox(sz, txt, ysz, cbgd)
  1049.         local xposOffset = 0
  1050.         local xposScale = self.drawX
  1051.         local xszOffset = 0
  1052.         local xszScale = sz
  1053.         if not (self.drawX == 0)  then
  1054.             xszOffset = -5
  1055.             if sz + self.drawX > 0.998 then
  1056.                 xszOffset = -10
  1057.             end
  1058.         elseif sz == 1 then
  1059.             xszOffset = -(self.sepr) - 5
  1060.             xposOffset = self.sepr/2
  1061.         else
  1062.             xszOffset = -4 + -(self.sepr/2)
  1063.             xposOffset = self.sepr/2
  1064.         end
  1065.         if not ysz then ysz = 20 end
  1066.         local obj = topkek.tools.util.Object("TextBox", {
  1067.             Parent = self.main;
  1068.             BackgroundColor3 = cbgd or color3(153, 52, 52);
  1069.             BorderSizePixel = 0;
  1070.             Position = UDim2.new(xposScale, xposOffset, 0, self.drawY);
  1071.             Size = UDim2.new(xszScale, xszOffset, 0, ysz);
  1072.             Font = 'SourceSans';
  1073.             FontSize = 'Size14';
  1074.             Text = txt;
  1075.             TextSize = 14;
  1076.             TextColor3 = Color3.new(199/255, 199/255, 199/255);
  1077.         })
  1078.         if ysz > self.drawHeight then
  1079.             self.drawHeight = ysz
  1080.         end
  1081.         self.drawX = self.drawX + sz
  1082.         if self.drawX > 0.998 then
  1083.             self.drawY = self.drawY + 3 + self.drawHeight
  1084.             self.drawX = 0
  1085.             self.drawHeight = 0
  1086.             self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
  1087.         end
  1088.         return obj
  1089.     end
  1090.    
  1091.     function self:drawImage(sz, img, ysz)
  1092.         local xposOffset = 0
  1093.         local xposScale = self.drawX
  1094.         local xszOffset = 0
  1095.         local xszScale = sz
  1096.         if not (self.drawX == 0)  then
  1097.             xszOffset = -5
  1098.             if sz + self.drawX > 0.998 then
  1099.                 xszOffset = -12
  1100.             end
  1101.         elseif sz == 1 then
  1102.             xszOffset = -(self.sepr) - 5
  1103.             xposOffset = self.sepr/2
  1104.         else
  1105.             xszOffset = -5 + -(self.sepr/2)
  1106.             xposOffset = self.sepr/2
  1107.         end
  1108.         if not ysz then ysz = 20 end
  1109.         local obj = topkek.tools.util.Object("ImageLabel", {
  1110.             Parent = self.main;
  1111.             BackgroundTransparency = 1;
  1112.             BorderColor3 = Color3.new(27, 42, 53);
  1113.             BorderSizePixel = 0;
  1114.             Position = UDim2.new(xposScale, xposOffset, 0, self.drawY);
  1115.             Size = UDim2.new(xszScale, xszOffset, 0, ysz);
  1116.             Image = img;
  1117.         })
  1118.         if ysz > self.drawHeight then
  1119.             self.drawHeight = ysz
  1120.         end
  1121.         self.drawX = self.drawX + sz
  1122.         if self.drawX > 0.998 then
  1123.             self.drawY = self.drawY + 3 + self.drawHeight
  1124.             self.drawX = 0
  1125.             self.drawHeight = 0
  1126.             if (not ncan) then
  1127.                 self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
  1128.             end
  1129.         end
  1130.         return obj
  1131.     end
  1132.    
  1133.     function self:drawText(sz, txt, ysz)
  1134.         local xposOffset = 0
  1135.         local xposScale = self.drawX
  1136.         local xszOffset = 0
  1137.         local xszScale = sz
  1138.         if not (self.drawX == 0)  then
  1139.             xszOffset = -5
  1140.             if sz + self.drawX > 0.998 then
  1141.                 xszOffset = -10
  1142.             end
  1143.         elseif sz == 1 then
  1144.             local bzz = 5
  1145.             if ncan then
  1146.                 bzz = 0
  1147.             end
  1148.             xszOffset = -(self.sepr) - bzz
  1149.             xposOffset = self.sepr/2
  1150.         else
  1151.             xszOffset = -4 + -(self.sepr/2)
  1152.             xposOffset = self.sepr/2
  1153.         end
  1154.         if not ysz then ysz = 20 end
  1155.         local obj = topkek.tools.util.Object("TextLabel", {
  1156.             Parent = self.main;
  1157.             BackgroundColor3 = Color3.new(148/255, 51/255, 51/255);
  1158.             BorderSizePixel = 0;
  1159.             Position = UDim2.new(xposScale, xposOffset, 0, self.drawY);
  1160.             Size = UDim2.new(xszScale, xszOffset, 0, ysz);
  1161.             Font = 'SourceSans';
  1162.             FontSize = 'Size14';
  1163.             Text = txt;
  1164.             TextSize = 14;
  1165.             TextColor3 = Color3.new(199/255, 199/255, 199/255);
  1166.  
  1167.         })
  1168.         if ysz > self.drawHeight then
  1169.             self.drawHeight = ysz
  1170.         end
  1171.         self.drawX = self.drawX + sz
  1172.         if self.drawX > 0.998 then
  1173.             self.drawY = self.drawY + 3 + self.drawHeight
  1174.             self.drawX = 0
  1175.             self.drawHeight = 0
  1176.             if (not ncan) then
  1177.                 self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
  1178.             end
  1179.         end
  1180.         return obj
  1181.     end
  1182.    
  1183.    
  1184.     function self:drawScrollingContainer(ysz)
  1185.         local sz = UDim2.new(1, -(self.sepr/2) - 11, 0, ysz)
  1186.         local pos = UDim2.new(0, self.sepr/2, 0, self.drawY)
  1187.         local obj = topkek.tools.util.Object("ScrollingFrame", {
  1188.             Parent = self.main;
  1189.             BackgroundColor3 = color3(117, 42, 42);
  1190.             BorderSizePixel = 0;
  1191.             Position = pos;
  1192.             Size = sz;
  1193.             BottomImage = 'rbxassetid://368504177';
  1194.             MidImage = 'rbxassetid://368504177';
  1195.             TopImage = 'rbxassetid://368504177';
  1196.             ScrollBarThickness = 5;
  1197.         })
  1198.        
  1199.         self.drawY = self.drawY + 5 + ysz
  1200.         self.drawX = 0
  1201.         self.drawHeight = 0
  1202.         if (not ncan) then
  1203.             self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
  1204.         end
  1205.         return topkek.tools.gui:hookContainer(obj, false, 10, 3)
  1206.     end
  1207.    
  1208.     function self:drawContainer(xsz, ysz, xz, tz, sep)
  1209.         local sz = UDim2.new(xsz, -(self.sepr/2) - 11, 0, ysz)
  1210.         local pos = UDim2.new(tz or 0, self.sepr/2, 0, self.drawY)
  1211.         local obj = topkek.tools.util.Object("Frame", {
  1212.             Parent = self.main;
  1213.             BackgroundColor3 = color3(117, 42, 42);
  1214.             BorderSizePixel = 0;
  1215.             Position = pos;
  1216.             Size = sz;
  1217.         })
  1218.         if not xz then
  1219.             self.drawY = self.drawY + 5 + ysz
  1220.         end
  1221.         self.drawX = 0
  1222.         self.drawHeight = 0
  1223.         if (not ncan) then
  1224.             self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
  1225.         end
  1226.         return topkek.tools.gui:hookContainer(obj, sep or 12, 5)
  1227.     end
  1228.    
  1229.     function self:addSpacing()
  1230.         self.drawY = self.drawY + 3
  1231.     end
  1232.    
  1233.     function self:center()
  1234.         local a,c,b=
  1235.             self.main.Position.X.Scale,
  1236.                 self.main.Position.X.Offset,self.main.Size.Y.Offset
  1237.         self.main.Position=UDim2.new(a,c+2, 0.5, -(b/2))
  1238.     end
  1239.    
  1240.     return self
  1241. end
  1242.  
  1243. --//anim//--
  1244. topkek.tools.animator.animateTo = function(source, dest)
  1245.     -- holder2holder:
  1246.     -- invis holder
  1247.     -- clone holder; vis
  1248.     -- move holder to right
  1249.     -- vis dest container
  1250.     -- tween clone holder left
  1251.     -- tween dest holder right
  1252.     print("nav",source,dest)
  1253.     topkek.holder.Visible = false
  1254.     local hclone = topkek.holder:Clone()
  1255.     hclone.Parent = topkek.center
  1256.     hclone.Name = 'animclone'
  1257.     hclone.Visible = true
  1258.     topkek.holder.Position = UDim2.new(-1, 0, 0, 30)
  1259.     source.Visible = false
  1260.     dest.Visible = true
  1261.     dest.Container.Visible = true
  1262.     dest.Container.ZIndex = 1
  1263.     dest.ZIndex = 1
  1264.     topkek.holder.Visible = true
  1265.     topkek.holder:TweenPosition(UDim2.new(0, 150, 0, 30), "Out", "Quad", 0.3)
  1266.     hclone:TweenPosition(UDim2.new(1, 0, 0, 30), "Out", "Quad", 0.3)
  1267.     wait(0.3)
  1268. end
  1269. topkek.tools.animator.initialAnimation = function()
  1270.     -- initanim:
  1271.     -- join both composites
  1272.     -- delete composites; vis solid
  1273.     -- tween solid to nav topbar
  1274.     -- copy topbar plrname; move outside region
  1275.     -- tween in clone topbar
  1276.     -- delete clone and solid; vis topbar
  1277.     -- tween down topbar
  1278.     -- tween holder out
  1279.     local function abspos(x)
  1280.         return UDim2.new(0, x.AbsolutePosition.X, 0, x.AbsolutePosition.Y)
  1281.     end
  1282.     local function abssz(x)
  1283.         return UDim2.new(0, x.AbsoluteSize.X, 0, x.AbsoluteSize.Y)
  1284.     end
  1285.     local holder = topkek.holder
  1286.     local nav = topkek.navigator
  1287.     local topnav = nav.Topbar
  1288.     local topbar = topkek.topbar
  1289.     local pname = topbar.PlayerName:Clone()
  1290.     local solid = topkek.gui.Solid
  1291.     topkek.center.Size = UDim2.new(0, 150, 0, 30)
  1292.     topkek.gui.Composite1:TweenPosition(UDim2.new(0.5, -50, 0.5, -50), 'Out', 'Quad', 0.5)
  1293.     topkek.gui.Composite2:TweenPosition(UDim2.new(0.5, 0, 0.5, -50), 'Out', 'Quad', 0.5)
  1294.     wait(0.52)
  1295.     solid.Visible = true
  1296.     topkek.gui.Composite1:Destroy()
  1297.     topkek.gui.Composite2:Destroy()
  1298.     wait(3)
  1299.     solid.Label:TweenPosition(UDim2.new(0, 0, 1.5, 0), 'Out', 'Quad', 0.5)
  1300.     solid:TweenSizeAndPosition(abssz(topnav), abspos(topnav), 'Out', 'Linear', 0.6)
  1301.     wait(0.52)
  1302.     solid.Label:Destroy()
  1303.     wait(0.12)
  1304.     topkek.center.Visible = true
  1305.     topnav.Visible = true
  1306.     solid:Destroy()
  1307.     pname.Position = UDim2.new(0, -170, 0, 0)
  1308.     pname.Parent = topnav
  1309.     pname.Visible = true
  1310.     pname:TweenPosition(UDim2.new(0, 10, 0, 0), 'Out', 'Quad', 0.2)
  1311.     wait(0.25)
  1312.     topkek.center:TweenSize(UDim2.new(0, 150, 0, 395), 'Out', 'Quad', 0.3)
  1313.     spawn(topkek.navigation.buildNavigator)
  1314.     wait(0.35)
  1315.     topkek.center:TweenSize(UDim2.new(0, 470, 0, 395), 'In', 'Quad', 0.3)
  1316.     wait(0.35)
  1317.     topbar.PlayerName.Visible = true
  1318.     pname:Destroy()
  1319.     AllowHovers = true
  1320. end
  1321. --//nav//--
  1322. topkek.navigation.currentContainer = topkek.tools.util.getContainer('Home')
  1323. topkek.navigation.windowState = 0
  1324. topkek.navigation.gotoContainer = function(cont)
  1325.     topkek.tools.animator.animateTo(topkek.navigation.currentContainer, cont)
  1326.     topkek.navigation.currentContainer = cont
  1327. end
  1328. topkek.navigation.buildNavigator = function()
  1329.     local nav = topkek.navigator
  1330.     local hook = topkek.tools.gui:hookContainer(nav.Scroll, false)
  1331.     local btns = {}
  1332.     for l, x in pairs(topkek.data.windows) do
  1333.         local container = topkek.tools.util.getContainer(x)
  1334.         local btn = hook:drawButton(1, x, function() topkek.navigation.gotoContainer(container) end, 25)
  1335.         local ZPos = btn.Position
  1336.         btn.Position = btn.Position - UDim2.new(0, 0, 0, 5)
  1337.         btn:TweenPosition(ZPos, 'Out', 'Bounce', 0.2)
  1338.         btn.LayoutOrder = l
  1339.         btn.ZIndex = 4
  1340.         local OPos = btn.Position
  1341.         btn.MouseEnter:connect(function()
  1342.             if AllowHovers == false then
  1343.                 return
  1344.             end
  1345.             for i, v in pairs(btns) do
  1346.                 if v[1] ~= btn then
  1347.                     v[1]:TweenPosition(v[2], 'Out', 'Quad', 0.1)
  1348.                 end
  1349.             end
  1350.             btn:TweenPosition(OPos + UDim2.new(0, 3, 0, 0), 'Out', 'Quad', 0.1)
  1351.         end)
  1352.         btn.MouseLeave:connect(function()
  1353.             btn:TweenPosition(OPos, 'Out', 'Quad', 0.1)
  1354.         end)
  1355.         table.insert(btns, {btn, OPos})
  1356.         wait() 
  1357.     end
  1358. end
  1359. topkek.navigation.buildTopbar = function()
  1360.     local top = topkek.topbar
  1361.     local FELabel = top.Controllers.IsFE
  1362.     top.PlayerName.Text = topkek.lplr.Name
  1363.     if game:GetService('Workspace').FilteringEnabled == true then
  1364.         FELabel.Text = "FE Game"
  1365.         FELabel.TextColor3 = BrickColor.new("Bright red").Color
  1366.     else
  1367.         FELabel.Text = "Not FE"
  1368.         FELabel.TextColor3 = BrickColor.new("Bright green").Color
  1369.     end
  1370.     top.Controllers.Hide.MouseButton1Down:connect(function()
  1371.         if topkek.navigation.windowState == 0 then
  1372.             topkek.navigation.windowState = 1
  1373.             topkek.center:TweenSize(UDim2.new(0, 470, 0, 30), 'Out', 'Quint', 0.2)
  1374.         else
  1375.             topkek.navigation.windowState = 0
  1376.             topkek.center:TweenSize(UDim2.new(0, 470, 0, 395), 'Out', 'Quint', 0.2)
  1377.         end
  1378.     end)   
  1379.     top.Controllers.Exit.MouseButton1Down:connect(function()
  1380.         topkek.center:TweenSize(UDim2.new(0, 470, 0, 30), 'Out', 'Quint', 0.3)
  1381.         wait(0.31)
  1382.         topkek.center:TweenSize(UDim2.new(0, 0, 0, 0), 'Out', 'Quint', 0.3)
  1383.         PlayerChatHook:disconnect()
  1384.     end)
  1385.    
  1386. end
  1387. topkek.navigation.initCommandBar = function()
  1388.     DistributedCmdBar, cmd = topkek.holder.Command, {}
  1389.     loadstring(game:GetObjects("rbxassetid://685510751")[1].Source)()
  1390.     DistributedCmdBar.FocusLost:connect(function(e)
  1391.         if e == true then
  1392.             cmd.commands.run(DistributedCmdBar.Text)
  1393.             DistributedCmdBar.Text = ''
  1394.         end
  1395.     end)
  1396.    
  1397.     PlayerChatHook = cmd.players.PlayerChatted:connect(function (_, plr, msg, _)
  1398.         if cmd.util.isadmin(plr.Name) then
  1399.             if msg:sub(1,1) == cmd.prefix or msg:sub(1,1) == cmd.hidden then
  1400.                 cmd.commands.run(msg:sub(2, #msg))
  1401.             end
  1402.         end
  1403.     end)
  1404. end
  1405. topkek.navigation.buildHomePage = function()
  1406.     local count = 0
  1407.     for _, _ in pairs(cmd.commands.store) do count = count + 1 end
  1408.     local hook = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Home').Container, true)
  1409.     hook:drawText(1, 'T0PK3K 4.0 ProtoSmasher Edition edited by bork')
  1410.     hook:drawText(1, 'Patch version 1.0.5')
  1411.     hook:drawText(1, 'Commandbase patch version 1.0.0')
  1412.     hook:drawText(1, 'Number of commands: ' .. tostring(count))
  1413.     local stime = hook:drawText(1, 'Server Time: 0')
  1414.     spawn(function()
  1415.         while true do
  1416.             stime.Text = 'Server Time: ' .. tostring(game:GetService('Workspace').DistributedGameTime)
  1417.             wait(0.5)
  1418.         end
  1419.     end)
  1420.     local ssz = hook:drawText(1, 'Server Size: 0')
  1421.     spawn(function()
  1422.         while true do
  1423.             ssz.Text = 'Server Size: ' .. tostring(game:GetService('Players').NumPlayers)
  1424.             wait(0.5)
  1425.         end
  1426.     end)
  1427.     local fe = game:GetService('Workspace').FilteringEnabled
  1428.     hook:drawText(1, 'FilteringEnabled: ' .. (fe and "YES" or "NO"))
  1429.     hook:drawText(1, 'PlaceId: ' .. tostring(game.PlaceId))
  1430.     hook:drawText(1, 'same', 55)
  1431. end
  1432. topkek.navigation.buildContainers = function()
  1433.     for _, v in pairs(topkek.data.windows) do
  1434.         topkek.tools.gui:makeContainer(v)
  1435.     end
  1436. end
  1437.  
  1438. topkek.navigation.initCommandBar()
  1439. topkek.navigation.buildContainers()
  1440. topkek.navigation.buildTopbar()
  1441. topkek.navigation.buildHomePage()
  1442. wait()
  1443.  
  1444.  
  1445. --// actual code below lole //--
  1446.  
  1447. --// PLAYERS //--
  1448. local plrwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Players').Container)
  1449. local search = plrwin:drawButton(1, '', function()end)
  1450. drop = GUI.DropDown.New(UDim2.new(0, 0, 0, 0), UDim2.new(1, 0, 1, 0), search, {'All'})
  1451. function fixPlayerDrop()
  1452.     local t = {'All'}
  1453.     for i, v in pairs(game.Players:GetPlayers()) do
  1454.         table.insert(t, v.Name)
  1455.     end
  1456.     drop.SetTable(t)
  1457. end
  1458. game.Players.PlayerAdded:connect(function()
  1459.     fixPlayerDrop()
  1460. end)
  1461. game.Players.PlayerRemoving:connect(function()
  1462.     fixPlayerDrop()
  1463. end)
  1464. plrFrame = plrwin:drawContainer(1, 100)
  1465. headshotContainer = plrFrame:drawContainer(0.4, 94, true)
  1466. headshotContainer:setDrawY(20)
  1467. headshot = headshotContainer:drawImage(1, "https://www.roblox.com/bust-thumbnail/image?userId=1&width=420&height=420&format=png", 74)
  1468. headshotContainer:setDrawY(0)
  1469. userNameText = headshotContainer:drawText(1, "[All]")
  1470. userNameText.ClipsDescendants = true
  1471. userNameText.Font = Enum.Font.SourceSansBold
  1472. infoContainer = plrFrame:drawContainer(0.5, 94, true, 0.5)
  1473. infoContainer.BackgroundColor3 = color3(108, 38, 38)
  1474. userIdText = infoContainer:drawText(1, "ID: 0")
  1475. userAgeText = infoContainer:drawText(1, "Age: 0")
  1476. userTeamText = infoContainer:drawText(1, "Team: Neutral")
  1477. cval = 'All'
  1478. fixPlayerDrop()
  1479.  
  1480. function updatePlayer(plri)
  1481.     local plr = game:GetService('Players'):FindFirstChild(plri)
  1482.     if not plr and plri ~= 'All' then
  1483.         print("Couldn't find player!")
  1484.         updatePlayer(topkek.lplr)
  1485.     else
  1486.         headshot.Image = "https://www.roblox.com/bust-thumbnail/image?userId=1&width=420&height=420&format=png"
  1487.         userNameText.Text = "[All]"
  1488.         userIdText.Text = 'ID: [multiple]'
  1489.         userAgeText.Text = 'Age: [multiple]'
  1490.         userTeamText.Text = 'Team: [multiple]'
  1491.         cval = 'All'
  1492.     end
  1493.     local team = plr.TeamColor
  1494.     if team == nil then
  1495.         team = 'Neutral'
  1496.     else
  1497.         team = tostring(team)
  1498.     end
  1499.     headshot.Image = "https://www.roblox.com/bust-thumbnail/image?userId=" .. tostring(plr.UserId) .. "&width=420&height=420&format=png"
  1500.     userNameText.Text = plr.Name
  1501.     userIdText.Text = 'ID: ' .. tostring(plr.UserId)
  1502.     userAgeText.Text = 'Age: ' .. tostring(plr.AccountAge)
  1503.     userTeamText.Text = 'Team: ' .. team
  1504.     cval = plr.Name
  1505.    
  1506. end
  1507. drop.Changed(updatePlayer)
  1508. --actual code ------__-
  1509. plrwin:addSpacing()
  1510. plrwin:drawButton(1/2, 'Kick', function()
  1511.     tk.dp(cval, function(p)
  1512.         topkek.banmgr.executeKick(p)
  1513.     end)
  1514. end)
  1515.  
  1516. plrwin:drawButton(1/2, 'Ban', function()
  1517.     tk.dp(cval, function(p)
  1518.         topkek.banmgr.addSoftBan(p)
  1519.     end)
  1520. end)
  1521. plrwin:drawButton(1/2,'Friendlag', function()
  1522.     tk.dp(cval, function(p)
  1523.         for i = 1, 10 do
  1524.             spawn(function()
  1525.                 while wait() do
  1526.                     game.Players.LocalPlayer:RequestFriendship(p)
  1527.                     game.Players.LocalPlayer:RevokeFriendship(p)
  1528.                 end
  1529.             end)
  1530.         end
  1531.     end)
  1532. end)
  1533. plrwin:drawButton(1/2, 'Hardban', function()
  1534.     tk.dp(cval, function(p)
  1535.         topkek.banmgr.addHardBan(p)
  1536.     end)
  1537. end)
  1538. plrwin:addSpacing()
  1539. plrwin:drawButton(1/2, 'Bring', function()
  1540.     tk.dp(cval, function(z)
  1541.         if z.Character then
  1542.             z.Character.HumanoidRootPart.CFrame =
  1543.                 game:service'Players'.LocalPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(1,1,1)
  1544.         end
  1545.     end)
  1546. end)
  1547. plrwin:drawButton(1/2, 'Goto', function()
  1548.     tk.dp(cval, function(z)
  1549.         game:service'Players'.LocalPlayer.Character.HumanoidRootPart.CFrame =
  1550.             z.Character.HumanoidRootPart.CFrame * CFrame.new(1,1,1)
  1551.     end)
  1552. end)
  1553. plrwin:addSpacing()
  1554. plrwin:drawButton(1/3, 'Kill', function()
  1555.     tk.dp(cval, function(p)
  1556.         if p.Character and p.Character:FindFirstChild("Humanoid") then
  1557.             p.Character.Humanoid.Health = 0
  1558.         end
  1559.     end)
  1560. end)
  1561. plrwin:drawButton(1/3, 'Seizure', function()
  1562.     tk.dp(cval, function(p)
  1563.         if p.Character and p.Character:FindFirstChild("Humanoid") and tk.gt(p) then
  1564.             spawn(function()
  1565.                 p.Character.Humanoid.PlatformStand = true
  1566.                 tk.gt(p).CFrame = tk.gt(p).CFrame * CFrame.Angles(math.rad(90),0,0)
  1567.                 repeat
  1568.                     wait()
  1569.                     p.Character.Humanoid.PlatformStand = true
  1570.                     tk.gt(p).Velocity = Vector3.new(math.random(-10,10),-5,math.random(-10,10))
  1571.                     tk.gt(p).RotVelocity = Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
  1572.                 until not p.Character:FindFirstChild("Humanoid") or not tk.gt(p)
  1573.             end)
  1574.         end
  1575.     end)
  1576. end)
  1577. plrwin:drawButton(1/3, 'Stun', function()
  1578.     tk.dp(cval, function(p)
  1579.         if p.Character and p.Character:FindFirstChild("Humanoid") then
  1580.             p.Character.Humanoid.PlatformStand = true
  1581.             p.Character.Torso.CFrame = p.Character.Torso.CFrame * CFrame.Angles(math.rad(90),0,0)
  1582.         end
  1583.     end)
  1584. end)
  1585. plrwin:drawButton(1/3, 'Freeze', function()
  1586.     tk.dp(cval, function(p)
  1587.         if p.Character then
  1588.             tk.gt(p).Anchored = true
  1589.         end
  1590.     end)
  1591. end)
  1592. plrwin:drawButton(1/3, 'Thaw', function()
  1593.     tk.dp(cval, function(p)
  1594.         if p.Character then
  1595.             tk.gt(p).Anchored = false
  1596.         end
  1597.     end)
  1598. end)
  1599. plrwin:drawButton(1/3, 'Superslow', function()
  1600.     tk.dp(cval, function(p)
  1601.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1602.             p.Character.Humanoid.WalkSpeed = 1
  1603.         end
  1604.     end)
  1605. end)
  1606. plrwin:drawButton(1/3, 'Highjump', function()
  1607.     tk.dp(cval, function(p)
  1608.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1609.             p.Character.Humanoid.JumpPower = 125
  1610.         end
  1611.     end)
  1612. end)
  1613. plrwin:drawButton(1/3, 'God', function()
  1614.     tk.dp(cval, function(p)
  1615.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1616.             p.Character.Humanoid.MaxHealth = math.huge
  1617.             p.Character.Humanoid.Health = math.huge
  1618.         end
  1619.     end)
  1620. end)
  1621. plrwin:drawButton(1/3, 'Semigod', function()
  1622.     tk.dp(cval, function(p)
  1623.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1624.             p.Character.Humanoid.MaxHealth = 9e9
  1625.             p.Character.Humanoid.Health = 9e9
  1626.         end
  1627.     end)
  1628. end)
  1629. plrwin:drawButton(1/3, 'Fast', function()
  1630.     tk.dp(cval, function(p)
  1631.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1632.             p.Character.Humanoid.WalkSpeed = 50
  1633.         end
  1634.     end)
  1635. end)
  1636. Follow = false;
  1637. plrwin:drawButton(1/3, 'Annoy', function()
  1638.     tk.dp(cval, function(p)
  1639.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1640.             if Follow == true then
  1641.                 Follow = false; return
  1642.             else Follow = true end
  1643.             while Follow == true do
  1644.                 game:service'Players'.LocalPlayer.Character.HumanoidRootPart.CFrame=
  1645.                     p.Character.HumanoidRootPart.CFrame
  1646.                 wait()
  1647.             end
  1648.         end
  1649.     end)
  1650. end)
  1651. plrwin:drawButton(1/3, 'Freefall', function()
  1652.     tk.dp(cval, function(p)
  1653.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1654.             p.Character.HumanoidRootPart.CFrame = p.Character.HumanoidRootPart.CFrame * CFrame.new(0, 10000, 0)    
  1655.         end
  1656.     end)
  1657. end)
  1658. plrwin:drawButton(1/3, 'Destroy', function()
  1659.     tk.dp(cval, function(p)
  1660.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1661.             p.Character.Humanoid:Destroy()
  1662.         end
  1663.     end)
  1664. end)
  1665. plrwin:drawButton(1/3, 'Fix', function()
  1666.     tk.dp(cval, function(p)
  1667.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1668.             p.Character.Humanoid.Health = 100
  1669.             p.Character.Humanoid.MaxHealth = 100
  1670.             p.Character.Humanoid.JumpPower = 100
  1671.             p.Character.Humanoid.WalkSpeed = 16
  1672.             p.Character.Humanoid.PlatformStand = false
  1673.             p.Character.Humanoid.Jump = true
  1674.         end
  1675.     end)
  1676. end)
  1677. plrwin:drawButton(1/3, 'Respawn', function()
  1678.     tk.dp(cval, function(p)
  1679.         if p.Character then
  1680.             local a1 = Instance.new("Model", game:service'Workspace')
  1681.             local a2 = Instance.new("Part", game:service'Workspace')
  1682.             a2.CanCollide = true
  1683.             a2.Anchored = true
  1684.             a2.CFrame = CFrame.new(10000, 10000, 10000)
  1685.             a2.Name = "Torso"
  1686.             local a3 = Instance.new("Humanoid", a1)
  1687.             a3.MaxHealth=100;a3.Health=100
  1688.             p.Character = a1
  1689.             a3.Health=0
  1690.         end
  1691.     end)
  1692. end)
  1693. plrwin:addSpacing()
  1694. local nameInp
  1695. plrwin:drawButton(1/3, 'Name', function()
  1696.     tk.dp(cval, function(z)
  1697.         local Character = z.Character
  1698.         local newName = Instance.new("Model", z.Character)
  1699.         newName.Name = nameInp.Text
  1700.         local cl = Character:WaitForChild("Head"):Clone()
  1701.         cl.Parent = newName
  1702.         cl:WaitForChild("face"):Destroy()
  1703.         local hum = Instance.new("Humanoid", newName)
  1704.         hum.Name = "NameTag"
  1705.         hum.MaxHealth = 0
  1706.         hum.Health = 0
  1707.         local weld = Instance.new("Weld", cl)
  1708.         weld.Part0 = cl
  1709.         weld.Part1 = Character:WaitForChild("Head")
  1710.         Character:WaitForChild("Head").Transparency = 1
  1711.         wait(.5)
  1712.         cl.BrickColor = Character:WaitForChild("Head").BrickColor
  1713.     end)
  1714. end)
  1715. nameInp = plrwin:drawTextBox(2/3, '')
  1716. local chatInp
  1717. plrwin:drawButton(1/3, 'Chat', function()
  1718.     tk.dp(cval, function(z)
  1719.         game:GetService('Chat'):Chat(z.Charcter, chatInp.Text)
  1720.     end)
  1721. end)
  1722. chatInp = plrwin:drawTextBox(2/3, '')
  1723. local disgInp
  1724. plrwin:drawButton(1/3, 'Disguise', function()
  1725.     tk.dp(cval, function(p)
  1726.         local id = 0
  1727.         if tonumber(disgInp.Text) then
  1728.             id = tonumber(disgInp.Text)
  1729.         else
  1730.             id = game:GetService('Players'):GetUserIdFromNameAsync(disgInp.Text)
  1731.         end
  1732.         if p.Character:FindFirstChild("Humanoid") then
  1733.             p.Character.Humanoid.Health = 0
  1734.         end
  1735.         p.CharacterAppearance = 'https://assetgame.roblox.com/Asset/CharacterFetch.ashx?userId=' .. tostring(id)
  1736.     end)
  1737. end)
  1738. disgInp = plrwin:drawTextBox(2/3, 'ROBLOX')
  1739. plrwin:addSpacing()
  1740. clrR = plrwin:drawTextBox(1/3, '0')
  1741. clrG = plrwin:drawTextBox(1/3, '0')
  1742. clrB = plrwin:drawTextBox(1/3, '0')
  1743. function getColor()
  1744.     local r = tonumber(clrR.Text)
  1745.     local g = tonumber(clrG.Text)
  1746.     local b = tonumber(clrB.Text)
  1747.     if not (r and g and b) then return Color3.new(0,0,0) end
  1748.     return Color3.new(r/255, g/255, b/255)
  1749. end
  1750. plrwin:drawButton(1/3, 'Sparkles', function()
  1751.     tk.dp(cval, function(z)
  1752.         Instance.new("Sparkles", tk.gt(z)).SparkleColor = getColor()
  1753.     end)
  1754. end)
  1755. plrwin:drawButton(1/3, 'Smoke', function()
  1756.     tk.dp(cval, function(z)
  1757.         Instance.new("Smoke", tk.gt(z)).Color = getColor()
  1758.  
  1759.     end)
  1760. end)
  1761. plrwin:drawButton(1/3, 'Fire', function()
  1762.     tk.dp(cval, function(z)
  1763.         local fr = Instance.new("Fire", tk.gt(z))
  1764.         fr.Color = getColor()
  1765.         fr.Heat = 30
  1766.         fr.Size = 20
  1767.     end)
  1768. end)
  1769. plrwin:drawButton(1/3, 'Forcefield', function()
  1770.     tk.dp(cval, function(z)
  1771.         if z.Character then
  1772.             Instance.new("ForceField", z.Character)
  1773.         end
  1774.     end)
  1775. end)
  1776. plrwin:drawButton(1/3, 'Select', function()
  1777.     tk.dp(cval, function(z)
  1778.         if z.Character and tk.gt(z) then
  1779.             Instance.new("SelectionBox", tk.gt(z)).Adornee = tk.gt(z)
  1780.         end
  1781.     end)
  1782. end)
  1783. plrwin:drawButton(1/3, 'Sphere', function()
  1784.     tk.dp(cval, function(z)
  1785.         if z.Character and tk.gt(z) then
  1786.             Instance.new("SelectionSphere", tk.gt(z)).Adornee = tk.gt(z)
  1787.         end
  1788.     end)
  1789. end)
  1790. plrwin:drawButton(1/3, 'Fling', function()
  1791.     tk.dp(cval, function(z)
  1792.         spawn(function() --kohls admin commands lol
  1793.             if z.Character and tk.gt(z) then
  1794.                 local xran, zran
  1795.                 repeat xran = math.random(5555, 9999) until math.abs(xran) >= 5555
  1796.                 repeat zran = math.random(5555, 9999) until math.abs(zran) >= 5555
  1797.                 z.Character.Humanoid.Sit = true
  1798.                 tk.gt(z).Velocity = Vector3.new(0,0,0)
  1799.                 local frc = Instance.new("BodyForce", tk.gt(z))
  1800.                 frc.Name = "BFRC"
  1801.                 frc.force = Vector3.new(xran*4,9999*5,zran*4)
  1802.                 game:GetService("Debris"):AddItem(frc, 0.1)
  1803.             end
  1804.         end)
  1805.     end)
  1806. end)
  1807. plrwin:drawButton(1/3, 'Explode', function()
  1808.     tk.dp(cval, function(z)
  1809.         if z.Character and tk.gt(z) then
  1810.             local explosion = Instance.new("Explosion")
  1811.             explosion.Position = tk.gt(z).Position
  1812.             explosion.Parent = workspace
  1813.         end
  1814.     end)
  1815. end)
  1816. plrwin:drawButton(1/3, 'Nuke', function()
  1817.     tk.dp(cval, function(z)
  1818.         if z.Character and tk.gt(z) then
  1819.             local torso = tk.gt(z)
  1820.             local nuke = Instance.new("Part", game.Workspace)
  1821.             local opos = torso.CFrame
  1822.             nuke.BrickColor = BrickColor.new("Bright yellow")
  1823.             nuke.TopSurface = Enum.SurfaceType.Smooth
  1824.             nuke.BottomSurface = Enum.SurfaceType.Smooth
  1825.             nuke.Anchored = true
  1826.             nuke.CanCollide = false
  1827.             nuke.Shape = "Ball"            
  1828.             nuke.Transparency = 0.5
  1829.             nuke.CFrame = torso.CFrame     
  1830.             nuke.Size = Vector3.new(1, 1, 1)
  1831.             nuke.Touched:connect(function(p)
  1832.                 local expl = Instance.new("Explosion", p)
  1833.                 expl.BlastPressure = 50000
  1834.                 expl.BlastRadius = 50
  1835.                 expl.Position = p.Position
  1836.                 p.Material = Enum.Material.CorrodedMetal
  1837.                 p:BreakJoints()
  1838.             end)
  1839.             for i = 1, 150 do
  1840.                 nuke.Size = Vector3.new(i, i, i)
  1841.                 nuke.CFrame = opos
  1842.                 wait(0.08)
  1843.             end
  1844.             nuke:Destroy()
  1845.         end
  1846.     end)
  1847. end)
  1848. plrwin:drawButton(1/3, 'No Tools', function()
  1849.     tk.dp(cval, function(p)
  1850.         for _, t in pairs(p.Backpack:GetChildren()) do
  1851.             t:Destroy()
  1852.         end
  1853.     end)
  1854. end)
  1855. plrwin:drawButton(1/3, 'Take Tools', function()
  1856.     tk.dp(cval, function(p)
  1857.         for _, t in pairs(p.Backpack:GetChildren()) do
  1858.             t.Parent = game:service'Players'.LocalPlayer.Backpack
  1859.         end
  1860.     end)
  1861. end)
  1862. plrwin:drawButton(1/3, 'BTools', function()
  1863.     tk.dp(cval, function(p)
  1864.         local a = Instance.new("HopperBin")
  1865.         a.BinType = "GameTool"
  1866.         a.Parent = p.Backpack
  1867.         local a = Instance.new("HopperBin")
  1868.         a.BinType = "Clone"
  1869.         a.Parent = p.Backpack
  1870.         local a = Instance.new("HopperBin")
  1871.         a.BinType = "Hammer"
  1872.         a.Parent = p.Backpack
  1873.     end)
  1874. end)
  1875. plrwin:drawButton(1/3, 'Hotdog', function()
  1876.     tk.dp(cval, function(p)
  1877.         if p.Character and tk.gt(p) then
  1878.             topkek.tools.util.weenieHutJunior(p)
  1879.         end
  1880.     end)
  1881. end)
  1882. plrwin:drawButton(1/3, 'Quicksand', function()
  1883.     tk.dp(cval, function(z)
  1884.         if z.Character and z.Character:FindFirstChild("Humanoid") then
  1885.             local tor = tk.gt(z)
  1886.             local hole = Instance.new("Part", z.Character)
  1887.             hole.Anchored = true
  1888.             hole.Name = "Hole"
  1889.             hole.FormFactor = Enum.FormFactor.Custom
  1890.             hole.Size = Vector3.new(7, 1, 7)
  1891.             hole.CanCollide = false
  1892.             hole.CFrame = tor.CFrame * CFrame.new(0,-3.3,0)
  1893.             hole.BrickColor = BrickColor.new("Cool yellow")
  1894.             hole.Material = Enum.Material.Sand
  1895.             local hm = Instance.new("CylinderMesh", hole)
  1896.             tor.Anchored = true
  1897.             if z.Character:FindFirstChild("Humanoid") then
  1898.                 z.Character.Humanoid.Jump = true
  1899.             end
  1900.             for x,m in pairs(z.Character:GetChildren()) do
  1901.                 if m:IsA("BasePart") or m:IsA("MeshPart") then
  1902.                     m.CanCollide = false
  1903.                 end
  1904.             end
  1905.             for i=1,75 do
  1906.                 tor.CFrame=tor.CFrame*CFrame.new(0,-0.1,0)
  1907.                 wait(0.06)
  1908.             end
  1909.             tor.CFrame=tor.CFrame*CFrame.new(0,
  1910.                 -500,0
  1911.             )
  1912.             z.Character.Humanoid.Health = 0
  1913.         end
  1914.     end)
  1915. end)
  1916. plrwin:drawButton(1/3, 'Insane', function()
  1917.     tk.dp(cval, function(p)
  1918.         if p.Character and tk.gt(p) then
  1919.             for i,v in pairs(tk.gt(p):GetChildren()) do
  1920.                 if v:IsA("Motor6D") then
  1921.                     spawn(function()
  1922.                         while v do
  1923.                             v.C0=v.C0*CFrame.Angles(math.random(-180,180),math.random(-180,180),math.random(-180,180))
  1924.                             wait()
  1925.                         end
  1926.                     end)
  1927.                 end
  1928.             end
  1929.         end
  1930.     end)
  1931. end)
  1932. plrwin:drawButton(1/3, 'Invisible', function()
  1933.     tk.dp(cval, function(p)
  1934.         tk.rco(p.Character, 'BasePart', 'Transparency', 1)
  1935.         tk.rco(p.Character, 'MeshPart', 'Transparency', 1)
  1936.     end)
  1937. end)
  1938. plrwin:drawButton(1/3, 'Visible', function()
  1939.     tk.dp(cval, function(p)
  1940.         tk.rco(p.Character, 'BasePart', 'Transparency', 0)
  1941.         tk.rco(p.Character, 'MeshPart', 'Transparency', 0)
  1942.     end)
  1943. end)
  1944. plrwin:drawButton(1/3, 'Bighead', function()
  1945.     tk.dp(cval, function(z)
  1946.         if z.Character then
  1947.             if z.Character:FindFirstChild('Head') then
  1948.                 z.Character.Head.Mesh.Scale=Vector3.new(5,5,5)
  1949.             end
  1950.         end
  1951.     end)
  1952. end)
  1953. plrwin:drawButton(1/3, 'Goldify', function()
  1954.     tk.dp(cval, function(z)
  1955.         if z.Character then
  1956.             tk.rco(z.Character, 'BasePart', 'Material', 'Marble')
  1957.             tk.rco(z.Character, 'MeshPart', 'Material', 'Marble')
  1958.             tk.rco(z.Character, 'BasePart', 'BrickColor', BrickColor.new('Bright yellow'))
  1959.             tk.rco(z.Character, 'MeshPart', 'BrickColor', BrickColor.new('Bright yellow'))
  1960.         end
  1961.     end)
  1962. end)
  1963. plrwin:drawButton(1/3, 'Neon', function()
  1964.     tk.dp(cval, function(z)
  1965.         if z.Character then
  1966.             tk.rco(z.Character, 'BasePart', 'Material', 'Neon')
  1967.             tk.rco(z.Character, 'MeshPart', 'Material', 'Neon')
  1968.         end
  1969.     end)
  1970. end)
  1971. plrwin:drawButton(1/3, 'Shiny', function()
  1972.     tk.dp(cval, function(z)
  1973.         if z.Character then
  1974.             tk.rco(z.Character, 'BasePart', 'Reflectance', 1)
  1975.             tk.rcm(z.Character, 'MeshPart')
  1976.         end
  1977.     end)
  1978. end)
  1979. plrwin:drawButton(1/3, 'Shrek', function()
  1980.     tk.dp(cval, function(z)
  1981.         if z.Character then
  1982.             local pchar = z.Character
  1983.             for i,v in pairs(pchar:GetChildren()) do
  1984.                 if v:IsA("Hat") or v:IsA("Accessory") or v:IsA("CharacterMesh") or v:IsA("Shirt") or v:IsA("Pants") then
  1985.                     v:Destroy()
  1986.                 end
  1987.             end
  1988.             for i,v in pairs(pchar.Head:GetChildren()) do
  1989.                 if v:IsA("Decal") or v:IsA("SpecialMesh") then
  1990.                     v:Destroy()
  1991.                 end
  1992.             end
  1993.            
  1994.             local mesh = Instance.new("SpecialMesh", pchar.Head)
  1995.             mesh.MeshType = "FileMesh"
  1996.             pchar.Head.Mesh.MeshId = "http://www.roblox.com/asset/?id=19999257"
  1997.             pchar.Head.Mesh.Offset = Vector3.new(-0.1, 0.1, 0)
  1998.             pchar.Head.Mesh.TextureId = "http://www.roblox.com/asset/?id=156397869"
  1999.            
  2000.             local Shirt = Instance.new("Shirt", z.Character)
  2001.             local Pants = Instance.new("Pants", z.Character)
  2002.            
  2003.             Shirt.ShirtTemplate = "rbxassetid://133078194"
  2004.             Pants.PantsTemplate = "rbxassetid://133078204"
  2005.         end
  2006.     end)
  2007. end)
  2008. plrwin:drawButton(1/3, 'Duck', function()
  2009.     tk.dp(cval, function(z)
  2010.         if z.Character then
  2011.             local pchar = z.Character
  2012.             for i,v in pairs(pchar:GetChildren()) do
  2013.                 if v:IsA("Hat") or v:IsA("Accessory") then
  2014.                     v:Destroy()
  2015.                 end
  2016.             end
  2017.             local duck = Instance.new("SpecialMesh", z.Character.HumanoidRootPart)
  2018.             duck.MeshType = "FileMesh"
  2019.             duck.MeshId = "http://www.roblox.com/asset/?id=9419831"
  2020.             duck.TextureId = "http://www.roblox.com/asset/?id=9419827"
  2021.             duck.Scale = Vector3.new(5, 5, 5)
  2022.             tk.rco(z.Character, 'Instance', 'Transparency', 1)
  2023.             z.Character.HumanoidRootPart.Transparency = 0
  2024.         end
  2025.     end)
  2026. end)
  2027. plrwin:drawButton(1/3, 'Spheres', function()
  2028.     tk.dp(cval, function(z)
  2029.         if z.Character then
  2030.             tk.rco(z.Character, 'BasePart', 'Shape', 'Cylinder')
  2031.         end
  2032.     end)
  2033. end)
  2034. plrwin:drawButton(1/3, 'Big', function()
  2035.     tk.dp(cval, function(z)
  2036.         if z.Character then
  2037.             topkek.tools.util.scalePlayer(5, z)
  2038.         end
  2039.     end)
  2040. end)
  2041. plrwin:drawButton(1/3, 'Small', function()
  2042.     tk.dp(cval, function(z)
  2043.         if z.Character then
  2044.             topkek.tools.util.scalePlayer(5, z)
  2045.         end
  2046.     end)
  2047. end)
  2048. plrwin:drawButton(1/3, 'Giraffe', function()
  2049.     tk.dp(cval, function(z)
  2050.         if z.Character then
  2051.             local char=z.Character
  2052.             local h=char.Head
  2053.             local tor=char:FindFirstChild("Torso")
  2054.             if not tor then return end
  2055.             tor.Neck.C0=tor.Neck.C0*CFrame.new(0,0,5)
  2056.             local fn=Instance.new("Part",char)
  2057.             fn.Size=Vector3.new(1,5.5,1)
  2058.             fn.Name="FakeNeck"
  2059.             fn.Anchored=false
  2060.             fn.CanCollide=false
  2061.             if char:FindFirstChild("Body Colors") then
  2062.                 fn.BrickColor=char["Body Colors"].HeadColor
  2063.             end
  2064.             local cm=Instance.new("CylinderMesh",fn)
  2065.             local we=Instance.new("Weld",h)
  2066.             we.Part0=h
  2067.             we.Part1=fn
  2068.             we.C1=we.C1*CFrame.new(0,2.6,0)
  2069.         end
  2070.     end)
  2071. end)
  2072. plrwin:drawButton(1/3, 'Dab', function()
  2073.     tk.dp(cval, function(z)
  2074.         if z.Character and z.Character:FindFirstChild("Torso") then
  2075.             local chr = z.Character
  2076.             chr.Animate.Disabled = true
  2077.             chr.Torso["Left Shoulder"].C1 = CFrame.new(0, 0.699999988, 0, 0.939692616, 0, -0.342020124, -0.330366075, -0.258819044, -0.907673359, -0.0885213241, 0.965925813, -0.243210346)
  2078.             chr.Torso["Right Shoulder"].C1 = CFrame.new(-0.600000024, 0.5, -0.200000003, 0.664462984, 0.241844743, 0.707106769, -0.664462984, -0.241844788, 0.707106769, 0.342020154, -0.939692616, -3.09086197e-008)
  2079.             chr.Torso["Neck"].C1 = CFrame.new(0, -0.600000024, 0, -0.866025388, 0.5, 0, -0.171010137, -0.29619807, 0.939692616, 0.469846278, 0.813797653, 0.342020124)
  2080.         end
  2081.     end)
  2082. end)
  2083. plrwin:drawButton(1/3, 'Force Follow', function()
  2084.     tk.dp(cval, function(z)
  2085.         game:GetService("RunService"):BindToRenderStep("_", 0, function()
  2086.             z.Character.Humanoid:MoveTo(topkek.lplr.Character.Head.Position)
  2087.         end)
  2088.     end)
  2089. end)
  2090. plrwin:drawButton(1/3, 'Camlock', function()
  2091.     tk.dp(cval, function(z)
  2092.         z.CameraMode = "LockFirstPerson"
  2093.     end)
  2094. end)
  2095. --// SERVER //--
  2096. local servwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Server').Container)
  2097. local detailWin = servwin:drawContainer(1, 100, nil, nil, 18)
  2098. detailWin:drawText(1, 'Job ID: ' .. (game.JobId and (game.JobId ~= "") or "???"))
  2099. detailWin:drawText(1, 'Game Name: ' .. game:service'MarketplaceService':GetProductInfo(game.PlaceId).Name)
  2100. detailWin:drawText(1, 'Creator Name: ' .. game:GetService('Players'):GetNameFromUserIdAsync(game.CreatorId))
  2101. servwin:drawButton(1/2, 'Shutdown', function()
  2102.     workspace.Gravity = 0/0
  2103. end)
  2104. servwin:drawButton(1/2, 'Clear', function()
  2105.     for i,v in pairs(game:service'Workspace':GetChildren()) do
  2106.         if (not v:IsA("Terrain"))and(v.Name~="Camera") then
  2107.             v:Destroy()
  2108.         end
  2109.     end
  2110. end)
  2111. servwin:drawButton(1/2, 'Baseplate', function()
  2112.     for X = -2500, 2500, 512 do
  2113.         for Z = -2500, 2500, 512 do
  2114.             local P = Instance.new("Part")
  2115.             P.Anchored = true
  2116.             P.Locked = true
  2117.             P.Size = Vector3.new(512,3,512)
  2118.             P.CFrame = CFrame.new(X,0,Z)
  2119.             P.BrickColor = BrickColor.Green()
  2120.             P.Parent = game:service'Workspace'
  2121.         end
  2122.     end
  2123. end)
  2124. servwin:drawButton(1/2, 'Reset', function()
  2125.     for i,v in pairs(game:service'Workspace':GetChildren()) do
  2126.         if (not v:IsA("Terrain"))and(v.Name~="Camera") then
  2127.             v:Destroy()
  2128.         end
  2129.     end
  2130.     for X = -2500, 2500, 512 do
  2131.         for Z = -2500, 2500, 512 do
  2132.             local P = Instance.new("Part")
  2133.             P.Anchored = true
  2134.             P.Locked = true
  2135.             P.Size = Vector3.new(512,3,512)
  2136.             P.CFrame = CFrame.new(X,0,Z)
  2137.             P.BrickColor = BrickColor.Green()
  2138.             P.Parent = game:service'Workspace'
  2139.         end
  2140.     end
  2141.     for i, v in pairs(game:GetService('Players'):GetPlayers()) do
  2142.         local a1 = Instance.new("Model", game:service'Workspace')
  2143.         local a2 = Instance.new("Part", game:service'Workspace')
  2144.         a2.CanCollide = true
  2145.         a2.Anchored = true
  2146.         a2.CFrame = CFrame.new(10000, 10000, 10000)
  2147.         a2.Name = "Torso"
  2148.         local a3 = Instance.new("Humanoid", a1)
  2149.         a3.MaxHealth=100;a3.Health=100
  2150.         v.Character = a1
  2151.         a3.Health=0
  2152.     end
  2153. end)
  2154. servwin:drawButton(1, 'Remove Sounds', function()
  2155.     tk.rcm(game, 'Sound')
  2156. end)
  2157. servwin:addSpacing()
  2158. servwin:drawButton(1, 'Break All', function()
  2159.     workspace:BreakJoints(workspace:GetChildren())
  2160. end)
  2161. local gravInp
  2162. servwin:drawButton(1/3, 'Gravity', function()
  2163.     if not tonumber(gravInp.Text) then return end
  2164.     workspace.Gravity = tonumber(gravInp.Text)
  2165. end)
  2166. gravInp = servwin:drawTextBox(2/3, '')
  2167. servwin:addSpacing()
  2168. servwin:drawButton(1, 'Reset Lighting', function()
  2169.     local l = game:service'Lighting'
  2170.     l.Ambient = Color3.new(0, 0, 0)
  2171.     l.Brightness = 1
  2172.     l.GlobalShadows = true
  2173.     l.Outlines = true
  2174.     l.FogEnd = 100000
  2175.     l.FogStart = 0
  2176.     l:SetMinutesAfterMidnight(12*60)
  2177. end)
  2178. local brightInp
  2179. servwin:drawButton(1/3, 'Brightness', function()
  2180.     if not tonumber(brightInp.Text) then return end
  2181.     game:GetService('Lighting').Brightness = tonumber(brightInp.Text)
  2182. end)
  2183. brightInp = servwin:drawTextBox(2/3, '100')
  2184. local fogInp
  2185. servwin:drawButton(1/3, 'Fog', function()
  2186.     if not tonumber(fogInp.Text) then return end
  2187.     game:GetService('Lighting').FogEnd = tonumber(fogInp.Text)
  2188. end)
  2189. fogInp = servwin:drawTextBox(2/3, '0')
  2190. local timeInp
  2191. servwin:drawButton(1/3, 'Hour', function()
  2192.     if not tonumber(timeInp.Text) then return end
  2193.     game:GetService('Lighting'):SetMinutesAfterMidnight(60*tonumber(timeInp.Text))
  2194. end)
  2195. timeInp = servwin:drawTextBox(2/3, '12')
  2196. servwin:addSpacing()
  2197. -- private server crap
  2198. local privateToggle
  2199. local privStatus = false
  2200. privateToggle = servwin:drawButton(1, 'Private Server OFF', function()
  2201.     if privStatus == false then
  2202.         privStatus = true
  2203.         privateToggle.Text = 'Private Server ON'
  2204.         topkek.banmgr.makePrivate()
  2205.     else
  2206.         privateToggle.Text = 'Private Server OFF'
  2207.         topkek.banmgr.unprivate()
  2208.     end
  2209. end)
  2210. servwin:addSpacing()
  2211. servwin:drawText(1, 'Whitelist')
  2212. local plrAddInp
  2213. servwin:drawButton(1/3, 'Add', function()
  2214.     topkek.banmgr.doWhitelist(plrAddInp.Text)
  2215.     ReorderWL()
  2216. end)
  2217. plrAddInp = servwin:drawTextBox(2/3, '')
  2218. wlCont = servwin:drawScrollingContainer(100)
  2219. function ReorderWL()
  2220.     local wl = topkek.banmgr.whitelist
  2221.     for i,v in pairs(wlCont:GetChildren()) do
  2222.         v:Destroy()
  2223.     end
  2224.     wlCont:setDrawY(3)
  2225.     for i,v in pairs(wl) do
  2226.         wlCont:drawText(2/3, v)
  2227.         wlCont:drawButton(1/3, 'Remove', function()
  2228.             topkek.banmgr.unwhitelist(v)
  2229.             ReorderWL()
  2230.         end)
  2231.     end
  2232. end
  2233. ReorderWL()
  2234. --// LOCALPLAYER //--
  2235. local lpwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('LocalPlayer').Container)
  2236. lpwin:drawButton(1, 'Reset Camera', function()
  2237.     game.Workspace.CurrentCamera:remove()
  2238.     wait(.1)
  2239.     game.Workspace.CurrentCamera.CameraSubject = topkek.lplr.Character.Humanoid or
  2240.         game.Workspace[topkek.lplr.Name].Humanoid
  2241.     game.Workspace.CurrentCamera.CameraType = "Custom"
  2242. end)
  2243. lpwin:drawButton(1, 'Respawn', function()
  2244.     local a1 = Instance.new("Model", game:service'Workspace')
  2245.     local a2 = Instance.new("Part", game:service'Workspace')
  2246.     a2.CanCollide = true
  2247.     a2.Anchored = true
  2248.     a2.CFrame = CFrame.new(10000, 10000, 10000)
  2249.     a2.Name = "Torso"
  2250.     local a3 = Instance.new("Humanoid", a1)
  2251.     a3.MaxHealth=100;a3.Health=100
  2252.     topkek.lplr.Character = a1
  2253.     a3.Health=0
  2254. end)
  2255. lpwin:drawButton(1, 'Rejoin', function()
  2256.     game:GetService('TeleportService'):Teleport(game.PlaceId)
  2257. end)
  2258. lpwin:addSpacing()
  2259. lpwin:drawButton(1/2, 'God', function()
  2260.     if topkek.lplr.Character:FindFirstChild("Humanoid") then
  2261.         topkek.lplr.Character.Humanoid.MaxHealth = math.huge
  2262.         topkek.lplr.Character.Humanoid.Health = math.huge
  2263.     end
  2264. end)
  2265. lpwin:drawButton(1/2, 'Semigod', function()
  2266.     if topkek.lplr.Character:FindFirstChild("Humanoid") then
  2267.         topkek.lplr.Character.Humanoid.MaxHealth = 9e9
  2268.         topkek.lplr.Character.Humanoid.Health = 9e9
  2269.     end
  2270. end)
  2271. Loopgod = false
  2272. lpwin:drawButton(1, 'Loopgod', function()
  2273.     if Loopgod == false then
  2274.         Loopgod = true
  2275.         spawn(function()
  2276.             repeat
  2277.                 topkek.lplr.Character.Humanoid.MaxHealth = math.huge
  2278.                 topkek.lplr.Character.Humanoid.Health = math.huge
  2279.                 wait()
  2280.             until Loopgod == false
  2281.         end)   
  2282.     else
  2283.         Loopgod = false
  2284.     end
  2285. end)
  2286. lpwin:addSpacing()
  2287. plrwin:addSpacing()
  2288. local Lev, Clip, Fly
  2289. lpwin:drawButton(1/2, 'Levitate', function()
  2290.     if Lev == true then
  2291.         Lev = false
  2292.         return
  2293.     end
  2294.     Lev = true
  2295.     repeat
  2296.         topkek.lplr.Character.Humanoid:ChangeState(10)
  2297.         wait(0)
  2298.     until Lev == false
  2299. end)
  2300. lpwin:drawButton(1/2, 'Noclip', function()
  2301.     if Clip == true then
  2302.         Clip = false
  2303.         return
  2304.     end
  2305.     Clip = true
  2306.     game:GetService("RunService").Stepped:connect(function()
  2307.         tk.gt(topkek.lplr).CanCollide = not Clip
  2308.         topkek.lplr.Character.Head.CanCollide = not Clip
  2309.         topkek.lplr.Character.HumanoidRootPart.CanCollide = not Clip
  2310.         if topkek.lplr.Character.UpperTorso then
  2311.             topkek.lplr.Character.LowerTorso.CanCollide = not Clip
  2312.         end
  2313.     end)
  2314.     topkek.lplr.Character.HumanoidRootPart.Changed:connect(function()
  2315.         tk.gt(topkek.lplr).CanCollide = not Clip
  2316.         topkek.lplr.Character.Head.CanCollide = not Clip
  2317.         topkek.lplr.Character.HumanoidRootPart.CanCollide = not Clip
  2318.         if topkek.lplr.Character.UpperTorso then
  2319.             topkek.lplr.Character.LowerTorso.CanCollide = not Clip
  2320.         end
  2321.     end)
  2322. end)
  2323. lpwin:drawButton(1/2, 'Fly', function()
  2324.     if Fly == true then
  2325.         Fly = false
  2326.         return
  2327.     end
  2328.     Fly = true
  2329.   local mouse=game.Players.LocalPlayer:GetMouse''
  2330.   localplayer=game.Players.LocalPlayer
  2331.   game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart")
  2332.   local torso = game.Players.LocalPlayer.Character.HumanoidRootPart
  2333.   local speed=0
  2334.   local keys={a=false,d=false,w=false,s=false}
  2335.   local e1
  2336.   local e2
  2337.   local function start()
  2338.    local pos = Instance.new("BodyPosition",torso)
  2339.    local gyro = Instance.new("BodyGyro",torso)
  2340.    pos.Name="EPIXPOS"
  2341.    pos.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  2342.    pos.position = torso.Position
  2343.    gyro.maxTorque = Vector3.new(9e9, 9e9, 9e9)
  2344.    gyro.cframe = torso.CFrame
  2345.    repeat
  2346.     wait()
  2347.     localplayer.Character.Humanoid.PlatformStand=true
  2348.     local new=gyro.cframe - gyro.cframe.p + pos.position
  2349.     if not keys.w and not keys.s and not keys.a and not keys.d then
  2350.      speed=1
  2351.     end
  2352.     if keys.w then
  2353.      new = new + workspace.CurrentCamera.CoordinateFrame.lookVector * speed
  2354.      speed=speed+0.01
  2355.     end
  2356.     if keys.s then
  2357.      new = new - workspace.CurrentCamera.CoordinateFrame.lookVector * speed
  2358.      speed=speed+0.01
  2359.     end
  2360.     if keys.d then
  2361.      new = new * CFrame.new(speed,0,0)
  2362.      speed=speed+0.01
  2363.     end
  2364.     if keys.a then
  2365.      new = new * CFrame.new(-speed,0,0)
  2366.      speed=speed+0.01
  2367.     end
  2368.     if speed>5 then
  2369.      speed=5
  2370.     end
  2371.     pos.position=new.p
  2372.     if keys.w then
  2373.      gyro.cframe = workspace.CurrentCamera.CoordinateFrame*CFrame.Angles(-math.rad(speed*15),0,0)
  2374.     elseif keys.s then
  2375.      gyro.cframe = workspace.CurrentCamera.CoordinateFrame*CFrame.Angles(math.rad(speed*15),0,0)
  2376.     else
  2377.      gyro.cframe = workspace.CurrentCamera.CoordinateFrame
  2378.     end
  2379.    until not Fly
  2380.    if gyro then gyro:Destroy() end
  2381.    if pos then pos:Destroy() end
  2382.    flying=false
  2383.    localplayer.Character.Humanoid.PlatformStand=false
  2384.    speed=0
  2385.   end
  2386.   e1=mouse.KeyDown:connect(function(key)
  2387.    if not torso or not torso.Parent then flying=false e1:disconnect() e2:disconnect() return end
  2388.    if key=="w" then
  2389.     keys.w=true
  2390.    elseif key=="s" then
  2391.     keys.s=true
  2392.    elseif key=="a" then
  2393.     keys.a=true
  2394.    elseif key=="d" then
  2395.     keys.d=true
  2396.    end
  2397.   end)
  2398.   e2=mouse.KeyUp:connect(function(key)
  2399.    if key=="w" then
  2400.     keys.w=false
  2401.    elseif key=="s" then
  2402.     keys.s=false
  2403.    elseif key=="a" then
  2404.     keys.a=false
  2405.    elseif key=="d" then
  2406.     keys.d=false
  2407.    end
  2408.   end)
  2409.   start()
  2410. end)
  2411. lpwin:drawButton(1/2, 'Highjump', function()
  2412.     local thrust = Instance.new("BodyVelocity")
  2413.     game:GetService('UserInputService').InputBegan:connect(function(i, b)
  2414.         if i.KeyCode == Enum.KeyCode.Space then
  2415.             print("Got jump")
  2416.             coroutine.resume(coroutine.create(function()
  2417.                 thrust.Parent = game.Players.LocalPlayer.Character.PrimaryPart
  2418.                 thrust.velocity = Vector3.new(0,50,0)
  2419.                 thrust.maxForce = Vector3.new(0,4e+050,0)
  2420.                 wait(0.2)
  2421.                 thrust.Parent = nil
  2422.             end))
  2423.         end
  2424.     end)
  2425. end)
  2426. lpwin:addSpacing()
  2427. local apprInp
  2428. lpwin:drawButton(1/3, 'Appearance', function()
  2429.     local id = 0
  2430.     if tonumber(apprInp.Text) then
  2431.         id = tonumber(apprInp.Text)
  2432.     else
  2433.         id = game:GetService('Players'):GetUserIdFromNameAsync(apprInp.Text)
  2434.     end
  2435.     if topkek.lplr.Character:FindFirstChild("Humanoid") then
  2436.         topkek.lplr.Character.Humanoid.Health = 0
  2437.     end
  2438.     topkek.lplr.CharacterAppearance = 'https://assetgame.roblox.com/Asset/CharacterFetch.ashx?userId=' .. tostring(id)
  2439. end)
  2440. apprInp = lpwin:drawTextBox(2/3, 'ROBLOX')
  2441. local teamInp
  2442. lpwin:drawButton(1/3, 'Team', function()
  2443.     topkek.lplr.TeamColor = BrickColor.new(teamInp.Text)
  2444. end)
  2445. teamInp = lpwin:drawTextBox(2/3, 'Bright red')
  2446. lpwin:drawButton(1/2, 'Naked', function()
  2447.     topkek.lplr:ClearCharacterAppearance()
  2448. end)
  2449. lpwin:drawButton(1/2, 'Neutral', function()
  2450.     topkek.lplr.Neutral = true
  2451. end)
  2452. lpwin:addSpacing()
  2453. lpwin:drawButton(1/2, 'Orb', function()
  2454.     game.Players.LocalPlayer.Character = nil
  2455.     --lp:Destroy()
  2456.     local cam = game.Workspace.CurrentCamera
  2457.     local m = Instance.new("Model", game.Workspace)
  2458.     m.Name = game.Players.LocalPlayer.Name
  2459.     local hum = Instance.new("Humanoid", m)
  2460.     hum.Health = 0
  2461.     hum.MaxHealth = 0
  2462.     local orb = Instance.new("Part", m)
  2463.     orb.Size = Vector3.new(1, 1, 1)
  2464.     orb.Shape = "Ball"
  2465.     orb.Name = "Head"
  2466.     orb.Anchored = true
  2467.     orb.CanCollide = true
  2468.     orb.BottomSurface = Enum.SurfaceType.Smooth
  2469.     orb.TopSurface = Enum.SurfaceType.Smooth
  2470.     orb.Transparency = 0
  2471.     spawn(function()
  2472.         while true do
  2473.             wait(0.1)
  2474.             if orb then
  2475.                 orb.BrickColor = BrickColor.Random()
  2476.             else break end
  2477.         end
  2478.     end)
  2479.     cam.CameraSubject = orb
  2480.     cam.CameraType = Enum.CameraType.Fixed
  2481.     game:GetService("RunService").RenderStepped:connect(function()
  2482.         orb.CFrame = cam.CoordinateFrame * CFrame.new(0, -2, -6)
  2483.     end)
  2484.     game.Players.LocalPlayer.Chatted:connect(function(a)
  2485.         game:GetService("Chat"):Chat(orb, a)
  2486.     end)
  2487. end)
  2488. lpwin:drawButton(1/2, 'Freecam', function()
  2489.     local cam = game.Workspace.CurrentCamera
  2490.     cam.CameraType = "Fixed"
  2491.     cam.CameraSubject = nil
  2492.     topkek.lplr.Character = nil
  2493. end)
  2494. lpwin:drawButton(1/2, 'NoGrav', function()
  2495.     if topkek.lplr.Character then
  2496.         for x,m in pairs(topkek.lplr.Character:GetChildren()) do
  2497.             if m:IsA("BasePart") then
  2498.                 local bf = Instance.new("BodyForce", m)
  2499.                 bf.force = Vector3.new(0, 192.25, 0) * m:GetMass()
  2500.             end
  2501.             if m:IsA("Hat") or m:IsA("Accessory") then
  2502.                 if m:findFirstChild("Handle") then
  2503.                     local bf = Instance.new("BodyForce", m.Handle)
  2504.                     bf.force = Vector3.new(0, 192.25, 0) * m.Handle:GetMass()
  2505.                 end
  2506.             end
  2507.         end
  2508.     end
  2509. end)
  2510. lpwin:drawButton(1/2, 'Trowel', function()
  2511.     topkek.tools.util.trowel()
  2512. end)
  2513. lpwin:addSpacing()
  2514. lpwin:drawButton(1/2, 'Fedora', function()
  2515.     local hats={
  2516.         98346834,
  2517.         215751161,
  2518.         119916949,
  2519.         72082328,
  2520.         147180077,
  2521.         100929604,
  2522.         63043890,
  2523.         1285307,
  2524.         1029025,
  2525.         334663683,
  2526.         259423244
  2527.     }
  2528.     game:GetObjects("rbxassetid://" .. tostring(hats[math.random(1,#hats)]))[1].Parent = topkek.lplr.Character
  2529. end)
  2530. lpwin:drawButton(1/2, 'Rainbow Name', function()
  2531.     topkek.lplr.Neutral = false
  2532.     repeat
  2533.         wait()
  2534.         topkek.lplr.TeamColor = BrickColor.Random()
  2535.     until not topkek.lplr.Character.Humanoid
  2536. end)
  2537. local tagInp
  2538. lpwin:drawButton(1/3, 'Tag', function()
  2539.     local len = 10
  2540.     local bb = Instance.new("BillboardGui")
  2541.     bb.Parent = topkek.lplr.Character.Head
  2542.     bb.Adornee = topkek.lplr.Character.Head
  2543.     bb.AlwaysOnTop = true
  2544.     bb.Enabled = true
  2545.     bb.Size = UDim2.new(len, 0, 1.5, 0)
  2546.     bb.Name = "tag"
  2547.     bb.StudsOffset = Vector3.new(0, 3, 0)
  2548.     --local fr = Instance.new("Frame")
  2549.     --fr.Parent = bb
  2550.     --fr.Size = UDim2.new(1, 0, 1, 0)
  2551.     --fr.Style = Enum.FrameStyle.RobloxRound
  2552.     local tl = Instance.new("TextLabel")
  2553.     tl.Parent = bb
  2554.     tl.Font = Enum.Font.Code
  2555.     tl.BackgroundTransparency = 1
  2556.     tl.TextScaled = true
  2557.     tl.TextColor3 = Color3.new(15/255, 15/255, 15/255)
  2558.     tl.Size = UDim2.new(1, 0, 1, 0)
  2559.     tl.Text = tagInp.Text
  2560.     tl.Name = "trutag"
  2561.     tl.Visible = true
  2562.     tl.ZIndex = 2
  2563. end)
  2564. tagInp = lpwin:drawTextBox(2/3, '')
  2565. --// SCRIPTS //--
  2566. local scriptwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Scripts').Container)
  2567. local search = scriptwin:drawTextBox(1,'')
  2568. local origy = scriptwin:getDrawY()
  2569. scriptwin:addSpacing()
  2570. scriptwin:addSpacing()
  2571. local scripts = game:GetObjects("rbxassetid://376553985")[1]
  2572. local container = {}
  2573. function MakeList(condition)
  2574.     for i,v in pairs(scriptwin:GetChildren()) do
  2575.         if v.Name == "Script" then
  2576.             v:Destroy()
  2577.         end
  2578.     end
  2579.     scriptwin:setDrawY(origy)
  2580.     for i, v in pairs(scripts:GetChildren()) do
  2581.         if string.find(v.Name:lower(), condition:lower()) or (condition == "") or (condition == " ") then
  2582.             local scr = scriptwin:drawButton(1, v.Name, function()
  2583.                 spawn(function() loadstring(v.Source)() end)
  2584.             end, 25)
  2585.             scr.Name = 'Script'
  2586.         end
  2587.     end
  2588. end
  2589. game:GetService("UserInputService").InputChanged:connect(function(inp)
  2590.     if inp.UserInputType == Enum.UserInputType.TextInput then
  2591.         if search:IsFocused() then
  2592.             MakeList(search.Text)
  2593.         end
  2594.     end
  2595. end)
  2596. MakeList('')
  2597. --// DESTRUCTION // --
  2598. local destwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Destruction').Container)
  2599. local decals, seldec = destwin:drawScrollingContainer(100)
  2600. seldec = destwin:drawText(1, 'Selected Decal: None')
  2601. cursel = nil
  2602. local decs = {
  2603.     {'Rain', '574772793'},
  2604.     {'Robbie', '574773630'},
  2605.     {'Pepe', '244905904'},
  2606.     {'Troll Face', '48308661'},
  2607.     {'Jeff', '109129888'},
  2608.     {'Shrek', '170539018'},
  2609.     {'Doge', '133720697'},
  2610.     {'Dat Boi', '409578848'},
  2611. }
  2612. for _, v in pairs(decs) do
  2613.     local b = decals:drawButton(1, v[1], function()seldec.Text="Selected Decal: " ..v[2] cursel=v[2] end,20)
  2614.     topkek.tools.gui:addLeftIcon(b,'rbxassetid://'..v[2],20)
  2615. end
  2616. destwin:drawButton(1, 'Spam Decal', function()
  2617.     if cursel ~= nil then
  2618.         topkek.tools.util.recurseDecal(tonumber(cursel))
  2619.     end
  2620. end)
  2621. destwin:drawButton(1, 'Spam Particles', function()
  2622.     if cursel ~= nil then
  2623.         topkek.tools.util.recurseParticles(tonumber(cursel))
  2624.     end
  2625. end)
  2626. destwin:drawButton(1, 'Spam Both', function()
  2627.     if cursel ~= nil then
  2628.         topkek.tools.util.recurseUltimate(tonumber(cursel))
  2629.     end
  2630. end)
  2631. destwin:drawButton(1, 'Rollback', function()
  2632.     tk.rcm(workspace, 'Decal')
  2633.     tk.rcm(workspace, 'ParticleEmitter')
  2634. end)
  2635. destwin:addSpacing()
  2636. destwin:drawButton(1, '666', function()
  2637.     for i,v in next,workspace:children''do
  2638.         if(v:IsA'BasePart')then
  2639.         me=v;
  2640.         bbg=Instance.new('BillboardGui',me);
  2641.         bbg.Name='stuf';
  2642.         bbg.Adornee=me;
  2643.         bbg.Size=UDim2.new(2.5,0,2.5,0)
  2644.         --bbg.StudsOffset=Vector3.new(0,2,0)
  2645.         tlb=Instance.new'TextLabel';
  2646.         tlb.Text='666 666 666 666 666 666';
  2647.         tlb.Font='SourceSansBold';
  2648.         tlb.FontSize='Size48';
  2649.         tlb.TextColor3=Color3.new(1,0,0);
  2650.         tlb.Size=UDim2.new(1.25,0,1.25,0);
  2651.         tlb.Position=UDim2.new(-0.125,-22,-1.1,0);
  2652.         tlb.BackgroundTransparency=1;
  2653.         tlb.Parent=bbg;
  2654.         end;end;
  2655.         --coroutine.wrap(function()while wait''do
  2656.           s=Instance.new'Sound';
  2657.           s.Parent=workspace;
  2658.           s.SoundId='rbxassetid://152840862';
  2659.           s.Pitch=1;
  2660.           s.Volume=1;
  2661.           s.Looped=true;
  2662.           s:play();
  2663.           --end;end)();
  2664.           function xds(dd)
  2665.             for i,v in next,dd:children''do
  2666.               if(v:IsA'BasePart')then
  2667.                 v.BrickColor=BrickColor.new'Really black';
  2668.                 v.TopSurface='Smooth';
  2669.                 v.BottomSurface='Smooth';
  2670.                 s=Instance.new('SelectionBox',v);
  2671.                 s.Adornee=v;
  2672.                 s.Color=BrickColor.new'Really red';
  2673.                 a=Instance.new('PointLight',v);
  2674.                 a.Color=Color3.new(1,0,0);
  2675.                 a.Range=15;
  2676.                 a.Brightness=5;
  2677.                 f=Instance.new('Fire',v);
  2678.                 f.Size=19;
  2679.                 f.Heat=22;
  2680.                 end;
  2681.                 game.Lighting.TimeOfDay=0;
  2682.                 game.Lighting.Brightness=0;
  2683.                 game.Lighting.ShadowColor=Color3.new(0,0,0);
  2684.                 game.Lighting.Ambient=Color3.new(1,0,0);
  2685.                 game.Lighting.FogEnd=200;
  2686.                 game.Lighting.FogColor=Color3.new(0,0,0);
  2687.             local dec = 'http://www.roblox.com/asset/?id=19399245';
  2688.                 local fac = {'Front', 'Back', 'Left', 'Right', 'Top', 'Bottom'}
  2689.                 --coroutine.wrap(function()
  2690.                 --for _,__ in pairs(fac) do
  2691.                 --local ddec = Instance.new("Decal", v)
  2692.                 --ddec.Face = __
  2693.                 --ddec.Texture = dec
  2694.             --end end)()
  2695.                 if #(v:GetChildren())>0 then
  2696.                        xds(v)
  2697.                   end
  2698.              end
  2699.         end
  2700.     xds(game.Workspace)
  2701. end)
  2702. destwin:drawButton(1, 'Troll', function()
  2703.     topkek.tools.util.recurseUltimate('48308661')
  2704.     tk.play(154664102)
  2705. end)
  2706. destwin:addSpacing()
  2707. destwin:drawButton(1/2,'Colorize',function() -- when u skid off variable XDDDDDpranked
  2708.     local materiallist =
  2709.     {Enum.Material.Plastic,Enum.Material.Wood,Enum.Material.Slate,Enum.Material.Concrete,Enum.Material.CorrodedMetal,
  2710.         Enum.Material.DiamondPlate,Enum.Material.Foil,Enum.Material.Grass,
  2711.         Enum.Material.Ice,Enum.Material.Marble,Enum.Material.Granite,Enum.Material.Brick,
  2712.         Enum.Material.Pebble,Enum.Material.Sand,Enum.Material.Sand,
  2713.         Enum.Material.Fabric,Enum.Material.SmoothPlastic,Enum.Material.Metal,Enum.Material.WoodPlanks,Enum.Material.Neon,Enum.Material.Cobblestone}
  2714.     local function r(where)
  2715.         for _,v in pairs (where:GetChildren()) do
  2716.         if v:IsA("BasePart") then
  2717.         spawn(function() while wait(0.1) do v.Material = materiallist[math.random(#materiallist)] wait()   end end) end r(v) end end r(workspace)
  2718. end)
  2719. destwin:drawButton(1/2,'Materialize',function()
  2720.     local function r(where)
  2721.     for _,v in pairs (where:GetChildren()) do
  2722.     if v:IsA("BasePart") then
  2723.     spawn(function() while wait(0.1) do v.Transparency = math.random(0,1) wait()   end end) end r(v) end end r(workspace)
  2724. end)
  2725. destwin:drawButton(1/2,'Meshify',function()
  2726.     local enums={
  2727.         Enum.MeshType.Head;
  2728.         Enum.MeshType.Torso;
  2729.         Enum.MeshType.Wedge;
  2730.         Enum.MeshType.Brick;
  2731.         Enum.MeshType.Sphere;
  2732.         Enum.MeshType.Cylinder;
  2733.     }
  2734.     tk.rcf('BasePart',function(o)
  2735.         local mesh = Instance.new('SpecialMesh', o)
  2736.         mesh.MeshType = enums[math.random(1,#enums)]
  2737.     end)
  2738. end)
  2739. destwin:drawButton(1/2,'Loop-Meshify',function()
  2740.     coroutine.wrap(function()
  2741.         while true do
  2742.             local enums={
  2743.                 Enum.MeshType.Head;
  2744.                 Enum.MeshType.Torso;
  2745.                 Enum.MeshType.Wedge;
  2746.                 Enum.MeshType.Brick;
  2747.                 Enum.MeshType.Sphere;
  2748.                 Enum.MeshType.Cylinder;
  2749.             }
  2750.             tk.rcf('BasePart',function(o)
  2751.                 if o:FindFirstChild("Mesh") then o.Mesh:Destroy() end
  2752.                 local mesh = Instance.new('SpecialMesh', o)
  2753.                 mesh.MeshType = enums[math.random(1,#enums)]
  2754.             end)
  2755.             wait(0.5)
  2756.         end
  2757.     end)()
  2758. end)
  2759. destwin:addSpacing()
  2760. destwin:drawButton(1, 'Rotations', function()
  2761.     tk.rcf('BasePart', function(o)
  2762.         o.Rotation = Vector3.new(math.random(0,180),math.random(0,180),math.random(0,180))
  2763.     end)
  2764. end)
  2765. destwin:drawButton(1, 'Collisions', function()
  2766.     tk.rcf('BasePart', function(o)
  2767.         o.CanCollide = false
  2768.     end)
  2769. end)
  2770. destwin:drawButton(1, 'Velocity', function()
  2771.     tk.rcf('BasePart', function(o)
  2772.         o.Velocity = Vector3.new(math.random(0,180),math.random(0,180),math.random(0,180))
  2773.     end)
  2774. end)
  2775. destwin:drawButton(1, 'Invisiblity', function()
  2776.     tk.rcf('BasePart', function(o)
  2777.         o.Transparency = 1
  2778.     end)
  2779. end)
  2780. destwin:drawButton(1, 'BreakJoints', function()
  2781.     tk.rcf('Model', function(o)
  2782.         o:BreakJoints()
  2783.     end)
  2784. end)
  2785. destwin:drawButton(1, 'Forces', function()
  2786.     tk.rcf('BasePart', function(o)
  2787.         local bf = Instance.new("BodyForce", o)
  2788.         bf.Force = Vector3.new(math.random(0,180)*5,math.random(0,180)*5,math.random(0,180)*5)
  2789.     end)
  2790. end)
  2791. destwin:drawButton(1, 'Brightness', function()
  2792.     tk.rcf('BasePart', function(o)
  2793.         local light = Instance.new("SpotLight", o)
  2794.         light.Brightness = 9e9
  2795.         light.Range = 60
  2796.     end)
  2797. end)
  2798. --// CATALOG //--
  2799. local catwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Catalog').Container)
  2800. local page, currentkeyword = 1, ""
  2801. local searchbar, search, makeCatalog, res = 0, 0, 0, {}
  2802. local searchbar = catwin:drawTextBox(2/3,'')
  2803. local search = catwin:drawButton(1/3, 'Search', function()
  2804.     page = 1
  2805.     currentkeyword = searchbar.Text
  2806.     makeCatalog(currentkeyword, page)
  2807. end)
  2808. local previous = catwin:drawButton(1/2, 'Previous Page', function()
  2809.     if page > 1 then
  2810.         page = page - 1
  2811.         makeCatalog(currentkeyword, page)
  2812.     end
  2813. end)
  2814. local previous = catwin:drawButton(1/2, 'Next Page', function()
  2815.     if page >= 1 then
  2816.         page = page + 1
  2817.         makeCatalog(currentkeyword, page)
  2818.     end
  2819. end)
  2820. local catalog_start = catwin:getDrawY()
  2821. function split(str,divider)
  2822.     local found = ""
  2823.     local results = {}
  2824.     for i=1,string.len(str) do
  2825.         if (string.lower(string.sub(str,i,i)) == string.lower(divider)) then
  2826.             table.insert(results, found)
  2827.             found = ""
  2828.         else
  2829.             found = found..string.sub(str,i,i)
  2830.         end
  2831.     end
  2832.     table.insert(results, found)
  2833.     return results
  2834. end
  2835. function GetName(nm)
  2836.     local spl = split(nm," ")
  2837.     local a,b,c,d,e=spl[1] or "",spl[2] or "",spl[3] or "", spl[4] or "", spl[5] or ""
  2838.     return (a.." "..b.." "..c.." "..d.." "..e)
  2839. end
  2840. function makeCatalog(keyword, page)
  2841.     local endpoint = "http://search.roblox.com/catalog/json?Category=6&Keyword="..keyword.."&IncludeNotForSale=false&ResultsPerPage=10&PageNumber="..tostring(page)
  2842.     local results = game:HttpGet(endpoint, true)
  2843.     local parse = game:GetService('HttpService'):JSONDecode(results)
  2844.     for i, v in pairs(res) do
  2845.         v:Destroy()
  2846.     end
  2847.     catwin:setDrawY(catalog_start)
  2848.     catwin:addSpacing()
  2849.     for i, v in pairs(parse) do
  2850.         local img = catwin:drawImage(1/2, 'https://www.roblox.com/Thumbs/Asset.ashx?width=420&height=420&assetId='..tostring(v['AssetId']), 50)
  2851.         local below = topkek.tools.util.Object("TextButton", {
  2852.             Parent = img;
  2853.             BackgroundColor3 = Color3.new(163/255, 57/255, 57/255);
  2854.             BorderSizePixel = 0;
  2855.             Position = UDim2.new(0, -45, 1, 5);
  2856.             Size = UDim2.new(0,img.AbsoluteSize.X, 0, 20);
  2857.             Font = 'SourceSans';
  2858.             FontSize = 'Size14';
  2859.             Text = GetName(v['Name']);
  2860.             TextSize = 14;
  2861.             TextColor3 = color3(199, 199, 199);
  2862.             TextStrokeTransparency = 0.5;
  2863.             ClipsDescendants = true;
  2864.         })
  2865.         below.MouseButton1Down:connect(function()
  2866.             local Model = Instance.new("Model", workspace)
  2867.             game:GetObjects('rbxassetid://'..tostring(v['AssetId']))[1].Parent = Model
  2868.             Model:MakeJoints()
  2869.             Model:MoveTo(topkek.lplr.Character.Head.Position)
  2870.         end)
  2871.         img.Size=UDim2.new(0,50,0,50)
  2872.         img.Position=img.Position+UDim2.new(0,45,0,0)
  2873.         if (i%2)==0 then
  2874.             catwin:setDrawY(catwin:getDrawY() + 25)
  2875.         end
  2876.         if (i==10) then
  2877.             catwin.main.CanvasSize = catwin.main.CanvasSize + UDim2.new(0,0,0,25)
  2878.         end
  2879.         table.insert(res,img)
  2880.     end
  2881. end
  2882. makeCatalog("", 1)
  2883. --// CMDS //--
  2884. cmdwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Commands').Container)
  2885. count = 0
  2886. for _, _ in pairs(cmd.commands.store) do count = count + 1 end
  2887. cmdwin:drawText(1, tostring(count) .. " Commands")
  2888. cmdwin:drawText(1, 'Chat Prefix: /')
  2889. local cmdlist = cmdwin:drawScrollingContainer(260)
  2890. for i, v in pairs(cmd.commands.fmtstore) do
  2891.     local xfmt = {}
  2892.     local str = "  ;" .. i .. " "
  2893.     for form in v:gmatch("[^%%]+") do
  2894.         if form ~= 'cmd' then
  2895.             if form == 'inf' then form = 'str' end
  2896.             str = str .. "{" .. form .. "} "
  2897.         end
  2898.     end
  2899.     cmdlist:drawText(1, str)
  2900. end
  2901. --// MUSIC //--
  2902. musicwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Music').Container)
  2903. Sounds = {
  2904.     {"caramell", 2303479};
  2905.     {"epic", 27697743};
  2906.     {"rick", 2027611}; 
  2907.     {"halo", 1034065};
  2908.     {"pokemon", 1372261};
  2909.     {"cursed", 1372257};
  2910.     {"extreme", 11420933};
  2911.     {"awaken", 27697277};
  2912.     {"alone", 27697392};
  2913.     {"mario", 1280470};
  2914.     {"choir", 1372258};
  2915.     {"chrono" ,1280463};
  2916.     {"dotr", 11420922};
  2917.     {"entertain", 27697267};
  2918.     {"fantasy", 1280473};
  2919.     {"final", 787};
  2920.     {"organ", 11231513};
  2921.     {"tunnel", 9650822}
  2922. }
  2923.  
  2924. local cursel
  2925. local xcursel = 0
  2926. scr = musicwin:drawScrollingContainer(230)
  2927. for i, v in pairs(Sounds) do
  2928.     scr:drawButton(1, v[1] .. " - " .. tonumber(v[2]), function()
  2929.         cursel.Text = "Currently Selected - " .. v[1]
  2930.         xcursel = v[2]
  2931.     end)
  2932. end
  2933.  
  2934. cursel = musicwin:drawText(1, "Currently Selected - None")
  2935. local setInp
  2936. musicwin:drawButton(1/3, "Set", function()
  2937.     if tonumber(setInp.Text) then
  2938.         cursel.Text = "Currently Selected - " .. setInp.Text
  2939.         xcursel = tonumber(setInp.Text)
  2940.     end
  2941. end)
  2942. setInp = musicwin:drawTextBox(2/3, '')
  2943. musicwin:drawButton(1, "Play", function()
  2944.     tk.rcm(game, 'Sound')
  2945.     tk.play(xcursel)   
  2946. end)
  2947. musicwin:drawButton(1, "Stop", function()
  2948.     tk.rcm(game, 'Sound')
  2949. end)
  2950. --// FACES //--
  2951. facwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Faces').Container)
  2952. local faces = {
  2953.     {name='Rofl',id=47595647},
  2954.     {name='Sparta',id=74142203},
  2955.     {name='UJelly',id=48989071},
  2956.     {name='Troll',id=45120559},
  2957.     {name='Horse',id=62079221},
  2958.     {name='Angry',id=48258623},
  2959.     {name='Okey',id=62830600},
  2960.     {name='Yeaw',id=53646377},
  2961.     {name='Here',id=62677045},
  2962.     {name='Har',id=48260066},
  2963.     {name='Baby Sun',id=47596170},
  2964.     {name='LOL',id=48293007},
  2965.     {name='Sad',id=53645378},
  2966.     {name='Joseph Stalin',id=48290678},
  2967.     {name='Doge',id=130742396},
  2968.     {name='Forever Alone',id=156886272},
  2969.     {name='RickRoll',id=5104631},
  2970.     {name='Jim Carrey',id=74885351},
  2971.     {name='Meh IRL',id=237553381}
  2972. }
  2973. local cursel, xcursel = nil, 0
  2974. faclist = facwin:drawScrollingContainer(260)
  2975. for i,v in pairs(faces) do
  2976.     local btn = faclist:drawButton(1, v['name'], function()
  2977.         xcursel = v['id']
  2978.         cursel.Text = 'Currently Selected: ' .. v['name']
  2979.     end)
  2980.     topkek.tools.gui:addLeftIcon(btn,'rbxassetid://'..tostring(v['id']),20)
  2981. end
  2982. cursel = facwin:drawText(1, 'Currently Selected: None')
  2983. facwin:drawButton(1, 'Wear', function()
  2984.     if not (xcursel == 0) then
  2985.         if topkek.lplr.Character then
  2986.             tk.rcm(topkek.lplr.Character, 'Accessory')
  2987.             tk.rcm(topkek.lplr.Character, 'Hat')
  2988.             topkek.tools.util.applyFace(xcursel)
  2989.         end
  2990.     end
  2991. end)
  2992. --// SETTINGS // --
  2993. setwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Settings').Container)
  2994. setwin:drawText(1, 'Patch: ' .. topkek.patch)
  2995. setwin:drawText(1, 'Devnote: foh skids')
  2996. setwin:drawText(1, [[
  2997.     === CREDITS ===
  2998.    
  2999.     Variable - retard that created Stella
  3000.     KrystalTeam - provided critical design tips & advice
  3001.     Circumvention - lol joey salads
  3002.    
  3003.     Thanks to everyone that supported T0PK3K 4.0!
  3004.    
  3005. ]], 260)
  3006. --// BANLIST //--
  3007. banwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Banlist').Container)
  3008. local plrBanInp
  3009. banwin:drawButton(1/3, 'Add', function()
  3010.     topkek.settings.get()
  3011.     table.insert(topkek.settingsTable['Bans'], plrBanInp.Text)
  3012.     topkek.settings.write()
  3013.     UpdateBanlist()
  3014. end)
  3015. plrBanInp = banwin:drawTextBox(2/3, '')
  3016. banCont = banwin:drawScrollingContainer(288)
  3017. function UpdateBanlist(x)
  3018.     topkek.settings.get()
  3019.     local wl = x or topkek.settingsTable['Bans']
  3020.     for i,v in pairs(banCont:GetChildren()) do
  3021.         v:Destroy()
  3022.     end
  3023.     banCont:setDrawY(3)
  3024.     for i,v in pairs(wl) do
  3025.         banCont:drawText(2/3, v)
  3026.         banCont:drawButton(1/3, 'Remove', function()
  3027.             for x, m in pairs(wl) do
  3028.                 if m == v then
  3029.                     table.remove(topkek.settingsTable['Bans'], x)
  3030.                     topkek.settings.write()
  3031.                     UpdateBanlist()
  3032.                     topkek.banmgr.bans = topkek.settingsTable['Bans']
  3033.                 end
  3034.             end
  3035.         end)
  3036.     end
  3037. end
  3038. UpdateBanlist()
  3039. --// HATS //--
  3040. hatwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Hats').Container)
  3041. local hats={   
  3042.     {name='Dominus Empyreus',id=21070012},
  3043.     {name='Dominus Vespertilio',id=96103379},
  3044.     {name='Dominus Infernus',id=31101391},
  3045.     {name='Dominus Rex',id=250395631},
  3046.     {name='Dominus Frigidus',id=48545806},
  3047.     {name='Dominus Astra',id=162067148},
  3048.     {name='Dominus Aureus',id=138932314},
  3049.     {name='DIY Dominus Empyreus',id=151789690},
  3050.     {name='Dominus Messor',id=64444871},
  3051.     {name='Demon Skeleton Wings',id=133554007},
  3052.     {name='Gilded Wings of Glory',id=250405532},
  3053.     {name='Majestic Ice Wings',id=188702967},
  3054.     {name='Black Wings',id=215719598},
  3055.     {name='Clockworks Shades',id=11748356},
  3056.     {name='Faerie Wings',id=19399896},
  3057.     {name='Orinthian Wings',id=223751505},
  3058.     {name='Clockworks Headphones',id=1235488},
  3059.     {name='Perfectly Legitimate Business Hat',id=19027209},
  3060.     {name='Sparkling Angel Wings',id=192557913},
  3061.     {name='Commander Crows Wings',id=133553855},
  3062.     {name='Sunfire Wings',id=158068470},
  3063.     {name='Royal Faerie Wings',id=119916756},
  3064.     {name='Wings of Freedom',id=164174048},
  3065.     {name='Firebrand Wings',id=128160626},
  3066.     {name='Frozen Wings',id=136758613},
  3067.     {name='Webbed Wings',id=120507280},
  3068.     {name='Gargoyle Wings',id=120507201},
  3069.     {name='Bat Wings',id=19399858},
  3070.     {name='Wings of Fire',id=136758532},
  3071.     {name='Headrow',id=1082935},
  3072.     {name='Rubber Duckie',id=9254254},
  3073.     {name='Valkyrie Helm',id=1365767},
  3074. {name='Hockey Mask',id=5161514}}
  3075. local searchi = hatwin:drawButton(1, '', function()end)
  3076. dropx = GUI.DropDown.New(UDim2.new(0, 0, 0, 0), UDim2.new(1, 0, 1, 0), searchi, {'All'})
  3077. function fixPlayerDropi()
  3078.     local t = {'All'}
  3079.     for i, v in pairs(game.Players:GetPlayers()) do
  3080.         table.insert(t, v.Name)
  3081.     end
  3082.     dropx.SetTable(t)
  3083. end
  3084. game.Players.PlayerAdded:connect(function()
  3085.     fixPlayerDropi()
  3086. end)
  3087. game.Players.PlayerRemoving:connect(function()
  3088.     fixPlayerDropi()
  3089. end)
  3090. local eval = 'All'
  3091. dropx.Changed(function(p) eval = p end)
  3092. fixPlayerDrop()
  3093.  
  3094. local hatInp
  3095. hatlist = hatwin:drawScrollingContainer(260)
  3096. for i,v in pairs(hats) do
  3097.     hatlist:drawButton(1, v['name'], function()
  3098.         hatInp.Text = tostring(v['id'])
  3099.     end)
  3100. end
  3101. hatwin:drawButton(1/3, 'Wear', function()
  3102.     local hat = game:GetObjects("rbxassetid://"..tonumber(hatInp.Text))[1]
  3103.     tk.dp(eval, function(x)
  3104.         if x.Character then
  3105.             hat:Clone().Parent = x.Character
  3106.         end
  3107.     end)
  3108. end)
  3109.  
  3110.  
  3111. hatInp = hatwin:drawTextBox(2/3, '')
  3112. topkek.tools.animator.initialAnimation()
  3113. topkek.banmgr.init()
Add Comment
Please, Sign In to add comment