-
Автор темы
- #1
Приветствую! Представляю Вам скрипт для Phantom Forces. Работает на эксплоитах, в api которых предусмотрена библиотека drawing.
[+]Aimbot с выбором частей тела
[+]Distance-based esp (outline)
[+]Distance-based esp (outline)
Пожалуйста, авторизуйтесь для просмотра ссылки.
PFesp&aim:
--tested on S^X by UnknownDedInside
--for YOUGAME.biz with lov3
local function find_by_name(t, name) for _, v in pairs(t) do if v.name == name then return v end end end
local actor = find_by_name(getactors(), 'lol')
-- ESP
assert(Drawing, "missing dependency: drawing")
repeat
task.wait()
until game:IsLoaded()
-- Services
local players = game:GetService("Players")
local run_service = game:GetService("RunService")
-- Localizing
local local_player = players.LocalPlayer
local get_children = game.GetChildren
local find_first_child = game.FindFirstChild
local new_drawing = Drawing.new
local camera = workspace.CurrentCamera or game:GetService("Workspace").CurrentCamera
-- Setup
local rootPart = "Head" --можешь выбрать "Torso", "Feet" etc.
local objects_folder: Folder = game:GetService("Workspace").Players
local coreGui = game:GetService("CoreGui")
-- main
local object_ID = {}
local eps = {}
local function Setup()
for _, team in pairs(objects_folder:GetChildren()) do
for _, object in pairs(get_children(team)) do
local id = object:GetDebugId()
if not table.find(object_ID, id) then
table.insert(object_ID, id)
eps[id] = {
esp_object = object,
text_esp = new_drawing("Text", true),
highlight = Instance.new("Highlight", coreGui),
}
eps[id].text_esp.Center = true
eps[id].text_esp.Outline = true
eps[id].text_esp.Font = 1
eps[id].text_esp.Size = 14
eps[id].highlight.Adornee = eps[id].esp_object
eps[id].highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
eps[id].highlight.Enabled = true
eps[id].highlight.FillTransparency = true
end
end
end
end
Setup()
shared.max_distance = math.huge
shared.object_esp_enabled = true
run_service.RenderStepped:Connect(function()
if not shared.object_esp_enabled then
return
end
for _, value in pairs(eps) do
if
shared.object_esp_enabled
and find_first_child(value.esp_object, rootPart)
and value.esp_object.Parent.Name ~= local_player.TeamColor.Name
then
local name = value.esp_object.Name
local vec3_position = find_first_child(value.esp_object, rootPart).Position
local screen_position, on_screen = camera:WorldToScreenPoint(vec3_position)
local distant_from_character = local_player:DistanceFromCharacter(vec3_position)
if on_screen and math.round(distant_from_character) <= shared.max_distance then
value.text_esp.Position = Vector2.new(
screen_position.X,
screen_position.Y + math.clamp(distant_from_character / 10, 10, 30) - 10
)
value.text_esp.Color = Color3.fromHSV(math.clamp(distant_from_character / 5, 0, 125) / 255, 0.75, 1)
value.text_esp.Text = name .. "[" .. math.round(distant_from_character) .. "]"
value.text_esp.Size = math.clamp(30 - distant_from_character / 10, 16, 30)
value.text_esp.Transparency = math.clamp((500 - distant_from_character) / 200, 0.2, 1)
value.text_esp.Visible = true
value.highlight.FillColor =
Color3.fromHSV(math.clamp(distant_from_character / 5, 0, 125) / 255, 0.75, 1)
value.highlight.FillTransparency = math.clamp((500 - distant_from_character) / 200, 0.2, 1)
value.highlight.Enabled = true
else
value.text_esp.Visible = false
value.highlight.Enabled = false
end
else
value.text_esp.Visible = false
value.highlight.Enabled = false
end
end
end)
objects_folder.DescendantAdded:Connect(function()
Setup()
end)
objects_folder.DescendantRemoving:Connect(function(child)
local id = child:GetDebugId()
if table.find(object_ID, id) then
eps[id].text_esp:Remove()
eps[id].highlight:Destroy()
eps[id].esp_object = nil
eps[id] = nil
end
end)
-- aimbot
syn.run_on_actor(actor, [[if not getgenv or not mousemoverel then
game:GetService("Players").LocalPlayer:Kick("Your exploit is not supported!")
end
--настройка наводки, FOV
getgenv().AIMBOT_SETTINGS = {
smoothness = 1,
FOV = 200,
VisibleCheck = true,
}
-- services
local players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
-- variables
local client = players.LocalPlayer
local shared = getrenv().shared
local camera = workspace.CurrentCamera
local mouseLocation = UserInputService.GetMouseLocation
local WorldToViewportPoint = camera.WorldToViewportPoint
-- modules
local replicationObject = shared.require("ReplicationObject")
local replicationInterface = shared.require("ReplicationInterface")
-- functions
local function isAlive(entry)
return replicationObject.isAlive(entry)
end
local function isVisible(p, ...)
if not getgenv().AIMBOT_SETTINGS.VisibleCheck then
return true
end
return #camera:GetPartsObscuringTarget({ p }, { camera, client.Character, workspace.Ignore, ... }) == 0
end
local function get_closest(fov: number)
local targetPos: Vector3 = nil
local magnitude: number = fov or math.huge
for _, player in pairs(players:GetPlayers()) do
if player == client or player.Team == client.Team then
continue
end
local entry = replicationInterface.getEntry(player)
local character = entry and replicationObject.getThirdPersonObject(entry)
if character and isAlive(entry) then
local body_parts = character:getCharacterHash()
local screen_pos, on_screen = WorldToViewportPoint(camera, body_parts.head.Position)
local screen_pos_2D = Vector2.new(screen_pos.X, screen_pos.Y)
local new_magnitude = (screen_pos_2D - mouseLocation(UserInputService)).Magnitude
if
on_screen
and new_magnitude < magnitude
and isVisible(body_parts.head.Position, body_parts.torso.Parent)
then
magnitude = new_magnitude
targetPos = body_parts.head.Position
end
end
end
return targetPos
end
local mouse = client:GetMouse()
local function aimAt(pos, smooth)
local targetPos = camera:WorldToScreenPoint(pos)
local mousePos = camera:WorldToScreenPoint(mouse.Hit.p)
mousemoverel((targetPos.X - mousePos.X) / smooth, (targetPos.Y - mousePos.Y) / smooth)
end
local circle = Drawing.new("Circle")
circle.Thickness = 1
circle.NumSides = 12 --сколько граней у круга (по идее 360, но можешь оставить 12)
circle.Radius = 200
circle.Filled = false
circle.Transparency = 1
circle.Color = Color3.new(1, 0.5, 0) --здесь можешь выбрать цвет Color3 (S^X)
circle.Visible = true
RunService.RenderStepped:Connect(function()
if UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then
local _pos = get_closest(getgenv().AIMBOT_SETTINGS.FOV)
if _pos then
aimAt(_pos, getgenv().AIMBOT_SETTINGS.smoothness)
end
end
if circle.__OBJECT_EXISTS then
circle.Position = mouseLocation(UserInputService)
circle.Radius = getgenv().AIMBOT_SETTINGS.FOV
end
end)]])
Использовать на свой страх и риск!