Professional Documents
Culture Documents
HVH Num Jogo Esquisito
HVH Num Jogo Esquisito
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 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
function framework:createWindow(args)
local window = {name = args.name or "TORGBOT"}
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"}
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}
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}
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}
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 ""
}
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.. " <unbound> <"
item.drawings.text.Text = item.text.. " <unbound> <"
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
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.Y 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.H 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.G 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:selectOption(self.menu.currentItem.list[indexCurrent-1])
end
end
end
if self.menu.currentItem.type == "keybind" then
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 = {}}
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"],
}
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"])
if not lvis and not rvis and not tvis and not bvis then
return
end
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
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
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.P
osition)
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
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.P
osition)
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
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.P
osition)
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 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
functions["insert"](points, Result)
end
Circle.Stepped = RunService.RenderStepped:Connect(function()
local xAxis = Point.X
local yAxis = Point.Y
local zAxis = Point.Z
functions["insert"](points, Result)
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 = {}}
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
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.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
functions["wait"](framework.flags["triggerbotDelay"]/constants["1000"])
end
mouse1press()
wait(framework.flags["triggerbotDuration"])
mouse1release()
end
end
end
end
end})