Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- edited by bork so it works with proto XD
- local topkek = {}
- topkek.patch = '1.0.5a'
- topkek.data = {}
- topkek.commandbase = {}
- topkek.navigation = {}
- topkek.banmgr = {}
- topkek.lplr = game:GetService('Players').LocalPlayer
- topkek.tools = {}
- topkek.tools.gui = {}
- topkek.tools.util = {}
- topkek.tools.animator = {}
- topkek.windows = {}
- topkek.windows.lplr = {}
- topkek.windows.server = {}
- topkek.windows.players = {}
- topkek.windows.destruction = {}
- topkek.windows.scripts = {}
- topkek.windows.misc = {}
- topkek.misc = {}
- topkek.gui = game:GetObjects("rbxassetid://678309209")[1]
- topkek.gui.Parent = game:GetService("CoreGui")
- topkek.center = topkek.gui.Main
- topkek.holder = topkek.center.Holder
- topkek.topbar = topkek.center.Topbar
- topkek.template = topkek.holder.Template
- topkek.navigator = topkek.center.Navigation
- AllowHovers = false
- PlayerChatHook, UpdateBanlist = nil
- cmd = {}
- --// data //--
- topkek.data.windows = {
- 'Home',
- 'LocalPlayer',
- 'Server',
- 'Players',
- 'Destruction',
- 'Scripts',
- 'Catalog',
- 'Music',
- 'Hats',
- 'Faces',
- 'Settings',
- 'Commands',
- 'Banlist',
- }
- color3 = function(r,g,b)
- return Color3.new(r/255, g/255, b/255)
- end
- --// doggo dropdown //--
- -- thanks krystal
- GUI = {
- TextBox = {
- Settings = {
- Font = Enum.Font.SourceSans;
- FontSize = Enum.FontSize.Size14;
- };
- Color = {
- Main = Color3.fromRGB(5,8,11);
- Border = Color3.fromRGB(27,42,53);
- Text = Color3.fromRGB(199,199,199);
- };
- New = function(Position, Size, Parent, ...)
- local arguments = {...};
- local TextBox = Instance.new("TextBox", Parent);
- TextBox.BackgroundColor3 = GUI.DropDown.Color.Main;
- TextBox.BorderColor3 = GUI.DropDown.Color.Border;
- TextBox.Font = GUI.TextBox.Settings.Font;
- TextBox.FontSize = GUI.TextBox.Settings.FontSize;
- TextBox.TextColor3 = GUI.TextBox.Color.Text;
- TextBox.Position = Position;
- TextBox.Size = Size;
- if #arguments then
- if arguments[1] then
- TextBox.Text = tostring(arguments[1]);
- else
- TextBox.Text = "";
- end
- end
- return TextBox;
- end;
- };
- DropDown = {
- Settings = {
- ScrollerAmount = 5; --A scroller will appear at this amount.
- ScrollBarThickness = 6;
- };
- Gfx = {
- Scroller = "rbxassetid://606572419";
- };
- Color = {
- Main = color3(107, 36, 36);
- Secondary = color3(113, 39, 39);
- Border = color3(127, 44, 44);
- Text = Color3.fromRGB(199,199,199);
- };
- New = function(Position, Size, Parent, ...)
- local vValue = {};
- local arguments = {...};
- local vSelected = Instance.new("StringValue");
- vSelected.Value = "nil";
- if arguments then
- if type(arguments) == "table" then
- for i=1,#(arguments) do
- if type(arguments[i]) == "table" then
- for f=1,#(arguments[i]) do
- table.insert(vValue, tostring((arguments[i])[f]));
- end
- else
- table.insert(vValue, tostring(arguments[i]));
- end
- end
- vSelected.Value = (vValue[1]);
- end
- end
- local Main = Instance.new("TextButton", Parent);
- Main.BackgroundColor3 = GUI.DropDown.Color.Main;
- Main.BorderColor3 = GUI.DropDown.Color.Border;
- Main.Position = Position;
- Main.Size = Size;
- Main.TextColor3 = GUI.DropDown.Color.Text;
- Main.FontSize = Enum.FontSize.Size14;
- Main.TextStrokeTransparency = 0.5;
- Main.TextXAlignment = Enum.TextXAlignment.Left;
- Main.Font = Enum.Font.SourceSans;
- Main.Text = " "..tostring(vSelected.Value);
- Main.ZIndex = 3
- local Icon = Instance.new("TextLabel", Main);
- Icon.SizeConstraint = Enum.SizeConstraint.RelativeYY;
- Icon.BackgroundColor3 = GUI.DropDown.Color.Secondary;
- Icon.BorderColor3 = GUI.DropDown.Color.Border;
- Icon.Position = UDim2.new(1,-2,1,-2);
- Icon.Size = UDim2.new(-1,4,-1,4);
- Icon.TextColor3 = GUI.DropDown.Color.Text;
- Icon.FontSize = Enum.FontSize.Size14;
- Icon.TextStrokeTransparency = 0.5;
- Icon.Font = Enum.Font.SourceSans;
- Icon.Text = "V"
- Icon.ZIndex = 4
- local Holder, Search;
- local ClearHolder = function()
- if Holder then
- Holder:ClearAllChildren();
- Holder.Size = UDim2.new(1,0,0,0);
- Holder.Visible = false;
- if Search then
- Search.Visible = false;
- end
- end
- end;
- local CreateButton;
- local RefreshDropDown = function()
- if #vValue <= (GUI.DropDown.Settings.ScrollerAmount) then
- if not Holder or not Holder:IsA("Frame") then
- Holder = nil; Search = nil;
- Holder = Instance.new("Frame",Main);
- Holder.Size = UDim2.new(1,0,0,0);
- Holder.BackgroundColor3 = GUI.DropDown.Color.Main;
- Holder.BorderColor3 = GUI.DropDown.Color.Border;
- Holder.Visible = false;
- Holder.ZIndex = 3
- end
- elseif #vValue > (GUI.DropDown.Settings.ScrollerAmount) then
- if not Holder or not Holder:IsA("ScrollingFrame") then
- Holder = nil; Search = nil;
- Search = GUI.TextBox.New(UDim2.new(0,0,0,0),UDim2.new(1,0,0,Main.AbsoluteSize.Y),Main);
- Search.Visible = false;
- Search.ZIndex = 4
- Search.Changed:connect(function(p)
- if p == "Text" then
- CreateButton(Search.Text);
- end
- end)
- Holder = Instance.new("ScrollingFrame",Main);
- Holder.BackgroundColor3 = GUI.DropDown.Color.Main;
- Holder.BorderColor3 = GUI.DropDown.Color.Border;
- Holder.TopImage = GUI.DropDown.Gfx.Scroller;
- Holder.MidImage = GUI.DropDown.Gfx.Scroller;
- Holder.BottomImage = GUI.DropDown.Gfx.Scroller;
- Holder.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y * (GUI.DropDown.Settings.ScrollerAmount-1));
- Holder.Position = UDim2.new(0,0,0,Main.AbsoluteSize.Y)
- Holder.ScrollBarThickness = GUI.DropDown.Settings.ScrollBarThickness;
- Holder.Visible = false;
- Holder.ZIndex = 3;
- end
- end
- if #vValue == 1 and vSelected.Value ~= vValue[1] then
- vSelected.Value = vValue[1];
- elseif #vValue == 0 then
- vSelected.Value = "nil";
- warn("Table amount is nil.");
- end
- Main.Text = " "..tostring(vSelected.Value);
- --ClearHolder();
- end;
- local Debounce = false;
- CreateButton = function(searches)
- if Debounce == false then
- Debounce = true;
- ClearHolder()
- Holder.Visible = true;
- local Searched = 0;
- if #vValue > 0 then
- for i=1,#vValue do
- if (searches ~= nil and string.find(string.lower(vValue[i]), string.lower(searches)) and searches ~= "") then
- Searched = Searched + 1;
- end
- end
- for i=1,#vValue do
- 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
- local Select = Instance.new("TextButton", Holder);
- Select.BackgroundColor3 = GUI.DropDown.Color.Main;
- Select.BorderColor3 = GUI.DropDown.Color.Border;
- Select.BackgroundTransparency = 1;
- Select.BorderSizePixel = 0;
- Select.Position = Position;
- if #vValue <= (GUI.DropDown.Settings.ScrollerAmount) then
- Select.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y);
- else
- Select.Size = UDim2.new(1,-(GUI.DropDown.Settings.ScrollBarThickness),0,Main.AbsoluteSize.Y);
- end
- Select.Position = UDim2.new(0,0,0,(Main.AbsoluteSize.Y) * (#Holder:GetChildren() - 1))
- Select.TextColor3 = GUI.DropDown.Color.Text;
- Select.FontSize = Enum.FontSize.Size14;
- Select.TextStrokeTransparency = 0.5;
- Select.Font = Enum.Font.SourceSans;
- Select.Text = tostring(vValue[i]);
- Select.ZIndex = 3
- Select.MouseButton1Click:connect(function()
- vSelected.Value = vValue[i];
- ClearHolder();
- RefreshDropDown();
- end)
- if #vValue <= (GUI.DropDown.Settings.ScrollerAmount) then
- Holder.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y * i);
- elseif Holder:IsA("ScrollingFrame") then
- Search.Visible = true;
- if #Holder:GetChildren() >= 1 then
- Holder.CanvasSize = UDim2.new(1,0,0,Main.AbsoluteSize.Y * #Holder:GetChildren());
- Holder.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y * #Holder:GetChildren());--GUI.DropDown.Settings.ScrollerAmount);
- if #Holder:GetChildren() >= GUI.DropDown.Settings.ScrollerAmount then
- Holder.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y * GUI.DropDown.Settings.ScrollerAmount);
- Holder.CanvasSize = UDim2.new(1,0,0,Main.AbsoluteSize.Y * #Holder:GetChildren());
- end
- elseif #Holder:GetChildren() < 1 then
- Holder.CanvasSize = UDim2.new(1,0,0,Main.AbsoluteSize.Y * 1);
- Holder.Size = UDim2.new(1,0,0,Main.AbsoluteSize.Y * 1);
- end
- end
- end
- end
- end
- Debounce = false;
- end
- end;
- RefreshDropDown();
- Main.MouseButton1Click:connect(function()
- CreateButton()
- if #vValue >= GUI.DropDown.Settings.ScrollerAmount and Search ~= nil then
- Search:CaptureFocus();
- Search.Text = "";
- end
- end)
- topkek.lplr:GetMouse().Button1Down:connect(function()
- ClearHolder()
- end)
- return {
- Update = function()
- RefreshDropDown();
- end;
- GetValue = function()
- RefreshDropDown();
- return vValue;
- end;
- GetSelected = function()
- RefreshDropDown();
- return vSelected.Value;
- end;
- SetTable = function(F)
- vValue = F;
- RefreshDropDown();
- end;
- Changed = function(F)
- vSelected.Changed:connect(function()
- ypcall(function()
- F(vSelected.Value);
- end)
- end)
- return "ChangedEvent Hooked";
- end;
- AddValue = function(obj)
- local Type = type(obj);
- if Type == "table" then
- for i=1,#obj do
- table.insert(vValue, obj[i])
- end
- elseif Type == "string" or Type == "number" or Type == "boolean" then
- table.insert(vValue, obj)
- end
- RefreshDropDown();
- end;
- RemoveValue = function(obj)
- local Type = type(obj);
- if Type == "table" then
- for i=1,#vValue do
- for f=1,#obj do
- if tostring(obj[f]) == tostring(vValue[i]) then
- table.remove(vValue,i)
- end
- end
- end
- else
- for i=1,#vValue do
- if tostring(obj) == tostring(vValue[i]) then
- table.remove(vValue,i)
- end
- end
- end
- RefreshDropDown();
- end;
- ClearValue = function()
- vValue = {};
- RefreshDropDown();
- end;
- }
- end;
- };
- };
- --// util //--
- function topkek.tools.util.Object(o, p)
- local a, b = pcall(function()
- Instance.new(o)
- end)
- if not a then
- return
- end
- local obj = Instance.new(o)
- for prop, val in pairs(p) do
- pcall(function()
- obj[prop] = val
- end)
- end
- return obj
- end
- function topkek.tools.util.getContainer(n)
- if topkek.holder:FindFirstChild(n) then
- return topkek.holder[n]
- else
- print("menu not found; returning template")
- return topkek.holder['Template']
- end
- end
- function topkek.tools.util.play(id)
- local mu = Instance.new("Sound", game:GetService('Workspace'))
- mu.Volume = 1
- mu.Looped = true
- mu.Pitch = 1
- mu.SoundId = "rbxassetid://"..tostring(id)
- mu:Play()
- end
- function topkek.tools.util.getTorso(plr) --r15 compatibility lole
- if plr.Character then
- if plr.Character:FindFirstChild('UpperTorso') then
- return plr.Character.UpperTorso
- elseif plr.Character:FindFirstChild('Torso') then
- return plr.Character.Torso
- else
- return nil
- end
- end
- end
- function topkek.tools.util.recurseRemove(x,type_)
- local function recurse(x)
- for i, v in pairs(x:GetChildren()) do
- pcall(function()
- if v:IsA(type_) then
- v:Destroy()
- end
- if #(v:GetChildren())>0 then
- recurse(v)
- end
- end)
- end
- end
- recurse(x)
- end
- function topkek.tools.util.recurseFunc(type_,func)
- local function recurse(x)
- for i, v in pairs(x:GetChildren()) do
- pcall(function()
- if v:IsA(type_) then
- func(v)
- end
- if #(v:GetChildren())>0 then
- recurse(v)
- end
- end)
- end
- end
- recurse(game)
- end
- function topkek.tools.util.trowel()
- local T = Instance.new('Tool', game.Players.LocalPlayer.Backpack)
- T.Name = 'Custom Trowel'
- local p = Instance.new('Part')
- p.Name = 'Handle'
- p.Size = Vector3.new(1,4.4,1)
- p.Parent = T
- local specialMesh = Instance.new('SpecialMesh')
- specialMesh.MeshId = 'rbxasset://fonts/trowel.mesh'
- specialMesh.MeshType = 'FileMesh'
- specialMesh.TextureId = 'rbxasset://textures/TrowelTexture.png'
- specialMesh.Parent = T.Handle
- local sound = Instance.new'Sound'
- sound.Name = 'build'
- sound.SoundId = 'rbxasset://sounds//bass.wav'
- sound.Volume = 1
- sound.Parent = T.Handle
- local brickHeight = 100
- local trowelSpeed = 0.05
- local brickWidth = 500
- local mouseConnection
- function newBrick(CF, P, color)
- local brick = Instance.new('Part')
- brick.BrickColor = color
- brick.CFrame = CF * CFrame.new(P + brick.Size / 2)
- brick.Parent = game.Workspace
- brick:MakeJoints()
- brick.Material = 'Neon'
- brick.Name = 'DeleteMe'
- return brick, P + brick.Size
- end
- function genBrick(cFrame)
- local randBrickColor = BrickColor.Random()
- assert(brickWidth > 0)
- local yPos = 0
- while yPos < brickHeight do
- local vPos
- local X = -brickWidth / 2
- while X < brickWidth / 2 do
- local brick
- brick, vPos = newBrick(cFrame, Vector3.new(X, yPos, 0), randBrickColor)
- X = vPos.x
- wait(trowelSpeed)
- end
- yPos = vPos.y
- end
- end
- function calcPos(vec)
- if (math.abs(vec.x) > math.abs(vec.z)) then
- if vec.x > 0 then
- return Vector3.new(1, 0, 0)
- else
- return Vector3.new(-1, 0, 0)
- end
- else
- if (vec.z > 0) then
- return Vector3.new(0, 0, 1)
- else
- return Vector3.new(0, 0, -1)
- end
- end
- end
- T.Enabled = true
- T.Activated:connect(function()
- if T.Enabled and game.Players.LocalPlayer.Character:FindFirstChild('Humanoid') then
- T.Enabled = false
- T.Handle.build:Play()
- 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)))
- T.Enabled = true
- end
- end)
- T.Equipped:connect(function()
- mouseConnection = game.Players.LocalPlayer:GetMouse().KeyDown:connect(function(key)
- if (key == 'r') then
- for i,v in next, workspace:children'' do
- if (v.Name == 'DeleteMe') then
- v:Destroy()
- end
- end
- end
- end)
- end)
- T.Unequipped:connect(function()
- mouseConnection:disconnect()
- end)
- end
- function topkek.tools.util.recurseSet(type_,prop,val)
- local function recurse(x)
- for i, v in pairs(x:GetChildren()) do
- pcall(function()
- if v:IsA(type_) then
- v[prop]=val
- end
- if #(v:GetChildren())>0 then
- recurse(v)
- end
- end)
- end
- end
- recurse(game)
- end
- function topkek.tools.util.recurseUltimate(d)
- topkek.tools.util.recurseDecal(d)
- topkek.tools.util.recurseParticles(d)
- end
- function topkek.tools.util.recurseDecal(img)
- img = 'rbxassetid://' .. img
- local function skybox(x)
- local sky = Instance.new("Sky",game.Lighting)
- local fcs={"Bk","Dn","Ft","Lf","Rt","Up"}
- for i,v in pairs(fcs) do
- sky["Skybox"..v]=x
- end
- end
- local function decal(p, b)
- local sides = {"Back", "Bottom", "Front", "Left", "Right", "Top"}
- for i, v in pairs(sides) do
- local a = Instance.new("Decal", p)
- a.Texture = b
- a.Face = v
- end
- end
- local function recurse(x)
- for i, v in pairs(x:GetChildren()) do
- pcall(function() -- 'error occured, no output from Lua' LOLE
- if v:IsA("BasePart") then
- decal(v, img)
- end
- if #(v:GetChildren())>0 then
- recurse(v)
- end
- end)
- end
- end
- recurse(game)
- skybox(img)
- end
- function topkek.tools.util.recurseParticles(img)--topkek2.0 code tbh
- img = 'rbxassetid://' .. img
- local function skybox(x)
- local sky = Instance.new("Sky",game.Lighting)
- local fcs={"Bk","Dn","Ft","Lf","Rt","Up"}
- for i,v in pairs(fcs) do
- sky["Skybox"..v]=x
- end
- end
- local function particle(p, b)
- local a = Instance.new("ParticleEmitter", p)
- a.Rate = 500
- a.Lifetime = NumberRange.new(20, 30)
- a.VelocitySpread = 200
- a.Texture = b
- end
- local function recurse(x)
- for i, v in pairs(x:GetChildren()) do
- pcall(function() -- 'error occured, no output from Lua' LOLE
- if v:IsA("BasePart") then
- particle(v, img)
- end
- if #(v:GetChildren())>0 then
- recurse(v)
- end
- end)
- end
- end
- recurse(game)
- skybox(img)
- end
- function topkek.tools.util.recurseSetObj(obj,type_,prop,val)
- local function recurse(x)
- for i, v in pairs(x:GetChildren()) do
- pcall(function()
- if v:IsA(type_) then
- v[prop]=val
- end
- if #(v:GetChildren())>0 then
- recurse(v)
- end
- end)
- end
- end
- recurse(obj)
- end
- function topkek.tools.util.doPlayers(cval, func)
- local plrs = {}
- if cval == 'All' then
- plrs = game:GetService('Players'):GetPlayers()
- else
- plrs = {game:GetService('Players'):FindFirstChild(cval)}
- end
- for i, v in pairs(plrs) do
- func(v)
- end
- end
- function topkek.tools.util.scalePlayer(sc,plr)
- local pchar = plr.Character
- if pchar:FindFirstChild("UpperTorso") then
- warn("Player [" ..plr.Name.. "] is R15.")
- return
- end
- local function scale(chr,scl)
- for _,v in pairs(pchar:GetChildren()) do
- if v:IsA("Hat") then
- v:Clone()
- v.Parent = game.Lighting
- end
- end
- local Head = chr['Head']
- local Torso = chr['Torso']
- local LA = chr['Left Arm']
- local RA = chr['Right Arm']
- local LL = chr['Left Leg']
- local RL = chr['Right Leg']
- local HRP = chr['HumanoidRootPart']
- wait(0.1)
- Head.formFactor = 3
- Torso.formFactor = 3
- LA.formFactor = 3
- RA.formFactor = 3
- LL.formFactor = 3
- RL.formFactor = 3
- HRP.formFactor = 3
- Head.Size = Vector3.new(scl * 2, scl, scl)
- Torso.Size = Vector3.new(scl * 2, scl * 2, scl)
- LA.Size = Vector3.new(scl, scl * 2, scl)
- RA.Size = Vector3.new(scl, scl * 2, scl)
- LL.Size = Vector3.new(scl, scl * 2, scl)
- RL.Size = Vector3.new(scl, scl * 2, scl)
- HRP.Size = Vector3.new(scl * 2, scl * 2, scl)
- local Motor1 = Instance.new('Motor6D', Torso)
- Motor1.Part0 = Torso
- Motor1.Part1 = Head
- Motor1.C0 = CFrame.new(0, 1 * scl, 0) * CFrame.Angles(-1.6, 0, 3.1)
- Motor1.C1 = CFrame.new(0, -0.5 * scl, 0) * CFrame.Angles(-1.6, 0, 3.1)
- Motor1.Name = "Neck"
- local Motor2 = Instance.new('Motor6D', Torso)
- Motor2.Part0 = Torso
- Motor2.Part1 = LA
- Motor2.C0 = CFrame.new(-1 * scl, 0.5 * scl, 0) * CFrame.Angles(0, -1.6, 0)
- Motor2.C1 = CFrame.new(0.5 * scl, 0.5 * scl, 0) * CFrame.Angles(0, -1.6, 0)
- Motor2.Name = "Left Shoulder"
- local Motor3 = Instance.new('Motor6D', Torso)
- Motor3.Part0 = Torso
- Motor3.Part1 = RA
- Motor3.C0 = CFrame.new(1 * scl, 0.5 * scl, 0) * CFrame.Angles(0, 1.6, 0)
- Motor3.C1 = CFrame.new(-0.5 * scl, 0.5 * scl, 0) * CFrame.Angles(0, 1.6, 0)
- Motor3.Name = "Right Shoulder"
- local Motor4 = Instance.new('Motor6D', Torso)
- Motor4.Part0 = Torso
- Motor4.Part1 = LL
- Motor4.C0 = CFrame.new(-1 * scl, -1 * scl, 0) * CFrame.Angles(0, -1.6, 0)
- Motor4.C1 = CFrame.new(-0.5 * scl, 1 * scl, 0) * CFrame.Angles(0, -1.6, 0)
- Motor4.Name = "Left Hip"
- local Motor5 = Instance.new('Motor6D', Torso)
- Motor5.Part0 = Torso
- Motor5.Part1 = RL
- Motor5.C0 = CFrame.new(1 * scl, -1 * scl, 0) * CFrame.Angles(0, 1.6, 0)
- Motor5.C1 = CFrame.new(0.5 * scl, 1 * scl, 0) * CFrame.Angles(0, 1.6, 0)
- Motor5.Name = "Right Hip"
- local Motor6 = Instance.new('Motor6D', HRP)
- Motor6.Part0 = HRP
- Motor6.Part1 = Torso
- Motor6.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(-1.6, 0, -3.1)
- Motor6.C1 = CFrame.new(0, 0, 0) * CFrame.Angles(-1.6, 0, -3.1)
- end
- scale(pchar, sc)
- for _,v in pairs(game.Lighting:GetChildren()) do
- if v:IsA("Hat") then
- v.Parent = pchar
- end
- end
- end
- function topkek.tools.util.applyFace(id)
- local Char = topkek.lplr.Character
- if(Char)then
- local Type = id
- local Meme=id
- local BBG_SIZE=Char.Head.Size.X*1.25;
- local STUD_VECTOR_1=Char.Head.Size.Z/4;
- local STUD_VECTOR_2=Char.Head.Size.Z;
- local bbg=Char:FindFirstChild'BBGMEME'or Instance.new('BillboardGui',Char);
- bbg.StudsOffset=Vector3.new(0,STUD_VECTOR_1,STUD_VECTOR_2);
- bbg.Size=UDim2.new(BBG_SIZE,0,BBG_SIZE);
- bbg.Adornee=Char.Head;
- bbg.Name='BBGMEME';
- local img=bbg:FindFirstChild'Meme'or Instance.new('ImageLabel',bbg);
- img.BackgroundTransparency=1;
- img.Image="rbxassetid://"..Meme;
- img.Size=UDim2.new(1,0,1,0)
- img.Name='Meme';
- for i,v in next,Char:children()do
- if(v.className=='Hat')then
- v=v:FindFirstChild'Handle';
- if(v)then
- v.Transparency=0
- end;
- end;
- end;
- end;
- end;
- function topkek.tools.util.weenieHutJunior(plr)
- plr=plr.Character
- Shaft=Instance.new("Part", plr)
- Shaft.Name='Shaft'
- Shaft.Size=Vector3.new(1, 2.5, 1)
- Shaft.TopSurface=0
- Shaft.BottomSurface=0
- Shaft.CanCollide=true
- Cyln=Instance.new("CylinderMesh", Shaft)
- Cyln.Scale=Vector3.new(0.5,0.7,0.5)
- Instance.new("Weld", plr)
- plr.Weld.Part0=plr:FindFirstChild("Torso") or plr:FindFirstChild("LowerTorso")
- plr.Weld.Part1=plr.Shaft
- plr.Weld.C0=CFrame.new(0,-0.35,-0.9)*CFrame.fromEulerAnglesXYZ(2.2,0,0)
- Shaft.BrickColor=BrickColor.new("Pastel brown")
- Tip=Instance.new("Part", plr)
- Tip.Name='Tip'
- Tip.TopSurface=0
- Tip.BottomSurface=0
- Tip.Size=Vector3.new(1, 1, 1)
- Tip.CanCollide=true
- 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)
- Cyln2=Instance.new("SpecialMesh", Tip)
- Cyln2.MeshType='Sphere'
- Cyln2.Scale=Vector3.new(0.6,0.6,0.6)
- Instance.new("Weld", plr).Name='Weld2'
- plr.Weld2.Part0=plr.Shaft
- plr.Weld2.Part1=plr.Tip
- plr.Weld2.C0=CFrame.new(0,-.9,0)
- Tip.BrickColor=BrickColor.new("Pink")
- -----
- Ball1=Instance.new("Part", plr)
- Ball1.Name='Ball1'
- Ball1.Size=Vector3.new(1, 1, 1)
- Ball1.TopSurface=0
- Ball1.BottomSurface=0
- Cyln3=Instance.new("SpecialMesh", Ball1)
- Cyln3.MeshType='Sphere'
- Cyln3.Scale=Vector3.new(0.4,0.4,0.4)
- Instance.new("Weld", plr).Name='Weld3'
- plr.Weld3.Part0=plr.Shaft
- plr.Weld3.Part1=plr.Ball1
- plr.Weld3.C0=CFrame.new(0.225,.4,0.2)
- Ball1.BrickColor=BrickColor.new("Pastel brown")
- -----
- Ball2=Instance.new("Part", plr)
- Ball2.Name='Ball2'
- Ball2.Size=Vector3.new(1, 1, 1)
- Ball2.TopSurface=0
- Ball2.BottomSurface=0
- Cyln3=Instance.new("SpecialMesh", Ball2)
- Cyln3.MeshType='Sphere'
- Cyln3.Scale=Vector3.new(0.4,0.4,0.4)
- Instance.new("Weld", plr).Name='Weld4'
- plr.Weld4.Part0=plr.Shaft
- plr.Weld4.Part1=plr.Ball2
- plr.Weld4.C0=CFrame.new(-0.225,.4,0.2)
- Ball2.BrickColor=BrickColor.new("Pastel brown")
- end
- --// banmgr //--
- topkek.banmgr.isPrivate = false
- topkek.banmgr.whitelist = {}
- topkek.banmgr.bans = {}
- function topkek.banmgr.executeKick(z)
- local function doKick()
- if z.Character and z.Character:FindFirstChild('HumanoidRootPart') and z.Character:FindFirstChild('Torso') then
- z.Character.HumanoidRootPart.CFrame = CFrame.new(math.random(999000, 1001000), 1000000, 1000000)
- local SP = Instance.new('SkateboardPlatform', z.Character) SP.Position = z.Character.HumanoidRootPart.Position SP.Transparency = 1
- spawn(function()
- repeat wait()
- if z.Character and z.Character:FindFirstChild('HumanoidRootPart') then
- SP.Position = z.Character.HumanoidRootPart.Position
- end
- until not game:GetService('Players'):FindFirstChild(z.Name)
- end)
- z.Character.Torso.Anchored = true
- end
- end
- repeat
- doKick()
- wait()
- until not z
- end
- function topkek.banmgr.loadFromFile()
- -- todo: read file
- topkek.settings.get()
- topkek.banmgr.bans = topkek.settingsTable['Bans']
- end
- function topkek.banmgr.addHardBan(p)
- -- todo: write file
- table.insert(topkek.banmgr.bans, p.Name)
- topkek.settings.get()
- table.insert(topkek.settingsTable['Bans'], p.Name)
- topkek.settings.write()
- print("Hardbanned " .. p.Name)
- UpdateBanlist()
- topkek.banmgr.executeKick(p)
- topkek.banmgr.loadFromFile()
- end
- function topkek.banmgr.addSoftBan(p)
- table.insert(topkek.banmgr.bans, p.Name)
- topkek.banmgr.executeKick(p)
- end
- function topkek.banmgr.plrBanned(p)
- for x, m in pairs(topkek.banmgr.bans) do
- if m == p.Name then
- return true
- end
- end
- return false
- end
- function topkek.banmgr.doWhitelist(p)
- print(p .. " whitelisted")
- table.insert(topkek.banmgr.whitelist, p)
- end
- function topkek.banmgr.unwhitelist(p)
- for x, m in pairs(topkek.banmgr.whitelist) do
- if m == p then
- print(m .. " unwhitelisted")
- table.remove(topkek.banmgr.whitelist, x)
- if game:GetService('Players'):FindFirstChild(p) then
- topkek.banmgr.executeKick(game:GetService('Players')[p])
- end
- end
- end
- end
- function topkek.banmgr.plrWhitelisted(p)
- for x, m in pairs(topkek.banmgr.whitelist) do
- if m == p.Name then
- return true
- end
- end
- return false
- end
- function topkek.banmgr.makePrivate()
- topkek.banmgr.isPrivate = true
- for i, v in pairs(game:GetService('Players'):GetPlayers()) do
- if not topkek.banmgr.plrWhitelisted(v) and v ~= topkek.lplr then
- spawn(function()
- topkek.banmgr.executeKick(v)
- end)
- end
- end
- end
- function topkek.banmgr.unprivate()
- topkek.banmgr.isPrivate = false
- end
- function topkek.banmgr.init()
- topkek.banmgr.loadFromFile()
- game:GetService('Players').PlayerAdded:connect(function(p)
- if topkek.banmgr.plrBanned(p) or (topkek.banmgr.isPrivate and not topkek.banmgr.plrWhitelisted(p)) then
- print("Player " .. p.Name .. " is banned (or private on)! Kicking now.")
- topkek.banmgr.executeKick(p)
- end
- end)
- end
- --// settings //--
- topkek.settings = {}
- topkek.settingsTable = {}
- function topkek.settings.write()
- writefile("testplzignore.lua", "", game:GetService('HttpService'):JSONEncode(topkek.settingsTable))
- end
- function topkek.settings.get()
- if game.Players.LocalPlayer.Character then
- print("No settings! Making new ...")
- topkek.settingsTable = {
- ['Bans'] = {
- },
- ['Themes'] = {
- {Primary = {0,0,0}, Secondary = {0,0,0}, Tertiary = {0,0,0}}
- };
- }
- topkek.settings.write()
- return topkek.settingsTable
- else
- local lset = game:GetService('HttpService'):JSONDecode(set)
- topkek.settingsTable = lset
- return lset
- end
- end
- --// shortcuts //--
- tk = {}
- tk.ob = topkek.tools.util.Object
- tk.dp = topkek.tools.util.doPlayers
- tk.rcm = topkek.tools.util.recurseRemove
- tk.rcs = topkek.tools.util.recurseSet
- tk.rcf = topkek.tools.util.recurseFunc
- tk.rco = topkek.tools.util.recurseSetObj
- tk.play = topkek.tools.util.play
- tk.gt = topkek.tools.util.getTorso
- --// gui //--
- -- copying this from topkek3.0 because i'm
- -- too lazy to rewrite my lib
- topkek.tools.gui.seperation = 12
- function topkek.tools.gui:addLeftIcon(parent, img, sz)
- topkek.tools.util.Object('ImageLabel', {
- Parent = parent;
- BackgroundTransparency = 1;
- Position = UDim2.new(0, 2, 0, 2);
- Size = UDim2.new(0, sz, 0, sz);
- Image = img;
- })
- end
- function topkek.tools.gui:makeContainer(n)
- local temp = topkek.template:Clone()
- temp.Name = n
- temp.Parent = topkek.holder
- temp.Container.Visible = false
- end
- function topkek.tools.gui:hookContainer(o, ncan, sepr, stt)
- if not o:IsA("ScrollingFrame") and (not ncan) then
- return nil
- elseif o:IsA("ScrollingFrame") then
- o.CanvasSize = UDim2.new(0, 0, 0, 0)
- end
- local self = {}
- self.main = o
- self.drawX = 0
- self.drawY = stt or topkek.tools.gui.seperation/2
- self.drawHeight = 0
- self.sepr = sepr or topkek.tools.gui.seperation
- function self:drawButton(sz, txt, func, ysz, cbgd)
- local xposOffset = 0
- local xposScale = self.drawX
- local xszOffset = 0
- local xszScale = sz
- if not (self.drawX == 0) then
- xszOffset = -5
- if sz + self.drawX > 0.998 then
- xszOffset = -10
- end
- elseif sz == 1 then
- local bzz = 4
- if ncan then
- bzz = 0
- end
- xszOffset = -(self.sepr) - bzz
- xposOffset = self.sepr/2
- else
- xszOffset = -4 + -(self.sepr/2)
- xposOffset = self.sepr/2
- end
- if not ysz then ysz = 20 end
- local obj = topkek.tools.util.Object("TextButton", {
- Parent = self.main;
- BackgroundColor3 = cbgd or Color3.new(163/255, 57/255, 57/255);
- BorderSizePixel = 0;
- Position = UDim2.new(xposScale, xposOffset, 0, self.drawY);
- Size = UDim2.new(xszScale, xszOffset, 0, ysz);
- Font = 'SourceSans';
- FontSize = 'Size14';
- Text = txt;
- TextSize = 14;
- TextColor3 = Color3.new(199/255, 199/255, 199/255);
- })
- obj.MouseButton1Down:connect(function()
- spawn(func)
- end)
- if ysz > self.drawHeight then
- self.drawHeight = ysz
- end
- self.drawX = self.drawX + sz
- if self.drawX > 0.998 then
- self.drawY = self.drawY + 3 + self.drawHeight
- self.drawX = 0
- self.drawHeight = 0
- if (not ncan) then
- self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
- end
- end
- return obj
- end
- function self:GetChildren()
- return self.main:GetChildren()
- end
- function self:getDrawY()
- return self.drawY
- end
- function self:setDrawY(y)
- self.drawY = y
- end
- function self:drawTextBox(sz, txt, ysz, cbgd)
- local xposOffset = 0
- local xposScale = self.drawX
- local xszOffset = 0
- local xszScale = sz
- if not (self.drawX == 0) then
- xszOffset = -5
- if sz + self.drawX > 0.998 then
- xszOffset = -10
- end
- elseif sz == 1 then
- xszOffset = -(self.sepr) - 5
- xposOffset = self.sepr/2
- else
- xszOffset = -4 + -(self.sepr/2)
- xposOffset = self.sepr/2
- end
- if not ysz then ysz = 20 end
- local obj = topkek.tools.util.Object("TextBox", {
- Parent = self.main;
- BackgroundColor3 = cbgd or color3(153, 52, 52);
- BorderSizePixel = 0;
- Position = UDim2.new(xposScale, xposOffset, 0, self.drawY);
- Size = UDim2.new(xszScale, xszOffset, 0, ysz);
- Font = 'SourceSans';
- FontSize = 'Size14';
- Text = txt;
- TextSize = 14;
- TextColor3 = Color3.new(199/255, 199/255, 199/255);
- })
- if ysz > self.drawHeight then
- self.drawHeight = ysz
- end
- self.drawX = self.drawX + sz
- if self.drawX > 0.998 then
- self.drawY = self.drawY + 3 + self.drawHeight
- self.drawX = 0
- self.drawHeight = 0
- self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
- end
- return obj
- end
- function self:drawImage(sz, img, ysz)
- local xposOffset = 0
- local xposScale = self.drawX
- local xszOffset = 0
- local xszScale = sz
- if not (self.drawX == 0) then
- xszOffset = -5
- if sz + self.drawX > 0.998 then
- xszOffset = -12
- end
- elseif sz == 1 then
- xszOffset = -(self.sepr) - 5
- xposOffset = self.sepr/2
- else
- xszOffset = -5 + -(self.sepr/2)
- xposOffset = self.sepr/2
- end
- if not ysz then ysz = 20 end
- local obj = topkek.tools.util.Object("ImageLabel", {
- Parent = self.main;
- BackgroundTransparency = 1;
- BorderColor3 = Color3.new(27, 42, 53);
- BorderSizePixel = 0;
- Position = UDim2.new(xposScale, xposOffset, 0, self.drawY);
- Size = UDim2.new(xszScale, xszOffset, 0, ysz);
- Image = img;
- })
- if ysz > self.drawHeight then
- self.drawHeight = ysz
- end
- self.drawX = self.drawX + sz
- if self.drawX > 0.998 then
- self.drawY = self.drawY + 3 + self.drawHeight
- self.drawX = 0
- self.drawHeight = 0
- if (not ncan) then
- self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
- end
- end
- return obj
- end
- function self:drawText(sz, txt, ysz)
- local xposOffset = 0
- local xposScale = self.drawX
- local xszOffset = 0
- local xszScale = sz
- if not (self.drawX == 0) then
- xszOffset = -5
- if sz + self.drawX > 0.998 then
- xszOffset = -10
- end
- elseif sz == 1 then
- local bzz = 5
- if ncan then
- bzz = 0
- end
- xszOffset = -(self.sepr) - bzz
- xposOffset = self.sepr/2
- else
- xszOffset = -4 + -(self.sepr/2)
- xposOffset = self.sepr/2
- end
- if not ysz then ysz = 20 end
- local obj = topkek.tools.util.Object("TextLabel", {
- Parent = self.main;
- BackgroundColor3 = Color3.new(148/255, 51/255, 51/255);
- BorderSizePixel = 0;
- Position = UDim2.new(xposScale, xposOffset, 0, self.drawY);
- Size = UDim2.new(xszScale, xszOffset, 0, ysz);
- Font = 'SourceSans';
- FontSize = 'Size14';
- Text = txt;
- TextSize = 14;
- TextColor3 = Color3.new(199/255, 199/255, 199/255);
- })
- if ysz > self.drawHeight then
- self.drawHeight = ysz
- end
- self.drawX = self.drawX + sz
- if self.drawX > 0.998 then
- self.drawY = self.drawY + 3 + self.drawHeight
- self.drawX = 0
- self.drawHeight = 0
- if (not ncan) then
- self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
- end
- end
- return obj
- end
- function self:drawScrollingContainer(ysz)
- local sz = UDim2.new(1, -(self.sepr/2) - 11, 0, ysz)
- local pos = UDim2.new(0, self.sepr/2, 0, self.drawY)
- local obj = topkek.tools.util.Object("ScrollingFrame", {
- Parent = self.main;
- BackgroundColor3 = color3(117, 42, 42);
- BorderSizePixel = 0;
- Position = pos;
- Size = sz;
- BottomImage = 'rbxassetid://368504177';
- MidImage = 'rbxassetid://368504177';
- TopImage = 'rbxassetid://368504177';
- ScrollBarThickness = 5;
- })
- self.drawY = self.drawY + 5 + ysz
- self.drawX = 0
- self.drawHeight = 0
- if (not ncan) then
- self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
- end
- return topkek.tools.gui:hookContainer(obj, false, 10, 3)
- end
- function self:drawContainer(xsz, ysz, xz, tz, sep)
- local sz = UDim2.new(xsz, -(self.sepr/2) - 11, 0, ysz)
- local pos = UDim2.new(tz or 0, self.sepr/2, 0, self.drawY)
- local obj = topkek.tools.util.Object("Frame", {
- Parent = self.main;
- BackgroundColor3 = color3(117, 42, 42);
- BorderSizePixel = 0;
- Position = pos;
- Size = sz;
- })
- if not xz then
- self.drawY = self.drawY + 5 + ysz
- end
- self.drawX = 0
- self.drawHeight = 0
- if (not ncan) then
- self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5)
- end
- return topkek.tools.gui:hookContainer(obj, sep or 12, 5)
- end
- function self:addSpacing()
- self.drawY = self.drawY + 3
- end
- function self:center()
- local a,c,b=
- self.main.Position.X.Scale,
- self.main.Position.X.Offset,self.main.Size.Y.Offset
- self.main.Position=UDim2.new(a,c+2, 0.5, -(b/2))
- end
- return self
- end
- --//anim//--
- topkek.tools.animator.animateTo = function(source, dest)
- -- holder2holder:
- -- invis holder
- -- clone holder; vis
- -- move holder to right
- -- vis dest container
- -- tween clone holder left
- -- tween dest holder right
- print("nav",source,dest)
- topkek.holder.Visible = false
- local hclone = topkek.holder:Clone()
- hclone.Parent = topkek.center
- hclone.Name = 'animclone'
- hclone.Visible = true
- topkek.holder.Position = UDim2.new(-1, 0, 0, 30)
- source.Visible = false
- dest.Visible = true
- dest.Container.Visible = true
- dest.Container.ZIndex = 1
- dest.ZIndex = 1
- topkek.holder.Visible = true
- topkek.holder:TweenPosition(UDim2.new(0, 150, 0, 30), "Out", "Quad", 0.3)
- hclone:TweenPosition(UDim2.new(1, 0, 0, 30), "Out", "Quad", 0.3)
- wait(0.3)
- end
- topkek.tools.animator.initialAnimation = function()
- -- initanim:
- -- join both composites
- -- delete composites; vis solid
- -- tween solid to nav topbar
- -- copy topbar plrname; move outside region
- -- tween in clone topbar
- -- delete clone and solid; vis topbar
- -- tween down topbar
- -- tween holder out
- local function abspos(x)
- return UDim2.new(0, x.AbsolutePosition.X, 0, x.AbsolutePosition.Y)
- end
- local function abssz(x)
- return UDim2.new(0, x.AbsoluteSize.X, 0, x.AbsoluteSize.Y)
- end
- local holder = topkek.holder
- local nav = topkek.navigator
- local topnav = nav.Topbar
- local topbar = topkek.topbar
- local pname = topbar.PlayerName:Clone()
- local solid = topkek.gui.Solid
- topkek.center.Size = UDim2.new(0, 150, 0, 30)
- topkek.gui.Composite1:TweenPosition(UDim2.new(0.5, -50, 0.5, -50), 'Out', 'Quad', 0.5)
- topkek.gui.Composite2:TweenPosition(UDim2.new(0.5, 0, 0.5, -50), 'Out', 'Quad', 0.5)
- wait(0.52)
- solid.Visible = true
- topkek.gui.Composite1:Destroy()
- topkek.gui.Composite2:Destroy()
- wait(3)
- solid.Label:TweenPosition(UDim2.new(0, 0, 1.5, 0), 'Out', 'Quad', 0.5)
- solid:TweenSizeAndPosition(abssz(topnav), abspos(topnav), 'Out', 'Linear', 0.6)
- wait(0.52)
- solid.Label:Destroy()
- wait(0.12)
- topkek.center.Visible = true
- topnav.Visible = true
- solid:Destroy()
- pname.Position = UDim2.new(0, -170, 0, 0)
- pname.Parent = topnav
- pname.Visible = true
- pname:TweenPosition(UDim2.new(0, 10, 0, 0), 'Out', 'Quad', 0.2)
- wait(0.25)
- topkek.center:TweenSize(UDim2.new(0, 150, 0, 395), 'Out', 'Quad', 0.3)
- spawn(topkek.navigation.buildNavigator)
- wait(0.35)
- topkek.center:TweenSize(UDim2.new(0, 470, 0, 395), 'In', 'Quad', 0.3)
- wait(0.35)
- topbar.PlayerName.Visible = true
- pname:Destroy()
- AllowHovers = true
- end
- --//nav//--
- topkek.navigation.currentContainer = topkek.tools.util.getContainer('Home')
- topkek.navigation.windowState = 0
- topkek.navigation.gotoContainer = function(cont)
- topkek.tools.animator.animateTo(topkek.navigation.currentContainer, cont)
- topkek.navigation.currentContainer = cont
- end
- topkek.navigation.buildNavigator = function()
- local nav = topkek.navigator
- local hook = topkek.tools.gui:hookContainer(nav.Scroll, false)
- local btns = {}
- for l, x in pairs(topkek.data.windows) do
- local container = topkek.tools.util.getContainer(x)
- local btn = hook:drawButton(1, x, function() topkek.navigation.gotoContainer(container) end, 25)
- local ZPos = btn.Position
- btn.Position = btn.Position - UDim2.new(0, 0, 0, 5)
- btn:TweenPosition(ZPos, 'Out', 'Bounce', 0.2)
- btn.LayoutOrder = l
- btn.ZIndex = 4
- local OPos = btn.Position
- btn.MouseEnter:connect(function()
- if AllowHovers == false then
- return
- end
- for i, v in pairs(btns) do
- if v[1] ~= btn then
- v[1]:TweenPosition(v[2], 'Out', 'Quad', 0.1)
- end
- end
- btn:TweenPosition(OPos + UDim2.new(0, 3, 0, 0), 'Out', 'Quad', 0.1)
- end)
- btn.MouseLeave:connect(function()
- btn:TweenPosition(OPos, 'Out', 'Quad', 0.1)
- end)
- table.insert(btns, {btn, OPos})
- wait()
- end
- end
- topkek.navigation.buildTopbar = function()
- local top = topkek.topbar
- local FELabel = top.Controllers.IsFE
- top.PlayerName.Text = topkek.lplr.Name
- if game:GetService('Workspace').FilteringEnabled == true then
- FELabel.Text = "FE Game"
- FELabel.TextColor3 = BrickColor.new("Bright red").Color
- else
- FELabel.Text = "Not FE"
- FELabel.TextColor3 = BrickColor.new("Bright green").Color
- end
- top.Controllers.Hide.MouseButton1Down:connect(function()
- if topkek.navigation.windowState == 0 then
- topkek.navigation.windowState = 1
- topkek.center:TweenSize(UDim2.new(0, 470, 0, 30), 'Out', 'Quint', 0.2)
- else
- topkek.navigation.windowState = 0
- topkek.center:TweenSize(UDim2.new(0, 470, 0, 395), 'Out', 'Quint', 0.2)
- end
- end)
- top.Controllers.Exit.MouseButton1Down:connect(function()
- topkek.center:TweenSize(UDim2.new(0, 470, 0, 30), 'Out', 'Quint', 0.3)
- wait(0.31)
- topkek.center:TweenSize(UDim2.new(0, 0, 0, 0), 'Out', 'Quint', 0.3)
- PlayerChatHook:disconnect()
- end)
- end
- topkek.navigation.initCommandBar = function()
- DistributedCmdBar, cmd = topkek.holder.Command, {}
- loadstring(game:GetObjects("rbxassetid://685510751")[1].Source)()
- DistributedCmdBar.FocusLost:connect(function(e)
- if e == true then
- cmd.commands.run(DistributedCmdBar.Text)
- DistributedCmdBar.Text = ''
- end
- end)
- PlayerChatHook = cmd.players.PlayerChatted:connect(function (_, plr, msg, _)
- if cmd.util.isadmin(plr.Name) then
- if msg:sub(1,1) == cmd.prefix or msg:sub(1,1) == cmd.hidden then
- cmd.commands.run(msg:sub(2, #msg))
- end
- end
- end)
- end
- topkek.navigation.buildHomePage = function()
- local count = 0
- for _, _ in pairs(cmd.commands.store) do count = count + 1 end
- local hook = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Home').Container, true)
- hook:drawText(1, 'T0PK3K 4.0 ProtoSmasher Edition edited by bork')
- hook:drawText(1, 'Patch version 1.0.5')
- hook:drawText(1, 'Commandbase patch version 1.0.0')
- hook:drawText(1, 'Number of commands: ' .. tostring(count))
- local stime = hook:drawText(1, 'Server Time: 0')
- spawn(function()
- while true do
- stime.Text = 'Server Time: ' .. tostring(game:GetService('Workspace').DistributedGameTime)
- wait(0.5)
- end
- end)
- local ssz = hook:drawText(1, 'Server Size: 0')
- spawn(function()
- while true do
- ssz.Text = 'Server Size: ' .. tostring(game:GetService('Players').NumPlayers)
- wait(0.5)
- end
- end)
- local fe = game:GetService('Workspace').FilteringEnabled
- hook:drawText(1, 'FilteringEnabled: ' .. (fe and "YES" or "NO"))
- hook:drawText(1, 'PlaceId: ' .. tostring(game.PlaceId))
- hook:drawText(1, 'same', 55)
- end
- topkek.navigation.buildContainers = function()
- for _, v in pairs(topkek.data.windows) do
- topkek.tools.gui:makeContainer(v)
- end
- end
- topkek.navigation.initCommandBar()
- topkek.navigation.buildContainers()
- topkek.navigation.buildTopbar()
- topkek.navigation.buildHomePage()
- wait()
- --// actual code below lole //--
- --// PLAYERS //--
- local plrwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Players').Container)
- local search = plrwin:drawButton(1, '', function()end)
- drop = GUI.DropDown.New(UDim2.new(0, 0, 0, 0), UDim2.new(1, 0, 1, 0), search, {'All'})
- function fixPlayerDrop()
- local t = {'All'}
- for i, v in pairs(game.Players:GetPlayers()) do
- table.insert(t, v.Name)
- end
- drop.SetTable(t)
- end
- game.Players.PlayerAdded:connect(function()
- fixPlayerDrop()
- end)
- game.Players.PlayerRemoving:connect(function()
- fixPlayerDrop()
- end)
- plrFrame = plrwin:drawContainer(1, 100)
- headshotContainer = plrFrame:drawContainer(0.4, 94, true)
- headshotContainer:setDrawY(20)
- headshot = headshotContainer:drawImage(1, "https://www.roblox.com/bust-thumbnail/image?userId=1&width=420&height=420&format=png", 74)
- headshotContainer:setDrawY(0)
- userNameText = headshotContainer:drawText(1, "[All]")
- userNameText.ClipsDescendants = true
- userNameText.Font = Enum.Font.SourceSansBold
- infoContainer = plrFrame:drawContainer(0.5, 94, true, 0.5)
- infoContainer.BackgroundColor3 = color3(108, 38, 38)
- userIdText = infoContainer:drawText(1, "ID: 0")
- userAgeText = infoContainer:drawText(1, "Age: 0")
- userTeamText = infoContainer:drawText(1, "Team: Neutral")
- cval = 'All'
- fixPlayerDrop()
- function updatePlayer(plri)
- local plr = game:GetService('Players'):FindFirstChild(plri)
- if not plr and plri ~= 'All' then
- print("Couldn't find player!")
- updatePlayer(topkek.lplr)
- else
- headshot.Image = "https://www.roblox.com/bust-thumbnail/image?userId=1&width=420&height=420&format=png"
- userNameText.Text = "[All]"
- userIdText.Text = 'ID: [multiple]'
- userAgeText.Text = 'Age: [multiple]'
- userTeamText.Text = 'Team: [multiple]'
- cval = 'All'
- end
- local team = plr.TeamColor
- if team == nil then
- team = 'Neutral'
- else
- team = tostring(team)
- end
- headshot.Image = "https://www.roblox.com/bust-thumbnail/image?userId=" .. tostring(plr.UserId) .. "&width=420&height=420&format=png"
- userNameText.Text = plr.Name
- userIdText.Text = 'ID: ' .. tostring(plr.UserId)
- userAgeText.Text = 'Age: ' .. tostring(plr.AccountAge)
- userTeamText.Text = 'Team: ' .. team
- cval = plr.Name
- end
- drop.Changed(updatePlayer)
- --actual code ------__-
- plrwin:addSpacing()
- plrwin:drawButton(1/2, 'Kick', function()
- tk.dp(cval, function(p)
- topkek.banmgr.executeKick(p)
- end)
- end)
- plrwin:drawButton(1/2, 'Ban', function()
- tk.dp(cval, function(p)
- topkek.banmgr.addSoftBan(p)
- end)
- end)
- plrwin:drawButton(1/2,'Friendlag', function()
- tk.dp(cval, function(p)
- for i = 1, 10 do
- spawn(function()
- while wait() do
- game.Players.LocalPlayer:RequestFriendship(p)
- game.Players.LocalPlayer:RevokeFriendship(p)
- end
- end)
- end
- end)
- end)
- plrwin:drawButton(1/2, 'Hardban', function()
- tk.dp(cval, function(p)
- topkek.banmgr.addHardBan(p)
- end)
- end)
- plrwin:addSpacing()
- plrwin:drawButton(1/2, 'Bring', function()
- tk.dp(cval, function(z)
- if z.Character then
- z.Character.HumanoidRootPart.CFrame =
- game:service'Players'.LocalPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(1,1,1)
- end
- end)
- end)
- plrwin:drawButton(1/2, 'Goto', function()
- tk.dp(cval, function(z)
- game:service'Players'.LocalPlayer.Character.HumanoidRootPart.CFrame =
- z.Character.HumanoidRootPart.CFrame * CFrame.new(1,1,1)
- end)
- end)
- plrwin:addSpacing()
- plrwin:drawButton(1/3, 'Kill', function()
- tk.dp(cval, function(p)
- if p.Character and p.Character:FindFirstChild("Humanoid") then
- p.Character.Humanoid.Health = 0
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Seizure', function()
- tk.dp(cval, function(p)
- if p.Character and p.Character:FindFirstChild("Humanoid") and tk.gt(p) then
- spawn(function()
- p.Character.Humanoid.PlatformStand = true
- tk.gt(p).CFrame = tk.gt(p).CFrame * CFrame.Angles(math.rad(90),0,0)
- repeat
- wait()
- p.Character.Humanoid.PlatformStand = true
- tk.gt(p).Velocity = Vector3.new(math.random(-10,10),-5,math.random(-10,10))
- tk.gt(p).RotVelocity = Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
- until not p.Character:FindFirstChild("Humanoid") or not tk.gt(p)
- end)
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Stun', function()
- tk.dp(cval, function(p)
- if p.Character and p.Character:FindFirstChild("Humanoid") then
- p.Character.Humanoid.PlatformStand = true
- p.Character.Torso.CFrame = p.Character.Torso.CFrame * CFrame.Angles(math.rad(90),0,0)
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Freeze', function()
- tk.dp(cval, function(p)
- if p.Character then
- tk.gt(p).Anchored = true
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Thaw', function()
- tk.dp(cval, function(p)
- if p.Character then
- tk.gt(p).Anchored = false
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Superslow', function()
- tk.dp(cval, function(p)
- if p.Character and p.Character:FindFirstChild('Humanoid') then
- p.Character.Humanoid.WalkSpeed = 1
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Highjump', function()
- tk.dp(cval, function(p)
- if p.Character and p.Character:FindFirstChild('Humanoid') then
- p.Character.Humanoid.JumpPower = 125
- end
- end)
- end)
- plrwin:drawButton(1/3, 'God', function()
- tk.dp(cval, function(p)
- if p.Character and p.Character:FindFirstChild('Humanoid') then
- p.Character.Humanoid.MaxHealth = math.huge
- p.Character.Humanoid.Health = math.huge
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Semigod', function()
- tk.dp(cval, function(p)
- if p.Character and p.Character:FindFirstChild('Humanoid') then
- p.Character.Humanoid.MaxHealth = 9e9
- p.Character.Humanoid.Health = 9e9
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Fast', function()
- tk.dp(cval, function(p)
- if p.Character and p.Character:FindFirstChild('Humanoid') then
- p.Character.Humanoid.WalkSpeed = 50
- end
- end)
- end)
- Follow = false;
- plrwin:drawButton(1/3, 'Annoy', function()
- tk.dp(cval, function(p)
- if p.Character and p.Character:FindFirstChild('Humanoid') then
- if Follow == true then
- Follow = false; return
- else Follow = true end
- while Follow == true do
- game:service'Players'.LocalPlayer.Character.HumanoidRootPart.CFrame=
- p.Character.HumanoidRootPart.CFrame
- wait()
- end
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Freefall', function()
- tk.dp(cval, function(p)
- if p.Character and p.Character:FindFirstChild('Humanoid') then
- p.Character.HumanoidRootPart.CFrame = p.Character.HumanoidRootPart.CFrame * CFrame.new(0, 10000, 0)
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Destroy', function()
- tk.dp(cval, function(p)
- if p.Character and p.Character:FindFirstChild('Humanoid') then
- p.Character.Humanoid:Destroy()
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Fix', function()
- tk.dp(cval, function(p)
- if p.Character and p.Character:FindFirstChild('Humanoid') then
- p.Character.Humanoid.Health = 100
- p.Character.Humanoid.MaxHealth = 100
- p.Character.Humanoid.JumpPower = 100
- p.Character.Humanoid.WalkSpeed = 16
- p.Character.Humanoid.PlatformStand = false
- p.Character.Humanoid.Jump = true
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Respawn', function()
- tk.dp(cval, function(p)
- if p.Character then
- local a1 = Instance.new("Model", game:service'Workspace')
- local a2 = Instance.new("Part", game:service'Workspace')
- a2.CanCollide = true
- a2.Anchored = true
- a2.CFrame = CFrame.new(10000, 10000, 10000)
- a2.Name = "Torso"
- local a3 = Instance.new("Humanoid", a1)
- a3.MaxHealth=100;a3.Health=100
- p.Character = a1
- a3.Health=0
- end
- end)
- end)
- plrwin:addSpacing()
- local nameInp
- plrwin:drawButton(1/3, 'Name', function()
- tk.dp(cval, function(z)
- local Character = z.Character
- local newName = Instance.new("Model", z.Character)
- newName.Name = nameInp.Text
- local cl = Character:WaitForChild("Head"):Clone()
- cl.Parent = newName
- cl:WaitForChild("face"):Destroy()
- local hum = Instance.new("Humanoid", newName)
- hum.Name = "NameTag"
- hum.MaxHealth = 0
- hum.Health = 0
- local weld = Instance.new("Weld", cl)
- weld.Part0 = cl
- weld.Part1 = Character:WaitForChild("Head")
- Character:WaitForChild("Head").Transparency = 1
- wait(.5)
- cl.BrickColor = Character:WaitForChild("Head").BrickColor
- end)
- end)
- nameInp = plrwin:drawTextBox(2/3, '')
- local chatInp
- plrwin:drawButton(1/3, 'Chat', function()
- tk.dp(cval, function(z)
- game:GetService('Chat'):Chat(z.Charcter, chatInp.Text)
- end)
- end)
- chatInp = plrwin:drawTextBox(2/3, '')
- local disgInp
- plrwin:drawButton(1/3, 'Disguise', function()
- tk.dp(cval, function(p)
- local id = 0
- if tonumber(disgInp.Text) then
- id = tonumber(disgInp.Text)
- else
- id = game:GetService('Players'):GetUserIdFromNameAsync(disgInp.Text)
- end
- if p.Character:FindFirstChild("Humanoid") then
- p.Character.Humanoid.Health = 0
- end
- p.CharacterAppearance = 'https://assetgame.roblox.com/Asset/CharacterFetch.ashx?userId=' .. tostring(id)
- end)
- end)
- disgInp = plrwin:drawTextBox(2/3, 'ROBLOX')
- plrwin:addSpacing()
- clrR = plrwin:drawTextBox(1/3, '0')
- clrG = plrwin:drawTextBox(1/3, '0')
- clrB = plrwin:drawTextBox(1/3, '0')
- function getColor()
- local r = tonumber(clrR.Text)
- local g = tonumber(clrG.Text)
- local b = tonumber(clrB.Text)
- if not (r and g and b) then return Color3.new(0,0,0) end
- return Color3.new(r/255, g/255, b/255)
- end
- plrwin:drawButton(1/3, 'Sparkles', function()
- tk.dp(cval, function(z)
- Instance.new("Sparkles", tk.gt(z)).SparkleColor = getColor()
- end)
- end)
- plrwin:drawButton(1/3, 'Smoke', function()
- tk.dp(cval, function(z)
- Instance.new("Smoke", tk.gt(z)).Color = getColor()
- end)
- end)
- plrwin:drawButton(1/3, 'Fire', function()
- tk.dp(cval, function(z)
- local fr = Instance.new("Fire", tk.gt(z))
- fr.Color = getColor()
- fr.Heat = 30
- fr.Size = 20
- end)
- end)
- plrwin:drawButton(1/3, 'Forcefield', function()
- tk.dp(cval, function(z)
- if z.Character then
- Instance.new("ForceField", z.Character)
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Select', function()
- tk.dp(cval, function(z)
- if z.Character and tk.gt(z) then
- Instance.new("SelectionBox", tk.gt(z)).Adornee = tk.gt(z)
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Sphere', function()
- tk.dp(cval, function(z)
- if z.Character and tk.gt(z) then
- Instance.new("SelectionSphere", tk.gt(z)).Adornee = tk.gt(z)
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Fling', function()
- tk.dp(cval, function(z)
- spawn(function() --kohls admin commands lol
- if z.Character and tk.gt(z) then
- local xran, zran
- repeat xran = math.random(5555, 9999) until math.abs(xran) >= 5555
- repeat zran = math.random(5555, 9999) until math.abs(zran) >= 5555
- z.Character.Humanoid.Sit = true
- tk.gt(z).Velocity = Vector3.new(0,0,0)
- local frc = Instance.new("BodyForce", tk.gt(z))
- frc.Name = "BFRC"
- frc.force = Vector3.new(xran*4,9999*5,zran*4)
- game:GetService("Debris"):AddItem(frc, 0.1)
- end
- end)
- end)
- end)
- plrwin:drawButton(1/3, 'Explode', function()
- tk.dp(cval, function(z)
- if z.Character and tk.gt(z) then
- local explosion = Instance.new("Explosion")
- explosion.Position = tk.gt(z).Position
- explosion.Parent = workspace
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Nuke', function()
- tk.dp(cval, function(z)
- if z.Character and tk.gt(z) then
- local torso = tk.gt(z)
- local nuke = Instance.new("Part", game.Workspace)
- local opos = torso.CFrame
- nuke.BrickColor = BrickColor.new("Bright yellow")
- nuke.TopSurface = Enum.SurfaceType.Smooth
- nuke.BottomSurface = Enum.SurfaceType.Smooth
- nuke.Anchored = true
- nuke.CanCollide = false
- nuke.Shape = "Ball"
- nuke.Transparency = 0.5
- nuke.CFrame = torso.CFrame
- nuke.Size = Vector3.new(1, 1, 1)
- nuke.Touched:connect(function(p)
- local expl = Instance.new("Explosion", p)
- expl.BlastPressure = 50000
- expl.BlastRadius = 50
- expl.Position = p.Position
- p.Material = Enum.Material.CorrodedMetal
- p:BreakJoints()
- end)
- for i = 1, 150 do
- nuke.Size = Vector3.new(i, i, i)
- nuke.CFrame = opos
- wait(0.08)
- end
- nuke:Destroy()
- end
- end)
- end)
- plrwin:drawButton(1/3, 'No Tools', function()
- tk.dp(cval, function(p)
- for _, t in pairs(p.Backpack:GetChildren()) do
- t:Destroy()
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Take Tools', function()
- tk.dp(cval, function(p)
- for _, t in pairs(p.Backpack:GetChildren()) do
- t.Parent = game:service'Players'.LocalPlayer.Backpack
- end
- end)
- end)
- plrwin:drawButton(1/3, 'BTools', function()
- tk.dp(cval, function(p)
- local a = Instance.new("HopperBin")
- a.BinType = "GameTool"
- a.Parent = p.Backpack
- local a = Instance.new("HopperBin")
- a.BinType = "Clone"
- a.Parent = p.Backpack
- local a = Instance.new("HopperBin")
- a.BinType = "Hammer"
- a.Parent = p.Backpack
- end)
- end)
- plrwin:drawButton(1/3, 'Hotdog', function()
- tk.dp(cval, function(p)
- if p.Character and tk.gt(p) then
- topkek.tools.util.weenieHutJunior(p)
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Quicksand', function()
- tk.dp(cval, function(z)
- if z.Character and z.Character:FindFirstChild("Humanoid") then
- local tor = tk.gt(z)
- local hole = Instance.new("Part", z.Character)
- hole.Anchored = true
- hole.Name = "Hole"
- hole.FormFactor = Enum.FormFactor.Custom
- hole.Size = Vector3.new(7, 1, 7)
- hole.CanCollide = false
- hole.CFrame = tor.CFrame * CFrame.new(0,-3.3,0)
- hole.BrickColor = BrickColor.new("Cool yellow")
- hole.Material = Enum.Material.Sand
- local hm = Instance.new("CylinderMesh", hole)
- tor.Anchored = true
- if z.Character:FindFirstChild("Humanoid") then
- z.Character.Humanoid.Jump = true
- end
- for x,m in pairs(z.Character:GetChildren()) do
- if m:IsA("BasePart") or m:IsA("MeshPart") then
- m.CanCollide = false
- end
- end
- for i=1,75 do
- tor.CFrame=tor.CFrame*CFrame.new(0,-0.1,0)
- wait(0.06)
- end
- tor.CFrame=tor.CFrame*CFrame.new(0,
- -500,0
- )
- z.Character.Humanoid.Health = 0
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Insane', function()
- tk.dp(cval, function(p)
- if p.Character and tk.gt(p) then
- for i,v in pairs(tk.gt(p):GetChildren()) do
- if v:IsA("Motor6D") then
- spawn(function()
- while v do
- v.C0=v.C0*CFrame.Angles(math.random(-180,180),math.random(-180,180),math.random(-180,180))
- wait()
- end
- end)
- end
- end
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Invisible', function()
- tk.dp(cval, function(p)
- tk.rco(p.Character, 'BasePart', 'Transparency', 1)
- tk.rco(p.Character, 'MeshPart', 'Transparency', 1)
- end)
- end)
- plrwin:drawButton(1/3, 'Visible', function()
- tk.dp(cval, function(p)
- tk.rco(p.Character, 'BasePart', 'Transparency', 0)
- tk.rco(p.Character, 'MeshPart', 'Transparency', 0)
- end)
- end)
- plrwin:drawButton(1/3, 'Bighead', function()
- tk.dp(cval, function(z)
- if z.Character then
- if z.Character:FindFirstChild('Head') then
- z.Character.Head.Mesh.Scale=Vector3.new(5,5,5)
- end
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Goldify', function()
- tk.dp(cval, function(z)
- if z.Character then
- tk.rco(z.Character, 'BasePart', 'Material', 'Marble')
- tk.rco(z.Character, 'MeshPart', 'Material', 'Marble')
- tk.rco(z.Character, 'BasePart', 'BrickColor', BrickColor.new('Bright yellow'))
- tk.rco(z.Character, 'MeshPart', 'BrickColor', BrickColor.new('Bright yellow'))
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Neon', function()
- tk.dp(cval, function(z)
- if z.Character then
- tk.rco(z.Character, 'BasePart', 'Material', 'Neon')
- tk.rco(z.Character, 'MeshPart', 'Material', 'Neon')
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Shiny', function()
- tk.dp(cval, function(z)
- if z.Character then
- tk.rco(z.Character, 'BasePart', 'Reflectance', 1)
- tk.rcm(z.Character, 'MeshPart')
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Shrek', function()
- tk.dp(cval, function(z)
- if z.Character then
- local pchar = z.Character
- for i,v in pairs(pchar:GetChildren()) do
- if v:IsA("Hat") or v:IsA("Accessory") or v:IsA("CharacterMesh") or v:IsA("Shirt") or v:IsA("Pants") then
- v:Destroy()
- end
- end
- for i,v in pairs(pchar.Head:GetChildren()) do
- if v:IsA("Decal") or v:IsA("SpecialMesh") then
- v:Destroy()
- end
- end
- local mesh = Instance.new("SpecialMesh", pchar.Head)
- mesh.MeshType = "FileMesh"
- pchar.Head.Mesh.MeshId = "http://www.roblox.com/asset/?id=19999257"
- pchar.Head.Mesh.Offset = Vector3.new(-0.1, 0.1, 0)
- pchar.Head.Mesh.TextureId = "http://www.roblox.com/asset/?id=156397869"
- local Shirt = Instance.new("Shirt", z.Character)
- local Pants = Instance.new("Pants", z.Character)
- Shirt.ShirtTemplate = "rbxassetid://133078194"
- Pants.PantsTemplate = "rbxassetid://133078204"
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Duck', function()
- tk.dp(cval, function(z)
- if z.Character then
- local pchar = z.Character
- for i,v in pairs(pchar:GetChildren()) do
- if v:IsA("Hat") or v:IsA("Accessory") then
- v:Destroy()
- end
- end
- local duck = Instance.new("SpecialMesh", z.Character.HumanoidRootPart)
- duck.MeshType = "FileMesh"
- duck.MeshId = "http://www.roblox.com/asset/?id=9419831"
- duck.TextureId = "http://www.roblox.com/asset/?id=9419827"
- duck.Scale = Vector3.new(5, 5, 5)
- tk.rco(z.Character, 'Instance', 'Transparency', 1)
- z.Character.HumanoidRootPart.Transparency = 0
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Spheres', function()
- tk.dp(cval, function(z)
- if z.Character then
- tk.rco(z.Character, 'BasePart', 'Shape', 'Cylinder')
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Big', function()
- tk.dp(cval, function(z)
- if z.Character then
- topkek.tools.util.scalePlayer(5, z)
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Small', function()
- tk.dp(cval, function(z)
- if z.Character then
- topkek.tools.util.scalePlayer(5, z)
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Giraffe', function()
- tk.dp(cval, function(z)
- if z.Character then
- local char=z.Character
- local h=char.Head
- local tor=char:FindFirstChild("Torso")
- if not tor then return end
- tor.Neck.C0=tor.Neck.C0*CFrame.new(0,0,5)
- local fn=Instance.new("Part",char)
- fn.Size=Vector3.new(1,5.5,1)
- fn.Name="FakeNeck"
- fn.Anchored=false
- fn.CanCollide=false
- if char:FindFirstChild("Body Colors") then
- fn.BrickColor=char["Body Colors"].HeadColor
- end
- local cm=Instance.new("CylinderMesh",fn)
- local we=Instance.new("Weld",h)
- we.Part0=h
- we.Part1=fn
- we.C1=we.C1*CFrame.new(0,2.6,0)
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Dab', function()
- tk.dp(cval, function(z)
- if z.Character and z.Character:FindFirstChild("Torso") then
- local chr = z.Character
- chr.Animate.Disabled = true
- 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)
- 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)
- 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)
- end
- end)
- end)
- plrwin:drawButton(1/3, 'Force Follow', function()
- tk.dp(cval, function(z)
- game:GetService("RunService"):BindToRenderStep("_", 0, function()
- z.Character.Humanoid:MoveTo(topkek.lplr.Character.Head.Position)
- end)
- end)
- end)
- plrwin:drawButton(1/3, 'Camlock', function()
- tk.dp(cval, function(z)
- z.CameraMode = "LockFirstPerson"
- end)
- end)
- --// SERVER //--
- local servwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Server').Container)
- local detailWin = servwin:drawContainer(1, 100, nil, nil, 18)
- detailWin:drawText(1, 'Job ID: ' .. (game.JobId and (game.JobId ~= "") or "???"))
- detailWin:drawText(1, 'Game Name: ' .. game:service'MarketplaceService':GetProductInfo(game.PlaceId).Name)
- detailWin:drawText(1, 'Creator Name: ' .. game:GetService('Players'):GetNameFromUserIdAsync(game.CreatorId))
- detailWin:drawText(1, 'Genre: ' .. tostring(game.Genre))
- servwin:drawButton(1/2, 'Shutdown', function()
- workspace.Gravity = 0/0
- end)
- servwin:drawButton(1/2, 'Clear', function()
- for i,v in pairs(game:service'Workspace':GetChildren()) do
- if (not v:IsA("Terrain"))and(v.Name~="Camera") then
- v:Destroy()
- end
- end
- end)
- servwin:drawButton(1/2, 'Baseplate', function()
- for X = -2500, 2500, 512 do
- for Z = -2500, 2500, 512 do
- local P = Instance.new("Part")
- P.Anchored = true
- P.Locked = true
- P.Size = Vector3.new(512,3,512)
- P.CFrame = CFrame.new(X,0,Z)
- P.BrickColor = BrickColor.Green()
- P.Parent = game:service'Workspace'
- end
- end
- end)
- servwin:drawButton(1/2, 'Reset', function()
- for i,v in pairs(game:service'Workspace':GetChildren()) do
- if (not v:IsA("Terrain"))and(v.Name~="Camera") then
- v:Destroy()
- end
- end
- for X = -2500, 2500, 512 do
- for Z = -2500, 2500, 512 do
- local P = Instance.new("Part")
- P.Anchored = true
- P.Locked = true
- P.Size = Vector3.new(512,3,512)
- P.CFrame = CFrame.new(X,0,Z)
- P.BrickColor = BrickColor.Green()
- P.Parent = game:service'Workspace'
- end
- end
- for i, v in pairs(game:GetService('Players'):GetPlayers()) do
- local a1 = Instance.new("Model", game:service'Workspace')
- local a2 = Instance.new("Part", game:service'Workspace')
- a2.CanCollide = true
- a2.Anchored = true
- a2.CFrame = CFrame.new(10000, 10000, 10000)
- a2.Name = "Torso"
- local a3 = Instance.new("Humanoid", a1)
- a3.MaxHealth=100;a3.Health=100
- v.Character = a1
- a3.Health=0
- end
- end)
- servwin:drawButton(1, 'Remove Sounds', function()
- tk.rcm(game, 'Sound')
- end)
- servwin:addSpacing()
- servwin:drawButton(1, 'Break All', function()
- workspace:BreakJoints(workspace:GetChildren())
- end)
- local gravInp
- servwin:drawButton(1/3, 'Gravity', function()
- if not tonumber(gravInp.Text) then return end
- workspace.Gravity = tonumber(gravInp.Text)
- end)
- gravInp = servwin:drawTextBox(2/3, '')
- servwin:addSpacing()
- servwin:drawButton(1, 'Reset Lighting', function()
- local l = game:service'Lighting'
- l.Ambient = Color3.new(0, 0, 0)
- l.Brightness = 1
- l.GlobalShadows = true
- l.Outlines = true
- l.FogEnd = 100000
- l.FogStart = 0
- l:SetMinutesAfterMidnight(12*60)
- end)
- local brightInp
- servwin:drawButton(1/3, 'Brightness', function()
- if not tonumber(brightInp.Text) then return end
- game:GetService('Lighting').Brightness = tonumber(brightInp.Text)
- end)
- brightInp = servwin:drawTextBox(2/3, '100')
- local fogInp
- servwin:drawButton(1/3, 'Fog', function()
- if not tonumber(fogInp.Text) then return end
- game:GetService('Lighting').FogEnd = tonumber(fogInp.Text)
- end)
- fogInp = servwin:drawTextBox(2/3, '0')
- local timeInp
- servwin:drawButton(1/3, 'Hour', function()
- if not tonumber(timeInp.Text) then return end
- game:GetService('Lighting'):SetMinutesAfterMidnight(60*tonumber(timeInp.Text))
- end)
- timeInp = servwin:drawTextBox(2/3, '12')
- servwin:addSpacing()
- -- private server crap
- local privateToggle
- local privStatus = false
- privateToggle = servwin:drawButton(1, 'Private Server OFF', function()
- if privStatus == false then
- privStatus = true
- privateToggle.Text = 'Private Server ON'
- topkek.banmgr.makePrivate()
- else
- privateToggle.Text = 'Private Server OFF'
- topkek.banmgr.unprivate()
- end
- end)
- servwin:addSpacing()
- servwin:drawText(1, 'Whitelist')
- local plrAddInp
- servwin:drawButton(1/3, 'Add', function()
- topkek.banmgr.doWhitelist(plrAddInp.Text)
- ReorderWL()
- end)
- plrAddInp = servwin:drawTextBox(2/3, '')
- wlCont = servwin:drawScrollingContainer(100)
- function ReorderWL()
- local wl = topkek.banmgr.whitelist
- for i,v in pairs(wlCont:GetChildren()) do
- v:Destroy()
- end
- wlCont:setDrawY(3)
- for i,v in pairs(wl) do
- wlCont:drawText(2/3, v)
- wlCont:drawButton(1/3, 'Remove', function()
- topkek.banmgr.unwhitelist(v)
- ReorderWL()
- end)
- end
- end
- ReorderWL()
- --// LOCALPLAYER //--
- local lpwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('LocalPlayer').Container)
- lpwin:drawButton(1, 'Reset Camera', function()
- game.Workspace.CurrentCamera:remove()
- wait(.1)
- game.Workspace.CurrentCamera.CameraSubject = topkek.lplr.Character.Humanoid or
- game.Workspace[topkek.lplr.Name].Humanoid
- game.Workspace.CurrentCamera.CameraType = "Custom"
- end)
- lpwin:drawButton(1, 'Respawn', function()
- local a1 = Instance.new("Model", game:service'Workspace')
- local a2 = Instance.new("Part", game:service'Workspace')
- a2.CanCollide = true
- a2.Anchored = true
- a2.CFrame = CFrame.new(10000, 10000, 10000)
- a2.Name = "Torso"
- local a3 = Instance.new("Humanoid", a1)
- a3.MaxHealth=100;a3.Health=100
- topkek.lplr.Character = a1
- a3.Health=0
- end)
- lpwin:drawButton(1, 'Rejoin', function()
- game:GetService('TeleportService'):Teleport(game.PlaceId)
- end)
- lpwin:addSpacing()
- lpwin:drawButton(1/2, 'God', function()
- if topkek.lplr.Character:FindFirstChild("Humanoid") then
- topkek.lplr.Character.Humanoid.MaxHealth = math.huge
- topkek.lplr.Character.Humanoid.Health = math.huge
- end
- end)
- lpwin:drawButton(1/2, 'Semigod', function()
- if topkek.lplr.Character:FindFirstChild("Humanoid") then
- topkek.lplr.Character.Humanoid.MaxHealth = 9e9
- topkek.lplr.Character.Humanoid.Health = 9e9
- end
- end)
- Loopgod = false
- lpwin:drawButton(1, 'Loopgod', function()
- if Loopgod == false then
- Loopgod = true
- spawn(function()
- repeat
- topkek.lplr.Character.Humanoid.MaxHealth = math.huge
- topkek.lplr.Character.Humanoid.Health = math.huge
- wait()
- until Loopgod == false
- end)
- else
- Loopgod = false
- end
- end)
- lpwin:addSpacing()
- plrwin:addSpacing()
- local Lev, Clip, Fly
- lpwin:drawButton(1/2, 'Levitate', function()
- if Lev == true then
- Lev = false
- return
- end
- Lev = true
- repeat
- topkek.lplr.Character.Humanoid:ChangeState(10)
- wait(0)
- until Lev == false
- end)
- lpwin:drawButton(1/2, 'Noclip', function()
- if Clip == true then
- Clip = false
- return
- end
- Clip = true
- game:GetService("RunService").Stepped:connect(function()
- tk.gt(topkek.lplr).CanCollide = not Clip
- topkek.lplr.Character.Head.CanCollide = not Clip
- topkek.lplr.Character.HumanoidRootPart.CanCollide = not Clip
- if topkek.lplr.Character.UpperTorso then
- topkek.lplr.Character.LowerTorso.CanCollide = not Clip
- end
- end)
- topkek.lplr.Character.HumanoidRootPart.Changed:connect(function()
- tk.gt(topkek.lplr).CanCollide = not Clip
- topkek.lplr.Character.Head.CanCollide = not Clip
- topkek.lplr.Character.HumanoidRootPart.CanCollide = not Clip
- if topkek.lplr.Character.UpperTorso then
- topkek.lplr.Character.LowerTorso.CanCollide = not Clip
- end
- end)
- end)
- lpwin:drawButton(1/2, 'Fly', function()
- if Fly == true then
- Fly = false
- return
- end
- Fly = true
- local mouse=game.Players.LocalPlayer:GetMouse''
- localplayer=game.Players.LocalPlayer
- game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart")
- local torso = game.Players.LocalPlayer.Character.HumanoidRootPart
- local speed=0
- local keys={a=false,d=false,w=false,s=false}
- local e1
- local e2
- local function start()
- local pos = Instance.new("BodyPosition",torso)
- local gyro = Instance.new("BodyGyro",torso)
- pos.Name="EPIXPOS"
- pos.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- pos.position = torso.Position
- gyro.maxTorque = Vector3.new(9e9, 9e9, 9e9)
- gyro.cframe = torso.CFrame
- repeat
- wait()
- localplayer.Character.Humanoid.PlatformStand=true
- local new=gyro.cframe - gyro.cframe.p + pos.position
- if not keys.w and not keys.s and not keys.a and not keys.d then
- speed=1
- end
- if keys.w then
- new = new + workspace.CurrentCamera.CoordinateFrame.lookVector * speed
- speed=speed+0.01
- end
- if keys.s then
- new = new - workspace.CurrentCamera.CoordinateFrame.lookVector * speed
- speed=speed+0.01
- end
- if keys.d then
- new = new * CFrame.new(speed,0,0)
- speed=speed+0.01
- end
- if keys.a then
- new = new * CFrame.new(-speed,0,0)
- speed=speed+0.01
- end
- if speed>5 then
- speed=5
- end
- pos.position=new.p
- if keys.w then
- gyro.cframe = workspace.CurrentCamera.CoordinateFrame*CFrame.Angles(-math.rad(speed*15),0,0)
- elseif keys.s then
- gyro.cframe = workspace.CurrentCamera.CoordinateFrame*CFrame.Angles(math.rad(speed*15),0,0)
- else
- gyro.cframe = workspace.CurrentCamera.CoordinateFrame
- end
- until not Fly
- if gyro then gyro:Destroy() end
- if pos then pos:Destroy() end
- flying=false
- localplayer.Character.Humanoid.PlatformStand=false
- speed=0
- end
- e1=mouse.KeyDown:connect(function(key)
- if not torso or not torso.Parent then flying=false e1:disconnect() e2:disconnect() return end
- if key=="w" then
- keys.w=true
- elseif key=="s" then
- keys.s=true
- elseif key=="a" then
- keys.a=true
- elseif key=="d" then
- keys.d=true
- end
- end)
- e2=mouse.KeyUp:connect(function(key)
- if key=="w" then
- keys.w=false
- elseif key=="s" then
- keys.s=false
- elseif key=="a" then
- keys.a=false
- elseif key=="d" then
- keys.d=false
- end
- end)
- start()
- end)
- lpwin:drawButton(1/2, 'Highjump', function()
- local thrust = Instance.new("BodyVelocity")
- game:GetService('UserInputService').InputBegan:connect(function(i, b)
- if i.KeyCode == Enum.KeyCode.Space then
- print("Got jump")
- coroutine.resume(coroutine.create(function()
- thrust.Parent = game.Players.LocalPlayer.Character.PrimaryPart
- thrust.velocity = Vector3.new(0,50,0)
- thrust.maxForce = Vector3.new(0,4e+050,0)
- wait(0.2)
- thrust.Parent = nil
- end))
- end
- end)
- end)
- lpwin:addSpacing()
- local apprInp
- lpwin:drawButton(1/3, 'Appearance', function()
- local id = 0
- if tonumber(apprInp.Text) then
- id = tonumber(apprInp.Text)
- else
- id = game:GetService('Players'):GetUserIdFromNameAsync(apprInp.Text)
- end
- if topkek.lplr.Character:FindFirstChild("Humanoid") then
- topkek.lplr.Character.Humanoid.Health = 0
- end
- topkek.lplr.CharacterAppearance = 'https://assetgame.roblox.com/Asset/CharacterFetch.ashx?userId=' .. tostring(id)
- end)
- apprInp = lpwin:drawTextBox(2/3, 'ROBLOX')
- local teamInp
- lpwin:drawButton(1/3, 'Team', function()
- topkek.lplr.TeamColor = BrickColor.new(teamInp.Text)
- end)
- teamInp = lpwin:drawTextBox(2/3, 'Bright red')
- lpwin:drawButton(1/2, 'Naked', function()
- topkek.lplr:ClearCharacterAppearance()
- end)
- lpwin:drawButton(1/2, 'Neutral', function()
- topkek.lplr.Neutral = true
- end)
- lpwin:addSpacing()
- lpwin:drawButton(1/2, 'Orb', function()
- game.Players.LocalPlayer.Character = nil
- --lp:Destroy()
- local cam = game.Workspace.CurrentCamera
- local m = Instance.new("Model", game.Workspace)
- m.Name = game.Players.LocalPlayer.Name
- local hum = Instance.new("Humanoid", m)
- hum.Health = 0
- hum.MaxHealth = 0
- local orb = Instance.new("Part", m)
- orb.Size = Vector3.new(1, 1, 1)
- orb.Shape = "Ball"
- orb.Name = "Head"
- orb.Anchored = true
- orb.CanCollide = true
- orb.BottomSurface = Enum.SurfaceType.Smooth
- orb.TopSurface = Enum.SurfaceType.Smooth
- orb.Transparency = 0
- spawn(function()
- while true do
- wait(0.1)
- if orb then
- orb.BrickColor = BrickColor.Random()
- else break end
- end
- end)
- cam.CameraSubject = orb
- cam.CameraType = Enum.CameraType.Fixed
- game:GetService("RunService").RenderStepped:connect(function()
- orb.CFrame = cam.CoordinateFrame * CFrame.new(0, -2, -6)
- end)
- game.Players.LocalPlayer.Chatted:connect(function(a)
- game:GetService("Chat"):Chat(orb, a)
- end)
- end)
- lpwin:drawButton(1/2, 'Freecam', function()
- local cam = game.Workspace.CurrentCamera
- cam.CameraType = "Fixed"
- cam.CameraSubject = nil
- topkek.lplr.Character = nil
- end)
- lpwin:drawButton(1/2, 'NoGrav', function()
- if topkek.lplr.Character then
- for x,m in pairs(topkek.lplr.Character:GetChildren()) do
- if m:IsA("BasePart") then
- local bf = Instance.new("BodyForce", m)
- bf.force = Vector3.new(0, 192.25, 0) * m:GetMass()
- end
- if m:IsA("Hat") or m:IsA("Accessory") then
- if m:findFirstChild("Handle") then
- local bf = Instance.new("BodyForce", m.Handle)
- bf.force = Vector3.new(0, 192.25, 0) * m.Handle:GetMass()
- end
- end
- end
- end
- end)
- lpwin:drawButton(1/2, 'Trowel', function()
- topkek.tools.util.trowel()
- end)
- lpwin:addSpacing()
- lpwin:drawButton(1/2, 'Fedora', function()
- local hats={
- 98346834,
- 215751161,
- 119916949,
- 72082328,
- 147180077,
- 100929604,
- 63043890,
- 1285307,
- 1029025,
- 334663683,
- 259423244
- }
- game:GetObjects("rbxassetid://" .. tostring(hats[math.random(1,#hats)]))[1].Parent = topkek.lplr.Character
- end)
- lpwin:drawButton(1/2, 'Rainbow Name', function()
- topkek.lplr.Neutral = false
- repeat
- wait()
- topkek.lplr.TeamColor = BrickColor.Random()
- until not topkek.lplr.Character.Humanoid
- end)
- local tagInp
- lpwin:drawButton(1/3, 'Tag', function()
- local len = 10
- local bb = Instance.new("BillboardGui")
- bb.Parent = topkek.lplr.Character.Head
- bb.Adornee = topkek.lplr.Character.Head
- bb.AlwaysOnTop = true
- bb.Enabled = true
- bb.Size = UDim2.new(len, 0, 1.5, 0)
- bb.Name = "tag"
- bb.StudsOffset = Vector3.new(0, 3, 0)
- --local fr = Instance.new("Frame")
- --fr.Parent = bb
- --fr.Size = UDim2.new(1, 0, 1, 0)
- --fr.Style = Enum.FrameStyle.RobloxRound
- local tl = Instance.new("TextLabel")
- tl.Parent = bb
- tl.Font = Enum.Font.Code
- tl.BackgroundTransparency = 1
- tl.TextScaled = true
- tl.TextColor3 = Color3.new(15/255, 15/255, 15/255)
- tl.Size = UDim2.new(1, 0, 1, 0)
- tl.Text = tagInp.Text
- tl.Name = "trutag"
- tl.Visible = true
- tl.ZIndex = 2
- end)
- tagInp = lpwin:drawTextBox(2/3, '')
- --// SCRIPTS //--
- local scriptwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Scripts').Container)
- local search = scriptwin:drawTextBox(1,'')
- local origy = scriptwin:getDrawY()
- scriptwin:addSpacing()
- scriptwin:addSpacing()
- local scripts = game:GetObjects("rbxassetid://376553985")[1]
- local container = {}
- function MakeList(condition)
- for i,v in pairs(scriptwin:GetChildren()) do
- if v.Name == "Script" then
- v:Destroy()
- end
- end
- scriptwin:setDrawY(origy)
- for i, v in pairs(scripts:GetChildren()) do
- if string.find(v.Name:lower(), condition:lower()) or (condition == "") or (condition == " ") then
- local scr = scriptwin:drawButton(1, v.Name, function()
- spawn(function() loadstring(v.Source)() end)
- end, 25)
- scr.Name = 'Script'
- end
- end
- end
- game:GetService("UserInputService").InputChanged:connect(function(inp)
- if inp.UserInputType == Enum.UserInputType.TextInput then
- if search:IsFocused() then
- MakeList(search.Text)
- end
- end
- end)
- MakeList('')
- --// DESTRUCTION // --
- local destwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Destruction').Container)
- local decals, seldec = destwin:drawScrollingContainer(100)
- seldec = destwin:drawText(1, 'Selected Decal: None')
- cursel = nil
- local decs = {
- {'Rain', '574772793'},
- {'Robbie', '574773630'},
- {'Pepe', '244905904'},
- {'Troll Face', '48308661'},
- {'Jeff', '109129888'},
- {'Shrek', '170539018'},
- {'Doge', '133720697'},
- {'Dat Boi', '409578848'},
- }
- for _, v in pairs(decs) do
- local b = decals:drawButton(1, v[1], function()seldec.Text="Selected Decal: " ..v[2] cursel=v[2] end,20)
- topkek.tools.gui:addLeftIcon(b,'rbxassetid://'..v[2],20)
- end
- destwin:drawButton(1, 'Spam Decal', function()
- if cursel ~= nil then
- topkek.tools.util.recurseDecal(tonumber(cursel))
- end
- end)
- destwin:drawButton(1, 'Spam Particles', function()
- if cursel ~= nil then
- topkek.tools.util.recurseParticles(tonumber(cursel))
- end
- end)
- destwin:drawButton(1, 'Spam Both', function()
- if cursel ~= nil then
- topkek.tools.util.recurseUltimate(tonumber(cursel))
- end
- end)
- destwin:drawButton(1, 'Rollback', function()
- tk.rcm(workspace, 'Decal')
- tk.rcm(workspace, 'ParticleEmitter')
- end)
- destwin:addSpacing()
- destwin:drawButton(1, '666', function()
- for i,v in next,workspace:children''do
- if(v:IsA'BasePart')then
- me=v;
- bbg=Instance.new('BillboardGui',me);
- bbg.Name='stuf';
- bbg.Adornee=me;
- bbg.Size=UDim2.new(2.5,0,2.5,0)
- --bbg.StudsOffset=Vector3.new(0,2,0)
- tlb=Instance.new'TextLabel';
- tlb.Text='666 666 666 666 666 666';
- tlb.Font='SourceSansBold';
- tlb.FontSize='Size48';
- tlb.TextColor3=Color3.new(1,0,0);
- tlb.Size=UDim2.new(1.25,0,1.25,0);
- tlb.Position=UDim2.new(-0.125,-22,-1.1,0);
- tlb.BackgroundTransparency=1;
- tlb.Parent=bbg;
- end;end;
- --coroutine.wrap(function()while wait''do
- s=Instance.new'Sound';
- s.Parent=workspace;
- s.SoundId='rbxassetid://152840862';
- s.Pitch=1;
- s.Volume=1;
- s.Looped=true;
- s:play();
- --end;end)();
- function xds(dd)
- for i,v in next,dd:children''do
- if(v:IsA'BasePart')then
- v.BrickColor=BrickColor.new'Really black';
- v.TopSurface='Smooth';
- v.BottomSurface='Smooth';
- s=Instance.new('SelectionBox',v);
- s.Adornee=v;
- s.Color=BrickColor.new'Really red';
- a=Instance.new('PointLight',v);
- a.Color=Color3.new(1,0,0);
- a.Range=15;
- a.Brightness=5;
- f=Instance.new('Fire',v);
- f.Size=19;
- f.Heat=22;
- end;
- game.Lighting.TimeOfDay=0;
- game.Lighting.Brightness=0;
- game.Lighting.ShadowColor=Color3.new(0,0,0);
- game.Lighting.Ambient=Color3.new(1,0,0);
- game.Lighting.FogEnd=200;
- game.Lighting.FogColor=Color3.new(0,0,0);
- local dec = 'http://www.roblox.com/asset/?id=19399245';
- local fac = {'Front', 'Back', 'Left', 'Right', 'Top', 'Bottom'}
- --coroutine.wrap(function()
- --for _,__ in pairs(fac) do
- --local ddec = Instance.new("Decal", v)
- --ddec.Face = __
- --ddec.Texture = dec
- --end end)()
- if #(v:GetChildren())>0 then
- xds(v)
- end
- end
- end
- xds(game.Workspace)
- end)
- destwin:drawButton(1, 'Troll', function()
- topkek.tools.util.recurseUltimate('48308661')
- tk.play(154664102)
- end)
- destwin:addSpacing()
- destwin:drawButton(1/2,'Colorize',function() -- when u skid off variable XDDDDDpranked
- local materiallist =
- {Enum.Material.Plastic,Enum.Material.Wood,Enum.Material.Slate,Enum.Material.Concrete,Enum.Material.CorrodedMetal,
- Enum.Material.DiamondPlate,Enum.Material.Foil,Enum.Material.Grass,
- Enum.Material.Ice,Enum.Material.Marble,Enum.Material.Granite,Enum.Material.Brick,
- Enum.Material.Pebble,Enum.Material.Sand,Enum.Material.Sand,
- Enum.Material.Fabric,Enum.Material.SmoothPlastic,Enum.Material.Metal,Enum.Material.WoodPlanks,Enum.Material.Neon,Enum.Material.Cobblestone}
- local function r(where)
- for _,v in pairs (where:GetChildren()) do
- if v:IsA("BasePart") then
- spawn(function() while wait(0.1) do v.Material = materiallist[math.random(#materiallist)] wait() end end) end r(v) end end r(workspace)
- end)
- destwin:drawButton(1/2,'Materialize',function()
- local function r(where)
- for _,v in pairs (where:GetChildren()) do
- if v:IsA("BasePart") then
- spawn(function() while wait(0.1) do v.Transparency = math.random(0,1) wait() end end) end r(v) end end r(workspace)
- end)
- destwin:drawButton(1/2,'Meshify',function()
- local enums={
- Enum.MeshType.Head;
- Enum.MeshType.Torso;
- Enum.MeshType.Wedge;
- Enum.MeshType.Brick;
- Enum.MeshType.Sphere;
- Enum.MeshType.Cylinder;
- }
- tk.rcf('BasePart',function(o)
- local mesh = Instance.new('SpecialMesh', o)
- mesh.MeshType = enums[math.random(1,#enums)]
- end)
- end)
- destwin:drawButton(1/2,'Loop-Meshify',function()
- coroutine.wrap(function()
- while true do
- local enums={
- Enum.MeshType.Head;
- Enum.MeshType.Torso;
- Enum.MeshType.Wedge;
- Enum.MeshType.Brick;
- Enum.MeshType.Sphere;
- Enum.MeshType.Cylinder;
- }
- tk.rcf('BasePart',function(o)
- if o:FindFirstChild("Mesh") then o.Mesh:Destroy() end
- local mesh = Instance.new('SpecialMesh', o)
- mesh.MeshType = enums[math.random(1,#enums)]
- end)
- wait(0.5)
- end
- end)()
- end)
- destwin:addSpacing()
- destwin:drawButton(1, 'Rotations', function()
- tk.rcf('BasePart', function(o)
- o.Rotation = Vector3.new(math.random(0,180),math.random(0,180),math.random(0,180))
- end)
- end)
- destwin:drawButton(1, 'Collisions', function()
- tk.rcf('BasePart', function(o)
- o.CanCollide = false
- end)
- end)
- destwin:drawButton(1, 'Velocity', function()
- tk.rcf('BasePart', function(o)
- o.Velocity = Vector3.new(math.random(0,180),math.random(0,180),math.random(0,180))
- end)
- end)
- destwin:drawButton(1, 'Invisiblity', function()
- tk.rcf('BasePart', function(o)
- o.Transparency = 1
- end)
- end)
- destwin:drawButton(1, 'BreakJoints', function()
- tk.rcf('Model', function(o)
- o:BreakJoints()
- end)
- end)
- destwin:drawButton(1, 'Forces', function()
- tk.rcf('BasePart', function(o)
- local bf = Instance.new("BodyForce", o)
- bf.Force = Vector3.new(math.random(0,180)*5,math.random(0,180)*5,math.random(0,180)*5)
- end)
- end)
- destwin:drawButton(1, 'Brightness', function()
- tk.rcf('BasePart', function(o)
- local light = Instance.new("SpotLight", o)
- light.Brightness = 9e9
- light.Range = 60
- end)
- end)
- --// CATALOG //--
- local catwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Catalog').Container)
- local page, currentkeyword = 1, ""
- local searchbar, search, makeCatalog, res = 0, 0, 0, {}
- local searchbar = catwin:drawTextBox(2/3,'')
- local search = catwin:drawButton(1/3, 'Search', function()
- page = 1
- currentkeyword = searchbar.Text
- makeCatalog(currentkeyword, page)
- end)
- local previous = catwin:drawButton(1/2, 'Previous Page', function()
- if page > 1 then
- page = page - 1
- makeCatalog(currentkeyword, page)
- end
- end)
- local previous = catwin:drawButton(1/2, 'Next Page', function()
- if page >= 1 then
- page = page + 1
- makeCatalog(currentkeyword, page)
- end
- end)
- local catalog_start = catwin:getDrawY()
- function split(str,divider)
- local found = ""
- local results = {}
- for i=1,string.len(str) do
- if (string.lower(string.sub(str,i,i)) == string.lower(divider)) then
- table.insert(results, found)
- found = ""
- else
- found = found..string.sub(str,i,i)
- end
- end
- table.insert(results, found)
- return results
- end
- function GetName(nm)
- local spl = split(nm," ")
- local a,b,c,d,e=spl[1] or "",spl[2] or "",spl[3] or "", spl[4] or "", spl[5] or ""
- return (a.." "..b.." "..c.." "..d.." "..e)
- end
- function makeCatalog(keyword, page)
- local endpoint = "http://search.roblox.com/catalog/json?Category=6&Keyword="..keyword.."&IncludeNotForSale=false&ResultsPerPage=10&PageNumber="..tostring(page)
- local results = game:HttpGet(endpoint, true)
- local parse = game:GetService('HttpService'):JSONDecode(results)
- for i, v in pairs(res) do
- v:Destroy()
- end
- catwin:setDrawY(catalog_start)
- catwin:addSpacing()
- for i, v in pairs(parse) do
- local img = catwin:drawImage(1/2, 'https://www.roblox.com/Thumbs/Asset.ashx?width=420&height=420&assetId='..tostring(v['AssetId']), 50)
- local below = topkek.tools.util.Object("TextButton", {
- Parent = img;
- BackgroundColor3 = Color3.new(163/255, 57/255, 57/255);
- BorderSizePixel = 0;
- Position = UDim2.new(0, -45, 1, 5);
- Size = UDim2.new(0,img.AbsoluteSize.X, 0, 20);
- Font = 'SourceSans';
- FontSize = 'Size14';
- Text = GetName(v['Name']);
- TextSize = 14;
- TextColor3 = color3(199, 199, 199);
- TextStrokeTransparency = 0.5;
- ClipsDescendants = true;
- })
- below.MouseButton1Down:connect(function()
- local Model = Instance.new("Model", workspace)
- game:GetObjects('rbxassetid://'..tostring(v['AssetId']))[1].Parent = Model
- Model:MakeJoints()
- Model:MoveTo(topkek.lplr.Character.Head.Position)
- end)
- img.Size=UDim2.new(0,50,0,50)
- img.Position=img.Position+UDim2.new(0,45,0,0)
- if (i%2)==0 then
- catwin:setDrawY(catwin:getDrawY() + 25)
- end
- if (i==10) then
- catwin.main.CanvasSize = catwin.main.CanvasSize + UDim2.new(0,0,0,25)
- end
- table.insert(res,img)
- end
- end
- makeCatalog("", 1)
- --// CMDS //--
- cmdwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Commands').Container)
- count = 0
- for _, _ in pairs(cmd.commands.store) do count = count + 1 end
- cmdwin:drawText(1, tostring(count) .. " Commands")
- cmdwin:drawText(1, 'Chat Prefix: /')
- local cmdlist = cmdwin:drawScrollingContainer(260)
- for i, v in pairs(cmd.commands.fmtstore) do
- local xfmt = {}
- local str = " ;" .. i .. " "
- for form in v:gmatch("[^%%]+") do
- if form ~= 'cmd' then
- if form == 'inf' then form = 'str' end
- str = str .. "{" .. form .. "} "
- end
- end
- cmdlist:drawText(1, str)
- end
- --// MUSIC //--
- musicwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Music').Container)
- Sounds = {
- {"caramell", 2303479};
- {"epic", 27697743};
- {"rick", 2027611};
- {"halo", 1034065};
- {"pokemon", 1372261};
- {"cursed", 1372257};
- {"extreme", 11420933};
- {"awaken", 27697277};
- {"alone", 27697392};
- {"mario", 1280470};
- {"choir", 1372258};
- {"chrono" ,1280463};
- {"dotr", 11420922};
- {"entertain", 27697267};
- {"fantasy", 1280473};
- {"final", 787};
- {"organ", 11231513};
- {"tunnel", 9650822}
- }
- local cursel
- local xcursel = 0
- scr = musicwin:drawScrollingContainer(230)
- for i, v in pairs(Sounds) do
- scr:drawButton(1, v[1] .. " - " .. tonumber(v[2]), function()
- cursel.Text = "Currently Selected - " .. v[1]
- xcursel = v[2]
- end)
- end
- cursel = musicwin:drawText(1, "Currently Selected - None")
- local setInp
- musicwin:drawButton(1/3, "Set", function()
- if tonumber(setInp.Text) then
- cursel.Text = "Currently Selected - " .. setInp.Text
- xcursel = tonumber(setInp.Text)
- end
- end)
- setInp = musicwin:drawTextBox(2/3, '')
- musicwin:drawButton(1, "Play", function()
- tk.rcm(game, 'Sound')
- tk.play(xcursel)
- end)
- musicwin:drawButton(1, "Stop", function()
- tk.rcm(game, 'Sound')
- end)
- --// FACES //--
- facwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Faces').Container)
- local faces = {
- {name='Rofl',id=47595647},
- {name='Sparta',id=74142203},
- {name='UJelly',id=48989071},
- {name='Troll',id=45120559},
- {name='Horse',id=62079221},
- {name='Angry',id=48258623},
- {name='Okey',id=62830600},
- {name='Yeaw',id=53646377},
- {name='Here',id=62677045},
- {name='Har',id=48260066},
- {name='Baby Sun',id=47596170},
- {name='LOL',id=48293007},
- {name='Sad',id=53645378},
- {name='Joseph Stalin',id=48290678},
- {name='Doge',id=130742396},
- {name='Forever Alone',id=156886272},
- {name='RickRoll',id=5104631},
- {name='Jim Carrey',id=74885351},
- {name='Meh IRL',id=237553381}
- }
- local cursel, xcursel = nil, 0
- faclist = facwin:drawScrollingContainer(260)
- for i,v in pairs(faces) do
- local btn = faclist:drawButton(1, v['name'], function()
- xcursel = v['id']
- cursel.Text = 'Currently Selected: ' .. v['name']
- end)
- topkek.tools.gui:addLeftIcon(btn,'rbxassetid://'..tostring(v['id']),20)
- end
- cursel = facwin:drawText(1, 'Currently Selected: None')
- facwin:drawButton(1, 'Wear', function()
- if not (xcursel == 0) then
- if topkek.lplr.Character then
- tk.rcm(topkek.lplr.Character, 'Accessory')
- tk.rcm(topkek.lplr.Character, 'Hat')
- topkek.tools.util.applyFace(xcursel)
- end
- end
- end)
- --// SETTINGS // --
- setwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Settings').Container)
- setwin:drawText(1, 'Patch: ' .. topkek.patch)
- setwin:drawText(1, 'Devnote: foh skids')
- setwin:drawText(1, [[
- === CREDITS ===
- Variable - retard that created Stella
- KrystalTeam - provided critical design tips & advice
- Circumvention - lol joey salads
- Thanks to everyone that supported T0PK3K 4.0!
- ]], 260)
- --// BANLIST //--
- banwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Banlist').Container)
- local plrBanInp
- banwin:drawButton(1/3, 'Add', function()
- topkek.settings.get()
- table.insert(topkek.settingsTable['Bans'], plrBanInp.Text)
- topkek.settings.write()
- UpdateBanlist()
- end)
- plrBanInp = banwin:drawTextBox(2/3, '')
- banCont = banwin:drawScrollingContainer(288)
- function UpdateBanlist(x)
- topkek.settings.get()
- local wl = x or topkek.settingsTable['Bans']
- for i,v in pairs(banCont:GetChildren()) do
- v:Destroy()
- end
- banCont:setDrawY(3)
- for i,v in pairs(wl) do
- banCont:drawText(2/3, v)
- banCont:drawButton(1/3, 'Remove', function()
- for x, m in pairs(wl) do
- if m == v then
- table.remove(topkek.settingsTable['Bans'], x)
- topkek.settings.write()
- UpdateBanlist()
- topkek.banmgr.bans = topkek.settingsTable['Bans']
- end
- end
- end)
- end
- end
- UpdateBanlist()
- --// HATS //--
- hatwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Hats').Container)
- local hats={
- {name='Dominus Empyreus',id=21070012},
- {name='Dominus Vespertilio',id=96103379},
- {name='Dominus Infernus',id=31101391},
- {name='Dominus Rex',id=250395631},
- {name='Dominus Frigidus',id=48545806},
- {name='Dominus Astra',id=162067148},
- {name='Dominus Aureus',id=138932314},
- {name='DIY Dominus Empyreus',id=151789690},
- {name='Dominus Messor',id=64444871},
- {name='Demon Skeleton Wings',id=133554007},
- {name='Gilded Wings of Glory',id=250405532},
- {name='Majestic Ice Wings',id=188702967},
- {name='Black Wings',id=215719598},
- {name='Clockworks Shades',id=11748356},
- {name='Faerie Wings',id=19399896},
- {name='Orinthian Wings',id=223751505},
- {name='Clockworks Headphones',id=1235488},
- {name='Perfectly Legitimate Business Hat',id=19027209},
- {name='Sparkling Angel Wings',id=192557913},
- {name='Commander Crows Wings',id=133553855},
- {name='Sunfire Wings',id=158068470},
- {name='Royal Faerie Wings',id=119916756},
- {name='Wings of Freedom',id=164174048},
- {name='Firebrand Wings',id=128160626},
- {name='Frozen Wings',id=136758613},
- {name='Webbed Wings',id=120507280},
- {name='Gargoyle Wings',id=120507201},
- {name='Bat Wings',id=19399858},
- {name='Wings of Fire',id=136758532},
- {name='Headrow',id=1082935},
- {name='Rubber Duckie',id=9254254},
- {name='Valkyrie Helm',id=1365767},
- {name='Hockey Mask',id=5161514}}
- local searchi = hatwin:drawButton(1, '', function()end)
- dropx = GUI.DropDown.New(UDim2.new(0, 0, 0, 0), UDim2.new(1, 0, 1, 0), searchi, {'All'})
- function fixPlayerDropi()
- local t = {'All'}
- for i, v in pairs(game.Players:GetPlayers()) do
- table.insert(t, v.Name)
- end
- dropx.SetTable(t)
- end
- game.Players.PlayerAdded:connect(function()
- fixPlayerDropi()
- end)
- game.Players.PlayerRemoving:connect(function()
- fixPlayerDropi()
- end)
- local eval = 'All'
- dropx.Changed(function(p) eval = p end)
- fixPlayerDrop()
- local hatInp
- hatlist = hatwin:drawScrollingContainer(260)
- for i,v in pairs(hats) do
- hatlist:drawButton(1, v['name'], function()
- hatInp.Text = tostring(v['id'])
- end)
- end
- hatwin:drawButton(1/3, 'Wear', function()
- local hat = game:GetObjects("rbxassetid://"..tonumber(hatInp.Text))[1]
- tk.dp(eval, function(x)
- if x.Character then
- hat:Clone().Parent = x.Character
- end
- end)
- end)
- hatInp = hatwin:drawTextBox(2/3, '')
- topkek.tools.animator.initialAnimation()
- topkek.banmgr.init()
Add Comment
Please, Sign In to add comment