Last active
October 19, 2021 19:50
-
-
Save nosyliam/3a0464974205a93d31b9f188ace47a53 to your computer and use it in GitHub Desktop.
T0PK3K Source Code 5.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
wait(0.1) | |
if #getfenv(require) ~= 0 then return nil end | |
if #getfenv(pcall) ~= 0 then return nil end | |
local topkek = {} | |
topkek.patch = '5.0c RELEASE' | |
topkek.data = {} | |
topkek.commandbase = {} | |
topkek.navigation = {} | |
topkek.banmgr = {} | |
topkek.lplr = script.Player.Value | |
topkek.cmouse = require(4856789550)(topkek.lplr.Name) | |
topkek.client = require(script.Client)(topkek.lplr.Name) | |
topkek.chat = require(game:GetService("ServerScriptService"):WaitForChild("ChatServiceRunner"):WaitForChild("ChatService")) | |
topkek.wl = require(4957723425) | |
topkek.auth = require(script.Required) | |
topkek.imported = nil | |
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 = script:WaitForChild("5.0") | |
topkek.gui.Parent = topkek.lplr.PlayerGui | |
topkek.center = topkek.gui.Final.Main | |
topkek.holder = topkek.center.Holder | |
topkek.topbar = topkek.gui.Final.Topbar | |
topkek.template = topkek.holder.Template | |
topkek.navigator = topkek.center.Navigation | |
AllowHovers = false | |
PlayerChatHook, UpdateBanlist = nil | |
cmd = {} | |
--// auth //-- | |
key = "PleaseStopHackingGuys" | |
local hash = topkek.auth.hashhex(key .. topkek.lplr.Name) | |
topkek.imported = topkek.wl[hash] | |
if topkek.imported == nil then | |
topkek = nil | |
script:Destroy() | |
end | |
--// data //-- | |
topkek.data.windows = { | |
'Home', | |
'Executor', | |
'Players', | |
'Scripts', | |
'Server', | |
'LocalPlayer', | |
'Destruction', | |
'Gear', | |
'Music', | |
'Faces', | |
'Commands', | |
'Settings', | |
'Banlist', | |
} | |
color3 = function(r,g,b) | |
return Color3.new(r/255, g/255, b/255) | |
end | |
--// Logging // -- | |
topkek.log = {}; | |
if not _G.ClientSettings then _G.ClientSettings = {} end | |
if not _G.ClientSettings[topkek.lplr.Name] then _G.ClientSettings[topkek.lplr.Name] = {} end | |
function topkek.log:insertLog(log) | |
table.insert(_G.ClientSettings[topkek.lplr.Name], table.concat(log, " ")) | |
end | |
function topkek.log:record(action, value, extra) | |
topkek.log:insertLog({tostring(tick()), topkek.lplr.Name, action, value or "", extra or ""}) | |
end | |
--// Doggo Dropdown //-- | |
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.BorderSizePixel = 0 | |
TextBox.BackgroundTransparency = 1 | |
TextBox.Font = GUI.TextBox.Settings.Font; | |
TextBox.FontSize = GUI.TextBox.Settings.FontSize; | |
TextBox.TextColor3 = GUI.TextBox.Color.Text; | |
TextBox.Position = Position; | |
TextBox.Size = Size; | |
TextBox.ZIndex = 25 | |
if #arguments then | |
if arguments[1] then | |
topkek.cmouse.SetText:FireAllClients(TextBox, tostring(arguments[1])) | |
else | |
topkek.cmouse.SetText:FireAllClients(TextBox, "") | |
end | |
end | |
return TextBox; | |
end; | |
}; | |
DropDown = { | |
Settings = { | |
ScrollerAmount = 6; --A scroller will appear at this amount. | |
ScrollBarThickness = 3; | |
}; | |
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 = 26 | |
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 = 27 | |
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(forced) | |
if forced then | |
if Holder then Holder:Destroy() end | |
if Search then Search:Destroy() end | |
end | |
if #vValue <= (GUI.DropDown.Settings.ScrollerAmount) then | |
if (not Holder or not Holder:IsA("Frame")) or forced 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 = 26 | |
Holder.ClipsDescendants = true | |
end | |
elseif #vValue > (GUI.DropDown.Settings.ScrollerAmount) then | |
if (not Holder or not Holder:IsA("ScrollingFrame")) or forced 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 = 27 | |
topkek.cmouse.ConnectInputRead:FireAllClients(Search) | |
topkek.cmouse.ConnectInputRead.OnServerEvent:connect(function(plr, obj) | |
if obj == Search then | |
CreateButton(tk.txt(Search)); | |
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 = 26; | |
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), nil, true) 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), nil, true) 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 = 26 | |
Select.TextXAlignment = Enum.TextXAlignment.Left | |
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 | |
topkek.cmouse.CaptureFocus:InvokeClient(topkek.lplr, Search) | |
topkek.cmouse.SetText:FireAllClients(Search, "") | |
end | |
end) | |
topkek.cmouse.B1D.OnServerEvent:connect(function() | |
ClearHolder() | |
end) | |
local tab = { | |
SetColors = function(primary, text) | |
Main.BackgroundColor3 = primary | |
Main.BorderColor3 = tk.shift(primary, -30) | |
Icon.BackgroundColor3 = tk.shift(primary, -30) | |
Icon.BorderColor3 = tk.shift(primary, -50) | |
Icon.TextColor3 = text | |
GUI.DropDown.Color.Main = primary | |
GUI.DropDown.Color.Border = tk.shift(primary, -50) | |
GUI.DropDown.Color.Text = text | |
RefreshDropDown(true) | |
end; | |
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() | |
pcall(function() | |
F(vSelected.Value); | |
end) | |
end) | |
return "ChangedEvent Hooked"; | |
end; | |
Select = function(F) | |
vSelected.Value = F; | |
ClearHolder(); | |
RefreshDropDown(); | |
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; | |
} | |
table.insert(topkek.tools.gui.dropdownPool, tab) | |
return tab | |
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) | |
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.getText(obj) | |
return topkek.cmouse.ReadText:InvokeClient(topkek.lplr, obj) | |
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,all) | |
local function recurse(x) | |
for i, v in pairs(x:GetChildren()) do | |
pcall(function() | |
if v:IsA(type_) or all then | |
func(v) | |
end | |
if #(v:GetChildren())>0 then | |
recurse(v) | |
end | |
end) | |
end | |
end | |
recurse(game) | |
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.shiftHsv(color, n) | |
h, s, v = Color3.toHSV(color) | |
return Color3.fromHSV(h, s, math.min(255, v + (n/255))) | |
end | |
function topkek.tools.util.weenieHutJunior(plr) | |
end | |
local clients = {} | |
function topkek.tools.util.getClient(plr) | |
if clients[plr] then | |
return clients[plr] | |
else | |
local client = require(4858755336)(plr) | |
return client | |
end | |
end | |
function topkek.tools.util.saveMap() | |
topkek.map = Instance.new("Model") | |
for _, v in pairs(game.Workspace:GetChildren()) do | |
if (not v:IsA("Terrain")) and (v.Name~="Camera") and (not game.Players:FindFirstChild(v.Name)) then | |
v.Archivable = true | |
v:Clone().Parent = topkek.map | |
end | |
end | |
end | |
function topkek.tools.util.loadMap() | |
for i,v in pairs(game.Workspace:GetChildren()) do | |
if (not v:IsA("Terrain"))and(v.Name~="Camera") then | |
v:Destroy() | |
end | |
end | |
for _, v in pairs(topkek.map:Clone():GetChildren()) do | |
v.Parent = workspace | |
end | |
for _, v in pairs(game.Players:GetPlayers()) do | |
v:LoadCharacter() | |
end | |
end | |
local lastButton = nil | |
topkek.tools.util.keybinds = {} | |
topkek.cmouse.ConnectInputBegan:FireAllClients() | |
topkek.cmouse.ConnectInputBegan.OnServerEvent:connect(function(plr, tp, keycode) | |
if tp == Enum.UserInputType.Keyboard then | |
lastButton = keycode | |
pcall(function() | |
for _, v in pairs(topkek.tools.util.keybinds[keycode]) do | |
v[2]() | |
end | |
end) | |
end | |
end) | |
function topkek.tools.util.getNextButton() | |
local current = lastButton | |
repeat wait() until current ~= lastButton | |
return lastButton | |
end | |
--// banmgr //-- | |
topkek.banmgr.isPrivate = false | |
topkek.banmgr.whitelist = {} | |
topkek.banmgr.bans = {} | |
function topkek.banmgr.executeKick(z) | |
z:Kick("You are banned.") | |
end | |
function topkek.banmgr.loadFromFile() | |
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) | |
table.insert(topkek.settingsTable['Bans'], p.Name) | |
topkek.settings.write() | |
topkek.banmgr.executeKick(p) | |
UpdateBanlist() | |
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) | |
warn(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 | |
warn(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 = nil | |
function topkek.settings.write() | |
topkek.settings.get() | |
local f = math.floor | |
local jsonExport = { | |
["primary"] = {f(topkek.settings.primary().R*255),f(topkek.settings.primary().G*255),f(topkek.settings.primary().B*255)}, | |
["secondary"] = {f(topkek.settings.secondary().R*255),f(topkek.settings.secondary().G*255),f(topkek.settings.secondary().B*255)}, | |
["tertiary"] = {f(topkek.settings.tertiary().R*255),f(topkek.settings.tertiary().G*255),f(topkek.settings.tertiary().B*255)}, | |
["text"] = {f(topkek.settings.text().R*255),f(topkek.settings.text().G*255),f(topkek.settings.text().B*255)} | |
} | |
return game:GetService("HttpService"):JSONEncode(jsonExport) | |
end | |
function topkek.settings.get() | |
if topkek.settingsTable == nil then | |
topkek.settingsTable = { | |
['Bans'] = {} or topkek.settingsTable['Bans'], | |
['Themes'] = { | |
Primary = Color3.new(79/255, 108/255, 204/255), | |
Secondary = Color3.new(55/255, 70/255, 204/255), | |
Tertiary = Color3.new(36/255, 65/255, 191/255), | |
Text = Color3.new(255/255, 255/255, 255/255)} or topkek.settingsTable['Themes'] | |
} | |
end | |
return topkek.settingsTable | |
end | |
function topkek.settings.primary() | |
return topkek.settings.get()["Themes"]["Primary"] | |
end | |
function topkek.settings.secondary() | |
return topkek.settings.get()["Themes"]["Secondary"] | |
end | |
function topkek.settings.tertiary() | |
return topkek.settings.get()["Themes"]["Tertiary"] | |
end | |
function topkek.settings.text() | |
return topkek.settings.get()["Themes"]["Text"] | |
end | |
-- Load settings from imported | |
topkek.settings.get() | |
pcall(function() | |
local importedSettings = game:GetService("HttpService"):JSONDecode(topkek.imported[2]) | |
if importedSettings["primary"] then | |
local color = importedSettings["primary"] | |
topkek.settingsTable["Themes"]["Primary"] = Color3.new(color[1]/255, color[2]/255, color[3]/255) | |
end | |
if importedSettings["secondary"] then | |
local color = importedSettings["secondary"] | |
topkek.settingsTable["Themes"]["Secondary"] = Color3.new(color[1]/255, color[2]/255, color[3]/255) | |
end | |
if importedSettings["tertiary"] then | |
local color = importedSettings["tertiary"] | |
topkek.settingsTable["Themes"]["Tertiary"] = Color3.new(color[1]/255, color[2]/255, color[3]/255) | |
end | |
if importedSettings["text"] then | |
local color = importedSettings["text"] | |
topkek.settingsTable["Themes"]["Text"] = Color3.new(color[1]/255, color[2]/255, color[3]/255) | |
end | |
end) | |
pcall(function() | |
importBanlist = topkek.imported[3] | |
for x in importBanlist:gmatch("([^,]+)") do | |
table.insert(topkek.banmgr.bans, x) | |
table.insert(topkek.settingsTable['Bans'], x) | |
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 | |
tk.txt = topkek.tools.util.getText | |
tk.shift = topkek.tools.util.shiftHsv | |
tk.gui = topkek.gui | |
--// gui //-- | |
local primaryBtn, secondaryBtn, tertiaryBtn, textBtn | |
topkek.tools.gui.seperation = 12 | |
topkek.tools.gui.primaryPool = {} | |
topkek.tools.gui.secondaryPool = {} | |
topkek.tools.gui.containerPool = {} | |
topkek.tools.gui.dropdownPool = {} | |
topkek.tools.gui.text2Keybind = {} | |
topkek.tools.gui.text2Func = {} | |
local chatClrBtn, nameClrBtn, tagClrBtn | |
topkek.client.Execute.OnServerEvent:connect(function(plr, cmd, cdata, clr) | |
-- Replicate size and position properties from the client | |
if cmd == "replicate" then | |
for _, data in pairs(cdata) do | |
pcall(function() | |
data[1].Position = data[2] | |
data[1].Size = data[3] | |
end) | |
end | |
elseif cmd == "finishintro" then | |
topkek.navigation.buildHomePage() | |
topkek.navigation.buildNavigator() | |
elseif cmd == "colorpicker" then | |
if cdata == "TagColor" then | |
tagClrBtn.BackgroundColor3 = clr | |
tk.dp(cval, function(p) | |
pcall(function() topkek.chat:AddSpeaker(p.Name) end) | |
local tags = topkek.chat:GetSpeaker(p.Name):GetExtraData("Tags")[1] or {} | |
tags.TagColor = clr | |
topkek.chat:GetSpeaker(p.Name):SetExtraData("Tags", {tags}) | |
end) | |
elseif cdata == "ChatColor" or cdata == "NameColor" then | |
if cdata == "ChatColor" then | |
chatClrBtn.BackgroundColor3 = clr | |
else | |
nameClrBtn.BackgroundColor3 = clr | |
end | |
tk.dp(cval, function(p) | |
pcall(function() topkek.chat:AddSpeaker(p.Name) end) | |
topkek.chat:GetSpeaker(p.Name):SetExtraData(cdata, clr) | |
end) | |
else | |
local trans = {primary = "Primary", secondary = "Secondary", tertiary = "Tertiary", text = "Text"} | |
topkek.settings.get()["Themes"][trans[cdata]] = clr | |
topkek.tools.gui.applyTheme() | |
end | |
elseif cmd == "changeplayer" then | |
updatePlayer(cdata) | |
drop.Select(cdata) | |
elseif cmd == "doaction" then | |
updatePlayer(clr) | |
drop.Select(clr) | |
topkek.tools.gui.text2Func[cdata]() | |
end | |
end) | |
function topkek.tools.gui.applyTheme() | |
tk.gui.Composite1.UIGradient.Color = ColorSequence.new(topkek.settings.primary()) | |
tk.gui.Composite1.Label.TextColor3 = topkek.settings.text() | |
tk.gui.Composite2.UIGradient.Color = ColorSequence.new(topkek.settings.primary()) | |
tk.gui.Composite2.Label.TextColor3 = topkek.settings.text() | |
tk.gui.Composite3.UIGradient.Color = ColorSequence.new(topkek.settings.primary()) | |
tk.gui.Composite3.Label.TextColor3 = topkek.settings.text() | |
tk.gui.Composite4.UIGradient.Color = ColorSequence.new(topkek.settings.primary()) | |
tk.gui.Composite4.Label.TextColor3 = topkek.settings.text() | |
tk.gui.Final.UIGradient.Color = ColorSequence.new(topkek.settings.primary()) | |
tk.gui.Final.Label.TextColor3 = topkek.settings.text() | |
tk.gui.Final.Label.TKLabel.Label.TextColor3 = topkek.settings.text() | |
tk.gui.Final.SS.Label.TextColor3 = topkek.settings.text() | |
topkek.center.Command.BackgroundColor3 = topkek.settings.primary() | |
topkek.center.Command.BorderColor3 = tk.shift(topkek.settings.primary(), -20) | |
topkek.center.BackgroundColor3 = topkek.settings.tertiary() | |
topkek.center.Navigation.BackgroundColor3 = topkek.settings.secondary() | |
topkek.client.Execute:FireAllClients("settopbar", topkek.settings.primary()) | |
primaryBtn.BackgroundColor3 = topkek.settings.primary() | |
secondaryBtn.BackgroundColor3 = topkek.settings.secondary() | |
tertiaryBtn.BackgroundColor3 = topkek.settings.tertiary() | |
textBtn.BackgroundColor3 = topkek.settings.text() | |
topkek.holder.Executor.Container.Editor.BackgroundColor3 = tk.shift(tk.shift(topkek.settings.secondary(), -80), 30) | |
topkek.holder.Executor.Container.Editor.Lines.BackgroundColor3 = tk.shift(tk.shift(topkek.settings.secondary(), -90), 20) | |
topkek.holder.Executor.Container.Editor.SFrame.BackgroundColor3 = tk.shift(tk.shift(topkek.settings.secondary(), -80), 30) | |
topkek.holder.Executor.Container.Editor.SFrame.TextBox.BackgroundColor3 = tk.shift(tk.shift(topkek.settings.secondary(), -80), 30) | |
for _, v in pairs(topkek.navigator:GetChildren()) do | |
v.TextColor3 = topkek.settings.text() | |
end | |
for _, v in pairs(topkek.tools.gui.dropdownPool) do | |
v.SetColors(topkek.settings.primary(), topkek.settings.text()) | |
end | |
for _, v in pairs(topkek.tools.gui.primaryPool) do -- Buttons, TextBoxes (-Value) | |
if v:IsA("TextBox") then | |
v.BackgroundColor3 = tk.shift(topkek.settings.primary(), -20) | |
else | |
v.BackgroundColor3 = topkek.settings.primary() | |
end | |
v.TextColor3 = topkek.settings.text() | |
if v:FindFirstChild("KBLabel") then | |
v.TextColor3 = tk.shift(topkek.settings.text(), -60) | |
end | |
end | |
for _, v in pairs(topkek.tools.gui.secondaryPool) do -- Containers, ScrollBars, TextLabels | |
if v:IsA("TextLabel") then | |
v.TextColor3 = topkek.settings.text() | |
end | |
if v:IsA("ScrollingFrame") then | |
v.ScrollBarImageColor3 = topkek.settings.primary() | |
end | |
v.BackgroundColor3 = topkek.settings.secondary() | |
end | |
for _, v in pairs(topkek.tools.gui.containerPool) do | |
v.BorderColor3 = topkek.settings.tertiary() | |
end | |
end | |
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); | |
ZIndex = 15; | |
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 | |
table.insert(topkek.tools.gui.containerPool, temp) | |
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 | |
topkek.cmouse:WaitForChild("SetText") | |
function self:drawButton(sz, txt, func, ysz, cbgd, parent) | |
local xposOffset = 0 | |
local xposScale = self.drawX | |
if xposScale == 2/3 then -- Fix extremely annoying spacing errors | |
xposScale = 0.666 | |
self.drawX = 0.666 | |
end | |
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 = parent or self.main; | |
BackgroundColor3 = topkek.settings.primary(), | |
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 = topkek.settings.text(); | |
ZIndex = 15; | |
}) | |
topkek.tools.util.Object("TextLabel", { | |
Parent = obj; | |
BackgroundColor3 = tk.shift(tk.shift(topkek.settings.primary(), -100), 10); | |
BorderSizePixel = 0; | |
Name = "Shadow"; | |
ZIndex = 14; | |
Position = UDim2.new(0, 1, 0, 1); | |
Size = UDim2.new(1, 0, 1, 0); | |
Text = ''; | |
}) | |
table.insert(topkek.tools.gui.primaryPool, obj) | |
topkek.tools.gui.text2Func[txt] = func | |
obj.MouseButton1Down:connect(function() | |
topkek.log:record("ButtonPress", txt) | |
spawn(func) | |
end) | |
obj.MouseButton2Down:connect(function() | |
if obj:FindFirstChild("KBLabel") then | |
obj.KBLabel:Destroy() | |
for _, kblist in pairs(topkek.tools.util.keybinds) do | |
for i, kb in pairs(kblist) do | |
if kb[1] == txt then | |
table.remove(kblist, i) | |
end | |
end | |
end | |
topkek.tools.gui.text2Keybind[txt] = nil | |
end | |
local lab = Instance.new("TextLabel", obj) | |
lab.Name = "KBLabel" | |
lab.Position = UDim2.new(1, -20, 0, 0) | |
lab.Size = UDim2.new(0, 15, 1, 0) | |
lab.Font = 'SourceSans' | |
lab.TextSize = 14 | |
lab.TextYAlignment = Enum.TextYAlignment.Center | |
lab.ZIndex = 15 | |
lab.BorderSizePixel = 0 | |
lab.BackgroundTransparency = 1 | |
lab.TextColor3 = tk.shift(topkek.settings.text(), -60) | |
lab.Text = '?' | |
local btn = topkek.tools.util.getNextButton() | |
if btn == Enum.KeyCode.Space then | |
lab:Destroy() | |
return | |
end | |
if topkek.tools.util.keybinds[btn] then | |
topkek.tools.util.keybinds[btn] = table.insert(topkek.tools.util.keybinds[btn], {txt, function() spawn(func) end}) | |
else | |
topkek.tools.util.keybinds[btn] = {{txt, function() spawn(func) end}} | |
end | |
topkek.tools.gui.text2Keybind[txt] = btn | |
lab.Text = string.char(btn.Value) | |
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 | |
if xposScale == 2/3 then | |
xposScale = 0.666 | |
self.drawX = 0.666 | |
end | |
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 = topkek.settings.primary(); | |
BorderSizePixel = 0; | |
Position = UDim2.new(xposScale, xposOffset, 0, self.drawY); | |
Size = UDim2.new(xszScale, xszOffset, 0, ysz); | |
Font = 'SourceSans'; | |
FontSize = 'Size14'; | |
TextSize = 14; | |
TextColor3 = topkek.settings.text(); | |
ZIndex = 15; | |
}) | |
table.insert(topkek.tools.gui.primaryPool, obj) | |
topkek.cmouse.SetText:FireAllClients(obj, txt) | |
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 self.main:IsA("ScrollingFrame") then | |
self.main.CanvasSize = UDim2.new(0, 0, 0, self.drawY + 5) | |
end | |
end | |
return obj | |
end | |
function self:drawImage(sz, img, ysz) | |
local xposOffset = 0 | |
local xposScale = self.drawX | |
if xposScale == 2/3 then | |
xposScale = 0.666 | |
self.drawX = 0.666 | |
end | |
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; | |
ZIndex = 15; | |
}) | |
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 | |
if xposScale == 2/3 then | |
xposScale = 0.666 | |
self.drawX = 0.666 | |
end | |
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 = topkek.settings.secondary(); | |
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); | |
ZIndex = 15; | |
}) | |
table.insert(topkek.tools.gui.secondaryPool, obj) | |
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 = topkek.settings.secondary(); | |
BorderSizePixel = 0; | |
Position = pos; | |
Size = sz; | |
BottomImage = 'rbxassetid://368504177'; | |
MidImage = 'rbxassetid://368504177'; | |
TopImage = 'rbxassetid://368504177'; | |
ScrollBarImageColor3 = topkek.settings.primary(); | |
ScrollBarThickness = 5; | |
ZIndex = 15; | |
}) | |
table.insert(topkek.tools.gui.secondaryPool, obj) | |
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 = tk.shift(topkek.settings.secondary(), -10); | |
BorderSizePixel = 0; | |
Position = pos; | |
Size = sz; | |
ZIndex = 15; | |
}) | |
table.insert(topkek.tools.gui.secondaryPool, obj) | |
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//-- | |
--[[ most of this code was moved to kekclient ]] | |
topkek.tools.animator.initialAnimation = function() | |
topkek.tools.gui.applyTheme() | |
topkek.client.Execute:FireAllClients("intro", topkek.gui) | |
AllowHovers = true | |
end | |
--//nav//-- | |
topkek.navigation.buildNavigator = function() | |
local nav = topkek.navigator | |
local hook = topkek.tools.gui:hookContainer(nav, true) | |
for l, x in pairs(topkek.data.windows) do | |
local container = topkek.tools.util.getContainer(x) | |
local btn = hook:drawButton(1, '', function() --[[ Navigation handled by kekclient ]] end, 27) | |
local ZPos = btn.Position | |
btn.Position = btn.Position + UDim2.new(-1, 0, 0, 0) | |
btn.LayoutOrder = l | |
btn.ZIndex = 31 | |
btn.AutoButtonColor = false | |
btn.Name = x | |
btn.Shadow.ZIndex = 30 | |
local label = Instance.new("TextLabel", btn) | |
label.BackgroundTransparency = 1 | |
label.Size = UDim2.new(1, 0, 1, 0) | |
label.TextSize = 14 | |
label.Font = 'SourceSans' | |
label.Text = x | |
label.ZIndex = 32 | |
label.TextColor3 = topkek.settings.text() | |
wait() | |
end | |
topkek.client.Execute:FireAllClients("navintro", topkek.gui, topkek.settings.text()) | |
end | |
topkek.navigation.buildTopbar = function() | |
local top = topkek.topbar | |
-- Hide is handled by kekclient | |
top.Controllers.Exit.MouseButton1Down:connect(function() | |
topkek.gui.Final:TweenSize(UDim2.new(0, 470, 0, 30), 'Out', 'Quint', 0.3) | |
wait(0.31) | |
topkek.gui.Final:TweenSize(UDim2.new(0, 0, 0, 0), 'Out', 'Quint', 0.3) | |
wait(0.31) | |
topkek.gui.Parent = nil | |
script:Destroy() | |
end) | |
end | |
topkek.navigation.initCommandBar = function() | |
DistributedCmdBar = topkek.center.Command | |
cmd = require(script.Commands)(topkek.lplr.Name, DistributedCmdBar) | |
topkek.cmouse.ConnectFocusLost:FireAllClients(DistributedCmdBar) | |
topkek.cmouse.ConnectFocusLost.OnServerEvent:connect(function(plr, e) | |
if e == true then | |
topkek.log:record("Command", tk.txt(DistributedCmdBar)) | |
cmd.commands.run(tk.txt(DistributedCmdBar)) | |
topkek.cmouse.SetText:FireAllClients(DistributedCmdBar, '') | |
end | |
end) | |
local hookPlayer = function(plr) | |
plr.Chatted:connect(function(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 | |
cmd.players.PlayerAdded:connect(hookPlayer) | |
for _, plr in pairs(game.Players:GetPlayers()) do | |
hookPlayer(plr) | |
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) | |
-- Please don't remove my name from here and put yours in. You didn't make this GUI. Thanks. | |
topkek.tools.util.getContainer('Home').NameTitle.Text = "Welcome, " .. topkek.lplr.name; | |
hook:drawText(1, 'T0PK3K 5.0 Deleted Edition') | |
hook:drawText(1, 'Patch version ' .. topkek.patch) | |
hook:drawText(1, 'Commandbase patch version 5.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(math.floor(game:GetService('Workspace').DistributedGameTime)) | |
wait(0.1) | |
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() | |
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, 'Created by nosyliam') | |
local ping = hook:drawText(1, '') | |
spawn(function() | |
local recv | |
topkek.client.Execute.OnServerEvent:connect(function(plr) | |
recv = true | |
end) | |
while true do | |
local tm = tick() | |
recv = false | |
topkek.client.Execute:FireAllClients("ping") | |
repeat wait() until recv | |
ping.Text = 'Ping: ' .. tostring((tick() - tm) * 1000):sub(1,3):gsub('%.','') .. " ms" | |
wait(0.5) | |
end | |
end) | |
hook:drawText(1, 'Website: topkek.gg') | |
local tips = { | |
"Check out our website and join the Discordj" | |
} | |
local tip = hook:drawText(1, 'Tip of the Day: ' .. tips[math.random(1, #tips)], 50); tip.TextWrapped = true | |
topkek.navigation.currentContainer = topkek.tools.util.getContainer('Home') | |
end | |
topkek.navigation.buildContainers = function() | |
for _, v in pairs(topkek.data.windows) do | |
if not topkek.holder:FindFirstChild(v) then | |
topkek.tools.gui:makeContainer(v) | |
end | |
end | |
end | |
topkek.navigation.initCommandBar() | |
topkek.navigation.buildContainers() | |
topkek.navigation.buildTopbar() | |
--// EXECUTOR //-- | |
function Execute(code) | |
local runner = script.Executor:Clone() | |
runner.Name = "Executed" | |
local exev = Instance.new("ObjectValue", runner) | |
exev.Value = script.LuaParser | |
exev.Name = "Require" | |
local cv = Instance.new("StringValue", runner) | |
cv.Value = code | |
cv.Name = "Code" | |
runner.Parent = game.ServerScriptService | |
runner.Disabled = false | |
end | |
local exewin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Executor').Container, true, 0) | |
topkek.tools.util.getContainer('Executor').Container.Editor.SFrame.Editor.Disabled = false | |
exewin:setDrawY(275) | |
local exBtn = exewin:drawButton(1, 'Execute', function() | |
local text = topkek.tools.util.getText(topkek.tools.util.getContainer('Executor').Container.Editor.SFrame.TextBox) | |
topkek.log:record("Execute", text:sub(0, 50)) | |
Execute(text) | |
end); exBtn.Size = UDim2.new(1, -6, 0, 30); exBtn.Position = UDim2.new(0, 0, 0, 275) | |
exewin:setDrawY(310) | |
local reqInp | |
local reqBtn = exewin:drawButton(1/3, 'Require', function() | |
local inp = tonumber(topkek.tools.util.getText(reqInp)) | |
topkek.log:record("AutoRequire", inp) | |
local success, mod = pcall(require, inp) | |
if not success then return end | |
-- Search module for execution functions | |
for _, method in pairs(mod) do | |
pcall(method, mod, topkek.lplr.Name) | |
pcall(method, topkek.lplr.Name) | |
end | |
end, 30) | |
reqInp = exewin:drawTextBox(2/3, 'Asset ID', 30); reqInp.Size = reqInp.Size + UDim2.new(0, 4, 0, 0) | |
--// 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.Name) | |
else | |
headshot.Image = game:GetService("Players"):GetUserThumbnailAsync(1, Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size420x420) | |
userNameText.Text = "[All]" | |
userIdText.Text = 'ID: [multiple]' | |
userAgeText.Text = 'Age: [multiple]' | |
userTeamText.Text = 'Team: [multiple]' | |
cval = 'All' | |
chatClrBtn.BackgroundColor3 = Color3.new(1, 1, 1) | |
nameClrBtn.BackgroundColor3 = Color3.new(1, 1, 1) | |
tagClrBtn.BackgroundColor3 = Color3.new(1, 1, 1) | |
end | |
cval = plr.Name | |
local team = plr.TeamColor | |
if team == nil then | |
team = 'Neutral' | |
else | |
team = tostring(team) | |
end | |
headshot.Image = game:GetService("Players"):GetUserThumbnailAsync(plr.UserId, Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size420x420) | |
userNameText.Text = plr.Name | |
userIdText.Text = 'ID: ' .. tostring(plr.UserId) | |
userAgeText.Text = 'Age: ' .. tostring(plr.AccountAge) | |
userTeamText.Text = 'Team: ' .. team | |
pcall(function() topkek.chat:AddSpeaker(plri) end) | |
chatClrBtn.BackgroundColor3 = topkek.chat:GetSpeaker(plri):GetExtraData("ChatColor") or Color3.new(1, 1, 1) | |
nameClrBtn.BackgroundColor3 = topkek.chat:GetSpeaker(plri):GetExtraData("NameColor") or Color3.new(1, 1, 1) | |
tagClrBtn.BackgroundColor3 = topkek.chat:GetSpeaker(plri):GetExtraData("Tags").TagColor or Color3.new(1, 1, 1) | |
end | |
drop.Changed(updatePlayer) | |
--actual code ------0 | |
plrwin:addSpacing() | |
plrwin:drawButton(1/2, 'Kick', function() | |
tk.dp(cval, function(p) | |
topkek.log:record("ManualKick", p.Name) | |
topkek.banmgr.executeKick(p) | |
end) | |
end) | |
plrwin:drawButton(1/2, 'Ban', function() | |
tk.dp(cval, function(p) | |
topkek.log:record("ManualBan", p.Name) | |
topkek.banmgr.addSoftBan(p) | |
end) | |
end) | |
plrwin:drawButton(1/2, 'Blind', function() | |
tk.dp(cval, function(p) | |
topkek.log:record("ManualBlind", p.Name) | |
for _, v in pairs(p.PlayerGui:GetChildren()) do | |
v:Destroy() | |
end | |
script.Blind:Clone().Parent = p.PlayerGui | |
end) | |
end) | |
plrwin:drawButton(1/2, 'Kermit Blind', function() | |
tk.dp(cval, function(z) | |
topkek.log:record("ManualKermitBlind", z.Name) | |
require(2881162369):Fire(z.Name, 'i baked you a pie') | |
end) | |
end) | |
plrwin:drawButton(1/2, 'Nil', function() | |
tk.dp(cval, function(z) | |
z:Destroy() | |
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 = | |
topkek.lplr.Character.HumanoidRootPart.CFrame * CFrame.new(1,1,1) | |
end | |
end) | |
end) | |
plrwin:drawButton(1/2, 'Goto', function() | |
tk.dp(cval, function(z) | |
topkek.lplr.Character.HumanoidRootPart.CFrame = | |
z.Character.HumanoidRootPart.CFrame * CFrame.new(1,1,1) | |
end) | |
end) | |
plrwin:addSpacing() | |
plrwin:drawButton(1/3, 'Respawn', function() | |
tk.dp(cval, function(p) | |
p:LoadCharacter() | |
end) | |
end) | |
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 | |
topkek.lplr.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: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 = tk.txt(nameInp) | |
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) | |
local speaker = topkek.chat:GetSpeaker(z.Name) | |
if not speaker then | |
speaker = topkek.chat:AddSpeaker(z.Name) | |
end | |
speaker:SayMessage(tk.txt(chatInp), 'All') | |
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(tk.txt(disgInp)) then | |
id = tonumber(tk.txt(disgInp)) | |
else | |
id = game:GetService('Players'):GetUserIdFromNameAsync(tk.txt(disgInp)) | |
end | |
if p.Character:FindFirstChild("Humanoid") then | |
p.Character.Humanoid.Health = 0 | |
end | |
p.CharacterAppearanceId = id | |
p:LoadCharacter() | |
end) | |
end) | |
disgInp = plrwin:drawTextBox(2/3, 'ROBLOX') | |
plrwin:addSpacing() | |
-- Chat hacks | |
chatClrTxt = plrwin:drawText(1, ' Chat Color'); chatClrTxt.TextXAlignment = 'Left' | |
nameClrTxt = plrwin:drawText(1, ' Name Color'); nameClrTxt.TextXAlignment = 'Left' | |
tagClrTxt = plrwin:drawText(1, ' Tag Color'); tagClrTxt.TextXAlignment = 'Left' | |
local function createChatColorButton(parent, which) | |
local currentColor | |
local obj = topkek.tools.util.Object("TextButton", { | |
Parent = parent; | |
BackgroundColor3 = Color3.new(1, 1, 1); | |
BorderSizePixel = 1; | |
Position = UDim2.new(1, -52, 0, 2); | |
Size = UDim2.new(0, 50, 1, -4); | |
Font = 'SourceSans'; | |
FontSize = 'Size14'; | |
Text = 'Change'; | |
TextSize = 14; | |
TextColor3 = tk.shift(topkek.settings.text(), -50); | |
ZIndex = 15; | |
}) | |
obj.MouseButton1Down:connect(function() | |
if which == "TagColor" then | |
topkek.client.Execute:FireAllClients("openpicker", cval == 'All' and Color3.new(1, 1, 1) or | |
topkek.chat:GetSpeaker(cval):GetExtraData("Tags").TagColor, which) | |
else | |
topkek.client.Execute:FireAllClients("openpicker", cval == 'All' and Color3.new(1, 1, 1) or | |
topkek.chat:GetSpeaker(cval):GetExtraData(which), which) | |
end | |
end) | |
return obj | |
end | |
chatClrBtn = createChatColorButton(chatClrTxt, "ChatColor") | |
nameClrBtn = createChatColorButton(nameClrTxt, "NameColor") | |
tagClrBtn = createChatColorButton(tagClrTxt, "TagColor") | |
local disgNameInp | |
plrwin:drawButton(2/5, 'Chat Disguise', function() | |
local disguise = tk.txt(disgNameInp) | |
tk.dp(cval, function(p) | |
-- Disable their regular chat | |
local hax = script.ChatRemover:Clone() | |
local chatRemote = Instance.new("RemoteEvent", hax) | |
hax.Parent = p.Character | |
hax.Disabled = false | |
wait(0.1) | |
chatRemote.OnServerEvent:connect(function(plr, msg, chan) | |
if plr == p then | |
local speaker = topkek.chat:GetSpeaker(disguise) | |
if not speaker then | |
speaker = topkek.chat:AddSpeaker(disguise) | |
end | |
speaker:JoinChannel("All") | |
speaker:SayMessage(msg, chan) | |
end | |
end) | |
end) | |
end) | |
disgNameInp = plrwin:drawTextBox(3/5, 'ROBLOX') | |
local chatSizeInp | |
plrwin:drawButton(2/5, 'Chat Size', function() | |
local sz = tonumber(tk.txt(chatSizeInp)) | |
if sz == nil then return end | |
tk.dp(cval, function(p) | |
topkek.chat:GetSpeaker(p.Name):SetExtraData("TextSize", sz) | |
end) | |
end) | |
chatSizeInp = plrwin:drawTextBox(3/5, '18') | |
local chatFontInp | |
plrwin:drawButton(2/5, 'Chat Font', function() | |
local font = tk.txt(chatFontInp) | |
local success, _ = pcall(function() _ = Enum.Font[font] end); if not success then return end | |
tk.dp(cval, function(p) | |
topkek.chat:GetSpeaker(p.Name):SetExtraData("Font", Enum.Font[font]) | |
end) | |
end) | |
chatFontInp = plrwin:drawTextBox(3/5, 'SourceSans') | |
plrwin:drawButton(2/5, 'Chat Tag', function() | |
local tag = tk.txt(chatTagInp) | |
tk.dp(cval, function(p) | |
local tags = topkek.chat:GetSpeaker(p.Name):GetExtraData("Tags")[1] or {} | |
tags.TagText = tag | |
tags.TagColor = tags.TagColor or topkek.settings.primary() | |
topkek.chat:GetSpeaker(p.Name):SetExtraData("Tags", {tags}) | |
end) | |
end) | |
chatTagInp = plrwin:drawTextBox(3/5, 'Admin') | |
plrwin:addSpacing() | |
plrwin:drawButton(1/3, 'R6', function() | |
tk.dp(cval, function(z) | |
require(3041175937):r6(z.Name) | |
end) | |
end) | |
plrwin:drawButton(1/3, 'DISABLED', function() | |
end) | |
plrwin:drawButton(1/3, 'DISABLED', function() | |
end) | |
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(tk.txt(clrR)) | |
local g = tonumber(tk.txt(clrG)) | |
local b = tonumber(tk.txt(clrB)) | |
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 then | |
Instance.new("SelectionBox", tk.gt(z)).Adornee = z.Character | |
end | |
end) | |
end) | |
plrwin:drawButton(1/3, 'Sphere', function() | |
tk.dp(cval, function(z) | |
if z.Character then | |
Instance.new("SelectionSphere", tk.gt(z)).Adornee = z.Character | |
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 = topkek.lplr.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(0.4, 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, 'Control', function() | |
plr = game.Players:FindFirstChild(cval) | |
if plr then | |
client = topkek.tools.util.getClient(plr.Name) | |
plr.Character.Archivable = true | |
for _, v in pairs(plr.Backpack:GetChildren()) do | |
v.Parent = topkek.lplr.Backpack | |
end | |
clone = plr.Character:Clone() | |
plr.Character:Destroy() | |
plr.Character = nil | |
clone.Parent = workspace | |
topkek.lplr.Character = clone | |
wait(0.5) | |
client.Execute:FireAllClients("controlcam", clone) | |
topkek.client.Execute:FireAllClients("controlcam", clone) | |
for _, v in pairs(clone:GetChildren()) do | |
if v:IsA("Script") then | |
v.Disabled = true | |
wait() | |
v.Disabled = false | |
end | |
end | |
end | |
end) | |
plrwin:drawButton(1/3, 'Swap', function() | |
plr = game.Players:FindFirstChild(cval) | |
if plr then | |
client = topkek.tools.util.getClient(plr.Name) | |
plr.Character.Archivable = true | |
topkek.lplr.Character.Archivable = true | |
local holder = Instance.new("Model") | |
for _, v in pairs(plr.Backpack:GetChildren()) do | |
v.Parent = holder | |
end | |
for _, v in pairs(topkek.lplr.Backpack:GetChildren()) do | |
v.Parent = plr.Backpack | |
end | |
for _, v in pairs(holder:GetChildren()) do | |
v.Parent = topkek.lplr.Backpack | |
end | |
local cloneOther, cloneLocal = plr.Character:Clone(), topkek.lplr.Character:Clone() | |
plr.Character:Destroy() | |
plr.Character = nil | |
cloneOther.Parent = workspace | |
cloneLocal.Parent = workspace | |
wait() | |
topkek.lplr.Character = cloneOther | |
plr.Character = cloneLocal | |
wait(0.5) | |
client.Execute:FireAllClients("controlcam", cloneLocal) | |
topkek.client.Execute:FireAllClients("controlcam", cloneOther) | |
for _, v in pairs(cloneOther:GetChildren()) do | |
if v:IsA("Script") then | |
v.Disabled = true | |
wait() | |
v.Disabled = false | |
end | |
end | |
for _, v in pairs(cloneLocal:GetChildren()) do | |
if v:IsA("Script") then | |
v.Disabled = true | |
wait() | |
v.Disabled = false | |
end | |
end | |
end | |
end) | |
plrwin:drawButton(1/3, 'Camlock', function() | |
tk.dp(cval, function(z) | |
z.CameraMode = "LockFirstPerson" | |
end) | |
end) | |
plrwin:drawButton(1/3, 'Green PP', function() | |
tk.dp(cval, function(z) | |
person = z.Name | |
color = "Bright green" | |
pcall(function() v.Character["Nice thing"]:Remove() end) | |
D = Instance.new("Model",workspace[person]) | |
D.Name = "Nice thing" | |
bg = Instance.new("BodyGyro",workspace[person].HumanoidRootPart) | |
d = Instance.new("Part") | |
d.TopSurface = 0 | |
d.BottomSurface = 0 | |
d.Name = "Main" | |
d.Parent = workspace[person]["Nice thing"] | |
d.formFactor = 3 | |
d.Size = Vector3.new(2,10,2) | |
d.BrickColor = BrickColor.new(color) | |
d.Position = workspace[person].Head.Position | |
d.CanCollide = true | |
local cy = Instance.new("CylinderMesh") | |
cy.Parent = d | |
cy.Scale = Vector3.new(0.6,1,0.6) | |
w = Instance.new("Weld") | |
w.Parent = workspace[person].Head | |
w.Part0 = d | |
w.Part1 = workspace[person].Head | |
w.C0 = CFrame.new(0,-5,2.35)*CFrame.Angles(math.rad(90),0,0) | |
local c = Instance.new("Part") | |
c.Name = "Mush" | |
c.BottomSurface = 0 | |
c.TopSurface = 0 | |
c.FormFactor = 3 | |
c.Size = Vector3.new(1,1,1) | |
c.CFrame = CFrame.new(d.Position) | |
c.BrickColor = BrickColor.new("Pink") | |
c.CanCollide = true | |
c.Parent = workspace[person]["Nice thing"] | |
local msm = Instance.new("SpecialMesh") | |
msm.Parent = c | |
msm.MeshType = "Head" | |
msm.Scale = Vector3.new(1.199,1.199,1.199) | |
local cw = Instance.new("Weld") | |
cw.Parent = c | |
cw.Part0 = d | |
cw.Part1 = c | |
cw.C0 = CFrame.new(0,5,0) | |
local ball1 = Instance.new("Part") | |
ball1.Parent = workspace[person]["Nice thing"] | |
ball1.Name = "Left Ball" | |
ball1.BottomSurface = 0 | |
ball1.TopSurface = 0 | |
ball1.CanCollide = true | |
ball1.formFactor = 3 | |
ball1.Size = Vector3.new(2,2,2) | |
ball1.CFrame = CFrame.new(workspace[person]["Left Leg"].Position) | |
ball1.BrickColor = BrickColor.new(color) | |
local bsm = Instance.new("SpecialMesh") | |
bsm.Parent = ball1 | |
bsm.MeshType = "Sphere" | |
bsm.Scale = Vector3.new(0.8,0.8,0.8) | |
local b1w = Instance.new("Weld") | |
b1w.Parent = ball1 | |
b1w.Part0 = workspace[person]["Left Leg"] | |
b1w.Part1 = ball1 | |
b1w.C0 = CFrame.new(1.2,0.5,-0.6) | |
local ball2 = Instance.new("Part") | |
ball2.Parent = workspace[person]["Nice thing"] | |
ball2.Name = "Right Ball" | |
ball2.BottomSurface = 0 | |
ball2.CanCollide = true | |
ball2.TopSurface = 0 | |
ball2.formFactor = 3 | |
ball2.Size = Vector3.new(2,2,2) | |
ball2.CFrame = CFrame.new(workspace[person]["Right Leg"].Position) | |
ball2.BrickColor = BrickColor.new(color) | |
local b2sm = Instance.new("SpecialMesh") | |
b2sm.Parent = ball2 | |
b2sm.MeshType = "Sphere" | |
b2sm.Scale = Vector3.new(0.8,0.8,0.8) | |
local b2w = Instance.new("Weld") | |
b2w.Parent = ball2 | |
b2w.Part0 = workspace[person]["Right Leg"] | |
b2w.Part1 = ball2 | |
b2w.C0 = CFrame.new(-1.2,0.5,-0.6) | |
end) | |
end) | |
plrwin:drawButton(1/3, 'Bleach', function() | |
tk.dp(cval, function(z) | |
spawn(function() | |
require(script.Bleach)(z.Name) | |
end) | |
end) | |
end) | |
plrwin:drawButton(1/3, 'Dog', function() | |
-- Skidded from Kohl's Admin Commands | |
tk.dp(cval, function(v) | |
if v and v.Character and v.Character:findFirstChild("Torso") then | |
if v.Character:findFirstChild("Shirt") then v.Character.Shirt.Parent = v.Character.Torso end | |
if v.Character:findFirstChild("Pants") then v.Character.Pants.Parent = v.Character.Torso end | |
v.Character.Torso.Transparency = 1 | |
v.Character.Torso.Neck.C0 = CFrame.new(0,-.5,-2) * CFrame.Angles(math.rad(90),math.rad(180),0) | |
v.Character.Torso["Right Shoulder"].C0 = CFrame.new(.5,-1.5,-1.5) * CFrame.Angles(0,math.rad(90),0) | |
v.Character.Torso["Left Shoulder"].C0 = CFrame.new(-.5,-1.5,-1.5) * CFrame.Angles(0,math.rad(-90),0) | |
v.Character.Torso["Right Hip"].C0 = CFrame.new(1.5,-1,1.5) * CFrame.Angles(0,math.rad(90),0) | |
v.Character.Torso["Left Hip"].C0 = CFrame.new(-1.5,-1,1.5) * CFrame.Angles(0,math.rad(-90),0) | |
local new = Instance.new("Seat", v.Character) new.Name = "FAKETORSO" new.formFactor = "Symmetric" new.TopSurface = 0 new.BottomSurface = 0 new.Size = Vector3.new(3,1,4) new.CFrame = v.Character.Torso.CFrame | |
local bf = Instance.new("BodyForce", new) bf.force = Vector3.new(0,new:GetMass()*196.25,0) | |
local weld = Instance.new("Weld", v.Character.Torso) weld.Part0 = v.Character.Torso weld.Part1 = new weld.C0 = CFrame.new(0,-.5,0) | |
for a, part in pairs(v.Character:children()) do if part:IsA("BasePart") then part.BrickColor = BrickColor.new("Brown") elseif part:findFirstChild("NameTag") then part.Head.BrickColor = BrickColor.new("Brown") end end | |
end | |
end) | |
end) | |
plrwin:drawButton(1/3, 'DISABLED', function() | |
end) | |
plrwin:drawButton(1/3, 'Creeper', function() | |
-- Skidded from Kohl's Admin Commands | |
tk.dp(cval, function(v) | |
if v and v.Character and v.Character:findFirstChild("Torso") then | |
if v.Character:findFirstChild("Shirt") then v.Character.Shirt.Parent = v.Character.Torso end | |
if v.Character:findFirstChild("Pants") then v.Character.Pants.Parent = v.Character.Torso end | |
v.Character.Torso.Transparency = 0 | |
v.Character.Torso.Neck.C0 = CFrame.new(0,1,0) * CFrame.Angles(math.rad(90),math.rad(180),0) | |
v.Character.Torso["Right Shoulder"].C0 = CFrame.new(0,-1.5,-.5) * CFrame.Angles(0,math.rad(90),0) | |
v.Character.Torso["Left Shoulder"].C0 = CFrame.new(0,-1.5,-.5) * CFrame.Angles(0,math.rad(-90),0) | |
v.Character.Torso["Right Hip"].C0 = CFrame.new(0,-1,.5) * CFrame.Angles(0,math.rad(90),0) | |
v.Character.Torso["Left Hip"].C0 = CFrame.new(0,-1,.5) * CFrame.Angles(0,math.rad(-90),0) | |
for a, part in pairs(v.Character:children()) do if part:IsA("BasePart") then part.BrickColor = BrickColor.new("Bright green") if part.Name == "FAKETORSO" then part:Destroy() end elseif part:findFirstChild("NameTag") then part.Head.BrickColor = BrickColor.new("Bright green") end end | |
end | |
end) | |
end) | |
plrwin:drawButton(1/3, 'Burden', function() | |
tk.dp(cval, function(z) | |
z.Character.Archivable = true | |
clone = z.Character:Clone() | |
clone.Parent = workspace | |
local rope = Instance.new("RopeConstraint", z.Character.Torso) | |
rope.Attachment0 = z.Character.Torso.NeckAttachment | |
rope.Attachment1 = clone.Torso.NeckAttachment | |
rope.Thickness = 0.5 | |
rope.Visible = true | |
rope.Length = 15 | |
rope.Color = BrickColor.White() | |
end) | |
end) | |
plrwin:drawButton(1/3, 'Attach', function() | |
tk.dp(cval, function(z) | |
z.Character.Archivable = true | |
clone = z.Character:Clone() | |
clone.Parent = workspace | |
local rope = Instance.new("RopeConstraint", z.Character.Torso) | |
rope.Attachment0 = z.Character.Torso.NeckAttachment | |
rope.Attachment1 = topkek.lplr.Character.Torso.NeckAttachment | |
rope.Thickness = 0.5 | |
rope.Visible = true | |
rope.Length = 15 | |
rope.Color = BrickColor.White() | |
end) | |
end) | |
plrwin:drawButton(1/3, 'Force Follow', function() | |
tk.dp(cval, function(z) | |
if z ~= topkek.lplr then | |
local hax = script.Follow:Clone() | |
local msg = Instance.new("ObjectValue", hax) | |
msg.Name = "Target" | |
msg.Value = topkek.lplr | |
hax.Parent = z.Character | |
hax.Disabled = false | |
end | |
end) | |
end) | |
--// SERVER //-- | |
local servwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Server').Container) | |
local detailWin = servwin:drawContainer(1, 75, nil, nil, 18) | |
detailWin:drawText(1, 'Job ID: ' .. game.JobId) | |
pcall(function() detailWin:drawText(1, 'Game Name: ' .. game:GetService('MarketplaceService'):GetProductInfo(game.PlaceId).Name) end) | |
pcall(function() detailWin:drawText(1, 'Creator Name: ' .. game:GetService('Players'):GetNameFromUserIdAsync(game.CreatorId)) end) | |
servwin:drawButton(1/2, 'Save Map', function() | |
topkek.tools.util.saveMap() | |
end) | |
servwin:drawButton(1/2, 'Load Map', function() | |
topkek.tools.util.loadMap() | |
end) | |
local r6Force = false | |
local function hookR6(plr) | |
plr.CharacterAdded:connect(function() | |
if r6Force then | |
r6Loader.load(plr.Name) | |
end | |
end) | |
end | |
r6Button = servwin:drawButton(1, 'Force R6 OFF', function() | |
if r6Force then | |
r6Force = false | |
r6Button.Text = "Force R6 OFF" | |
return | |
end | |
r6Force = true | |
r6Button.Text = "Force R6 ON" | |
for _, v in pairs(game.Players:GetPlayers()) do | |
hookR6(v) | |
v:LoadCharacter() | |
end | |
end) | |
r6Loader = require(3094168370) -- not interested in implementing this myself sorry | |
game.Players.PlayerAdded:connect(function(plr) | |
hookR6(plr) | |
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 | |
v:LoadCharacter() | |
end | |
end) | |
servwin:drawButton(1/2, 'Remove Sounds', function() | |
tk.rcm(game, 'Sound') | |
end) | |
servwin:drawButton(1/2, 'Remove Terrain', function() | |
workspace.Terrain:Clear() | |
end) | |
servwin:drawButton(1/2, 'Break All', function() | |
tk.rcf('BasePart', function(o) | |
o:BreakJoints() | |
end) | |
end) | |
servwin:drawButton(1/2, 'Unlock All', 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.Locked=false wait() end end) end r(v) end end r(workspace) | |
end) | |
servwin:addSpacing() | |
local gravInp | |
servwin:drawButton(1/3, 'Gravity', function() | |
if not tonumber(tk.txt(gravInp)) then return end | |
workspace.Gravity = tonumber(tk.txt(gravInp)) | |
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(tk.txt(brightInp)) then return end | |
game:GetService('Lighting').Brightness = tonumber(tk.txt(brightInp)) | |
end) | |
brightInp = servwin:drawTextBox(2/3, '100') | |
local fogInp | |
servwin:drawButton(1/3, 'Fog', function() | |
if not tonumber(tk.txt(fogInp)) then return end | |
game:GetService('Lighting').FogEnd = tonumber(tk.txt(fogInp)) | |
end) | |
fogInp = servwin:drawTextBox(2/3, '0') | |
local timeInp | |
servwin:drawButton(1/3, 'Hour', function() | |
if not tonumber(tk.txt(timeInp)) then return end | |
game:GetService('Lighting'):SetMinutesAfterMidnight(60*tonumber(tk.txt(timeInp))) | |
end) | |
timeInp = servwin:drawTextBox(2/3, '12') | |
servwin:addSpacing() | |
-- private server crap | |
servwin:drawButton(1, 'Teleport to Private Server', function() | |
local TS = game:GetService("TeleportService") | |
local players = game:GetService("Players") | |
local code = TS:ReserveServer(game.PlaceId) | |
TS:TeleportToPrivateServer(game.PlaceId, code, players:GetPlayers()) | |
end) | |
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(tk.txt(plrAddInp)) | |
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() | |
--// lplr //-- | |
local lpwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('LocalPlayer').Container) | |
lpwin:drawButton(1, 'Clear Executed Scripts', function() | |
for _, v in pairs(game.ServerScriptService:GetChildren()) do | |
if v.Name == "Runner" or v.Name == "Executed" then | |
v.Disabled = true | |
v:Destroy() | |
end | |
end | |
end) | |
lpwin:drawButton(1, 'Reset Camera', function() | |
topkek.client.Execute:FireAllClients("fixcam") | |
end) | |
lpwin:drawButton(1, 'Respawn', function() | |
topkek.lplr:LoadCharacter() | |
end) | |
lpwin:drawButton(1, 'Rejoin', function() | |
game:GetService('TeleportService'):Teleport(game.PlaceId, topkek.lplr) | |
end) | |
lpwin:drawButton(1, 'Go Invisible', function() | |
local function hide(p) | |
if p == topkek.lplr then return end | |
local scr = script.Anonymify:Clone() | |
local tgt = Instance.new("ObjectValue", scr) | |
tgt.Name = "Target" | |
tgt.Value = topkek.lplr | |
scr.Parent = p.PlayerGui | |
scr.Disabled = false | |
end | |
for _, p in pairs(game.Players:GetPlayers()) do | |
hide(p) | |
end | |
game.Players.PlayerAdded:connect(function(p) | |
hide(p) | |
end) | |
topkek.lplr:ClearCharacterAppearance() | |
tk.rco(topkek.lplr.Character, 'BasePart', 'Transparency', 1) | |
tk.rco(topkek.lplr.Character, 'MeshPart', 'Transparency', 1) | |
tk.rcm(topkek.lplr.Character, 'Decal') | |
tk.rcm(topkek.lplr.Character, 'BillboardGui') | |
topkek.lplr.Character.Name = "" | |
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() | |
topkek.client.Execute:FireAllClients("noclip") | |
end) | |
lpwin:drawButton(1/2, 'Fly', function() | |
topkek.client.Execute:FireAllClients("fly") | |
end) | |
lpwin:drawButton(1/2, 'Highjump', function() | |
topkek.client.Execute:FireAllClients("highjump") | |
end) | |
lpwin:addSpacing() | |
local apprInp | |
lpwin:drawButton(1/3, 'Appearance', function() | |
local id = 0 | |
if tonumber(tk.txt(apprInp)) then | |
id = tonumber(tk.txt(apprInp)) | |
else | |
id = game:GetService('Players'):GetUserIdFromNameAsync(tk.txt(apprInp)) | |
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(tk.txt(teamInp)) | |
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() | |
topkek.client.Execute:FireAllClients("freecam") | |
local m = Instance.new("Model", game.Workspace) | |
m.Name = topkek.lplr.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) | |
game:GetService("RunService").Heartbeat:connect(function() | |
orb.CFrame = topkek.cmouse.GetCameraCFrame:InvokeClient(topkek.lplr) * CFrame.new(0, -2, -6) | |
end) | |
topkek.lplr.Chatted:connect(function(a) | |
game:GetService("Chat"):Chat(orb, a) | |
end) | |
end) | |
lpwin:drawButton(1/2, 'Freecam', function() | |
topkek.client.Execute:FireAllClients("freecam") | |
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 | |
} | |
local model = game:GetService("InsertService"):LoadAsset(hats[math.random(1,#hats)]) | |
model:GetChildren()[1].Parent = topkek.lplr.Character | |
end) | |
lpwin:drawButton(1/2, 'Rainbow Name', function() | |
topkek.lplr.Neutral = false | |
local k, add = 1, 5 | |
while k <= 255 do | |
topkek.lplr.TeamColor = BrickColor.new(Color3.new(k/255,0/255,0/255)) | |
k = k + add | |
wait() | |
end | |
while true do | |
k = 1 | |
while k <= 255 do | |
topkek.lplr.TeamColor = BrickColor.new(Color3.new(255/255,k/255,0/255)) | |
k = k + add | |
wait() | |
end | |
k = 1 | |
while k <= 255 do | |
topkek.lplr.TeamColor = BrickColor.new(Color3.new(255/255 - k/255,255/255,0/255)) | |
k = k + add | |
wait() | |
end | |
k = 1 | |
while k <= 255 do | |
topkek.lplr.TeamColor = BrickColor.new(Color3.new(0/255,255/255,k/255)) | |
k = k + add | |
wait() | |
end | |
k = 1 | |
while k <= 255 do | |
topkek.lplr.TeamColor = BrickColor.new(Color3.new(0/255,255/255 - k/255,255/255)) | |
k = k + add | |
wait() | |
end | |
k = 1 | |
while k <= 255 do | |
topkek.lplr.TeamColor = BrickColor.new(Color3.new(k/255,0/255,255/255)) | |
k = k + add | |
wait() | |
end | |
k = 1 | |
while k <= 255 do | |
topkek.lplr.TeamColor = BrickColor.new(Color3.new(255/255,0/255,255/255 - k/255)) | |
k = k + add | |
wait() | |
end | |
while k <= 255 do | |
topkek.lplr.TeamColor = BrickColor.new(Color3.new(255/255 - k/255,0/255,0/255)) | |
k = k + add | |
wait() | |
end | |
end | |
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 = tk.txt(tagInp) | |
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:drawButton(1, '', function()end) | |
dropScripts = GUI.DropDown.New(UDim2.new(0, 0, 0, 0), UDim2.new(1, 0, 1, 0), search, {'All'}) | |
function fixPlayerDropScripts() | |
local t = {'All'} | |
for i, v in pairs(game.Players:GetPlayers()) do | |
table.insert(t, v.Name) | |
end | |
dropScripts.SetTable(t) | |
end | |
game.Players.PlayerAdded:connect(function() | |
fixPlayerDropScripts() | |
end) | |
game.Players.PlayerRemoving:connect(function() | |
fixPlayerDropScripts() | |
end) | |
cval2 = 'All' | |
fixPlayerDropScripts() | |
function updatePlayerScripts(plri) | |
cval2 = plri | |
end | |
dropScripts.Changed(updatePlayerScripts) | |
dropScripts.Select(topkek.lplr.Name) | |
local search = scriptwin:drawTextBox(1,'') | |
local origy = scriptwin:getDrawY() | |
scriptwin:addSpacing() | |
scriptwin:addSpacing() | |
local scripts = script.Scripts | |
local container = {} | |
function Run(scr, target) | |
local runner = script.Runner:Clone() | |
local req = scr:Clone() | |
req.Name = "Require" | |
req.Parent = runner | |
local tgv = Instance.new("StringValue", runner) | |
tgv.Value = target | |
tgv.Name = "Target" | |
runner.Parent = game.ServerScriptService | |
runner.Disabled = false | |
end | |
function MakeList(condition) | |
for i,v in pairs(scriptwin:GetChildren()) do | |
if v.Name == "Script" then | |
v:Destroy() | |
end | |
end | |
scriptwin:setDrawY(origy) | |
local children = scripts:GetChildren() | |
table.sort(children, function ( a, b ) | |
return a.Name:lower() < b.Name:lower() | |
end) | |
for i, v in pairs(children) do | |
if string.find(v.Name:lower(), condition:lower()) or (condition == "") or (condition == " ") then | |
local scr = scriptwin:drawButton(1, v.Name, function() | |
spawn(function() | |
if cval2 == 'All' then | |
topkek.log:record("Script", v.Name, "All") | |
for _, plr in pairs(game.Players:GetPlayers()) do | |
Run(v, plr.Name) | |
end | |
else | |
topkek.log:record("Script", v.Name, cval2) | |
Run(v, cval2) | |
end | |
end) | |
end, 25) | |
scr.Name = 'Script' | |
end | |
end | |
end | |
topkek.cmouse.ConnectInputRead:FireAllClients(search) | |
topkek.cmouse.ConnectInputRead.OnServerEvent:connect(function(plr, obj) | |
if obj == search then | |
MakeList(tk.txt(search)) | |
end | |
end) | |
MakeList('') | |
--// DESTRUCTION // -- | |
local destwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Destruction').Container) | |
local noticeContainer = topkek.tools.util.Object("Frame", { | |
Parent = topkek.tools.util.getContainer('Destruction').Container, | |
Size = UDim2.new(1, 0, 1, 0), | |
BackgroundColor3 = topkek.settings.primary(), | |
BackgroundTransparency = 0.8, | |
ZIndex = 14, | |
}) | |
local notice = topkek.tools.util.Object("TextLabel", { | |
Parent = noticeContainer, | |
Size = UDim2.new(0.8, 0, 1, 0), | |
Position = UDim2.new(0.1, 0, 0, 0), | |
BackgroundTransparency = 1, | |
Font = "SourceSansBold", | |
TextSize = 25, | |
TextWrapped = true, | |
TextColor3 = topkek.settings.text(), | |
Text = "This module has been disabled due to severe abuse. Soon, this menu will be transformed into a Discord-based require hub.", | |
ZIndex = 15 | |
}) | |
--// 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(300) | |
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(250) | |
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(tk.txt(setInp)) then | |
cursel.Text = "Currently Selected - " .. setInp.Text | |
xcursel = tonumber(tk.txt(setInp)) | |
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}, | |
{name='Tryhard',id=1569795428} | |
} | |
local cursel, xcursel = nil, 0 | |
faclist = facwin:drawScrollingContainer(300) | |
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: thank you for supporting 5.0 <3') | |
setwin:addSpacing() | |
primaryTxt = setwin:drawText(1, ' Primary Color'); primaryTxt.TextXAlignment = 'Left' | |
secondaryTxt = setwin:drawText(1, ' Secondary Color'); secondaryTxt.TextXAlignment = 'Left' | |
tertiaryTxt = setwin:drawText(1, ' Tertiary Color'); tertiaryTxt.TextXAlignment = 'Left' | |
textTxt = setwin:drawText(1, ' Text Color'); textTxt.TextXAlignment = 'Left' | |
local function createColorButton(parent, which) | |
local obj = topkek.tools.util.Object("TextButton", { | |
Parent = parent; | |
BackgroundColor3 = topkek.settings[which](); | |
BorderSizePixel = 1; | |
Position = UDim2.new(1, -52, 0, 2); | |
Size = UDim2.new(0, 50, 1, -4); | |
Font = 'SourceSans'; | |
FontSize = 'Size14'; | |
Text = 'Change'; | |
TextSize = 14; | |
TextColor3 = tk.shift(topkek.settings.text(), -50); | |
ZIndex = 15; | |
}) | |
obj.MouseButton1Down:connect(function() | |
topkek.client.Execute:FireAllClients("openpicker", topkek.settings[which](), which) | |
end) | |
return obj | |
end | |
primaryBtn = createColorButton(primaryTxt, "primary") | |
secondaryBtn = createColorButton(secondaryTxt, "secondary") | |
tertiaryBtn = createColorButton(tertiaryTxt, "tertiary") | |
textBtn = createColorButton(textTxt, "text") | |
exportBox = setwin:drawTextBox(3/5, 'Copy this text to Discord!'); exportBox.ClipsDescendants = true; exportBox.ClearTextOnFocus = false | |
exportBtn = setwin:drawButton(2/5, 'Export', function() | |
exportBox.Text = topkek.settings.write() | |
end) | |
setwin:addSpacing() | |
local menusEnabled = true | |
contextBtn = setwin:drawButton(1, 'Disable Player Context Menus', function() | |
menusEnabled = not menusEnabled | |
contextBtn.Text = menusEnabled and 'Disable Player Context Menus' or 'Enable Player Context Menus' | |
topkek.client.Execute:FireAllClients("togglecontext") | |
end) | |
setwin:addSpacing() | |
setwin:drawText(1, [[ | |
=== CREDITS === | |
ROBLOX - y u delete? | |
Reizayah - told me some stuff | |
Thanks to everyone that supported T0PK3K 5.0! | |
]], 125) | |
setwin:addSpacing() | |
--// 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'], tk.txt(plrBanInp)) | |
topkek.settings.write() | |
UpdateBanlist() | |
end) | |
plrBanInp = banwin:drawTextBox(2/3, '') | |
banCont = banwin:drawScrollingContainer(320) | |
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 | |
if game.Players:FindFirstChild(v) then | |
game.Players[v]:Kick("You are banned.") | |
end | |
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.banmgr.bans = topkek.settingsTable['Bans'] | |
topkek.settings.write() | |
UpdateBanlist() | |
end | |
end | |
end) | |
end | |
end | |
UpdateBanlist() | |
--// GEAR //-- | |
hatwin = topkek.tools.gui:hookContainer(topkek.tools.util.getContainer('Gear').Container) | |
local gear = require(script.Gear) | |
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) | |
fixPlayerDropi() | |
local hatInp | |
hatlist = hatwin:drawScrollingContainer(300) | |
hatlist.ScrollingEnabled = false | |
for name, id in pairs(gear) do | |
local hb = hatlist:drawButton(1, name, function() | |
hatInp.Text = tostring(id[2]) | |
end) | |
topkek.tools.gui:addLeftIcon(hb, 'https://www.roblox.com/asset-thumbnail/image?assetId=' .. tostring(id[2]) .. '&width=420&height=420&format=png', 20) | |
end | |
hatwin:drawButton(1/3, 'Equip', function() | |
topkek.log:record("EquipGear", tonumber(tk.txt(hatInp))) | |
local gr = game:GetService("InsertService"):LoadAsset(tonumber(tk.txt(hatInp))):GetChildren()[1] | |
tk.dp(eval, function(x) | |
if x.Character then | |
gr:Clone().Parent = x.Backpack | |
end | |
end) | |
end) | |
hatInp = hatwin:drawTextBox(2/3, '') | |
topkek.tools.animator.initialAnimation() | |
topkek.banmgr.init() | |
topkek.tools.util.saveMap() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment