---UNIVERSAL ---uselessscripter: ---Controls: --- - Page Up: Save Config --- - Page Down: Load Config --- - Home: Toggle Menu --- - End: Unload --- - Keypad Eight: Up --- - Keypad Two: Down --- - Keypad Four: Cycle Left --- - Keypad Six: Cycle Right --- Features: --- Aimbot: --- - Toggle --- - Sensitivity (Lower = Less Snap) --- - FOV --- - Deadzone (Circle inside FOV where aimbot will not move) --- - Deadzone FOV --- - Hitbox (Head, Torso, Closest) --- - Teamkill --- - Dead Check --- - Visible Check --- - Invisible Check --- - Forcefield Check --- - Non-Sticky Aim --- - Targetting Method (Mouse, Distance, Health) --- - Don't Lock when Right Clicking --- - Cursor Calibration Key --- Triggerbot: --- - Toggle --- - Teamkill --- - Invisible Check --- - Dead Check --- - Forcefield Check --- - Delay --- - Duration --- ESP: --- - Toggle --- - Box --- - Health --- - Name --- - Hide Team ---Exploits: --- - Packet Choke --- - Spinbot --- - Catboy --- - Click TP --- - Fly ---Ceresian: CLAN GAMES/UNIVERSAL local ReplicatedStorage = game:GetService("ReplicatedStorage") -- Services local UserInputService = game:GetService("UserInputService") local NetworkClient = game:GetService("NetworkClient") local TweenService = game:GetService("TweenService") local HttpService = game:GetService("HttpService") local RunService = game:GetService("RunService") local Workspace = game:GetService("Workspace") local Players = game:GetService("Players") local localPlayer = Players.LocalPlayer -- Locals local mouse = localPlayer:GetMouse() local functions = { ["HttpGet"] = game.HttpGet, ["FindFirstAncestor"] = game.FindFirstAncestor , ["FindFirstAncestorOfClass"] = game.FindFirstAncestorOfClass, ["FindFirstAncestorWhichIsA"] = game.FindFirstAncestorWhichIsA, ["FindFirstChild"] = game.FindFirstChild, ["FindFirstChildOfClass"] = game.FindFirstChildOfClass, ["FindFirstChildWhichIsA"] = game.FindFirstChildWhichIsA, ["FindFirstDescendant"] = game.FindFirstDescendant, ["IsAncestorOf"] = game.IsAncestorOf, ["IsDescendantOf"] = game.IsDescendantOf, ["isA"] = game.IsA, ["wrap"] = coroutine.wrap, ["insert"] = table.insert, ["remove"] = table.remove, ["find"] = table.find, ["GetMouseLocation"] = UserInputService.GetMouseLocation, ["GetFocusedTextBox"] = UserInputService.GetFocusedTextBox, ["IsKeyDown"] = UserInputService.IsKeyDown, ["GetPlayers"] = Players.GetPlayers, ["type"] = type, ["tostring"] = tostring, ["sfind"] = string.find, ["sin"] = math.sin, ["cos"] = math.cos, ["rad"] = math.rad, ["floor"] = math.floor, ["abs"] = math.abs, ["huge"] = math.huge, ["clamp"] = math.clamp, ["nRay"] = Ray.new , ["nRayParams"] = RaycastParams.new, ["nCFrame"] = CFrame.new, ["nVector3"] = Vector3.new, ["nVector2"] = Vector2.new, ["nColor3"] = Color3.new, ["nAngles"] = CFrame.Angles, ["nRGB"] = Color3.fromRGB, ["nHSV"] = Color3.fromHSV, ["nInstance"] = Instance.new, ["nDrawing"] = Drawing.new, ["setmetatable"] = setmetatable, ["next"] = next, ["ipairs"] = ipairs, ["wait"] = wait, ["rawget"] = rawget, } local constants = { ["9e9"] = 9e9, ["5000"] = 5000, ["1000"] = 1000, ["360"] = 360, ["320"] = 320, ["255"] = 255, ["252"] = 252, ["144"] = 144, ["95"] = 95, ["70"] = 70, ["20"] = 20, ["15"] = 15, ["13"] = 13, ["10"] = 10, ["8"] = 8, ["6"] = 6, ["5"] = 5, ["4"] = 4, ["2"] = 2, ["1"] = 1, [".75"] = .75, [".5"] = .5, [".3"] = .3, [".1"] = .1, ["0"] = 0, ["true"] = true, ["false"] = false, ["nil"] = nil, } local UserInputService = game:GetService("UserInputService") -- Services local HttpService = game:GetService("HttpService") local Workspace = game:GetService("Workspace") local RunService = game:GetService("RunService") local Players = game:GetService("Players") local insert = table.insert -- Cache local remove = table.remove local find = table.find local nVector2 = Vector2.new local nRGB = Color3.fromRGB local nDrawing = Drawing.new local screenSize = nVector2(Workspace.CurrentCamera.ViewportSize.X, Workspace.CurrentCamera.ViewportSize.Y) -- Screen local screenCenter = nVector2(Workspace.CurrentCamera.ViewportSize.X/2, Workspace.CurrentCamera.ViewportSize.Y/2) local frameworkHook local framework = { connections = {}, flags = {}, esp = {}, labels = {}, theme = { font = Drawing.Fonts.Plex, fontSize = 13 }, menu = { open = true, offset = -120, bindingKey = false, currentItem = nil, keybinds = {}, list = {}, drawings = {}, hiddenDrawings = {}, } } setmetatable(framework, { __call = function(self, key, args) if key == "draw" then local i = nDrawing(args.class) for prop, val in next, args.properties do i[prop] = val end if not args.hidden then insert(self.menu.drawings, i) else insert(self.menu.hiddenDrawings, i) end return i elseif key == "deepCopy" then local function deepCopy(tbl) local copy = {} for k, v in pairs(tbl) do if type(v) == "table" then v = deepCopy(v) end copy[k] = v end return copy end return deepCopy(args.tbl) elseif key == "doesDrawingExist" then if args.drawing then if rawget(args.drawing, '__OBJECT_EXISTS') then return true else return false end else return err("No Drawing Specified [1]") end elseif key == "udim" then -- (type, xScale, xOffset, yScale, yOffset, relativeFrom) if args.type == "size" then local x local y if args.relativeFrom then x = args.xScale*args.relativeFrom.Size.X+args.xOffset y = args.yScale*args.relativeFrom.Size.Y+args.yOffset else x = args.xScale*screenSize.X+args.xOffset y = args.yScale*screenSize.Y+args.yOffset end return nVector2(x,y) elseif args.type == "position" then local x local y if args.relativeFrom then if find(args.relativeFrom, "Font") then x = args.relativeFrom.Position.X + args.xScale * args.relativeFrom.Size.X + args.xOffset y = args.relativeFrom.Position.y + args.yScale * args.relativeFrom.Size.y + args.yOffset else x = args.relativeFrom.Position.x + args.xOffset y = args.relativeFrom.Position.y + args.yOffset end else x = args.xScale * screenSize.X + args.xOffset y = args.yScale * screenSize.Y + args.yOffset end return nVector2(x,y) else return "Non Valid Argument [1]" end elseif key == "createConnection" then -- (name, connection, callback) if not self.connections[args.name] then self.connections[args.name] = args.connection:Connect(args.callback) return self.connections[args.name] end elseif key == "destroyConnection" then -- (name) if self.connections[args.name] then self.connections[args.name]:Disconnect() self.connections[args.name] = nil end elseif key == "saveConfig" then local copy = self("deepCopy", {tbl = self.flags}) writefile("Config.YUKIHOOK", HttpService:JSONEncode(copy)) elseif key == "loadConfig" then local decodedData = HttpService:JSONDecode(readfile("Config.YUKIHOOK")) for i,v in next, decodedData do self.flags[i] = v end for i,v in next, self.menu.list do v:refresh() end elseif key == "unload" then for i,v in next, framework.connections do v:Disconnect() framework.connections[i] = nil end for i,v in next, framework.esp do if type(v) == 'table' and v.Destroy then v.Destroy() framework.esp[i] = nil end end for i,v in next, framework.menu.drawings do if type(v) == 'table' and rawget(v, '__OBJECT_EXISTS') then v:Remove() framework.menu.drawings[i] = nil end end for i,v in next, framework.menu.hiddenDrawings do if type(v) == 'table' and rawget(v, '__OBJECT_EXISTS') then v:Remove() framework.menu.hiddenDrawings[i] = nil end end end end }) function framework:createWindow(args) local window = {name = args.name or "TORGBOT"} window.textShadow = self("draw", {class = "Text", properties = { Text = window.name, Font = self.theme.font, Size = self.theme.fontSize, Position = framework("udim", {type = "position", xScale = 0, xOffset = 6, yScale = 0, yOffset = 320}), Visible = self.menu.open, Transparency = 1, Color = nRGB(0,0,0) }}) window.text = self("draw", {class = "Text", properties = { Text = window.name, Font = self.theme.font, Size = self.theme.fontSize, Position = framework("udim", {type = "position", xScale = 0, xOffset = -1, yScale = 0, yOffset = -1, relativeFrom = window.textShadow}), Visible = self.menu.open, Transparency = 1, Color = nRGB(255,255,255) }}) self.menu.offset += 15 function window:selectItem(args) if framework.menu.currentItem then if framework.menu.currentItem.type == "label" then framework.menu.currentItem:setText(framework.menu.currentItem.text) framework.menu.currentItem:hover(false) elseif framework.menu.currentItem.type == "toggle" then framework.menu.currentItem:setText(framework.menu.currentItem.text.. " <"..tostring(framework.menu.currentItem.value)..">") framework.menu.currentItem:hover(false) elseif framework.menu.currentItem.type == "int" then framework.menu.currentItem:setText(framework.menu.currentItem.text.. " <"..tostring(framework.menu.currentItem.value)..">") framework.menu.currentItem:hover(false) elseif framework.menu.currentItem.type == "keybind" then framework.menu.currentItem:setText(framework.menu.currentItem.text.. " <"..tostring(framework.menu.currentItem.key)..">") framework.menu.currentItem:hover(false) elseif framework.menu.currentItem.type == "list" then framework.menu.currentItem:setText(framework.menu.currentItem.text.. " <"..tostring(framework.menu.currentItem.value)..">") framework.menu.currentItem:hover(false) end end framework.menu.currentItem = args.item if framework.menu.currentItem.type == "label" then framework.menu.currentItem:setText(framework.menu.currentItem.text.." <") framework.menu.currentItem:hover(true) elseif framework.menu.currentItem.type == "toggle" then framework.menu.currentItem:setText(framework.menu.currentItem.text.. " <"..tostring(framework.menu.currentItem.value).."> <") framework.menu.currentItem:hover(true) elseif framework.menu.currentItem.type == "int" then framework.menu.currentItem:setText(framework.menu.currentItem.text.. " <"..tostring(framework.menu.currentItem.value).."> <") framework.menu.currentItem:hover(true) elseif framework.menu.currentItem.type == "keybind" then framework.menu.currentItem:setText(framework.menu.currentItem.text.. " <"..tostring(framework.menu.currentItem.key).."> <") framework.menu.currentItem:hover(true) elseif framework.menu.currentItem.type == "list" then framework.menu.currentItem:setText(framework.menu.currentItem.text.. " <"..tostring(framework.menu.currentItem.value).."> <") framework.menu.currentItem:hover(true) end end function window:createLabel(args) local item = {text = args.text or "", drawings = {}, type = args.type or "label"} item.drawings.textShadow = framework("draw", {class = "Text", properties = { Text = item.text, Font = framework.theme.font, Size = framework.theme.fontSize, Position = framework("udim", {type = "position", xScale = 0, xOffset = 0, yScale = 0, yOffset = framework.menu.offset, relativeFrom = window.textShadow}), Visible = framework.menu.open, Transparency = 1, Color = nRGB(0,0,0) }}) item.drawings.text = framework("draw", {class = "Text", properties = { Text = item.text, Font = framework.theme.font, Size = framework.theme.fontSize, Position = framework("udim", {type = "position", xScale = 0, xOffset = -1, yScale = 0, yOffset = -1, relativeFrom = item.drawings.textShadow}), Visible = framework.menu.open, Transparency = 1, Color = nRGB(255,255,255) }}) function item:setText(text) item.drawings.textShadow.Text = text item.drawings.text.Text = text end function item:hover(bool) if bool then item.drawings.text.Color = nRGB(2,144,252) else item.drawings.text.Color = nRGB(255,255,255) end end framework.menu.offset += 15 if #framework.menu.list == 0 then window:selectItem({item = item}) end insert(framework.menu.list, item) return item end function window:createInt(args) local item = {text = args.text or "", drawings = {}, type = args.type or "int", flag = args.flag or "", precision = args.offset or 1, value = args.default or 0, callback = args.callback or function() end} item.drawings.textShadow = framework("draw", {class = "Text", properties = { Text = item.text.. " <"..tostring(item.value)..">", Font = framework.theme.font, Size = framework.theme.fontSize, Position = framework("udim", {type = "position", xScale = 0, xOffset = 0, yScale = 0, yOffset = framework.menu.offset, relativeFrom = window.textShadow}), Visible = framework.menu.open, Transparency = 1, Color = nRGB(0,0,0) }}) item.drawings.text = framework("draw", {class = "Text", properties = { Text = item.text.. " <"..item.value..">", Font = framework.theme.font, Size = framework.theme.fontSize, Position = framework("udim", {type = "position", xScale = 0, xOffset = -1, yScale = 0, yOffset = -1, relativeFrom = item.drawings.textShadow}), Visible = framework.menu.open, Transparency = 1, Color = nRGB(255,255,255) }}) function item:offset(args) item.value += args.offset item.drawings.textShadow.Text = item.text.. " <"..item.value.."> <" item.drawings.text.Text = item.text.. " <"..item.value.."> <" framework.flags[item.flag] = item.value item.callback(item.value) end framework.flags[item.flag] = item.value item.callback(item.value) function item:setText(text) item.drawings.textShadow.Text = text item.drawings.text.Text = text end function item:hover(bool) if bool then item.drawings.text.Color = nRGB(2,144,252) else item.drawings.text.Color = nRGB(255,255,255) end end function item:refresh() item.value = framework.flags[item.flag] item.drawings.textShadow.Text = item.text.. " <"..tostring(item.value)..">" item.drawings.text.Text = item.text.. " <"..tostring(item.value)..">" item.callback(item.value) if framework.menu.currentItem == item then item.drawings.textShadow.Text = item.text.. " <"..tostring(item.value).."> <" item.drawings.text.Text = item.text.. " <"..tostring(item.value).."> <" item:hover(true) end end framework.menu.offset += 15 if #framework.menu.list == 0 then window:selectItem({item = item}) end insert(framework.menu.list, item) return item end function window:createToggle(args) local item = {text = args.text or "", drawings = {}, type = args.type or "toggle", flag = args.flag or "", value = args.default or false, callback = args.callback or function() end} item.drawings.textShadow = framework("draw", {class = "Text", properties = { Text = item.text.. " <"..tostring(item.value)..">", Font = framework.theme.font, Size = framework.theme.fontSize, Position = framework("udim", {type = "position", xScale = 0, xOffset = 0, yScale = 0, yOffset = framework.menu.offset, relativeFrom = window.textShadow}), Visible = framework.menu.open, Transparency = 1, Color = nRGB(0,0,0) }}) item.drawings.text = framework("draw", {class = "Text", properties = { Text = item.text.. " <"..tostring(item.value)..">", Font = framework.theme.font, Size = framework.theme.fontSize, Position = framework("udim", {type = "position", xScale = 0, xOffset = -1, yScale = 0, yOffset = -1, relativeFrom = item.drawings.textShadow}), Visible = framework.menu.open, Transparency = 1, Color = nRGB(255,255,255) }}) function item:toggle() item.value = not item.value item.drawings.textShadow.Text = item.text.. " <"..tostring(item.value).."> <" item.drawings.text.Text = item.text.. " <"..(tostring(item.value)).."> <" framework.flags[item.flag] = item.value item.callback(item.value) end framework.flags[item.flag] = item.value item.callback(item.value) function item:setText(text) item.drawings.textShadow.Text = text item.drawings.text.Text = text end function item:hover(bool) if bool then item.drawings.text.Color = nRGB(2,144,252) else item.drawings.text.Color = nRGB(255,255,255) end end function item:refresh() item.value = framework.flags[item.flag] item.drawings.textShadow.Text = item.text.. " <"..tostring(item.value)..">" item.drawings.text.Text = item.text.. " <"..tostring(item.value)..">" item.callback(item.value) if framework.menu.currentItem == item then item.drawings.textShadow.Text = item.text.. " <"..tostring(item.value).."> <" item.drawings.text.Text = item.text.. " <"..tostring(item.value).."> <" item:hover(true) end end framework.menu.offset += 15 if #framework.menu.list == 0 then window:selectItem({item = item}) end insert(framework.menu.list, item) return item end function window:createList(args) local item = {text = args.text or "", drawings = {}, type = args.type or "list", value = args.default or "none", flag = args.flag or "", list = args.list or {}, callback = args.callback or function() end} item.drawings.textShadow = framework("draw", {class = "Text", properties = { Text = item.text.. " <"..item.value..">", Font = framework.theme.font, Size = framework.theme.fontSize, Position = framework("udim", {type = "position", xScale = 0, xOffset = 0, yScale = 0, yOffset = framework.menu.offset, relativeFrom = window.textShadow}), Visible = framework.menu.open, Transparency = 1, Color = nRGB(0,0,0) }}) item.drawings.text = framework("draw", {class = "Text", properties = { Text = item.text.. " <"..item.value..">", Font = framework.theme.font, Size = framework.theme.fontSize, Position = framework("udim", {type = "position", xScale = 0, xOffset = -1, yScale = 0, yOffset = -1, relativeFrom = item.drawings.textShadow}), Visible = framework.menu.open, Transparency = 1, Color = nRGB(255,255,255) }}) function item:selectOption(option) item.value = option item.drawings.textShadow.Text = item.text.. " <"..item.value.."> <" item.drawings.text.Text = item.text.. " <"..item.value.."> <" framework.flags[item.flag] = item.value item.callback(item.value) end framework.flags[item.flag] = item.value item.callback(item.value) function item:setText(text) item.drawings.textShadow.Text = text item.drawings.text.Text = text end function item:hover(bool) if bool then item.drawings.text.Color = nRGB(2,144,252) else item.drawings.text.Color = nRGB(255,255,255) end end function item:refresh() item.value = framework.flags[item.flag] item.drawings.textShadow.Text = item.text.. " <"..tostring(item.value)..">" item.drawings.text.Text = item.text.. " <"..tostring(item.value)..">" item.callback(item.value) if framework.menu.currentItem == item then item.drawings.textShadow.Text = item.text.. " <"..tostring(item.value).."> <" item.drawings.text.Text = item.text.. " <"..tostring(item.value).."> <" item:hover(true) end end framework.menu.offset += 15 if #framework.menu.list == 0 then window:selectItem({item = item}) end insert(framework.menu.list, item) return item end function window:createKeybind(args) local item = { text = args.text or "", key = args.defaultKey.Name or "unbound", track = args.trackType or "Toggle", state = false, drawings = {}, type = args.type or "keybind", callback = args.callback or function() end, flag = args.flag or "" } item.drawings.textShadow = framework("draw", {class = "Text", properties = { Text = item.text.. " <"..tostring(item.key)..">", Font = framework.theme.font, Size = framework.theme.fontSize, Position = framework("udim", {type = "position", xScale = 0, xOffset = 0, yScale = 0, yOffset = framework.menu.offset, relativeFrom = window.textShadow}), Visible = framework.menu.open, Transparency = 1, Color = nRGB(0,0,0) }}) item.drawings.text = framework("draw", {class = "Text", properties = { Text = item.text.. " <"..tostring(item.key)..">", Font = framework.theme.font, Size = framework.theme.fontSize, Position = framework("udim", {type = "position", xScale = 0, xOffset = -1, yScale = 0, yOffset = -1, relativeFrom = item.drawings.textShadow}), Visible = framework.menu.open, Transparency = 1, Color = nRGB(255,255,255) }}) function item:setKey(Input) if Input then item.key = Input.KeyCode.Name ~= "Unknown" and Input.KeyCode.Name or Input.UserInputType.Name item.drawings.textShadow.Text = item.text.. " <"..tostring(item.key).."> <" item.drawings.text.Text = item.text.. " <"..tostring(item.key).."> <" framework.flags[item.flag][1] = item.key else item.key = "unbound" item.state = false item.drawings.textShadow.Text = item.text.. " <" item.drawings.text.Text = item.text.. " <" framework.flags[item.flag][1] = item.key end end function item:setText(text) item.drawings.textShadow.Text = text item.drawings.text.Text = text end function item:hover(bool) if bool then item.drawings.text.Color = nRGB(2,144,252) else item.drawings.text.Color = nRGB(255,255,255) end end function item:refresh() item.key = framework.flags[item.flag][1] item.state = framework.flags[item.flag][2] item.drawings.textShadow.Text = item.text.. " <"..tostring(item.key)..">" item.drawings.text.Text = item.text.. " <"..tostring(item.key)..">" item:hover(false) if framework.menu.currentItem == item then item.drawings.textShadow.Text = item.text.. " <"..tostring(item.key).."> <" item.drawings.text.Text = item.text.. " <"..tostring(item.key).."> <" item:hover(true) end end framework.menu.offset += 15 if #framework.menu.list == 0 then window:selectItem({item = item}) end framework.flags[item.flag] = {item.key, item.state} insert(framework.menu.keybinds, item) insert(framework.menu.list, item) return item end self("createConnection", {connection = UserInputService.InputBegan, name = "MenuInputBegan", callback = function(Input) if self.menu.bindingKey then self.menu.bindingKey = false if Input.KeyCode.Name ~= "Unknown" and Input.KeyCode.Name:upper() or Input.UserInputType.Name:upper() then if Input.KeyCode.Name == "Delete" then self.menu.currentItem:setKey() else self.menu.currentItem:setKey(Input) end end else if Input.KeyCode == Enum.KeyCode.Home then for i,v in next, self.menu.drawings do if type(v) == 'table' and rawget(v, '__OBJECT_EXISTS') then v.Visible = not v.Visible end end self.menu.open = not self.menu.open elseif Input.KeyCode == Enum.KeyCode.End then self("unload") elseif Input.KeyCode == Enum.KeyCode.PageUp then self("saveConfig") elseif Input.KeyCode == Enum.KeyCode.PageDown then self("loadConfig") else if self.menu.open then if Input.KeyCode == Enum.KeyCode.KeypadEight then local indexCurrent = find(framework.menu.list, framework.menu.currentItem) if indexCurrent then if framework.menu.list[indexCurrent-1] ~= nil then window:selectItem({item = framework.menu.list[indexCurrent-1]}) else window:selectItem({item = framework.menu.list[#framework.menu.list]}) end end end if Input.KeyCode == Enum.KeyCode.KeypadTwo then local indexCurrent = find(framework.menu.list, framework.menu.currentItem) if indexCurrent then if framework.menu.list[indexCurrent+1] ~= nil then window:selectItem({item = framework.menu.list[indexCurrent+1]}) else window:selectItem({item = framework.menu.list[1]}) end end end if Input.KeyCode == Enum.KeyCode.KeypadSix then if self.menu.currentItem.type ~= "label" then if self.menu.currentItem.type == "int" then self.menu.currentItem:offset({offset = self.menu.currentItem.precision}) end if self.menu.currentItem.type == "toggle" then self.menu.currentItem:toggle() end if self.menu.currentItem.type == "list" then local indexCurrent = find(self.menu.currentItem.list, self.menu.currentItem.value) if indexCurrent then if self.menu.currentItem.list[indexCurrent+1] ~= nil then self.menu.currentItem:selectOption(self.menu.currentItem.list[indexCurrent+1]) end end end if self.menu.currentItem.type == "keybind" then self.menu.currentItem:setText(self.menu.currentItem.text.." <...> <") self.menu.bindingKey = true end end end if Input.KeyCode == Enum.KeyCode.KeypadFour then if self.menu.currentItem.type ~= "label" then if self.menu.currentItem.type == "int" then self.menu.currentItem:offset({offset = -self.menu.currentItem.precision}) end if self.menu.currentItem.type == "toggle" then self.menu.currentItem:toggle() end if self.menu.currentItem.type == "list" then local indexCurrent = find(self.menu.currentItem.list, self.menu.currentItem.value) if indexCurrent then if self.menu.currentItem.list[indexCurrent-1] ~= nil then self.menu.currentItem:selectOption(self.menu.currentItem.list[indexCurrent-1]) end end end if self.menu.currentItem.type == "keybind" then self.menu.currentItem:setText(self.menu.currentItem.text.." <...> <") self.menu.bindingKey = true end end end end for i,v in next, self.menu.keybinds do if v.key ~= "unbound" then if string.find(v.key, "Mouse") then if Input.UserInputType == Enum.UserInputType[v.key] then if v.track == "Hold" then v.state = true self.flags[v.flag][2] = true v.callback(v) elseif v.track == "Toggle" then v.state = not v.state v.callback(v) end end else if Input.KeyCode == Enum.KeyCode[v.key] then if v.track == "Hold" then v.state = true self.flags[v.flag][2] = true v.callback(v) elseif v.track == "Toggle" then v.state = not v.state v.callback(v) end end end end end end end end}) self("createConnection", {connection = UserInputService.InputEnded, name = "MenuInputEnded", callback = function(Input) for i,v in next, self.menu.keybinds do if v.key ~= "unbound" then if string.find(v.key, "Mouse") then if Input.UserInputType == Enum.UserInputType[v.key] then if v.track == "Hold" then v.state = false self.flags[v.flag][2] = false v.callback(v) end end else if Input.KeyCode == Enum.KeyCode[v.key] then if v.track == "Hold" then v.state = false self.flags[v.flag][2] = false v.callback(v) end end end end end end}) return window end function framework:createScreenLabel(args) local screenLabel = {text = args.text or "Screen Label", position = args.position or functions["nVector2"](95,constants["15"]), drawings = {}} screenLabel.drawings.labelShadow = framework("draw", {hidden = constants["true"], class = "Text", properties = { Text = screenLabel.text, Font = framework.theme.font, Size = framework.theme.fontSize, Position = framework("udim", {type = "position", xScale = constants["0"], xOffset = screenLabel.position.X+constants["1"], yScale = constants["0"], yOffset = screenLabel.position.Y+constants["1"]}), Visible = constants["true"], Transparency = constants["1"], Color = functions["nRGB"](constants["0"],constants["0"],constants["0"]) }}) screenLabel.drawings.label = framework("draw", {hidden = constants["true"], class = "Text", properties = { Text = screenLabel.text, Font = framework.theme.font, Size = framework.theme.fontSize, Position = framework("udim", {type = "position", xScale = constants["0"], xOffset = screenLabel.position.X, yScale = constants["0"], yOffset = screenLabel.position.Y}), Visible = constants["true"], Transparency = constants["1"], Color = functions["nRGB"](constants["255"],constants["255"],constants["255"]) }}) function screenLabel:changeText(text) screenLabel.text = text screenLabel.drawings.labelShadow.Text = text screenLabel.drawings.label.Text = text end functions["insert"](self.labels, screenLabel) return screenLabel end local client = { target = constants["nil"], targetHitPart = constants["nil"], packetVisualizer = constants["nil"], offsetVisualizer = constants["nil"], cursorOffset = functions["nVector2"](constants["0"],constants["0"]), Spin = constants["0"], } local fovCircle = framework("draw", {class = "Circle", hidden = constants["true"], properties = { Filled = constants["true"], Transparency = constants[".3"], Color = functions["nColor3"](constants["1"],constants["1"],constants["1"]), }}) local deadZoneCircle = framework("draw", {class = "Circle", hidden = constants["true"], properties = { Filled = constants["true"], Transparency = constants[".1"], Color = functions["nColor3"](constants["0"],constants["0"],constants["0"]), }}) function client.rotateYaw(CFRAME) local x, y, z = CFRAME:ToOrientation() return functions["nCFrame"](CFRAME.Position) * functions["nAngles"](constants["0"],y,constants["0"]) end function client.floor(val) return functions["nVector2"](functions["floor"](val.X),functions["floor"](val.Y)) end function client.returnCamera() return workspace.CurrentCamera end function client.returnBoundingBox(chr) if functions["FindFirstChild"](chr, "HumanoidRootPart") then local cf = chr.HumanoidRootPart.CFrame local cameraCFrame = client.returnCamera().CFrame local size = chr.HumanoidRootPart.Size + functions["nVector3"](constants["1"],4,constants["1"]) local left, lvis = client.returnCamera().WorldToViewportPoint(client.returnCamera(),cf.p+(cameraCFrame.RightVector*-size.z)) local right, rvis = client.returnCamera().WorldToViewportPoint(client.returnCamera(),cf.p+(cameraCFrame.RightVector*size.z)) local top, tvis = client.returnCamera().WorldToViewportPoint(client.returnCamera(),cf.p+(cameraCFrame.UpVector*size.y)/constants["2"]) local bottom, bvis = client.returnCamera().WorldToViewportPoint(client.returnCamera(),cf.p+(cameraCFrame.UpVector*-size.y)/constants["2"]) if not lvis and not rvis and not tvis and not bvis then return end local width = functions["floor"](functions["abs"](left.x - right.x)) local height = functions["floor"](functions["abs"](top.y - bottom.y)) local pos = client.returnCamera().WorldToViewportPoint(client.returnCamera(),cf.Position) local size = functions["nVector2"](width, height) size = client.floor(size) return client.floor(functions["nVector2"](pos.x-(size.x/constants["2"]), pos.y-(size.y/constants["2"]))), size end end function client.catBoy(plr) local cosmetic = game:GetObjects("rbxassetid://6931306290")[constants["1"]] local catboyed = functions["nInstance"]("StringValue") catboyed.Name = "catboyed" cosmetic.Parent = ReplicatedStorage catboyed.Parent = plr.Character if plr.Character and functions["FindFirstChild"](plr.Character, "HumanoidRootPart") then for i,v in functions["next"], plr.Character:GetChildren() do if v:IsA("Accoutrement") then v.Handle.Transparency = constants["1"] elseif v:IsA("Shirt") then v.ShirtTemplate = "rbxassetid://6660070716" elseif v:IsA("Pants") then v.PantsTemplate = "rbxassetid://6660072921" v.Color3 = functions["nColor3"](constants["0"],constants["0"],constants["0"]) end end end local ears = cosmetic.Ears:Clone() local hair = cosmetic.Hair:Clone() local earWeld = functions["nInstance"]("Weld",ears) local hairWeld = functions["nInstance"]("Weld",hair) ears.Parent = plr.Character hair.Parent = plr.Character earWeld.Part0 = ears.Handle hairWeld.Part0 = hair.Handle earWeld.Part1 = plr.Character.Head hairWeld.Part1 = plr.Character.Head earWeld.C0 = functions["nCFrame"](constants["0"],-constants[".75"],constants["0"]) hairWeld.C0 = functions["nCFrame"](constants["0"],-constants[".3"],constants["0"]) end function client.calculateTarget(method, hitPart) local MaxDist, Target = functions["huge"] local aimAt = hitPart local TheirPos, Dist if method == "Mouse" then for _,V in functions["next"], functions["GetPlayers"](Players) do if V ~= localPlayer then if V.Team ~= localPlayer.Team or framework.flags["aimbotTeamkill"] then if V.Character then if functions["FindFirstChild"](V.Character, "Head") then if functions["FindFirstChild"](V.Character, "Torso") or functions["FindFirstChild"](V.Character, "UpperTorso") then local Torso = functions["FindFirstChild"](V.Character, "Torso") or functions["FindFirstChild"](V.Character, "UpperTorso") if (functions["FindFirstChildOfClass"](V.Character, "Humanoid") and functions["FindFirstChildOfClass"](V.Character, "Humanoid").Health > constants["0"] and framework.flags["aimbotDead"]) or not framework.flags["aimbotDead"] then if (Torso.Transparency ~= constants["1"] and framework.flags["aimbotInvisible"]) or not framework.flags["aimbotInvisible"] then if (not functions["FindFirstChildOfClass"](V.Character, "ForceField") and framework.flags["aimbotForcefield"]) or not framework.flags["aimbotForcefield"] then if aimAt == "Closest" then local mousePoint = functions["GetMouseLocation"](UserInputService) local headPoint = client.returnCamera().WorldToViewportPoint(client.returnCamera(),V.Character.Head.Position) local torsoPoint = client.returnCamera().WorldToViewportPoint(client.returnCamera(), Torso.Position) local headMag = (functions["nVector2"](headPoint.X, headPoint.Y) - functions["nVector2"](mousePoint.X, mousePoint.Y)).Magnitude local torsoMag = (functions["nVector2"](torsoPoint.X, torsoPoint.Y) - functions["nVector2"](mousePoint.X, mousePoint.Y)).Magnitude aimAt = headMag < torsoMag and "Head" or functions["tostring"](Torso) end if aimAt == "Torso" then if functions["tostring"](Torso) == "UpperTorso" then aimAt = "UpperTorso" end end local Pos, Vis = client.returnCamera().WorldToViewportPoint(client.returnCamera(), V.Character[aimAt].Position) if Vis then TheirPos = functions["nVector2"](Pos.X, Pos.Y) Dist = (TheirPos - fovCircle.Position).Magnitude if (Dist < framework.flags["fovRadius"] and not framework.flags["aimbotIgnoreFOV"] or framework.flags["aimbotIgnoreFOV"]) and (Dist > framework.flags["deadZoneFOV"] and framework.flags["deadZone"] or not framework.flags["deadZone"]) then if not localPlayer.Character then break end if not functions["FindFirstChild"](localPlayer.Character, "Head") then break end local Params = functions["nRayParams"]({FilterDescendantsInstances = {client.returnCamera(), localPlayer.Character}, FilterType = Enum.RaycastFilterType.Blacklist, IgnoreWater = constants["true"]}) local Result = Workspace.Raycast(Workspace, localPlayer.Character.Head.Position,(V.Character[aimAt].Position - localPlayer.Character.Head.Position).unit*constants["5000"], Params) if (Result and Result.Instance and functions["IsDescendantOf"](Result.Instance, V.Character) and framework.flags["aimbotVisible"]) or not framework.flags["aimbotVisible"] then if Dist < MaxDist then MaxDist = Dist Target = V end end end end end if framework.flags["masterAimbot"] and framework.flags["aimKey"][constants["2"]] and ((not client.isMouseButtonDown(Enum.UserInputType.MouseButton2) and framework.flags["aimbotNoLock"]) or not framework.flags["aimbotNoLock"]) then client.target = Target client.targetHitPart = aimAt else client.target = constants["nil"] client.targetHitPart = constants["nil"] end end end end end end end end end end if method == "Distance" then for _,V in functions["next"], functions["GetPlayers"](Players) do if V ~= localPlayer then if V.Team ~= localPlayer.Team or framework.flags["aimbotTeamkill"] then if V.Character then if functions["FindFirstChild"](V.Character, "Head") then if functions["FindFirstChild"](V.Character, "Torso") or functions["FindFirstChild"](V.Character, "UpperTorso") then local Torso = functions["FindFirstChild"](V.Character, "Torso") or functions["FindFirstChild"](V.Character, "UpperTorso") if (functions["FindFirstChildOfClass"](V.Character, "Humanoid") and functions["FindFirstChildOfClass"](V.Character, "Humanoid").Health > constants["0"] and framework.flags["aimbotDead"]) or not framework.flags["aimbotDead"] then if (Torso.Transparency ~= constants["1"] and framework.flags["aimbotInvisible"]) or not framework.flags["aimbotInvisible"] then if (not functions["FindFirstChildOfClass"](V.Character, "ForceField") and framework.flags["aimbotForcefield"]) or not framework.flags["aimbotForcefield"] then if aimAt == "Closest" then local mousePoint = functions["GetMouseLocation"](UserInputService) local headPoint = client.returnCamera().WorldToViewportPoint(client.returnCamera(),V.Character.Head.Position) local torsoPoint = client.returnCamera().WorldToViewportPoint(client.returnCamera(), Torso.Position) local headMag = (functions["nVector2"](headPoint.X, headPoint.Y) - functions["nVector2"](mousePoint.X, mousePoint.Y)).Magnitude local torsoMag = (functions["nVector2"](torsoPoint.X, torsoPoint.Y) - functions["nVector2"](mousePoint.X, mousePoint.Y)).Magnitude aimAt = headMag < torsoMag and "Head" or functions["tostring"](Torso) end if aimAt == "Torso" then if functions["tostring"](Torso) == "UpperTorso" then aimAt = "UpperTorso" end end local Pos, Vis = client.returnCamera().WorldToViewportPoint(client.returnCamera(), V.Character[aimAt].Position) if Vis then TheirPos = functions["nVector2"](Pos.X, Pos.Y) Dist = localPlayer.DistanceFromCharacter(localPlayer, V.Character[aimAt].Position) local Mag = (TheirPos - fovCircle.Position).Magnitude if (Mag < framework.flags["fovRadius"] and not framework.flags["aimbotIgnoreFOV"] or framework.flags["aimbotIgnoreFOV"]) and (Mag > framework.flags["deadZoneFOV"] and framework.flags["deadZone"] or not framework.flags["deadZone"]) then if not localPlayer.Character then break end if not functions["FindFirstChild"](localPlayer.Character, "Head") then break end local Params = functions["nRayParams"]({FilterDescendantsInstances = {client.returnCamera(), localPlayer.Character}, FilterType = Enum.RaycastFilterType.Blacklist, IgnoreWater = constants["true"]}) local Result = Workspace.Raycast(Workspace, localPlayer.Character.Head.Position,(V.Character[aimAt].Position - localPlayer.Character.Head.Position).unit*constants["5000"], Params) if (Result and Result.Instance and functions["IsDescendantOf"](Result.Instance, V.Character) and framework.flags["aimbotVisible"]) or not framework.flags["aimbotVisible"] then if Dist < MaxDist then MaxDist = Dist Target = V end end end end end if framework.flags["masterAimbot"] and framework.flags["aimKey"][constants["2"]] and ((not client.isMouseButtonDown(Enum.UserInputType.MouseButton2) and framework.flags["aimbotNoLock"]) or not framework.flags["aimbotNoLock"]) then client.target = Target client.targetHitPart = aimAt else client.target = constants["nil"] client.targetHitPart = constants["nil"] end end end end end end end end end end if method == "Health" then for _,V in functions["next"], functions["GetPlayers"](Players) do if V ~= localPlayer then if V.Team ~= localPlayer.Team or framework.flags["aimbotTeamkill"] then if V.Character then if functions["FindFirstChild"](V.Character, "Head") then if functions["FindFirstChild"](V.Character, "Torso") or functions["FindFirstChild"](V.Character, "UpperTorso") then local Torso = functions["FindFirstChild"](V.Character, "Torso") or functions["FindFirstChild"](V.Character, "UpperTorso") if (functions["FindFirstChildOfClass"](V.Character, "Humanoid") and functions["FindFirstChildOfClass"](V.Character, "Humanoid").Health > constants["0"] and framework.flags["aimbotDead"]) or not framework.flags["aimbotDead"] then if (Torso.Transparency ~= constants["1"] and framework.flags["aimbotInvisible"]) or not framework.flags["aimbotInvisible"] then if (not functions["FindFirstChildOfClass"](V.Character, "ForceField") and framework.flags["aimbotForcefield"]) or not framework.flags["aimbotForcefield"] then if aimAt == "Closest" then local mousePoint = functions["GetMouseLocation"](UserInputService) local headPoint = client.returnCamera().WorldToViewportPoint(client.returnCamera(),V.Character.Head.Position) local torsoPoint = client.returnCamera().WorldToViewportPoint(client.returnCamera(), Torso.Position) local headMag = (functions["nVector2"](headPoint.X, headPoint.Y) - functions["nVector2"](mousePoint.X, mousePoint.Y)).Magnitude local torsoMag = (functions["nVector2"](torsoPoint.X, torsoPoint.Y) - functions["nVector2"](mousePoint.X, mousePoint.Y)).Magnitude aimAt = headMag < torsoMag and "Head" or functions["tostring"](Torso) end if aimAt == "Torso" then if functions["tostring"](Torso) == "UpperTorso" then aimAt = "UpperTorso" end end local Pos, Vis = client.returnCamera().WorldToViewportPoint(client.returnCamera(), V.Character[aimAt].Position) if Vis then TheirPos = functions["nVector2"](Pos.X, Pos.Y) Dist = functions["FindFirstChildOfClass"](V.Character, "Humanoid").Health local Mag = (TheirPos - fovCircle.Position).Magnitude if (Mag < framework.flags["fovRadius"] and not framework.flags["aimbotIgnoreFOV"] or framework.flags["aimbotIgnoreFOV"]) and (Mag > framework.flags["deadZoneFOV"] and framework.flags["deadZone"] or not framework.flags["deadZone"]) then if not localPlayer.Character then break end if not functions["FindFirstChild"](localPlayer.Character, "Head") then break end local Params = functions["nRayParams"]({FilterDescendantsInstances = {client.returnCamera(), localPlayer.Character}, FilterType = Enum.RaycastFilterType.Blacklist, IgnoreWater = constants["true"]}) local Result = Workspace.Raycast(Workspace, localPlayer.Character.Head.Position,(V.Character[aimAt].Position - localPlayer.Character.Head.Position).unit*constants["5000"], Params) if (Result and Result.Instance and functions["IsDescendantOf"](Result.Instance, V.Character) and framework.flags["aimbotVisible"]) or not framework.flags["aimbotVisible"] then if Dist < MaxDist then MaxDist = Dist Target = V end end end end end if framework.flags["masterAimbot"] and framework.flags["aimKey"][constants["2"]] and ((not client.isMouseButtonDown(Enum.UserInputType.MouseButton2) and framework.flags["aimbotNoLock"]) or not framework.flags["aimbotNoLock"]) then client.target = Target client.targetHitPart = aimAt else client.target = constants["nil"] client.targetHitPart = constants["nil"] end end end end end end end end end end end function client.renderCircle(Point, Radius) local Circle = {} local points = {} local lines = {} function Circle.Destroy() Circle.Stepped:Disconnect() for i,v in functions["ipairs"](lines) do if functions["rawget"](v, "__OBJECT_EXISTS") then v:Remove() end end for i,v in functions["ipairs"](points) do points[i] = constants["nil"] end end local ixAxis = Point.X local iyAxis = Point.Y local izAxis = Point.Z for i = constants["0"], constants['360'], constants["10"] do local xOffset = ixAxis + Radius * functions["cos"](functions["rad"](i)) local zOffset = izAxis + Radius * functions["sin"](functions["rad"](i)) local Result = functions["nVector3"](xOffset, iyAxis, zOffset) functions["insert"](points, Result) end for _,v in functions["ipairs"](points) do local line = framework("draw", {hidden = constants["true"], class = "Line", properties = { Visible = constants["true"], Transparency = constants["1"], Color = functions["nColor3"](constants["1"],constants["1"],constants["1"]), Thickness = constants["1"], }}) functions["insert"](lines, line) end Circle.Stepped = RunService.RenderStepped:Connect(function() local xAxis = Point.X local yAxis = Point.Y local zAxis = Point.Z for i,v in functions["ipairs"](points) do points[i] = constants["nil"] end for i = constants["0"], constants['360'], constants["10"] do local xOffset = xAxis + Radius * functions["cos"](functions["rad"](i)) local zOffset = zAxis + Radius * functions["sin"](functions["rad"](i)) local Result = functions["nVector3"](xOffset, yAxis, zOffset) functions["insert"](points, Result) end for i,v in functions["ipairs"](lines) do local nextPoint = points[i+constants["1"]] if nextPoint ~= constants["nil"] then local currentPointPosition,isCurrentVisible = client.returnCamera().WorldToViewportPoint(client.returnCamera(),points[i]) local nextPointPosition,isNextVisible = client.returnCamera().WorldToViewportPoint(client.returnCamera(),nextPoint) if not isCurrentVisible and not isNextVisible then if functions["rawget"](v, "__OBJECT_EXISTS") then v.Visible = constants["false"] end else if functions["rawget"](v, "__OBJECT_EXISTS") then v.Visible = constants["true"] v.From = functions["nVector2"](currentPointPosition.X,currentPointPosition.Y) v.To = functions["nVector2"](nextPointPosition.X,nextPointPosition.Y) end end end end end) return Circle end function client.isMouseButtonDown(inputType) for _,button in pairs(UserInputService:GetMouseButtonsPressed()) do if button.UserInputType == inputType then return constants["true"] end end return constants["false"] end function client.drawPlayerESP(requestedPlayer) local ESP = {name = requestedPlayer.Name, drawings = {}} ESP.drawings.inline = framework("draw", {hidden = constants["true"], class = "Square", properties = { Transparency = constants["1"], Thickness = constants["1"], Color = functions["nRGB"](constants["0"], constants["0"], constants["0"]), }}) ESP.drawings.box = framework("draw", {hidden = constants["true"], class = "Square", properties = { Transparency = constants["1"], Thickness = constants["1"], Color = functions["nRGB"](constants["255"], constants["255"], constants["255"]), }}) ESP.drawings.outline = framework("draw", {hidden = constants["true"], class = "Square", properties = { Transparency = constants["1"], Thickness = constants["1"], Color = functions["nRGB"](constants["0"], constants["0"], constants["0"]), }}) ESP.drawings.healthBar = framework("draw", {hidden = constants["true"], class = "Square", properties = { Transparency = constants["1"], Thickness = constants["1"], Filled = constants["true"], Color = functions["nRGB"](constants["0"], constants["0"], constants["0"]), }}) ESP.drawings.healthBarColor = framework("draw", {hidden = constants["true"], class = "Square", properties = { Transparency = constants["1"], Thickness = constants["1"], Filled = constants["true"], Color = functions["nRGB"](constants["0"], constants["255"], constants["0"]), }}) ESP.drawings.nameShadow = framework("draw", {hidden = constants["true"], class = "Text", properties = { Transparency = constants["1"], Color = functions["nColor3"](constants["0"],constants["0"],constants["0"]), Text = ESP.name, Center = constants["true"], Font = framework.theme.font, Size = framework.theme.fontSize, }}) ESP.drawings.name = framework("draw", {hidden = constants["true"], class = "Text", properties = { Transparency = constants["1"], Color = functions["nColor3"](constants["255"],constants["255"],constants["255"]), Text = ESP.name, Center = constants["true"], Font = framework.theme.font, Size = framework.theme.fontSize, }}) ESP.drawings.healthTextShadow = framework("draw", {hidden = constants["true"], class = "Text", properties = { Transparency = constants["1"], Color = functions["nColor3"](constants["0"],constants["0"],constants["0"]), Text = ESP.name, Center = constants["true"], Font = framework.theme.font, Size = framework.theme.fontSize, }}) ESP.drawings.healthText = framework("draw", {hidden = constants["true"], class = "Text", properties = { Transparency = constants["1"], Color = functions["nColor3"](constants["255"],constants["255"],constants["255"]), Text = ESP.name, Center = constants["true"], Font = framework.theme.font, Size = framework.theme.fontSize, }}) function ESP.Destroy() ESP.Stepped:Disconnect() for i,v in functions["next"], ESP.drawings do if functions["type"](v) == 'table' and functions["rawget"](v, '__OBJECT_EXISTS') then v.Remove() end end end ESP.Stepped = RunService.RenderStepped:Connect(function() if not requestedPlayer then ESP.Destroy() return end if not (requestedPlayer.Character and functions["FindFirstChildOfClass"](requestedPlayer.Character, "Humanoid") and functions["FindFirstChildOfClass"](requestedPlayer.Character, "Humanoid").Health > constants["0"]) then for i,v in functions["next"], ESP.drawings do if functions["rawget"](v, "__OBJECT_EXISTS") then v.Visible = constants["false"] end end return end local pos, size = client.returnBoundingBox(requestedPlayer.Character) if pos then local boxvis = size.x+size.y > constants["8"] if functions["rawget"](ESP.drawings.name, '__OBJECT_EXISTS') and functions["rawget"](ESP.drawings.nameShadow, '__OBJECT_EXISTS') and functions["rawget"](ESP.drawings.box, '__OBJECT_EXISTS') and functions["rawget"](ESP.drawings.outline, '__OBJECT_EXISTS') and functions["rawget"](ESP.drawings.healthBar, '__OBJECT_EXISTS') and functions["rawget"](ESP.drawings.healthBarColor, '__OBJECT_EXISTS') and functions["rawget"](ESP.drawings.healthTextShadow, '__OBJECT_EXISTS') and functions["rawget"](ESP.drawings.healthText, '__OBJECT_EXISTS') then ESP.drawings.name.Visible = (framework.flags["masterESP"] and framework.flags["nameESP"]) and (framework.flags["teamESP"] and requestedPlayer.Team ~= localPlayer.Team or not framework.flags["teamESP"]) ESP.drawings.nameShadow.Visible = (framework.flags["masterESP"] and framework.flags["nameESP"]) and (framework.flags["teamESP"] and requestedPlayer.Team ~= localPlayer.Team or not framework.flags["teamESP"]) ESP.drawings.box.Visible = boxvis and (framework.flags["masterESP"] and framework.flags["boxESP"]) and (framework.flags["teamESP"] and requestedPlayer.Team ~= localPlayer.Team or not framework.flags["teamESP"]) ESP.drawings.outline.Visible = boxvis and (framework.flags["masterESP"] and framework.flags["boxESP"]) and (framework.flags["teamESP"] and requestedPlayer.Team ~= localPlayer.Team or not framework.flags["teamESP"]) ESP.drawings.inline.Visible = boxvis and (framework.flags["masterESP"] and framework.flags["boxESP"]) and (framework.flags["teamESP"] and requestedPlayer.Team ~= localPlayer.Team or not framework.flags["teamESP"]) ESP.drawings.healthBar.Visible = boxvis and (framework.flags["masterESP"] and framework.flags["healthESP"]) and (framework.flags["teamESP"] and requestedPlayer.Team ~= localPlayer.Team or not framework.flags["teamESP"]) ESP.drawings.healthBarColor.Visible = boxvis and (framework.flags["masterESP"] and framework.flags["healthESP"]) and (framework.flags["teamESP"] and requestedPlayer.Team ~= localPlayer.Team or not framework.flags["teamESP"]) ESP.drawings.healthTextShadow.Visible = boxvis and functions["FindFirstChildOfClass"](requestedPlayer.Character, "Humanoid").Health < functions["FindFirstChildOfClass"](requestedPlayer.Character, "Humanoid").MaxHealth and (framework.flags["masterESP"] and framework.flags["healthESP"]) and (framework.flags["teamESP"] and requestedPlayer.Team ~= localPlayer.Team or not framework.flags["teamESP"]) ESP.drawings.healthText.Visible = boxvis and functions["FindFirstChildOfClass"](requestedPlayer.Character, "Humanoid").Health < functions["FindFirstChildOfClass"](requestedPlayer.Character, "Humanoid").MaxHealth and (framework.flags["masterESP"] and framework.flags["healthESP"]) and (framework.flags["teamESP"] and requestedPlayer.Team ~= localPlayer.Team or not framework.flags["teamESP"]) ESP.drawings.box.Size = size ESP.drawings.box.Position = pos ESP.drawings.outline.Size = size+functions["nVector2"](constants["2"],constants["2"]) ESP.drawings.outline.Position = pos-functions["nVector2"](constants["1"], constants["1"]) ESP.drawings.inline.Size = size-functions["nVector2"](constants["2"],constants["2"]) ESP.drawings.inline.Position = pos+functions["nVector2"](constants["1"], constants["1"]) ESP.drawings.name.Position = pos+functions["nVector2"](size.x/constants["2"], -constants["20"]) ESP.drawings.nameShadow.Position = ESP.drawings.name.Position + functions["nVector2"](constants["1"],constants["1"]) ESP.drawings.box.Color = client.target == requestedPlayer and functions["nRGB"](constants["255"],constants["0"],constants["0"]) or functions["nRGB"](constants["255"],constants["255"],constants["255"]) ESP.drawings.name.Color = client.target == requestedPlayer and functions["nRGB"](constants["255"],constants["0"],constants["0"]) or functions["nRGB"](constants["255"],constants["255"],constants["255"]) ESP.drawings.healthText.Color = client.target == requestedPlayer and functions["nRGB"](constants["255"],constants["0"],constants["0"]) or functions["nRGB"](constants["255"],constants["255"],constants["255"]) ESP.drawings.healthBar.Size = functions["nVector2"](constants["4"], size.y+constants["2"]) ESP.drawings.healthBar.Position = functions["nVector2"](ESP.drawings.box.Position.x-constants["6"], ESP.drawings.outline.Position.y) ESP.drawings.healthBarColor.Size = functions["nVector2"](ESP.drawings.healthBar.Size.x-constants["2"], (ESP.drawings.healthBar.Size.y-constants["2"])*(requestedPlayer.Character:FindFirstChildOfClass("Humanoid").Health/requestedPlayer.Character:FindFirstChildOfClass("Humanoid").MaxHealth)) ESP.drawings.healthBarColor.Position = (ESP.drawings.healthBar.Position+functions["nVector2"](constants["1"], ESP.drawings.healthBar.Size.y-constants["1"]))-functions["nVector2"](constants["0"], ESP.drawings.healthBarColor.Size.y) if ESP.drawings.healthText.Visible then ESP.drawings.healthText.Position = ESP.drawings.healthBarColor.Position-functions["nVector2"](constants["0"], ESP.drawings.healthText.Size/constants["2"]) ESP.drawings.healthText.Text = functions["tostring"](functions["floor"](functions["FindFirstChildOfClass"](requestedPlayer.Character, "Humanoid").Health)) ESP.drawings.healthTextShadow.Position = ESP.drawings.healthText.Position + functions["nVector2"](constants["1"],constants["1"]) ESP.drawings.healthTextShadow.Text = functions["tostring"](functions["floor"](functions["FindFirstChildOfClass"](requestedPlayer.Character, "Humanoid").Health)) end end else for i,v in functions["next"], ESP.drawings do if functions["rawget"](v, "__OBJECT_EXISTS") then v.Visible = constants["false"] end end end end) framework.esp[ESP.name] = ESP end local window = framework:createWindow({name = ""}) local aimbotToggle = window:createToggle({text = "Aimbot", flag = "masterAimbot"}) local aimKey = window:createKeybind({text = "AimKey", defaultKey = Enum.UserInputType.MouseButton1, trackType = "Hold", flag = "aimKey", callback = function(tbl) if tbl.state then if framework.flags["aimbotSticky"] then repeat client.calculateTarget(framework.flags["aimbotMethod"], framework.flags["hitPart"]) RunService.Heartbeat:Wait() until client.target end else client.target = constants["nil"] client.targetHitPart = constants["nil"] end end}) local fovSlider = window:createInt({text = "FOV", default = constants["100"], offset = constants["10"], flag = "fovRadius"}) local sensitivitySlider = window:createInt({text = "Sensitivity", default = constants["1"], offset = constants[".1"], flag = "aimbotSensitivity"}) local smoothnessSlider = window:createInt({text = "Smoothness", default = constants["1"], offset = constants["1"], flag = "aimbotSmoothness"}) local fovToggle = window:createToggle({text = "Show FOV", default = constants["true"], flag = "showFOV"}) local deadzoneToggle = window:createToggle({text = "Dead Zone", flag = "deadZone"}) local deadzonefovSlider = window:createInt({text = "Dead Zone FOV", default = constants["20"], offset = constants["10"], flag = "deadZoneFOV"}) local deadzonefovToggle = window:createToggle({text = "Show Dead Zone", default = constants["true"], flag = "showDeadZone"}) local hitPartList = window:createList({text = "Hitbox", default = "Head", list = {"Head", "Torso", "Closest"}, flag = "hitPart"}) local deadToggle = window:createToggle({text = "Dead Check", default = constants["true"], flag = "aimbotDead"}) local teamkillToggle = window:createToggle({text = "Teamkill", flag = "aimbotTeamkill"}) local forcefieldToggle = window:createToggle({text = "ForceField Check", flag = "aimbotForcefield"}) local InvisToggle = window:createToggle({text = "Invisible Check", default = constants["false"], flag = "aimbotInvisible"}) local visibleToggle = window:createToggle({text = "Visible Check", flag = "aimbotVisible"}) local nonStickyToggle = window:createToggle({text = "Non-Sticky Aim", flag = "aimbotSticky"}) local ignoreFOVToggle = window:createToggle({text = "Ignore FOV", flag = "aimbotIgnoreFOV"}) local methodList = window:createList({text = "Method", default = "Mouse", list = {"Mouse", "Distance", "Health"}, flag = "aimbotMethod"}) local dontLockToggle = window:createToggle({text = "Don't Lock when Right Click", flag = "aimbotNoLock"}) local cursorCalibrationKey = window:createKeybind({text = "Cursor Calibration Key", defaultKey = Enum.KeyCode.F1, flag = "cursorCalibrationKey", callback = function(tbl) if not tbl.state then local mousePosition = functions["GetMouseLocation"](UserInputService) if functions["type"](client.offsetVisualizer) == 'table' and functions["rawget"](client.offsetVisualizer, '__OBJECT_EXISTS') then client.offsetVisualizer:Remove() client.offsetVisualizer = constants["nil"] end client.cursorOffset = functions["nVector2"](screenCenter.X-mousePosition.X,screenCenter.Y-mousePosition.Y) else client.offsetVisualizer = framework("draw", {class = "Circle", hidden = constants["true"], properties = { Transparency = constants[".5"], Radius = constants["10"], Color = functions["nRGB"](constants["255"], constants["0"], constants["0"]), Filled = constants["true"], Visible = constants["true"], Position = screenCenter }}) end end}) local triggerbotToggle = window:createToggle({text = "Triggerbot", flag = "masterTriggerbot"}) local delaySlider = window:createInt({text = "Delay", offset = constants["10"], flag = "triggerbotDelay"}) local durationSlider = window:createInt({text = "Duration", offset = constants["10"], flag = "triggerbotDuration"}) local triggerTeamKillToggle = window:createToggle({text = "Teamkill", flag = "triggerbotTeamkill"}) local triggerDeadCheckToggle = window:createToggle({text = "Dead Check", flag = "triggerbotDead"}) local triggerDeadCheckToggle = window:createToggle({text = "Forcefield Check", flag = "triggerbotForcefield"}) local triggerInvisToggle = window:createToggle({text = "Invisible Check", default = constants["true"], flag = "triggerbotInvisible"}) local triggerKey = window:createKeybind({text = "TriggerKey", defaultKey = Enum.KeyCode.LeftAlt, trackType = "Hold", flag = "triggerKey"}) local espToggle = window:createToggle({text = "ESP", flag = "masterESP"}) local boxToggle = window:createToggle({text = "Boxes", flag = "boxESP"}) local healthToggle = window:createToggle({text = "Health", flag = "healthESP"}) local nameToggle = window:createToggle({text = "Name", flag = "nameESP"}) local hideTeamToggle = window:createToggle({text = "Hide Team", flag = "teamESP"}) local catBoyKey = window:createKeybind({text = "Catboy", defaultKey = Enum.KeyCode.F2, flag = "catBoyKey", callback = function() for _,v in functions["next"], functions["GetPlayers"](Players) do if v.Character and functions["FindFirstChild"](v.Character, "HumanoidRootPart") then if not functions["FindFirstChild"](v.Character, "catboyed") then client.catBoy(v) end end end end}) local packetChokeOnKey = window:createKeybind({text = "Packet Choke", defaultKey = Enum.KeyCode.LeftControl, flag = "packetChokeKey", callback = function(tbl) -- Exploits if tbl.state then if localPlayer.Character and functions["FindFirstChild"](localPlayer.Character, "HumanoidRootPart") then NetworkClient:SetOutgoingKBPSLimit(constants["1"]) client.packetVisualizer = client.renderCircle(functions["FindFirstChild"](localPlayer.Character, "HumanoidRootPart").Position, constants["5"]) end else if client.packetVisualizer then NetworkClient:SetOutgoingKBPSLimit(constants["9e9"]) client.packetVisualizer.Destroy() client.packetVisualizer = constants["nil"] end end end}) local clickTpOnKey = window:createKeybind({text = "Click Tp", defaultKey = Enum.KeyCode.F3, flag = "tpKey", callback = function(tbl) -- Exploits if localPlayer.Character and localPlayer.Character:FindFirstChild("HumanoidRootPart") and mouse.Hit then localPlayer.Character.HumanoidRootPart.CFrame = functions["nCFrame"](mouse.Hit.p.X, mouse.Hit.p.Y, mouse.Hit.p.Z) end end}) local flyToggle = window:createToggle({text = "Fly", flag = "Fly"}) local flySlider = window:createInt({text = "Speed", default = constants["70"], offset = constants["10"], flag = "flySpeed"}) local spinbotToggle = window:createToggle({text = "Spinbot", flag = "Spinbot"}) framework("createConnection", {name = "aimbotStepped", connection = RunService.Heartbeat, callback = function() local mousePosition = functions["GetMouseLocation"](UserInputService) fovCircle.Radius = framework.flags["fovRadius"] fovCircle.Visible = framework.flags["showFOV"] fovCircle.Position = mousePosition + client.cursorOffset deadZoneCircle.Radius = framework.flags["deadZoneFOV"] deadZoneCircle.Visible = framework.flags["showDeadZone"] and framework.flags["deadZone"] deadZoneCircle.Position = mousePosition + client.cursorOffset if framework.flags["aimbotSticky"] and client.target and client.targetHitPart and client.target.Character then if client.target == localPlayer then return end if client.target.TeamColor == localPlayer.TeamColor and not framework.flags["aimbotTeamkill"] then return end if not functions["FindFirstChild"](client.target.Character, "Head") then return end if not functions["FindFirstChild"](client.target.Character, "Torso") and not functions["FindFirstChild"](client.target.Character, "UpperTorso") then return end local Torso = functions["FindFirstChild"](client.target.Character, "Torso") or functions["FindFirstChild"](client.target.Character, "UpperTorso") if Torso.Transparency == constants["1"] and framework.flags["aimbotInvisible"] then return end if functions["FindFirstChildOfClass"](client.target.Character, "Humanoid") and functions["FindFirstChildOfClass"](client.target.Character, "Humanoid").Health <= constants["0"] and framework.flags["aimbotDead"] then return end if functions["FindFirstChildOfClass"](client.target.Character, "ForceField") and framework.flags["aimbotForcefield"] then return end local Pos, Vis = client.returnCamera().WorldToViewportPoint(client.returnCamera(), client.target.Character[client.targetHitPart].Position) if not Vis then return end if not localPlayer.Character then return end if not functions["FindFirstChild"](localPlayer.Character, "Head") then return end if client.isMouseButtonDown(Enum.UserInputType.MouseButton2) and framework.flags["aimbotNoLock"] then return end local Params = functions["nRayParams"]({FilterDescendantsInstances = {client.returnCamera(), localPlayer.Character}, FilterType = Enum.RaycastFilterType.Blacklist, IgnoreWater = constants["true"]}) local Result = Workspace.Raycast(Workspace, localPlayer.Character.Head.Position, (client.target.Character[client.targetHitPart].Position - localPlayer.Character.Head.Position).unit*constants["5000"], Params) if (not Result.Instance or not functions["IsDescendantOf"](Result.Instance, client.target.Character)) and framework.flags["aimbotVisible"] then return end local TheirPos = functions["nVector2"](Pos.X, Pos.Y) local Mag = (TheirPos - fovCircle.Position).Magnitude if (Mag <= framework.flags["fovRadius"] and not framework.flags["aimbotIgnoreFOV"] or framework.flags["aimbotIgnoreFOV"]) then if (Mag >= framework.flags["deadZoneFOV"] and framework.flags["deadZone"] or not framework.flags["deadZone"]) then mousemoverel(((Pos.X - fovCircle.Position.X)*framework.flags["aimbotSensitivity"])/framework.flags["aimbotSmoothness"], ((Pos.Y - fovCircle.Position.Y)*framework.flags["aimbotSensitivity"])/framework.flags["aimbotSmoothness"]) end end else client.calculateTarget(framework.flags["aimbotMethod"], framework.flags["hitPart"]) if client.target then local Pos, Vis = client.returnCamera().WorldToViewportPoint(client.returnCamera(), client.target.Character[client.targetHitPart].Position) mousemoverel(((Pos.X - fovCircle.Position.X)* framework.flags["aimbotSensitivity"])/framework.flags["aimbotSmoothness"], ((Pos.Y - fovCircle.Position.Y)*framework.flags["aimbotSensitivity"])/framework.flags["aimbotSmoothness"]) end end end}) framework("createConnection", {name = "triggerbotStepped", connection = RunService.Heartbeat, callback = function() if framework.flags["masterTriggerbot"] and framework.flags["triggerKey"][constants["2"]] then local unitRay = client.returnCamera().ViewportPointToRay(client.returnCamera(), fovCircle.Position.X, fovCircle.Position.Y) local Params = functions["nRayParams"]({FilterDescendantsInstances = {client.returnCamera(), localPlayer.Character}, FilterType = Enum.RaycastFilterType.Blacklist, IgnoreWater = constants["true"]}) local Result = Workspace.Raycast(Workspace, unitRay.Origin, unitRay.Direction * constants["5000"], Params) if Result then for _,V in functions["next"], functions["GetPlayers"](Players) do if V == localPlayer then continue end if V.Team == localPlayer.Team and not framework.flags["triggerbotTeamkill"] then continue end if not V.Character then continue end if functions["FindFirstChildOfClass"](V.Character, "Humanoid") and functions["FindFirstChildOfClass"](V.Character, "Humanoid").Health <= constants["0"] and framework.flags["triggerbotDead"] then continue end if not functions["FindFirstChild"](V.Character, "Torso") and not functions["FindFirstChild"](V.Character, "UpperTorso") then continue end local Torso = functions["FindFirstChild"](V.Character, "Torso") or functions["FindFirstChild"](V.Character, "UpperTorso") if Torso.Transparency == constants["1"] and framework.flags["triggerbotInvisible"] then continue end if functions["FindFirstChildOfClass"](V.Character, "ForceField") and framework.flags["triggerbotForcefield"] then continue end if functions["IsDescendantOf"](Result.Instance, V.Character) then if framework.flags["triggerbotDelay"] > constants["0"] then functions["wait"](framework.flags["triggerbotDelay"]/constants["1000"]) end mouse1press() wait(framework.flags["triggerbotDuration"]) mouse1release() end end end end end}) framework("createConnection", {name = "movementStepped", connection = RunService.Heartbeat, callback = function() if localPlayer.Character and functions["FindFirstChild"](localPlayer.Character, "HumanoidRootPart") and functions["FindFirstChildOfClass"](localPlayer.Character, "Humanoid") then local camCFrame = client.returnCamera().CFrame local humanoid = functions["FindFirstChildOfClass"](localPlayer.Character, "Humanoid") local rootPart = functions["FindFirstChild"](localPlayer.Character, "HumanoidRootPart") if framework.flags["Fly"] then if not functions["GetFocusedTextBox"](UserInputService) then local eVector = functions["nVector3"]() local rVector, lVector, uVector = camCFrame.RightVector, camCFrame.LookVector, camCFrame.UpVector if functions["IsKeyDown"](UserInputService, "W") then eVector = eVector + lVector end if functions["IsKeyDown"](UserInputService, "S") then eVector = eVector - lVector end if functions["IsKeyDown"](UserInputService, "D") then eVector = eVector + rVector end if functions["IsKeyDown"](UserInputService, "A") then eVector = eVector - rVector end if functions["IsKeyDown"](UserInputService, "Space") then eVector = eVector + uVector end if functions["IsKeyDown"](UserInputService, "LeftShift") then eVector = eVector - uVector end if eVector.Unit.X == eVector.Unit.X then rootPart.AssemblyLinearVelocity = eVector.Unit * framework.flags["flySpeed"] end rootPart.Anchored = eVector == functions["nVector3"]() end else rootPart.Anchored = constants["false"] end if framework.flags["Spinbot"] then client.Spin = functions["clamp"](client.Spin + constants["10"], constants["0"], constants["360"]) if client.Spin == constants["360"] then client.Spin = constants["0"] end humanoid.AutoRotate = constants["false"] local Angle = constants["0"] Angle = Angle + functions["rad"](client.Spin) local CFramePos = functions["nCFrame"](rootPart.Position) * functions["nAngles"](constants["0"], Angle, constants["0"]) rootPart.CFrame = client.rotateYaw(CFramePos) else humanoid.AutoRotate = constants["true"] end end end}) for _,v in functions["next"], functions["GetPlayers"](Players) do if v ~= constants["nil"] and v ~= localPlayer then client.drawPlayerESP(v) end end framework("createConnection", {name = "ConfigPlayerAdded", connection = Players.PlayerAdded, callback = function(Player) if Player ~= constants["nil"] and Player ~= localPlayer then client.drawPlayerESP(Player) end end})