10user90

mmmhhh

Aug 30th, 2017
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --TopKek 4.0 Leak by Nazi Army
  2. --Works for Intriga, RC7, Stella, Cerberus, Veil and ProtoSmasher
  3. local topkek = {robloxguyeg2}
  4. topkek.patch = '1.0.5a'
  5. topkek.data = {}
  6. topkek.commandbase = {}
  7. topkek.navigation = {}
  8. topkek.banmgr = {}
  9. topkek.lplr = game:GetService('Players').LocalPlayer
  10.  
  11. topkek.tools = {}
  12. topkek.tools.gui = {}
  13. topkek.tools.util = {}
  14. topkek.tools.animator = {}
  15.  
  16. topkek.windows = {}
  17. topkek.windows.lplr = {}
  18. topkek.windows.server = {}
  19. topkek.windows.players = {}
  20. topkek.windows.destruction = {}
  21. topkek.windows.scripts = {}
  22. topkek.windows.misc = {}
  23.  
  24. topkek.misc = {}
  25.  
  26. topkek.gui = game:GetObjects("rbxassetid://678309209")[1]
  27. topkek.gui.Parent = game:GetService("CoreGui")
  28.  
  29. topkek.center = topkek.gui.Main
  30. topkek.holder = topkek.center.Holder
  31. topkek.topbar = topkek.center.Topbar
  32. topkek.template = topkek.holder.Template
  33. topkek.navigator = topkek.center.Navigation
  34.  
  35. AllowHovers = false
  36. PlayerChatHook, UpdateBanlist = nil
  37. cmd = {}
  38.  
  39. --// data //--
  40. topkek.data.windows = {
  41.     'Home',
  42.     'LocalPlayer',
  43.     'Server',
  44.     'Players',
  45.     'Destruction',
  46.     'Scripts',
  47.     'Catalog',
  48.     'Music',
  49.     'Hats',
  50.     'Faces',
  51.     'Settings',
  52.     'Commands',
  53.     'Banlist',
  54. }
  55.  
  56. color3 = function(r,g,b)
  57.     return Color3.new(r/255, g/255, b/255)
  58. end
  59. --// doggo dropdown //--
  60. -- thanks krystal
  61. GUI = {
  62.     TextBox = {
  63.         Settings = {
  64.             Font = Enum.Font.SourceSans;
  65.             FontSize = Enum.FontSize.Size14;
  66.         };
  67.         Color = {
  68.             Main = Color3.fromRGB(5,8,11);
  69.             Border = Color3.fromRGB(27,42,53);
  70.             Text = Color3.fromRGB(199,199,199);
  71.         };
  72.         New = function(Position, Size, Parent, ...)
  73.             local arguments = {...};
  74.            
  75.             local TextBox = Instance.new("TextBox", Parent);
  76.             TextBox.BackgroundColor3 = GUI.DropDown.Color.Main;
  77.             TextBox.BorderColor3 = GUI.DropDown.Color.Border;
  78.             TextBox.Font = GUI.TextBox.Settings.Font;
  79.             TextBox.FontSize = GUI.TextBox.Settings.FontSize;
  80.             TextBox.TextColor3 = GUI.TextBox.Color.Text;
  81.             TextBox.Position = Position;
  82.             TextBox.Size = Size;
  83.             if #arguments then
  84.                 if arguments[1] then
  85.                     TextBox.Text = tostring(arguments[1]);
  86.                 else
  87.                     TextBox.Text = "";
  88.                 end
  89.             end    
  90.             return TextBox;
  91.         end;
  92.     };
  93.     DropDown = {
  94.         Settings = {
  95.             ScrollerAmount = 5; --A scroller will appear at this amount.
  96.             ScrollBarThickness = 6;
  97.         };
  98.         Gfx = {
  99.             Scroller = "rbxassetid://606572419";
  100.         };
  101.         Color = {
  102.             Main = color3(107, 36, 36);
  103.             Secondary = color3(113, 39, 39);
  104.             Border = color3(127, 44, 44);
  105.             Text = Color3.fromRGB(199,199,199);
  106.         };
  107.         New = function(Position, Size, Parent, ...)
  108.             local vValue = {};
  109.             local arguments = {...};
  110.             local vSelected = Instance.new("StringValue");
  111.             vSelected.Value = "nil";
  112.            
  113.             if arguments then
  114.                 if type(arguments) == "table" then
  115.                     for i=1,#(arguments) do
  116.                         if type(arguments[i]) == "table" then
  117.                             for f=1,#(arguments[i]) do
  118.                                 table.insert(vValue, tostring((arguments[i])[f]));
  119.                             end
  120.                         else
  121.                             table.insert(vValue, tostring(arguments[i]));
  122.                         end
  123.                     end
  124.                     vSelected.Value = (vValue[1]);
  125.                 end
  126.             end
  127.            
  128.             local Main = Instance.new("TextButton", Parent);
  129.             Main.BackgroundColor3 = GUI.DropDown.Color.Main;
  130.             Main.BorderColor3 = GUI.DropDown.Color.Border;
  131.             Main.Position = Position;
  132.             Main.Size = Size;
  133.             Main.TextColor3 = GUI.DropDown.Color.Text;
  134.             Main.FontSize = Enum.FontSize.Size14;
  135.             Main.TextStrokeTransparency = 0.5;
  136.             Main.TextXAlignment = Enum.TextXAlignment.Left;
  137.             Main.Font = Enum.Font.SourceSans;
  138.             Main.Text = "  "..tostring(vSelected.Value);
  139.             Main.ZIndex = 3
  140.            
  141.             local Icon = Instance.new("TextLabel", Main);
  142.             Icon.SizeConstraint = Enum.SizeConstraint.RelativeYY;
  143.             Icon.BackgroundColor3 = GUI.DropDown.Color.Secondary;
  144.             Icon.BorderColor3 = GUI.DropDown.Color.Border;
  145.             Icon.Position = UDim2.new(1,-2,1,-2);
  146.             Icon.Size = UDim2.new(-1,4,-1,4);
  147.             Icon.TextColor3 = GUI.DropDown.Color.Text;
  148.             Icon.FontSize = Enum.FontSize.Size14;
  149.             Icon.TextStrokeTransparency = 0.5;
  150.             Icon.Font = Enum.Font.SourceSans;
  151.             Icon.Text = "V"
  152.             Icon.ZIndex = 4
  153.  
  154.             local Holder, Search;
  155.             local ClearHolder = function()
  156.                 if Holder then
  157.                     Holder:ClearAllChildren();
  158.                     Holder.Size = UDim2.new(1,0,0,0);
  159.                     Holder.Visible = false;
  160.                     if Search then
  161.                         Search.Visible = false;
  162.                     end
  163.                 end
  164.             end;
  165.            
  166.             local CreateButton;
  167.             local RefreshDropDown = function()
  168.                 if #vValue <= (GUI.DropDown.Settings.ScrollerAmount) then
  169.                     if not Holder or not Holder:IsA("Frame") then
  170.                         Holder = nil; Search = nil;
  171.                         Holder = Instance.new("Frame",Main);
  172.                         Holder.Size = UDim2.new(1,0,0,0);
  173.                         Holder.BackgroundColor3 = GUI.DropDown.Color.Main;
  174.                         Holder.BorderColor3 = GUI.DropDown.Color.Border;
  175.                         Holder.Visible = false;
  176.                         Holder.ZIndex = 3
  177.                     end
  178.                 elseif #vValue > (GUI.DropDown.Settings.ScrollerAmount) then
  179.                     if not Holder or not Holder:IsA("ScrollingFrame") then
  180.                         Holder = nil; Search = nil;
  181.                         Search = GUI.TextBox.New(UDim2.new(0,0,0,0),UDim2.new(1,0,0,Main.AbsoluteSize.Y),Main);
  182.                         Search.Visible = false;
  183.                         Search.ZIndex = 4
  184.                         Search.Changed:connect(function(p)
  185.                             if p == "Text" then
  186.                                 CreateButton(Search.Text);
  187.                             end
  188.                         end)
  189.                         Holder = Instance.new("ScrollingFrame",Main);
  190.                         Holder.BackgroundColor3 = GUI.DropDown.Color.Main;
  191.                         Holder.BorderColor3 = GUI.DropDown.Color.Border;
  192.                         Holder.TopImage = GUI.DropDown.Gfx.Scroller;
  193.                         Holder.MidImage = GUI.DropDown.Gfx.Scroller;
  194.                         Holder.BottomImage = GUI.DropDown.Gfx.Scroller;
  195.                         Holder.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y * (GUI.DropDown.Settings.ScrollerAmount-1));
  196.                         Holder.Position = UDim2.new(0,0,0,Main.AbsoluteSize.Y)
  197.                         Holder.ScrollBarThickness = GUI.DropDown.Settings.ScrollBarThickness;
  198.                         Holder.Visible = false;
  199.                         Holder.ZIndex = 3;
  200.                     end
  201.                 end
  202.                 if #vValue == 1 and vSelected.Value ~= vValue[1] then
  203.                     vSelected.Value = vValue[1];
  204.                 elseif #vValue == 0 then
  205.                     vSelected.Value = "nil";
  206.                     warn("Table amount is nil.");
  207.                 end
  208.                 Main.Text = "  "..tostring(vSelected.Value);
  209.                 --ClearHolder();
  210.             end;
  211.            
  212.             local Debounce = false;
  213.             CreateButton = function(searches)
  214.                 if Debounce == false then
  215.                     Debounce = true;
  216.                     ClearHolder()
  217.                     Holder.Visible = true;
  218.                     local Searched = 0;
  219.                     if #vValue > 0 then
  220.                         for i=1,#vValue do
  221.                             if (searches ~= nil and string.find(string.lower(vValue[i]), string.lower(searches)) and searches ~= "") then
  222.                                 Searched = Searched + 1;
  223.                             end
  224.                         end
  225.                         for i=1,#vValue do
  226.                             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
  227.                                 local Select = Instance.new("TextButton", Holder);
  228.                                 Select.BackgroundColor3 = GUI.DropDown.Color.Main;
  229.                                 Select.BorderColor3 = GUI.DropDown.Color.Border;
  230.                                 Select.BackgroundTransparency = 1;
  231.                                 Select.BorderSizePixel = 0;
  232.                                 Select.Position = Position;
  233.                                 if #vValue <= (GUI.DropDown.Settings.ScrollerAmount) then
  234.                                     Select.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y);
  235.                                 else
  236.                                     Select.Size = UDim2.new(1,-(GUI.DropDown.Settings.ScrollBarThickness),0,Main.AbsoluteSize.Y);
  237.                                 end
  238.                                 Select.Position = UDim2.new(0,0,0,(Main.AbsoluteSize.Y) * (#Holder:GetChildren() - 1))
  239.                                 Select.TextColor3 = GUI.DropDown.Color.Text;
  240.                                 Select.FontSize = Enum.FontSize.Size14;
  241.                                 Select.TextStrokeTransparency = 0.5;
  242.                                 Select.Font = Enum.Font.SourceSans;
  243.                                 Select.Text = tostring(vValue[i]);
  244.                                 Select.ZIndex = 3
  245.                                 Select.MouseButton1Click:connect(function()
  246.                                     vSelected.Value = vValue[i];
  247.                                     ClearHolder();
  248.                                     RefreshDropDown();
  249.                                 end)
  250.                                 if  #vValue <= (GUI.DropDown.Settings.ScrollerAmount) then
  251.                                     Holder.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y * i);
  252.                                 elseif Holder:IsA("ScrollingFrame") then
  253.                                     Search.Visible = true;
  254.                                     if #Holder:GetChildren() >= 1 then
  255.                                         Holder.CanvasSize = UDim2.new(1,0,0,Main.AbsoluteSize.Y * #Holder:GetChildren());
  256.                                         Holder.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y * #Holder:GetChildren());--GUI.DropDown.Settings.ScrollerAmount);
  257.                                         if #Holder:GetChildren() >= GUI.DropDown.Settings.ScrollerAmount then
  258.                                             Holder.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y * GUI.DropDown.Settings.ScrollerAmount);
  259.                                             Holder.CanvasSize = UDim2.new(1,0,0,Main.AbsoluteSize.Y * #Holder:GetChildren());
  260.                                         end
  261.                                     elseif #Holder:GetChildren() < 1 then
  262.                                         Holder.CanvasSize = UDim2.new(1,0,0,Main.AbsoluteSize.Y * 1);
  263.                                         Holder.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y * 1);
  264.                                     end
  265.                                 end
  266.                             end
  267.                         end
  268.                     end
  269.                     Debounce = false;
  270.                 end
  271.             end;
  272.            
  273.             RefreshDropDown();
  274.  
  275.             Main.MouseButton1Click:connect(function()
  276.                 CreateButton()
  277.                 if #vValue >= GUI.DropDown.Settings.ScrollerAmount and Search ~= nil then
  278.                     Search:CaptureFocus();
  279.                     Search.Text = "";
  280.                 end
  281.             end)
  282.            
  283.             topkek.lplr:GetMouse().Button1Down:connect(function()
  284.                 ClearHolder()
  285.             end)
  286.  
  287.             return {
  288.                 Update = function()
  289.                     RefreshDropDown();
  290.                 end;
  291.                 GetValue = function()
  292.                     RefreshDropDown();
  293.                     return vValue;
  294.                 end;
  295.                 GetSelected = function()
  296.                     RefreshDropDown();
  297.                     return vSelected.Value;
  298.                 end;
  299.                 SetTable = function(F)
  300.                     vValue = F;
  301.                     RefreshDropDown();
  302.                 end;
  303.                 Changed = function(F)
  304.                     vSelected.Changed:connect(function()
  305.                         ypcall(function()
  306.                             F(vSelected.Value);
  307.                         end)
  308.                     end)
  309.                     return "ChangedEvent Hooked";
  310.                 end;
  311.                 AddValue = function(obj)
  312.                     local Type = type(obj);
  313.                     if Type == "table" then
  314.                         for i=1,#obj do
  315.                             table.insert(vValue, obj[i])
  316.                         end
  317.                     elseif Type == "string" or Type == "number" or Type == "boolean" then
  318.                         table.insert(vValue, obj)
  319.                     end
  320.                     RefreshDropDown();
  321.                 end;
  322.                 RemoveValue = function(obj)
  323.                     local Type = type(obj);
  324.                     if Type == "table" then
  325.                         for i=1,#vValue do
  326.                             for f=1,#obj do
  327.                                 if tostring(obj[f]) == tostring(vValue[i]) then
  328.                                     table.remove(vValue,i)
  329.                                 end
  330.                             end
  331.                         end
  332.                     else
  333.                         for i=1,#vValue do
  334.                             if tostring(obj) == tostring(vValue[i]) then
  335.                                 table.remove(vValue,i)
  336.                             end
  337.                         end
  338.                     end
  339.                     RefreshDropDown();
  340.                 end;
  341.                 ClearValue = function()
  342.                     vValue = {};
  343.                     RefreshDropDown();
  344.                 end;
  345.             }
  346.         end;
  347.     };
  348. };
  349. --// util //--
  350. function topkek.tools.util.Object(o, p)
  351.     local a, b = pcall(function()
  352.         Instance.new(o)
  353.     end)
  354.     if not a then
  355.         return
  356.     end
  357.     local obj = Instance.new(o)
  358.     for prop, val in pairs(p) do
  359.         pcall(function()
  360.             obj[prop] = val
  361.         end)
  362.     end
  363.     return obj
  364. end
  365.  
  366. function topkek.tools.util.getContainer(n)
  367.     if topkek.holder:FindFirstChild(n) then
  368.         return topkek.holder[n]
  369.     else
  370.         print("menu not found; returning template")
  371.         return topkek.holder['Template']
  372.     end
  373. end
  374.  
  375. function topkek.tools.util.play(id)
  376.     local mu = Instance.new("Sound", game:GetService('Workspace'))
  377.     mu.Volume = 1
  378.     mu.Looped = true
  379.     mu.Pitch = 1
  380.     mu.SoundId = "rbxassetid://"..tostring(id)
  381.     mu:Play()
  382. end
  383.  
  384. function topkek.tools.util.getTorso(plr) --r15 compatibility lole
  385.     if plr.Character then
  386.         if plr.Character:FindFirstChild('UpperTorso') then
  387.             return plr.Character.UpperTorso
  388.         elseif plr.Character:FindFirstChild('Torso') then
  389.             return plr.Character.Torso
  390.         else
  391.             return nil
  392.         end
  393.     end
  394. end
  395.  
  396. function topkek.tools.util.recurseRemove(x,type_)
  397.     local function recurse(x)
  398.         for i, v in pairs(x:GetChildren()) do
  399.             pcall(function()
  400.                 if v:IsA(type_) then
  401.                     v:Destroy()
  402.                 end
  403.                 if #(v:GetChildren())>0 then
  404.                     recurse(v)
  405.                 end
  406.             end)
  407.         end
  408.     end
  409.     recurse(x)
  410. end
  411.  
  412. function topkek.tools.util.recurseFunc(type_,func)
  413.     local function recurse(x)
  414.         for i, v in pairs(x:GetChildren()) do
  415.             pcall(function()
  416.                 if v:IsA(type_) then
  417.                     func(v)
  418.                 end
  419.                 if #(v:GetChildren())>0 then
  420.                     recurse(v)
  421.                 end
  422.             end)
  423.         end
  424.     end
  425.     recurse(game)
  426. end
  427. function topkek.tools.util.trowel()
  428.     local T = Instance.new('Tool', game.Players.LocalPlayer.Backpack)
  429.     T.Name = 'Custom Trowel'
  430.    
  431.     local p = Instance.new('Part')
  432.     p.Name = 'Handle'
  433.     p.Size = Vector3.new(1,4.4,1)
  434.     p.Parent = T
  435.    
  436.     local specialMesh = Instance.new('SpecialMesh')
  437.     specialMesh.MeshId = 'rbxasset://fonts/trowel.mesh'
  438.     specialMesh.MeshType = 'FileMesh'
  439.     specialMesh.TextureId = 'rbxasset://textures/TrowelTexture.png'
  440.     specialMesh.Parent = T.Handle
  441.    
  442.     local sound = Instance.new'Sound'
  443.     sound.Name = 'build'
  444.     sound.SoundId = 'rbxasset://sounds//bass.wav'
  445.     sound.Volume = 1
  446.     sound.Parent = T.Handle
  447.      
  448.     local brickHeight = 100
  449.     local trowelSpeed = 0.05
  450.     local brickWidth = 500
  451.     local mouseConnection
  452.      
  453.     function newBrick(CF, P, color)
  454.      local brick = Instance.new('Part')
  455.      brick.BrickColor = color
  456.      brick.CFrame = CF * CFrame.new(P + brick.Size / 2)
  457.      brick.Parent = game.Workspace
  458.      brick:MakeJoints()
  459.      brick.Material = 'Neon'
  460.      brick.Name = 'DeleteMe'
  461.      return  brick, P + brick.Size
  462.     end
  463.      
  464.     function genBrick(cFrame)
  465.      local randBrickColor = BrickColor.Random()
  466.      assert(brickWidth > 0)
  467.      
  468.      local yPos = 0
  469.      
  470.      while yPos < brickHeight do
  471.       local vPos
  472.       local X = -brickWidth / 2
  473.       while X < brickWidth / 2 do
  474.        local brick
  475.        brick, vPos = newBrick(cFrame, Vector3.new(X, yPos, 0), randBrickColor)
  476.        X = vPos.x
  477.        wait(trowelSpeed)
  478.       end
  479.       yPos = vPos.y
  480.      end
  481.     end
  482.      
  483.     function calcPos(vec)
  484.      if (math.abs(vec.x) > math.abs(vec.z)) then
  485.       if vec.x > 0 then
  486.        return Vector3.new(1, 0, 0)
  487.       else
  488.        return Vector3.new(-1, 0, 0)
  489.       end
  490.      else
  491.       if (vec.z > 0) then
  492.        return Vector3.new(0, 0, 1)
  493.       else
  494.        return Vector3.new(0, 0, -1)
  495.       end
  496.      end
  497.     end
  498.      
  499.     T.Enabled = true
  500.    
  501.     T.Activated:connect(function()
  502.      if T.Enabled and game.Players.LocalPlayer.Character:FindFirstChild('Humanoid') then
  503.       T.Enabled = false
  504.       T.Handle.build:Play()
  505.       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)))
  506.       T.Enabled = true
  507.      end
  508.     end)
  509.    
  510.     T.Equipped:connect(function()
  511.      mouseConnection = game.Players.LocalPlayer:GetMouse().KeyDown:connect(function(key)
  512.       if (key == 'r') then
  513.        for i,v in next, workspace:children'' do
  514.         if (v.Name == 'DeleteMe') then
  515.          v:Destroy()
  516.         end
  517.        end
  518.       end
  519.      end)
  520.     end)
  521.    
  522.     T.Unequipped:connect(function()
  523.      mouseConnection:disconnect()
  524.     end)
  525. end
  526. function topkek.tools.util.recurseSet(type_,prop,val)
  527.     local function recurse(x)
  528.         for i, v in pairs(x:GetChildren()) do
  529.             pcall(function()
  530.                 if v:IsA(type_) then
  531.                     v[prop]=val
  532.                 end
  533.                 if #(v:GetChildren())>0 then
  534.                     recurse(v)
  535.                 end
  536.             end)
  537.         end
  538.     end
  539.     recurse(game)
  540. end
  541. function topkek.tools.util.recurseUltimate(d)
  542.     topkek.tools.util.recurseDecal(d)
  543.     topkek.tools.util.recurseParticles(d)
  544. end
  545. function topkek.tools.util.recurseDecal(img)
  546.     img = 'rbxassetid://' .. img
  547.     local function skybox(x)
  548.         local sky = Instance.new("Sky",game.Lighting)
  549.         local fcs={"Bk","Dn","Ft","Lf","Rt","Up"}
  550.         for i,v in pairs(fcs) do
  551.             sky["Skybox"..v]=x
  552.         end
  553.     end
  554.    
  555.     local function decal(p, b)
  556.         local sides = {"Back", "Bottom", "Front", "Left", "Right", "Top"}
  557.         for i, v in pairs(sides) do
  558.             local a = Instance.new("Decal", p)
  559.             a.Texture = b
  560.             a.Face = v
  561.         end
  562.     end
  563.            
  564.     local function recurse(x)
  565.         for i, v in pairs(x:GetChildren()) do
  566.             pcall(function() -- 'error occured, no output from Lua' LOLE
  567.                 if v:IsA("BasePart") then
  568.                     decal(v, img)
  569.                 end
  570.                 if #(v:GetChildren())>0 then
  571.                     recurse(v)
  572.                 end
  573.             end)
  574.         end
  575.     end
  576.            
  577.     recurse(game)
  578.     skybox(img)
  579. end
  580. function topkek.tools.util.recurseParticles(img)--topkek2.0 code tbh
  581.     img = 'rbxassetid://' .. img
  582.     local function skybox(x)
  583.         local sky = Instance.new("Sky",game.Lighting)
  584.         local fcs={"Bk","Dn","Ft","Lf","Rt","Up"}
  585.         for i,v in pairs(fcs) do
  586.             sky["Skybox"..v]=x
  587.         end
  588.     end
  589.     local function particle(p, b)
  590.         local a = Instance.new("ParticleEmitter", p)
  591.         a.Rate = 500
  592.         a.Lifetime = NumberRange.new(20, 30)
  593.         a.VelocitySpread = 200
  594.         a.Texture = b
  595.     end
  596.            
  597.     local function recurse(x)
  598.         for i, v in pairs(x:GetChildren()) do
  599.             pcall(function() -- 'error occured, no output from Lua' LOLE
  600.                 if v:IsA("BasePart") then
  601.                     particle(v, img)
  602.                 end
  603.                 if #(v:GetChildren())>0 then
  604.                     recurse(v)
  605.                 end
  606.             end)
  607.         end
  608.     end
  609.            
  610.     recurse(game)
  611.     skybox(img)
  612. end
  613. function topkek.tools.util.recurseSetObj(obj,type_,prop,val)
  614.     local function recurse(x)
  615.         for i, v in pairs(x:GetChildren()) do
  616.             pcall(function()
  617.                 if v:IsA(type_) then
  618.                     v[prop]=val
  619.                 end
  620.                 if #(v:GetChildren())>0 then
  621.                     recurse(v)
  622.                 end
  623.             end)
  624.         end
  625.     end
  626.     recurse(obj)
  627. end
  628. function topkek.tools.util.doPlayers(cval, func)
  629.     local plrs = {}
  630.     if cval == 'All' then
  631.         plrs = game:GetService('Players'):GetPlayers()
  632.     else
  633.         plrs = {game:GetService('Players'):FindFirstChild(cval)}
  634.     end
  635.     for i, v in pairs(plrs) do
  636.         func(v)
  637.     end
  638. end
  639. function topkek.tools.util.scalePlayer(sc,plr)
  640.     local pchar = plr.Character
  641.     if pchar:FindFirstChild("UpperTorso") then
  642.         warn("Player [" ..plr.Name.. "] is R15.")
  643.         return
  644.     end
  645.     local function scale(chr,scl)
  646.    
  647.         for _,v in pairs(pchar:GetChildren()) do
  648.             if v:IsA("Hat") then
  649.                 v:Clone()
  650.                 v.Parent = game.Lighting
  651.             end
  652.         end
  653.            
  654.         local Head = chr['Head']
  655.         local Torso = chr['Torso']
  656.         local LA = chr['Left Arm']
  657.         local RA = chr['Right Arm']
  658.         local LL = chr['Left Leg']
  659.         local RL = chr['Right Leg']
  660.         local HRP = chr['HumanoidRootPart']
  661.    
  662.         wait(0.1)
  663.        
  664.         Head.formFactor = 3
  665.         Torso.formFactor = 3
  666.         LA.formFactor = 3
  667.         RA.formFactor = 3
  668.         LL.formFactor = 3
  669.         RL.formFactor = 3
  670.         HRP.formFactor = 3
  671.        
  672.         Head.Size = Vector3.new(scl * 2, scl, scl)
  673.         Torso.Size = Vector3.new(scl * 2, scl * 2, scl)
  674.         LA.Size = Vector3.new(scl, scl * 2, scl)
  675.         RA.Size = Vector3.new(scl, scl * 2, scl)
  676.         LL.Size = Vector3.new(scl, scl * 2, scl)
  677.         RL.Size = Vector3.new(scl, scl * 2, scl)
  678.         HRP.Size = Vector3.new(scl * 2, scl * 2, scl)
  679.        
  680.         local Motor1 = Instance.new('Motor6D', Torso)
  681.         Motor1.Part0 = Torso
  682.         Motor1.Part1 = Head
  683.         Motor1.C0 = CFrame.new(0, 1 * scl, 0) * CFrame.Angles(-1.6, 0, 3.1)
  684.         Motor1.C1 = CFrame.new(0, -0.5 * scl, 0) * CFrame.Angles(-1.6, 0, 3.1)
  685.         Motor1.Name = "Neck"
  686.                
  687.         local Motor2 = Instance.new('Motor6D', Torso)
  688.         Motor2.Part0 = Torso
  689.         Motor2.Part1 = LA
  690.         Motor2.C0 = CFrame.new(-1 * scl, 0.5 * scl, 0) * CFrame.Angles(0, -1.6, 0)
  691.         Motor2.C1 = CFrame.new(0.5 * scl, 0.5 * scl, 0) * CFrame.Angles(0, -1.6, 0)
  692.         Motor2.Name = "Left Shoulder"
  693.        
  694.         local Motor3 = Instance.new('Motor6D', Torso)
  695.         Motor3.Part0 = Torso
  696.         Motor3.Part1 = RA
  697.         Motor3.C0 = CFrame.new(1 * scl, 0.5 * scl, 0) * CFrame.Angles(0, 1.6, 0)
  698.         Motor3.C1 = CFrame.new(-0.5 * scl, 0.5 * scl, 0) * CFrame.Angles(0, 1.6, 0)
  699.         Motor3.Name = "Right Shoulder"
  700.        
  701.         local Motor4 = Instance.new('Motor6D', Torso)
  702.         Motor4.Part0 = Torso
  703.         Motor4.Part1 = LL
  704.         Motor4.C0 = CFrame.new(-1 * scl, -1 * scl, 0) * CFrame.Angles(0, -1.6, 0)
  705.         Motor4.C1 = CFrame.new(-0.5 * scl, 1 * scl, 0) * CFrame.Angles(0, -1.6, 0)
  706.         Motor4.Name = "Left Hip"
  707.        
  708.         local Motor5 = Instance.new('Motor6D', Torso)
  709.         Motor5.Part0 = Torso
  710.         Motor5.Part1 = RL
  711.         Motor5.C0 = CFrame.new(1 * scl, -1 * scl, 0) * CFrame.Angles(0, 1.6, 0)
  712.         Motor5.C1 = CFrame.new(0.5 * scl, 1 * scl, 0) * CFrame.Angles(0, 1.6, 0)
  713.         Motor5.Name = "Right Hip"
  714.        
  715.         local Motor6 = Instance.new('Motor6D', HRP)
  716.         Motor6.Part0 = HRP
  717.         Motor6.Part1 = Torso
  718.         Motor6.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(-1.6, 0, -3.1)
  719.         Motor6.C1 = CFrame.new(0, 0, 0) * CFrame.Angles(-1.6, 0, -3.1)
  720.            
  721.     end
  722.    
  723.     scale(pchar, sc)
  724.    
  725.     for _,v in pairs(game.Lighting:GetChildren()) do
  726.         if v:IsA("Hat") then
  727.             v.Parent = pchar
  728.         end
  729.     end
  730. end
  731. function topkek.tools.util.applyFace(id)
  732.     local Char = topkek.lplr.Character
  733.     if(Char)then
  734.         local Type = id
  735.         local Meme=id
  736.         local BBG_SIZE=Char.Head.Size.X*1.25;
  737.         local STUD_VECTOR_1=Char.Head.Size.Z/4;
  738.         local STUD_VECTOR_2=Char.Head.Size.Z;
  739.         local bbg=Char:FindFirstChild'BBGMEME'or Instance.new('BillboardGui',Char);
  740.             bbg.StudsOffset=Vector3.new(0,STUD_VECTOR_1,STUD_VECTOR_2);
  741.             bbg.Size=UDim2.new(BBG_SIZE,0,BBG_SIZE);
  742.             bbg.Adornee=Char.Head;
  743.             bbg.Name='BBGMEME';
  744.         local img=bbg:FindFirstChild'Meme'or Instance.new('ImageLabel',bbg);
  745.             img.BackgroundTransparency=1;
  746.             img.Image="rbxassetid://"..Meme;
  747.             img.Size=UDim2.new(1,0,1,0)
  748.             img.Name='Meme';
  749.         for i,v in next,Char:children()do
  750.             if(v.className=='Hat')then
  751.                 v=v:FindFirstChild'Handle';
  752.                 if(v)then
  753.                     v.Transparency=0
  754.                 end;
  755.             end;
  756.         end;
  757.     end;
  758. end;
  759. function topkek.tools.util.weenieHutJunior(plr)
  760.     plr=plr.Character
  761.     Shaft=Instance.new("Part", plr)
  762.     Shaft.Name='Shaft'
  763.     Shaft.Size=Vector3.new(1, 2.5, 1)
  764.     Shaft.TopSurface=0
  765.     Shaft.BottomSurface=0
  766.     Shaft.CanCollide=true
  767.     Cyln=Instance.new("CylinderMesh", Shaft)
  768.     Cyln.Scale=Vector3.new(0.5,0.7,0.5)
  769.     Instance.new("Weld", plr)
  770.     plr.Weld.Part0=plr:FindFirstChild("Torso") or plr:FindFirstChild("LowerTorso")
  771.     plr.Weld.Part1=plr.Shaft
  772.     plr.Weld.C0=CFrame.new(0,-0.35,-0.9)*CFrame.fromEulerAnglesXYZ(2.2,0,0)
  773.     Shaft.BrickColor=BrickColor.new("Pastel brown")
  774.     Tip=Instance.new("Part", plr)
  775.     Tip.Name='Tip'
  776.     Tip.TopSurface=0
  777.     Tip.BottomSurface=0
  778.     Tip.Size=Vector3.new(1, 1, 1)
  779.     Tip.CanCollide=true
  780.     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)
  781.     Cyln2=Instance.new("SpecialMesh", Tip)
  782.     Cyln2.MeshType='Sphere'
  783.     Cyln2.Scale=Vector3.new(0.6,0.6,0.6)
  784.     Instance.new("Weld", plr).Name='Weld2'
  785.     plr.Weld2.Part0=plr.Shaft
  786.     plr.Weld2.Part1=plr.Tip
  787.     plr.Weld2.C0=CFrame.new(0,-.9,0)
  788.     Tip.BrickColor=BrickColor.new("Pink")
  789.     -----
  790.     Ball1=Instance.new("Part", plr)
  791.     Ball1.Name='Ball1'
  792.     Ball1.Size=Vector3.new(1, 1, 1)
  793.     Ball1.TopSurface=0
  794.     Ball1.BottomSurface=0
  795.     Cyln3=Instance.new("SpecialMesh", Ball1)
  796.     Cyln3.MeshType='Sphere'
  797.     Cyln3.Scale=Vector3.new(0.4,0.4,0.4)
  798.     Instance.new("Weld", plr).Name='Weld3'
  799.     plr.Weld3.Part0=plr.Shaft
  800.     plr.Weld3.Part1=plr.Ball1
  801.     plr.Weld3.C0=CFrame.new(0.225,.4,0.2)
  802.     Ball1.BrickColor=BrickColor.new("Pastel brown")
  803.     -----
  804.     Ball2=Instance.new("Part", plr)
  805.     Ball2.Name='Ball2'
  806.     Ball2.Size=Vector3.new(1, 1, 1)
  807.     Ball2.TopSurface=0
  808.     Ball2.BottomSurface=0
  809.     Cyln3=Instance.new("SpecialMesh", Ball2)
  810.     Cyln3.MeshType='Sphere'
  811.     Cyln3.Scale=Vector3.new(0.4,0.4,0.4)
  812.     Instance.new("Weld", plr).Name='Weld4'
  813.     plr.Weld4.Part0=plr.Shaft
  814.     plr.Weld4.Part1=plr.Ball2
  815.     plr.Weld4.C0=CFrame.new(-0.225,.4,0.2)
  816.     Ball2.BrickColor=BrickColor.new("Pastel brown")
  817. end
  818. --// banmgr //--
  819. topkek.banmgr.isPrivate = false
  820. topkek.banmgr.whitelist = {}
  821. topkek.banmgr.bans = {}
  822. function topkek.banmgr.executeKick(z)
  823.     local function doKick()
  824.         if z.Character and z.Character:FindFirstChild('HumanoidRootPart') and z.Character:FindFirstChild('Torso') then
  825.             z.Character.HumanoidRootPart.CFrame = CFrame.new(math.random(999000, 1001000), 1000000, 1000000)
  826.             local SP = Instance.new('SkateboardPlatform', z.Character) SP.Position = z.Character.HumanoidRootPart.Position SP.Transparency = 1
  827.             spawn(function()
  828.                 repeat wait()
  829.                     if z.Character and z.Character:FindFirstChild('HumanoidRootPart') then
  830.                         SP.Position = z.Character.HumanoidRootPart.Position
  831.                     end
  832.                 until not game:GetService('Players'):FindFirstChild(z.Name)
  833.             end)
  834.             z.Character.Torso.Anchored = true
  835.         end
  836.     end
  837.     repeat
  838.         doKick()
  839.         wait()
  840.     until not z
  841. end
  842. function topkek.banmgr.loadFromFile()
  843.     -- todo: read file
  844.     topkek.settings.get()
  845.     topkek.banmgr.bans = topkek.settingsTable['Bans']
  846. end
  847. function topkek.banmgr.addHardBan(p)
  848.     -- todo: write file
  849.     table.insert(topkek.banmgr.bans, p.Name)
  850.     topkek.settings.get()
  851.     table.insert(topkek.settingsTable['Bans'], p.Name)
  852.     topkek.settings.write()
  853.     print("Hardbanned " .. p.Name)
  854.     UpdateBanlist()
  855.     topkek.banmgr.executeKick(p)
  856.     topkek.banmgr.loadFromFile()
  857. end
  858. function topkek.banmgr.addSoftBan(p)
  859.     table.insert(topkek.banmgr.bans, p.Name)
  860.     topkek.banmgr.executeKick(p)
  861. end
  862. function topkek.banmgr.plrBanned(p)
  863.     for x, m in pairs(topkek.banmgr.bans) do
  864.         if m == p.Name then
  865.             return true
  866.         end
  867.     end
  868.     return false
  869. end
  870. function topkek.banmgr.doWhitelist(p)
  871.     print(p .. " whitelisted")
  872.     table.insert(topkek.banmgr.whitelist, p)
  873. end
  874. function topkek.banmgr.unwhitelist(p)
  875.     for x, m in pairs(topkek.banmgr.whitelist) do
  876.         if m == p then
  877.             print(m .. " unwhitelisted")
  878.             table.remove(topkek.banmgr.whitelist, x)
  879.             if game:GetService('Players'):FindFirstChild(p) then
  880.                 topkek.banmgr.executeKick(game:GetService('Players')[p])
  881.             end
  882.         end
  883.     end
  884. end
  885. function topkek.banmgr.plrWhitelisted(p)
  886.     for x, m in pairs(topkek.banmgr.whitelist) do
  887.         if m == p.Name then
  888.             return true
  889.         end
  890.     end
  891.     return false
  892. end
  893. function topkek.banmgr.makePrivate()
  894.     topkek.banmgr.isPrivate = true
  895.     for i, v in pairs(game:GetService('Players'):GetPlayers()) do
  896.         if not topkek.banmgr.plrWhitelisted(v) and v ~= topkek.lplr then
  897.             spawn(function()
  898.                 topkek.banmgr.executeKick(v)
  899.             end)
  900.         end
  901.     end
  902. end
  903. function topkek.banmgr.unprivate()
  904.     topkek.banmgr.isPrivate = false
  905. end
  906. function topkek.banmgr.init()
  907.     topkek.banmgr.loadFromFile()
  908.     game:GetService('Players').PlayerAdded:connect(function(p)
  909.         if topkek.banmgr.plrBanned(p) or (topkek.banmgr.isPrivate and not topkek.banmgr.plrWhitelisted(p)) then
  910.             print("Player " .. p.Name .. " is banned (or private on)! Kicking now.")
  911.             topkek.banmgr.executeKick(p)
  912.         end
  913.     end)
  914. end
  915. --// settings //--
  916. topkek.settings = {}
  917. topkek.settingsTable = {}
  918. function topkek.settings.write()
  919.     --writefile("testplzignore.lua", "", game:GetService('HttpService'):JSONEncode(topkek.settingsTable))
  920. end
  921. function topkek.settings.get()
  922. if game.Players.LocalPlayer.Character then
  923.         print("No settings! Making new ...")
  924.         topkek.settingsTable = {
  925.             ['Bans'] = {
  926.                
  927.             },
  928.             ['Themes'] = {
  929.                 {Primary = {0,0,0}, Secondary = {0,0,0}, Tertiary = {0,0,0}}
  930.             };
  931.         }
  932.         topkek.settings.write()
  933.         return topkek.settingsTable
  934.     else
  935.         local lset = game:GetService('HttpService'):JSONDecode(set)
  936.         topkek.settingsTable = lset
  937.         return lset
  938. end
  939. end
  940. --// shortcuts //--
  941. tk = {}
  942. tk.ob = topkek.tools.util.Object
  943. tk.dp = topkek.tools.util.doPlayers
  944. tk.rcm = topkek.tools.util.recurseRemove
  945. tk.rcs = topkek.tools.util.recurseSet
  946. tk.rcf = topkek.tools.util.recurseFunc
  947. tk.rco = topkek.tools.util.recurseSetObj
  948. tk.play = topkek.tools.util.play
  949. tk.gt = topkek.tools.util.getTorso
  950. --// gui //--
  951. -- copying this from topkek3.0 because i'm
  952. -- too lazy to rewrite my lib
  953. topkek.tools.gui.seperation = 12
  954. function topkek.tools.gui:addLeftIcon(parent, img, sz)
  955.     topkek.tools.util.Object('ImageLabel', {
  956.         Parent = parent;
  957.         BackgroundTransparency = 1;
  958.         Position = UDim2.new(0, 2, 0, 2);
  959.         Size = UDim2.new(0, sz, 0, sz);
  960.         Image = img;
  961.     })
  962. end
  963. function topkek.tools.gui:makeContainer(n)
  964.     local temp = topkek.template:Clone()
  965.     temp.Name = n
  966.     temp.Parent = topkek.holder
  967.     temp.Container.Visible = false
  968. end
  969. function topkek.tools.gui:hookContainer(o, ncan, sepr, stt)
  970.     if not o:IsA("ScrollingFrame") and (not ncan) then
  971.         return nil
  972.     elseif o:IsA("ScrollingFrame") then
  973.         o.CanvasSize = UDim2.new(0, 0, 0, 0)
  974.     end
  975.    
  976.     local self = {}
  977.     self.main = o
  978.     self.drawX = 0
  979.     self.drawY = stt or topkek.tools.gui.seperation/2
  980.     self.drawHeight = 0
  981.     self.sepr = sepr or topkek.tools.gui.seperation
  982.    
  983.     function self:drawButton(sz, txt, func, ysz, cbgd)
  984.         local xposOffset = 0
  985.         local xposScale = self.drawX
  986.         local xszOffset = 0
  987.         local xszScale = sz
  988.         if not (self.drawX == 0)  then
  989.             xszOffset = -5
  990.             if sz + self.drawX > 0.998 then
  991.                 xszOffset = -10
  992.             end
  993.         elseif sz == 1 then
  994.             local bzz = 4
  995.             if ncan then
  996.                 bzz = 0
  997.             end
  998.             xszOffset = -(self.sepr) - bzz
  999.             xposOffset = self.sepr/2
  1000.         else
  1001.             xszOffset = -4 + -(self.sepr/2)
  1002.             xposOffset = self.sepr/2
  1003.         end
  1004.         if not ysz then ysz = 20 end
  1005.         local obj = topkek.tools.util.Object("TextButton", {
  1006.             Parent = self.main;
  1007.             BackgroundColor3 = cbgd or Color3.new(163/255, 57/255, 57/255);
  1008.             BorderSizePixel = 0;
  1009.             Position = UDim2.new(xposScale, xposOffset, 0, self.drawY);
  1010.             Size = UDim2.new(xszScale, xszOffset, 0, ysz);
  1011.             Font = 'SourceSans';
  1012.             FontSize = 'Size14';
  1013.             Text = txt;
  1014.             TextSize = 14;
  1015.             TextColor3 = Color3.new(199/255, 199/255, 199/255);
  1016.         })
  1017.         obj.MouseButton1Down:connect(function()
  1018.             spawn(func)
  1019.         end)
  1020.         if ysz > self.drawHeight then
  1021.             self.drawHeight = ysz
  1022.         end
  1023.         self.drawX = self.drawX + sz
  1024.         if self.drawX > 0.998 then
  1025.             self.drawY = self.drawY + 3 + self.drawHeight
  1026.             self.drawX = 0
  1027.             self.drawHeight = 0
  1028.             if (not ncan) then
  1029.                 self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
  1030.             end
  1031.         end
  1032.         return obj
  1033.     end
  1034.    
  1035.     function self:GetChildren()
  1036.         return self.main:GetChildren()
  1037.     end
  1038.    
  1039.     function self:getDrawY()
  1040.         return self.drawY
  1041.     end
  1042.    
  1043.     function self:setDrawY(y)
  1044.         self.drawY = y
  1045.     end
  1046.    
  1047.     function self:drawTextBox(sz, txt, ysz, cbgd)
  1048.         local xposOffset = 0
  1049.         local xposScale = self.drawX
  1050.         local xszOffset = 0
  1051.         local xszScale = sz
  1052.         if not (self.drawX == 0)  then
  1053.             xszOffset = -5
  1054.             if sz + self.drawX > 0.998 then
  1055.                 xszOffset = -10
  1056.             end
  1057.         elseif sz == 1 then
  1058.             xszOffset = -(self.sepr) - 5
  1059.             xposOffset = self.sepr/2
  1060.         else
  1061.             xszOffset = -4 + -(self.sepr/2)
  1062.             xposOffset = self.sepr/2
  1063.         end
  1064.         if not ysz then ysz = 20 end
  1065.         local obj = topkek.tools.util.Object("TextBox", {
  1066.             Parent = self.main;
  1067.             BackgroundColor3 = cbgd or color3(153, 52, 52);
  1068.             BorderSizePixel = 0;
  1069.             Position = UDim2.new(xposScale, xposOffset, 0, self.drawY);
  1070.             Size = UDim2.new(xszScale, xszOffset, 0, ysz);
  1071.             Font = 'SourceSans';
  1072.             FontSize = 'Size14';
  1073.             Text = txt;
  1074.             TextSize = 14;
  1075.             TextColor3 = Color3.new(199/255, 199/255, 199/255);
  1076.         })
  1077.         if ysz > self.drawHeight then
  1078.             self.drawHeight = ysz
  1079.         end
  1080.         self.drawX = self.drawX + sz
  1081.         if self.drawX > 0.998 then
  1082.             self.drawY = self.drawY + 3 + self.drawHeight
  1083.             self.drawX = 0
  1084.             self.drawHeight = 0
  1085.             self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
  1086.         end
  1087.         return obj
  1088.     end
  1089.    
  1090.     function self:drawImage(sz, img, ysz)
  1091.         local xposOffset = 0
  1092.         local xposScale = self.drawX
  1093.         local xszOffset = 0
  1094.         local xszScale = sz
  1095.         if not (self.drawX == 0)  then
  1096.             xszOffset = -5
  1097.             if sz + self.drawX > 0.998 then
  1098.                 xszOffset = -12
  1099.             end
  1100.         elseif sz == 1 then
  1101.             xszOffset = -(self.sepr) - 5
  1102.             xposOffset = self.sepr/2
  1103.         else
  1104.             xszOffset = -5 + -(self.sepr/2)
  1105.             xposOffset = self.sepr/2
  1106.         end
  1107.         if not ysz then ysz = 20 end
  1108.         local obj = topkek.tools.util.Object("ImageLabel", {
  1109.             Parent = self.main;
  1110.             BackgroundTransparency = 1;
  1111.             BorderColor3 = Color3.new(27, 42, 53);
  1112.             BorderSizePixel = 0;
  1113.             Position = UDim2.new(xposScale, xposOffset, 0, self.drawY);
  1114.             Size = UDim2.new(xszScale, xszOffset, 0, ysz);
  1115.             Image = img;
  1116.         })
  1117.         if ysz > self.drawHeight then
  1118.             self.drawHeight = ysz
  1119.         end
  1120.         self.drawX = self.drawX + sz
  1121.         if self.drawX > 0.998 then
  1122.             self.drawY = self.drawY + 3 + self.drawHeight
  1123.             self.drawX = 0
  1124.             self.drawHeight = 0
  1125.             if (not ncan) then
  1126.                 self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
  1127.             end
  1128.         end
  1129.         return obj
  1130.     end
  1131.    
  1132.     function self:drawText(sz, txt, ysz)
  1133.         local xposOffset = 0
  1134.         local xposScale = self.drawX
  1135.         local xszOffset = 0
  1136.         local xszScale = sz
  1137.         if not (self.drawX == 0)  then
  1138.             xszOffset = -5
  1139.             if sz + self.drawX > 0.998 then
  1140.                 xszOffset = -10
  1141.             end
  1142.         elseif sz == 1 then
  1143.             local bzz = 5
  1144.             if ncan then
  1145.                 bzz = 0
  1146.             end
  1147.             xszOffset = -(self.sepr) - bzz
  1148.             xposOffset = self.sepr/2
  1149.         else
  1150.             xszOffset = -4 + -(self.sepr/2)
  1151.             xposOffset = self.sepr/2
  1152.         end
  1153.         if not ysz then ysz = 20 end
  1154.         local obj = topkek.tools.util.Object("TextLabel", {
  1155.             Parent = self.main;
  1156.             BackgroundColor3 = Color3.new(148/255, 51/255, 51/255);
  1157.             BorderSizePixel = 0;
  1158.             Position = UDim2.new(xposScale, xposOffset, 0, self.drawY);
  1159.             Size = UDim2.new(xszScale, xszOffset, 0, ysz);
  1160.             Font = 'SourceSans';
  1161.             FontSize = 'Size14';
  1162.             Text = txt;
  1163.             TextSize = 14;
  1164.             TextColor3 = Color3.new(199/255, 199/255, 199/255);
  1165.  
  1166.         })
  1167.         if ysz > self.drawHeight then
  1168.             self.drawHeight = ysz
  1169.         end
  1170.         self.drawX = self.drawX + sz
  1171.         if self.drawX > 0.998 then
  1172.             self.drawY = self.drawY + 3 + self.drawHeight
  1173.             self.drawX = 0
  1174.             self.drawHeight = 0
  1175.             if (not ncan) then
  1176.                 self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
  1177.             end
  1178.         end
  1179.         return obj
  1180.     end
  1181.    
  1182.    
  1183.     function self:drawScrollingContainer(ysz)
  1184.         local sz = UDim2.new(1, -(self.sepr/2) - 11, 0, ysz)
  1185.         local pos = UDim2.new(0, self.sepr/2, 0, self.drawY)
  1186.         local obj = topkek.tools.util.Object("ScrollingFrame", {
  1187.             Parent = self.main;
  1188.             BackgroundColor3 = color3(117, 42, 42);
  1189.             BorderSizePixel = 0;
  1190.             Position = pos;
  1191.             Size = sz;
  1192.             BottomImage = 'rbxassetid://368504177';
  1193.             MidImage = 'rbxassetid://368504177';
  1194.             TopImage = 'rbxassetid://368504177';
  1195.             ScrollBarThickness = 5;
  1196.         })
  1197.        
  1198.         self.drawY = self.drawY + 5 + ysz
  1199.         self.drawX = 0
  1200.         self.drawHeight = 0
  1201.         if (not ncan) then
  1202.             self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
  1203.         end
  1204.         return topkek.tools.gui:hookContainer(obj, false, 10, 3)
  1205.     end
  1206.    
  1207.     function self:drawContainer(xsz, ysz, xz, tz, sep)
  1208.         local sz = UDim2.new(xsz, -(self.sepr/2) - 11, 0, ysz)
  1209.         local pos = UDim2.new(tz or 0, self.sepr/2, 0, self.drawY)
  1210.         local obj = topkek.tools.util.Object("Frame", {
  1211.             Parent = self.main;
  1212.             BackgroundColor3 = color3(117, 42, 42);
  1213.             BorderSizePixel = 0;
  1214.             Position = pos;
  1215.             Size = sz;
  1216.         })
  1217.         if not xz then
  1218.             self.drawY = self.drawY + 5 + ysz
  1219.         end
  1220.         self.drawX = 0
  1221.         self.drawHeight = 0
  1222.         if (not ncan) then
  1223.             self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
  1224.         end
  1225.         return topkek.tools.gui:hookContainer(obj, sep or 12, 5)
  1226.     end
  1227.    
  1228.     function self:addSpacing()
  1229.         self.drawY = self.drawY + 3
  1230.     end
  1231.    
  1232.     function self:center()
  1233.         local a,c,b=
  1234.             self.main.Position.X.Scale,
  1235.                 self.main.Position.X.Offset,self.main.Size.Y.Offset
  1236.         self.main.Position=UDim2.new(a,c+2, 0.5, -(b/2))
  1237.     end
  1238.    
  1239.     return self
  1240. end
  1241.  
  1242. --//anim//--
  1243. topkek.tools.animator.animateTo = function(source, dest)
  1244.     -- holder2holder:
  1245.     -- invis holder
  1246.     -- clone holder; vis
  1247.     -- move holder to right
  1248.     -- vis dest container
  1249.     -- tween clone holder left
  1250.     -- tween dest holder right
  1251.     print("nav",source,dest)
  1252.     topkek.holder.Visible = false
  1253.     local hclone = topkek.holder:Clone()
  1254.     hclone.Parent = topkek.center
  1255.     hclone.Name = 'animclone'
  1256.     hclone.Visible = true
  1257.     topkek.holder.Position = UDim2.new(-1, 0, 0, 30)
  1258.     source.Visible = false
  1259.     dest.Visible = true
  1260.     dest.Container.Visible = true
  1261.     dest.Container.ZIndex = 1
  1262.     dest.ZIndex = 1
  1263.     topkek.holder.Visible = true
  1264.     topkek.holder:TweenPosition(UDim2.new(0, 150, 0, 30), "Out", "Quad", 0.3)
  1265.     hclone:TweenPosition(UDim2.new(1, 0, 0, 30), "Out", "Quad", 0.3)
  1266.     wait(0.3)
  1267. end
  1268. topkek.tools.animator.initialAnimation = function()
  1269.     -- initanim:
  1270.     -- join both composites
  1271.     -- delete composites; vis solid
  1272.     -- tween solid to nav topbar
  1273.     -- copy topbar plrname; move outside region
  1274.     -- tween in clone topbar
  1275.     -- delete clone and solid; vis topbar
  1276.     -- tween down topbar
  1277.     -- tween holder out
  1278.     local function abspos(x)
  1279.         return UDim2.new(0, x.AbsolutePosition.X, 0, x.AbsolutePosition.Y)
  1280.     end
  1281.     local function abssz(x)
  1282.         return UDim2.new(0, x.AbsoluteSize.X, 0, x.AbsoluteSize.Y)
  1283.     end
  1284.     local holder = topkek.holder
  1285.     local nav = topkek.navigator
  1286.     local topnav = nav.Topbar
  1287.     local topbar = topkek.topbar
  1288.     local pname = topbar.PlayerName:Clone()
  1289.     local solid = topkek.gui.Solid
  1290.     topkek.center.Size = UDim2.new(0, 150, 0, 30)
  1291.     topkek.gui.Composite1:TweenPosition(UDim2.new(0.5, -50, 0.5, -50), 'Out', 'Quad', 0.5)
  1292.     topkek.gui.Composite2:TweenPosition(UDim2.new(0.5, 0, 0.5, -50), 'Out', 'Quad', 0.5)
  1293.     wait(0.52)
  1294.     solid.Visible = true
  1295.     topkek.gui.Composite1:Destroy()
  1296.     topkek.gui.Composite2:Destroy()
  1297.     wait(3)
  1298.     solid.Label:TweenPosition(UDim2.new(0, 0, 1.5, 0), 'Out', 'Quad', 0.5)
  1299.     solid:TweenSizeAndPosition(abssz(topnav), abspos(topnav), 'Out', 'Linear', 0.6)
  1300.     wait(0.52)
  1301.     solid.Label:Destroy()
  1302.     wait(0.12)
  1303.     topkek.center.Visible = true
  1304.     topnav.Visible = true
  1305.     solid:Destroy()
  1306.     pname.Position = UDim2.new(0, -170, 0, 0)
  1307.     pname.Parent = topnav
  1308.     pname.Visible = true
  1309.     pname:TweenPosition(UDim2.new(0, 10, 0, 0), 'Out', 'Quad', 0.2)
  1310.     wait(0.25)
  1311.     topkek.center:TweenSize(UDim2.new(0, 150, 0, 395), 'Out', 'Quad', 0.3)
  1312.     spawn(topkek.navigation.buildNavigator)
  1313.     wait(0.35)
  1314.     topkek.center:TweenSize(UDim2.new(0, 470, 0, 395), 'In', 'Quad', 0.3)
  1315.     wait(0.35)
  1316.     topbar.PlayerName.Visible = true
  1317.     pname:Destroy()
  1318.     AllowHovers = true
  1319. end
  1320. --//nav//--
  1321. topkek.navigation.currentContainer = topkek.tools.util.getContainer('Home')
  1322. topkek.navigation.windowState = 0
  1323. topkek.navigation.gotoContainer = function(cont)
  1324.     topkek.tools.animator.animateTo(topkek.navigation.currentContainer, cont)
  1325.     topkek.navigation.currentContainer = cont
  1326. end
  1327. topkek.navigation.buildNavigator = function()
  1328.     local nav = topkek.navigator
  1329.     local hook = topkek.tools.gui:hookContainer(nav.Scroll, false)
  1330.     local btns = {}
  1331.     for l, x in pairs(topkek.data.windows) do
  1332.         local container = topkek.tools.util.getContainer(x)
  1333.         local btn = hook:drawButton(1, x, function() topkek.navigation.gotoContainer(container) end, 25)
  1334.         local ZPos = btn.Position
  1335.         btn.Position = btn.Position - UDim2.new(0, 0, 0, 5)
  1336.         btn:TweenPosition(ZPos, 'Out', 'Bounce', 0.2)
  1337.         btn.LayoutOrder = l
  1338.         btn.ZIndex = 4
  1339.         local OPos = btn.Position
  1340.         btn.MouseEnter:connect(function()
  1341.             if AllowHovers == false then
  1342.                 return
  1343.             end
  1344.             for i, v in pairs(btns) do
  1345.                 if v[1] ~= btn then
  1346.                     v[1]:TweenPosition(v[2], 'Out', 'Quad', 0.1)
  1347.                 end
  1348.             end
  1349.             btn:TweenPosition(OPos + UDim2.new(0, 3, 0, 0), 'Out', 'Quad', 0.1)
  1350.         end)
  1351.         btn.MouseLeave:connect(function()
  1352.             btn:TweenPosition(OPos, 'Out', 'Quad', 0.1)
  1353.         end)
  1354.         table.insert(btns, {btn, OPos})
  1355.         wait() 
  1356.     end
  1357. end
  1358. topkek.navigation.buildTopbar = function()
  1359.     local top = topkek.topbar
  1360.     local FELabel = top.Controllers.IsFE
  1361.     top.PlayerName.Text = topkek.lplr.Name
  1362.     if game:GetService('Workspace').FilteringEnabled == true then
  1363.         FELabel.Text = "FE Game"
  1364.         FELabel.TextColor3 = BrickColor.new("Bright red").Color
  1365.     else
  1366.         FELabel.Text = "Not FE"
  1367.         FELabel.TextColor3 = BrickColor.new("Bright green").Color
  1368.     end
  1369.     top.Controllers.Hide.MouseButton1Down:connect(function()
  1370.         if topkek.navigation.windowState == 0 then
  1371.             topkek.navigation.windowState = 1
  1372.             topkek.center:TweenSize(UDim2.new(0, 470, 0, 30), 'Out', 'Quint', 0.2)
  1373.         else
  1374.             topkek.navigation.windowState = 0
  1375.             topkek.center:TweenSize(UDim2.new(0, 470, 0, 395), 'Out', 'Quint', 0.2)
  1376.         end
  1377.     end)   
  1378.     top.Controllers.Exit.MouseButton1Down:connect(function()
  1379.         topkek.center:TweenSize(UDim2.new(0, 470, 0, 30), 'Out', 'Quint', 0.3)
  1380.         wait(0.31)
  1381.         topkek.center:TweenSize(UDim2.new(0, 0, 0, 0), 'Out', 'Quint', 0.3)
  1382.         PlayerChatHook:disconnect()
  1383.     end)
  1384.    
  1385. end
  1386. topkek.navigation.initCommandBar = function()
  1387.     DistributedCmdBar, cmd = topkek.holder.Command, {}
  1388.     loadstring(game:GetObjects("rbxassetid://685510751")[1].Source)()
  1389.     DistributedCmdBar.FocusLost:connect(function(e)
  1390.         if e == true then
  1391.             cmd.commands.run(DistributedCmdBar.Text)
  1392.             DistributedCmdBar.Text = ''
  1393.         end
  1394.     end)
  1395.    
  1396.     PlayerChatHook = cmd.players.PlayerChatted:connect(function (_, plr, msg, _)
  1397.         if cmd.util.isadmin(plr.Name) then
  1398.             if msg:sub(1,1) == cmd.prefix or msg:sub(1,1) == cmd.hidden then
  1399.                 cmd.commands.run(msg:sub(2, #msg))
  1400.             end
  1401.         end
  1402.     end)
  1403. end
  1404. topkek.navigation.buildHomePage = function()
  1405.     local count = 0
  1406.     for _, _ in pairs(cmd.commands.store) do count = count + 1 end
  1407.     local hook = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Home').Container, true)
  1408.     hook:drawText(1, 'T0PK3K 4.0 ProtoSmasher Edition edited by bork')
  1409.     hook:drawText(1, 'Patch version 1.0.5')
  1410.     hook:drawText(1, 'Commandbase patch version 1.0.0')
  1411.     hook:drawText(1, 'Number of commands: ' .. tostring(count))
  1412.     local stime = hook:drawText(1, 'Server Time: 0')
  1413.     spawn(function()
  1414.         while true do
  1415.             stime.Text = 'Server Time: ' .. tostring(game:GetService('Workspace').DistributedGameTime)
  1416.             wait(0.5)
  1417.         end
  1418.     end)
  1419.     local ssz = hook:drawText(1, 'Server Size: 0')
  1420.     spawn(function()
  1421.         while true do
  1422.             ssz.Text = 'Server Size: ' .. tostring(game:GetService('Players').NumPlayers)
  1423.             wait(0.5)
  1424.         end
  1425.     end)
  1426.     local fe = game:GetService('Workspace').FilteringEnabled
  1427.     hook:drawText(1, 'FilteringEnabled: ' .. (fe and "YES" or "NO"))
  1428.     hook:drawText(1, 'PlaceId: ' .. tostring(game.PlaceId))
  1429.     hook:drawText(1, 'same', 55)
  1430. end
  1431. topkek.navigation.buildContainers = function()
  1432.     for _, v in pairs(topkek.data.windows) do
  1433.         topkek.tools.gui:makeContainer(v)
  1434.     end
  1435. end
  1436.  
  1437. topkek.navigation.initCommandBar()
  1438. topkek.navigation.buildContainers()
  1439. topkek.navigation.buildTopbar()
  1440. topkek.navigation.buildHomePage()
  1441. wait()
  1442.  
  1443.  
  1444. --// actual code below lole //--
  1445.  
  1446. --// PLAYERS //--
  1447. local plrwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Players').Container)
  1448. local search = plrwin:drawButton(1, '', function()end)
  1449. drop = GUI.DropDown.New(UDim2.new(0, 0, 0, 0), UDim2.new(1, 0, 1, 0), search, {'All'})
  1450. function fixPlayerDrop()
  1451.     local t = {'All'}
  1452.     for i, v in pairs(game.Players:GetPlayers()) do
  1453.         table.insert(t, v.Name)
  1454.     end
  1455.     drop.SetTable(t)
  1456. end
  1457. game.Players.PlayerAdded:connect(function()
  1458.     fixPlayerDrop()
  1459. end)
  1460. game.Players.PlayerRemoving:connect(function()
  1461.     fixPlayerDrop()
  1462. end)
  1463. plrFrame = plrwin:drawContainer(1, 100)
  1464. headshotContainer = plrFrame:drawContainer(0.4, 94, true)
  1465. headshotContainer:setDrawY(20)
  1466. headshot = headshotContainer:drawImage(1, "https://www.roblox.com/bust-thumbnail/image?userId=1&width=420&height=420&format=png", 74)
  1467. headshotContainer:setDrawY(0)
  1468. userNameText = headshotContainer:drawText(1, "[All]")
  1469. userNameText.ClipsDescendants = true
  1470. userNameText.Font = Enum.Font.SourceSansBold
  1471. infoContainer = plrFrame:drawContainer(0.5, 94, true, 0.5)
  1472. infoContainer.BackgroundColor3 = color3(108, 38, 38)
  1473. userIdText = infoContainer:drawText(1, "ID: 0")
  1474. userAgeText = infoContainer:drawText(1, "Age: 0")
  1475. userTeamText = infoContainer:drawText(1, "Team: Neutral")
  1476. cval = 'All'
  1477. fixPlayerDrop()
  1478.  
  1479. function updatePlayer(plri)
  1480.     local plr = game:GetService('Players'):FindFirstChild(plri)
  1481.     if not plr and plri ~= 'All' then
  1482.         print("Couldn't find player!")
  1483.         updatePlayer(topkek.lplr)
  1484.     else
  1485.         headshot.Image = "https://www.roblox.com/bust-thumbnail/image?userId=1&width=420&height=420&format=png"
  1486.         userNameText.Text = "[All]"
  1487.         userIdText.Text = 'ID: [multiple]'
  1488.         userAgeText.Text = 'Age: [multiple]'
  1489.         userTeamText.Text = 'Team: [multiple]'
  1490.         cval = 'All'
  1491.     end
  1492.     local team = plr.TeamColor
  1493.     if team == nil then
  1494.         team = 'Neutral'
  1495.     else
  1496.         team = tostring(team)
  1497.     end
  1498.     headshot.Image = "https://www.roblox.com/bust-thumbnail/image?userId=" .. tostring(plr.UserId) .. "&width=420&height=420&format=png"
  1499.     userNameText.Text = plr.Name
  1500.     userIdText.Text = 'ID: ' .. tostring(plr.UserId)
  1501.     userAgeText.Text = 'Age: ' .. tostring(plr.AccountAge)
  1502.     userTeamText.Text = 'Team: ' .. team
  1503.     cval = plr.Name
  1504.    
  1505. end
  1506. drop.Changed(updatePlayer)
  1507. --actual code ------__-
  1508. plrwin:addSpacing()
  1509. plrwin:drawButton(1/2, 'Kick', function()
  1510.     tk.dp(cval, function(p)
  1511.         topkek.banmgr.executeKick(p)
  1512.     end)
  1513. end)
  1514.  
  1515. plrwin:drawButton(1/2, 'Ban', function()
  1516.     tk.dp(cval, function(p)
  1517.         topkek.banmgr.addSoftBan(p)
  1518.     end)
  1519. end)
  1520. plrwin:drawButton(1/2,'Friendlag', function()
  1521.     tk.dp(cval, function(p)
  1522.         for i = 1, 10 do
  1523.             spawn(function()
  1524.                 while wait() do
  1525.                     game.Players.LocalPlayer:RequestFriendship(p)
  1526.                     game.Players.LocalPlayer:RevokeFriendship(p)
  1527.                 end
  1528.             end)
  1529.         end
  1530.     end)
  1531. end)
  1532. plrwin:drawButton(1/2, 'Hardban', function()
  1533.     tk.dp(cval, function(p)
  1534.         topkek.banmgr.addHardBan(p)
  1535.     end)
  1536. end)
  1537. plrwin:addSpacing()
  1538. plrwin:drawButton(1/2, 'Bring', function()
  1539.     tk.dp(cval, function(z)
  1540.         if z.Character then
  1541.             z.Character.HumanoidRootPart.CFrame =
  1542.                 game:service'Players'.LocalPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(1,1,1)
  1543.         end
  1544.     end)
  1545. end)
  1546. plrwin:drawButton(1/2, 'Goto', function()
  1547.     tk.dp(cval, function(z)
  1548.         game:service'Players'.LocalPlayer.Character.HumanoidRootPart.CFrame =
  1549.             z.Character.HumanoidRootPart.CFrame * CFrame.new(1,1,1)
  1550.     end)
  1551. end)
  1552. plrwin:addSpacing()
  1553. plrwin:drawButton(1/3, 'Kill', function()
  1554.     tk.dp(cval, function(p)
  1555.         if p.Character and p.Character:FindFirstChild("Humanoid") then
  1556.             p.Character.Humanoid.Health = 0
  1557.         end
  1558.     end)
  1559. end)
  1560. plrwin:drawButton(1/3, 'Seizure', function()
  1561.     tk.dp(cval, function(p)
  1562.         if p.Character and p.Character:FindFirstChild("Humanoid") and tk.gt(p) then
  1563.             spawn(function()
  1564.                 p.Character.Humanoid.PlatformStand = true
  1565.                 tk.gt(p).CFrame = tk.gt(p).CFrame * CFrame.Angles(math.rad(90),0,0)
  1566.                 repeat
  1567.                     wait()
  1568.                     p.Character.Humanoid.PlatformStand = true
  1569.                     tk.gt(p).Velocity = Vector3.new(math.random(-10,10),-5,math.random(-10,10))
  1570.                     tk.gt(p).RotVelocity = Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
  1571.                 until not p.Character:FindFirstChild("Humanoid") or not tk.gt(p)
  1572.             end)
  1573.         end
  1574.     end)
  1575. end)
  1576. plrwin:drawButton(1/3, 'Stun', function()
  1577.     tk.dp(cval, function(p)
  1578.         if p.Character and p.Character:FindFirstChild("Humanoid") then
  1579.             p.Character.Humanoid.PlatformStand = true
  1580.             p.Character.Torso.CFrame = p.Character.Torso.CFrame * CFrame.Angles(math.rad(90),0,0)
  1581.         end
  1582.     end)
  1583. end)
  1584. plrwin:drawButton(1/3, 'Freeze', function()
  1585.     tk.dp(cval, function(p)
  1586.         if p.Character then
  1587.             tk.gt(p).Anchored = true
  1588.         end
  1589.     end)
  1590. end)
  1591. plrwin:drawButton(1/3, 'Thaw', function()
  1592.     tk.dp(cval, function(p)
  1593.         if p.Character then
  1594.             tk.gt(p).Anchored = false
  1595.         end
  1596.     end)
  1597. end)
  1598. plrwin:drawButton(1/3, 'Superslow', function()
  1599.     tk.dp(cval, function(p)
  1600.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1601.             p.Character.Humanoid.WalkSpeed = 1
  1602.         end
  1603.     end)
  1604. end)
  1605. plrwin:drawButton(1/3, 'Highjump', function()
  1606.     tk.dp(cval, function(p)
  1607.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1608.             p.Character.Humanoid.JumpPower = 125
  1609.         end
  1610.     end)
  1611. end)
  1612. plrwin:drawButton(1/3, 'God', function()
  1613.     tk.dp(cval, function(p)
  1614.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1615.             p.Character.Humanoid.MaxHealth = math.huge
  1616.             p.Character.Humanoid.Health = math.huge
  1617.         end
  1618.     end)
  1619. end)
  1620. plrwin:drawButton(1/3, 'Semigod', function()
  1621.     tk.dp(cval, function(p)
  1622.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1623.             p.Character.Humanoid.MaxHealth = 9e9
  1624.             p.Character.Humanoid.Health = 9e9
  1625.         end
  1626.     end)
  1627. end)
  1628. plrwin:drawButton(1/3, 'Fast', function()
  1629.     tk.dp(cval, function(p)
  1630.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1631.             p.Character.Humanoid.WalkSpeed = 50
  1632.         end
  1633.     end)
  1634. end)
  1635. Follow = false;
  1636. plrwin:drawButton(1/3, 'Annoy', function()
  1637.     tk.dp(cval, function(p)
  1638.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1639.             if Follow == true then
  1640.                 Follow = false; return
  1641.             else Follow = true end
  1642.             while Follow == true do
  1643.                 game:service'Players'.LocalPlayer.Character.HumanoidRootPart.CFrame=
  1644.                     p.Character.HumanoidRootPart.CFrame
  1645.                 wait()
  1646.             end
  1647.         end
  1648.     end)
  1649. end)
  1650. plrwin:drawButton(1/3, 'Freefall', function()
  1651.     tk.dp(cval, function(p)
  1652.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1653.             p.Character.HumanoidRootPart.CFrame = p.Character.HumanoidRootPart.CFrame * CFrame.new(0, 10000, 0)    
  1654.         end
  1655.     end)
  1656. end)
  1657. plrwin:drawButton(1/3, 'Destroy', function()
  1658.     tk.dp(cval, function(p)
  1659.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1660.             p.Character.Humanoid:Destroy()
  1661.         end
  1662.     end)
  1663. end)
  1664. plrwin:drawButton(1/3, 'Fix', function()
  1665.     tk.dp(cval, function(p)
  1666.         if p.Character and p.Character:FindFirstChild('Humanoid') then
  1667.             p.Character.Humanoid.Health = 100
  1668.             p.Character.Humanoid.MaxHealth = 100
  1669.             p.Character.Humanoid.JumpPower = 100
  1670.             p.Character.Humanoid.WalkSpeed = 16
  1671.             p.Character.Humanoid.PlatformStand = false
  1672.             p.Character.Humanoid.Jump = true
  1673.         end
  1674.     end)
  1675. end)
  1676. plrwin:drawButton(1/3, 'Respawn', function()
  1677.     tk.dp(cval, function(p)
  1678.         if p.Character then
  1679.             local a1 = Instance.new("Model", game:service'Workspace')
  1680.             local a2 = Instance.new("Part", game:service'Workspace')
  1681.             a2.CanCollide = true
  1682.             a2.Anchored = true
  1683.             a2.CFrame = CFrame.new(10000, 10000, 10000)
  1684.             a2.Name = "Torso"
  1685.             local a3 = Instance.new("Humanoid", a1)
  1686.             a3.MaxHealth=100;a3.Health=100
  1687.             p.Character = a1
  1688.             a3.Health=0
  1689.         end
  1690.     end)
  1691. end)
  1692. plrwin:addSpacing()
  1693. local nameInp
  1694. plrwin:drawButton(1/3, 'Name', function()
  1695.     tk.dp(cval, function(z)
  1696.         local Character = z.Character
  1697.         local newName = Instance.new("Model", z.Character)
  1698.         newName.Name = nameInp.Text
  1699.         local cl = Character:WaitForChild("Head"):Clone()
  1700.         cl.Parent = newName
  1701.         cl:WaitForChild("face"):Destroy()
  1702.         local hum = Instance.new("Humanoid", newName)
  1703.         hum.Name = "NameTag"
  1704.         hum.MaxHealth = 0
  1705.         hum.Health = 0
  1706.         local weld = Instance.new("Weld", cl)
  1707.         weld.Part0 = cl
  1708.         weld.Part1 = Character:WaitForChild("Head")
  1709.         Character:WaitForChild("Head").Transparency = 1
  1710.         wait(.5)
  1711.         cl.BrickColor = Character:WaitForChild("Head").BrickColor
  1712.     end)
  1713. end)
  1714. nameInp = plrwin:drawTextBox(2/3, '')
  1715. local chatInp
  1716. plrwin:drawButton(1/3, 'Chat', function()
  1717.     tk.dp(cval, function(z)
  1718.         game:GetService('Chat'):Chat(z.Charcter, chatInp.Text)
  1719.     end)
  1720. end)
  1721. chatInp = plrwin:drawTextBox(2/3, '')
  1722. local disgInp
  1723. plrwin:drawButton(1/3, 'Disguise', function()
  1724.     tk.dp(cval, function(p)
  1725.         local id = 0
  1726.         if tonumber(disgInp.Text) then
  1727.             id = tonumber(disgInp.Text)
  1728.         else
  1729.             id = game:GetService('Players'):GetUserIdFromNameAsync(disgInp.Text)
  1730.         end
  1731.         if p.Character:FindFirstChild("Humanoid") then
  1732.             p.Character.Humanoid.Health = 0
  1733.         end
  1734.         p.CharacterAppearance = 'https://assetgame.roblox.com/Asset/CharacterFetch.ashx?userId=' .. tostring(id)
  1735.     end)
  1736. end)
  1737. disgInp = plrwin:drawTextBox(2/3, 'ROBLOX')
  1738. plrwin:addSpacing()
  1739. clrR = plrwin:drawTextBox(1/3, '0')
  1740. clrG = plrwin:drawTextBox(1/3, '0')
  1741. clrB = plrwin:drawTextBox(1/3, '0')
  1742. function getColor()
  1743.     local r = tonumber(clrR.Text)
  1744.     local g = tonumber(clrG.Text)
  1745.     local b = tonumber(clrB.Text)
  1746.     if not (r and g and b) then return Color3.new(0,0,0) end
  1747.     return Color3.new(r/255, g/255, b/255)
  1748. end
  1749. plrwin:drawButton(1/3, 'Sparkles', function()
  1750.     tk.dp(cval, function(z)
  1751.         Instance.new("Sparkles", tk.gt(z)).SparkleColor = getColor()
  1752.     end)
  1753. end)
  1754. plrwin:drawButton(1/3, 'Smoke', function()
  1755.     tk.dp(cval, function(z)
  1756.         Instance.new("Smoke", tk.gt(z)).Color = getColor()
  1757.  
  1758.     end)
  1759. end)
  1760. plrwin:drawButton(1/3, 'Fire', function()
  1761.     tk.dp(cval, function(z)
  1762.         local fr = Instance.new("Fire", tk.gt(z))
  1763.         fr.Color = getColor()
  1764.         fr.Heat = 30
  1765.         fr.Size = 20
  1766.     end)
  1767. end)
  1768. plrwin:drawButton(1/3, 'Forcefield', function()
  1769.     tk.dp(cval, function(z)
  1770.         if z.Character then
  1771.             Instance.new("ForceField", z.Character)
  1772.         end
  1773.     end)
  1774. end)
  1775. plrwin:drawButton(1/3, 'Select', function()
  1776.     tk.dp(cval, function(z)
  1777.         if z.Character and tk.gt(z) then
  1778.             Instance.new("SelectionBox", tk.gt(z)).Adornee = tk.gt(z)
  1779.         end
  1780.     end)
  1781. end)
  1782. plrwin:drawButton(1/3, 'Sphere', function()
  1783.     tk.dp(cval, function(z)
  1784.         if z.Character and tk.gt(z) then
  1785.             Instance.new("SelectionSphere", tk.gt(z)).Adornee = tk.gt(z)
  1786.         end
  1787.     end)
  1788. end)
  1789. plrwin:drawButton(1/3, 'Fling', function()
  1790.     tk.dp(cval, function(z)
  1791.         spawn(function() --kohls admin commands lol
  1792.             if z.Character and tk.gt(z) then
  1793.                 local xran, zran
  1794.                 repeat xran = math.random(5555, 9999) until math.abs(xran) >= 5555
  1795.                 repeat zran = math.random(5555, 9999) until math.abs(zran) >= 5555
  1796.                 z.Character.Humanoid.Sit = true
  1797.                 tk.gt(z).Velocity = Vector3.new(0,0,0)
  1798.                 local frc = Instance.new("BodyForce", tk.gt(z))
  1799.                 frc.Name = "BFRC"
  1800.                 frc.force = Vector3.new(xran*4,9999*5,zran*4)
  1801.                 game:GetService("Debris"):AddItem(frc, 0.1)
  1802.             end
  1803.         end)
  1804.     end)
  1805. end)
  1806. plrwin:drawButton(1/3, 'Explode', function()
  1807.     tk.dp(cval, function(z)
  1808.         if z.Character and tk.gt(z) then
  1809.             local explosion = Instance.new("Explosion")
  1810.             explosion.Position = tk.gt(z).Position
  1811.             explosion.Parent = workspace
  1812.         end
  1813.     end)
  1814. end)
  1815. plrwin:drawButton(1/3, 'Nuke', function()
  1816.     tk.dp(cval, function(z)
  1817.         if z.Character and tk.gt(z) then
  1818.             local torso = tk.gt(z)
  1819.             local nuke = Instance.new("Part", game.Workspace)
  1820.             local opos = torso.CFrame
  1821.             nuke.BrickColor = BrickColor.new("Bright yellow")
  1822.             nuke.TopSurface = Enum.SurfaceType.Smooth
  1823.             nuke.BottomSurface = Enum.SurfaceType.Smooth
  1824.             nuke.Anchored = true
  1825.             nuke.CanCollide = false
  1826.             nuke.Shape = "Ball"            
  1827.             nuke.Transparency = 0.5
  1828.             nuke.CFrame = torso.CFrame     
  1829.             nuke.Size = Vector3.new(1, 1, 1)
  1830.             nuke.Touched:connect(function(p)
  1831.                 local expl = Instance.new("Explosion", p)
  1832.                 expl.BlastPressure = 50000
  1833.                 expl.BlastRadius = 50
  1834.                 expl.Position = p.Position
  1835.                 p.Material = Enum.Material.CorrodedMetal
  1836.                 p:BreakJoints()
  1837.             end)
  1838.             for i = 1, 150 do
  1839.                 nuke.Size = Vector3.new(i, i, i)
  1840.                 nuke.CFrame = opos
  1841.                 wait(0.08)
  1842.             end
  1843.             nuke:Destroy()
  1844.         end
  1845.     end)
  1846. end)
  1847. plrwin:drawButton(1/3, 'No Tools', function()
  1848.     tk.dp(cval, function(p)
  1849.         for _, t in pairs(p.Backpack:GetChildren()) do
  1850.             t:Destroy()
  1851.         end
  1852.     end)
  1853. end)
  1854. plrwin:drawButton(1/3, 'Take Tools', function()
  1855.     tk.dp(cval, function(p)
  1856.         for _, t in pairs(p.Backpack:GetChildren()) do
  1857.             t.Parent = game:service'Players'.LocalPlayer.Backpack
  1858.         end
  1859.     end)
  1860. end)
  1861. plrwin:drawButton(1/3, 'BTools', function()
  1862.     tk.dp(cval, function(p)
  1863.         local a = Instance.new("HopperBin")
  1864.         a.BinType = "GameTool"
  1865.         a.Parent = p.Backpack
  1866.         local a = Instance.new("HopperBin")
  1867.         a.BinType = "Clone"
  1868.         a.Parent = p.Backpack
  1869.         local a = Instance.new("HopperBin")
  1870.         a.BinType = "Hammer"
  1871.         a.Parent = p.Backpack
  1872.     end)
  1873. end)
  1874. plrwin:drawButton(1/3, 'Hotdog', function()
  1875.     tk.dp(cval, function(p)
  1876.         if p.Character and tk.gt(p) then
  1877.             topkek.tools.util.weenieHutJunior(p)
  1878.         end
  1879.     end)
  1880. end)
  1881. plrwin:drawButton(1/3, 'Quicksand', function()
  1882.     tk.dp(cval, function(z)
  1883.         if z.Character and z.Character:FindFirstChild("Humanoid") then
  1884.             local tor = tk.gt(z)
  1885.             local hole = Instance.new("Part", z.Character)
  1886.             hole.Anchored = true
  1887.             hole.Name = "Hole"
  1888.             hole.FormFactor = Enum.FormFactor.Custom
  1889.             hole.Size = Vector3.new(7, 1, 7)
  1890.             hole.CanCollide = false
  1891.             hole.CFrame = tor.CFrame * CFrame.new(0,-3.3,0)
  1892.             hole.BrickColor = BrickColor.new("Cool yellow")
  1893.             hole.Material = Enum.Material.Sand
  1894.             local hm = Instance.new("CylinderMesh", hole)
  1895.             tor.Anchored = true
  1896.             if z.Character:FindFirstChild("Humanoid") then
  1897.                 z.Character.Humanoid.Jump = true
  1898.             end
  1899.             for x,m in pairs(z.Character:GetChildren()) do
  1900.                 if m:IsA("BasePart") or m:IsA("MeshPart") then
  1901.                     m.CanCollide = false
  1902.                 end
  1903.             end
  1904.             for i=1,75 do
  1905.                 tor.CFrame=tor.CFrame*CFrame.new(0,-0.1,0)
  1906.                 wait(0.06)
  1907.             end
  1908.             tor.CFrame=tor.CFrame*CFrame.new(0,
  1909.                 -500,0
  1910.             )
  1911.             z.Character.Humanoid.Health = 0
  1912.         end
  1913.     end)
  1914. end)
  1915. plrwin:drawButton(1/3, 'Insane', function()
  1916.     tk.dp(cval, function(p)
  1917.         if p.Character and tk.gt(p) then
  1918.             for i,v in pairs(tk.gt(p):GetChildren()) do
  1919.                 if v:IsA("Motor6D") then
  1920.                     spawn(function()
  1921.                         while v do
  1922.                             v.C0=v.C0*CFrame.Angles(math.random(-180,180),math.random(-180,180),math.random(-180,180))
  1923.                             wait()
  1924.                         end
  1925.                     end)
  1926.                 end
  1927.             end
  1928.         end
  1929.     end)
  1930. end)
  1931. plrwin:drawButton(1/3, 'Invisible', function()
  1932.     tk.dp(cval, function(p)
  1933.         tk.rco(p.Character, 'BasePart', 'Transparency', 1)
  1934.         tk.rco(p.Character, 'MeshPart', 'Transparency', 1)
  1935.     end)
  1936. end)
  1937. plrwin:drawButton(1/3, 'Visible', function()
  1938.     tk.dp(cval, function(p)
  1939.         tk.rco(p.Character, 'BasePart', 'Transparency', 0)
  1940.         tk.rco(p.Character, 'MeshPart', 'Transparency', 0)
  1941.     end)
  1942. end)
  1943. plrwin:drawButton(1/3, 'Bighead', function()
  1944.     tk.dp(cval, function(z)
  1945.         if z.Character then
  1946.             if z.Character:FindFirstChild('Head') then
  1947.                 z.Character.Head.Mesh.Scale=Vector3.new(5,5,5)
  1948.             end
  1949.         end
  1950.     end)
  1951. end)
  1952. plrwin:drawButton(1/3, 'Goldify', function()
  1953.     tk.dp(cval, function(z)
  1954.         if z.Character then
  1955.             tk.rco(z.Character, 'BasePart', 'Material', 'Marble')
  1956.             tk.rco(z.Character, 'MeshPart', 'Material', 'Marble')
  1957.             tk.rco(z.Character, 'BasePart', 'BrickColor', BrickColor.new('Bright yellow'))
  1958.             tk.rco(z.Character, 'MeshPart', 'BrickColor', BrickColor.new('Bright yellow'))
  1959.         end
  1960.     end)
  1961. end)
  1962. plrwin:drawButton(1/3, 'Neon', function()
  1963.     tk.dp(cval, function(z)
  1964.         if z.Character then
  1965.             tk.rco(z.Character, 'BasePart', 'Material', 'Neon')
  1966.             tk.rco(z.Character, 'MeshPart', 'Material', 'Neon')
  1967.         end
  1968.     end)
  1969. end)
  1970. plrwin:drawButton(1/3, 'Shiny', function()
  1971.     tk.dp(cval, function(z)
  1972.         if z.Character then
  1973.             tk.rco(z.Character, 'BasePart', 'Reflectance', 1)
  1974.             tk.rcm(z.Character, 'MeshPart')
  1975.         end
  1976.     end)
  1977. end)
  1978. plrwin:drawButton(1/3, 'Shrek', function()
  1979.     tk.dp(cval, function(z)
  1980.         if z.Character then
  1981.             local pchar = z.Character
  1982.             for i,v in pairs(pchar:GetChildren()) do
  1983.                 if v:IsA("Hat") or v:IsA("Accessory") or v:IsA("CharacterMesh") or v:IsA("Shirt") or v:IsA("Pants") then
  1984.                     v:Destroy()
  1985.                 end
  1986.             end
  1987.             for i,v in pairs(pchar.Head:GetChildren()) do
  1988.                 if v:IsA("Decal") or v:IsA("SpecialMesh") then
  1989.                     v:Destroy()
  1990.                 end
  1991.             end
  1992.            
  1993.             local mesh = Instance.new("SpecialMesh", pchar.Head)
  1994.             mesh.MeshType = "FileMesh"
  1995.             pchar.Head.Mesh.MeshId = "http://www.roblox.com/asset/?id=19999257"
  1996.             pchar.Head.Mesh.Offset = Vector3.new(-0.1, 0.1, 0)
  1997.             pchar.Head.Mesh.TextureId = "http://www.roblox.com/asset/?id=156397869"
  1998.            
  1999.             local Shirt = Instance.new("Shirt", z.Character)
  2000.             local Pants = Instance.new("Pants", z.Character)
  2001.            
  2002.             Shirt.ShirtTemplate = "rbxassetid://133078194"
  2003.             Pants.PantsTemplate = "rbxassetid://133078204"
  2004.         end
  2005.     end)
  2006. end)
  2007. plrwin:drawButton(1/3, 'Duck', function()
  2008.     tk.dp(cval, function(z)
  2009.         if z.Character then
  2010.             local pchar = z.Character
  2011.             for i,v in pairs(pchar:GetChildren()) do
  2012.                 if v:IsA("Hat") or v:IsA("Accessory") then
  2013.                     v:Destroy()
  2014.                 end
  2015.             end
  2016.             local duck = Instance.new("SpecialMesh", z.Character.HumanoidRootPart)
  2017.             duck.MeshType = "FileMesh"
  2018.             duck.MeshId = "http://www.roblox.com/asset/?id=9419831"
  2019.             duck.TextureId = "http://www.roblox.com/asset/?id=9419827"
  2020.             duck.Scale = Vector3.new(5, 5, 5)
  2021.             tk.rco(z.Character, 'Instance', 'Transparency', 1)
  2022.             z.Character.HumanoidRootPart.Transparency = 0
  2023.         end
  2024.     end)
  2025. end)
  2026. plrwin:drawButton(1/3, 'Spheres', function()
  2027.     tk.dp(cval, function(z)
  2028.         if z.Character then
  2029.             tk.rco(z.Character, 'BasePart', 'Shape', 'Cylinder')
  2030.         end
  2031.     end)
  2032. end)
  2033. plrwin:drawButton(1/3, 'Big', function()
  2034.     tk.dp(cval, function(z)
  2035.         if z.Character then
  2036.             topkek.tools.util.scalePlayer(5, z)
  2037.         end
  2038.     end)
  2039. end)
  2040. plrwin:drawButton(1/3, 'Small', function()
  2041.     tk.dp(cval, function(z)
  2042.         if z.Character then
  2043.             topkek.tools.util.scalePlayer(5, z)
  2044.         end
  2045.     end)
  2046. end)
  2047. plrwin:drawButton(1/3, 'Giraffe', function()
  2048.     tk.dp(cval, function(z)
  2049.         if z.Character then
  2050.             local char=z.Character
  2051.             local h=char.Head
  2052.             local tor=char:FindFirstChild("Torso")
  2053.             if not tor then return end
  2054.             tor.Neck.C0=tor.Neck.C0*CFrame.new(0,0,5)
  2055.             local fn=Instance.new("Part",char)
  2056.             fn.Size=Vector3.new(1,5.5,1)
  2057.             fn.Name="FakeNeck"
  2058.             fn.Anchored=false
  2059.             fn.CanCollide=false
  2060.             if char:FindFirstChild("Body Colors") then
  2061.                 fn.BrickColor=char["Body Colors"].HeadColor
  2062.             end
  2063.             local cm=Instance.new("CylinderMesh",fn)
  2064.             local we=Instance.new("Weld",h)
  2065.             we.Part0=h
  2066.             we.Part1=fn
  2067.             we.C1=we.C1*CFrame.new(0,2.6,0)
  2068.         end
  2069.     end)
  2070. end)
  2071. plrwin:drawButton(1/3, 'Dab', function()
  2072.     tk.dp(cval, function(z)
  2073.         if z.Character and z.Character:FindFirstChild("Torso") then
  2074.             local chr = z.Character
  2075.             chr.Animate.Disabled = true
  2076.             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)
  2077.             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)
  2078.             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)
  2079.         end
  2080.     end)
  2081. end)
  2082. plrwin:drawButton(1/3, 'Force Follow', function()
  2083.     tk.dp(cval, function(z)
  2084.         game:GetService("RunService"):BindToRenderStep("_", 0, function()
  2085.             z.Character.Humanoid:MoveTo(topkek.lplr.Character.Head.Position)
  2086.         end)
  2087.     end)
  2088. end)
  2089. plrwin:drawButton(1/3, 'Camlock', function()
  2090.     tk.dp(cval, function(z)
  2091.         z.CameraMode = "LockFirstPerson"
  2092.     end)
  2093. end)
  2094. --// SERVER //--
  2095. local servwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Server').Container)
  2096. local detailWin = servwin:drawContainer(1, 100, nil, nil, 18)
  2097. detailWin:drawText(1, 'Job ID: ' .. (game.JobId and (game.JobId ~= "") or "???"))
  2098. detailWin:drawText(1, 'Game Name: ' .. game:service'MarketplaceService':GetProductInfo(game.PlaceId).Name)
  2099. detailWin:drawText(1, 'Creator Name: ' .. game:GetService('Players'):GetNameFromUserIdAsync(game.CreatorId))
  2100. detailWin:drawText(1, 'Genre: ' .. tostring(game.Genre))
  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