Fling Things and People
Скрипт

Скрипт на Сбросить вещи и людей: ESP и аим

Статус не проверенВерсия: 1.0.0Без ключа
35.2K онлайн★ 80.36%
← Все скрипты

О скрипте

СтатусСтатус не проверен
Версия1.0.0
КлючБез ключа
ИграFling Things and People

Скачать скрипт

Код скрипта

Скопируйте loader-код, если используете совместимую среду.

-- OneRoblox FTAP ESP + Camera Aim 1.0.0
-- Copyright (c) 2026 OneRoblox. MIT License.
-- Permission is granted, free of charge, to any person obtaining a copy of
-- this software and associated documentation files (the "Software"), to deal
-- in the Software without restriction, including without limitation the rights
-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-- copies of the Software, and to permit persons to whom the Software is
-- furnished to do so, subject to the following conditions:
-- The above copyright notice and this permission notice shall be included in
-- all copies or substantial portions of the Software.
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-- THE SOFTWARE.
-- Not tested in Roblox. Third-party executors can risk your account.
-- No HTTP, external libraries, key system, file access or server remote calls.

if game.GameId ~= 2668101271 then
    warn("OneRoblox FTAP: wrong game")
    return
end
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
local player = Players.LocalPlayer
if not player then return end
local playerGui = player:WaitForChild("PlayerGui", 10)
if not playerGui then return end
local name = "OneRobloxFTAP"
local previous = playerGui:FindFirstChild(name)
if previous then
    local stop = previous:FindFirstChild("Stop")
    if stop and stop:IsA("BindableEvent") then stop:Fire() else previous:Destroy() end
end

local gui = Instance.new("ScreenGui")
gui.Name = name
gui.ResetOnSpawn = false
gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
gui.Parent = playerGui
local stop = Instance.new("BindableEvent")
stop.Name = "Stop"
stop.Parent = gui
local highlights = Instance.new("Folder")
highlights.Name = name .. "Marks"
highlights.Parent = Workspace
local panel = Instance.new("Frame")
panel.Size = UDim2.new(0, 264, 0, 170)
panel.Position = UDim2.new(0, 12, 0, 72)
panel.BackgroundColor3 = Color3.fromRGB(23, 26, 29)
panel.BorderSizePixel = 0
panel.Parent = gui
local function text(class, value, x, y, width, height)
    local item = Instance.new(class)
    item.Size = UDim2.new(0, width, 0, height)
    item.Position = UDim2.new(0, x, 0, y)
    item.Text = value
    item.TextSize = 12
    item.TextWrapped = true
    item.TextColor3 = Color3.fromRGB(242, 245, 249)
    item.Font = Enum.Font.Gotham
    item.BackgroundColor3 = Color3.fromRGB(45, 51, 57)
    item.BorderSizePixel = 0
    if class == "TextLabel" then item.BackgroundTransparency = 1 end
    item.Parent = panel
    return item
end
text("TextLabel", "OneRoblox | FTAP", 8, 6, 204, 24)
local close = text("TextButton", "X", 224, 6, 32, 28)
local espButton = text("TextButton", "ESP: OFF", 8, 42, 120, 34)
local aimButton = text("TextButton", "Aim: OFF", 136, 42, 120, 34)
text("TextLabel", "Aim: 120 px from screen centre; 400 studs; visible targets only", 8, 82, 248, 40)
local status = text("TextLabel", "Both functions are off", 8, 126, 248, 36)
local esp, aim, disposed = false, false, false
local marks, connections = {}, {}
local color = Color3.fromRGB(90, 210, 220)
local function clearMark(other)
    local mark = marks[other]
    if not mark then return end
    mark.highlight:Destroy()
    mark.label:Destroy()
    marks[other] = nil
end
local function clearMarks()
    local remove = {}
    for other in pairs(marks) do table.insert(remove, other) end
    for _, other in ipairs(remove) do clearMark(other) end
end
local function body(other)
    local character = other.Character
    if not character or not character.Parent then return end
    local humanoid = character:FindFirstChildOfClass("Humanoid")
    local root = character:FindFirstChild("HumanoidRootPart")
    local head = character:FindFirstChild("Head")
    if not humanoid or humanoid.Health <= 0 or not root or not root:IsA("BasePart") or not head or not head:IsA("BasePart") then return end
    return character, root, head
end
local function makeMark(other, character, head)
    local highlight = Instance.new("Highlight")
    highlight.Adornee = character
    highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
    highlight.FillTransparency = 0.9
    highlight.OutlineTransparency = 0
    highlight.FillColor = color
    highlight.OutlineColor = color
    highlight.Parent = highlights
    local label = Instance.new("BillboardGui")
    label.Size = UDim2.new(0, 180, 0, 32)
    label.Adornee = head
    label.AlwaysOnTop = true
    label.StudsOffset = Vector3.new(0, 2.5, 0)
    label.Parent = gui
    local caption = Instance.new("TextLabel")
    caption.Size = UDim2.new(1, 0, 1, 0)
    caption.BackgroundTransparency = 1
    caption.TextSize = 12
    caption.TextWrapped = true
    caption.TextColor3 = color
    caption.TextStrokeTransparency = 0.3
    caption.Font = Enum.Font.Gotham
    caption.Parent = label
    local mark = {character = character, highlight = highlight, label = label, caption = caption}
    marks[other] = mark
    return mark
end
local function updateESP()
    local camera = Workspace.CurrentCamera
    if not esp or not camera then clearMarks(); return end
    local live = {}
    for index, other in ipairs(Players:GetPlayers()) do
        if index > 64 then break end
        if other ~= player then
            local character, root, head = body(other)
            if character then
                live[other] = true
                if marks[other] and marks[other].character ~= character then clearMark(other) end
                local mark = marks[other] or makeMark(other, character, head)
                mark.label.Adornee = head
                mark.caption.Text = string.sub(other.DisplayName, 1, 40) .. " | " .. math.floor((camera.CFrame.Position - root.Position).Magnitude) .. " studs"
            end
        end
    end
    local remove = {}
    for other in pairs(marks) do if not live[other] then table.insert(remove, other) end end
    for _, other in ipairs(remove) do clearMark(other) end
end
local ray = RaycastParams.new()
ray.FilterType = Enum.RaycastFilterType.Exclude
local function updateAim(delta)
    if disposed or not aim then return end
    local camera = Workspace.CurrentCamera
    local own = body(player)
    if not camera or not own then status.Text = "Aim: waiting for camera / character"; return end
    if camera.CameraType == Enum.CameraType.Scriptable then status.Text = "Aim paused: scripted camera"; return end
    local centre = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2)
    local nearest, target, best = 120, nil, nil
    ray.FilterDescendantsInstances = {own}
    for index, other in ipairs(Players:GetPlayers()) do
        if index > 64 then break end
        if other ~= player then
            local character, _, head = body(other)
            if character then
                local direction = head.Position - camera.CFrame.Position
                local point, onScreen = camera:WorldToViewportPoint(head.Position)
                local distance = (Vector2.new(point.X, point.Y) - centre).Magnitude
                if onScreen and point.Z > 0 and direction.Magnitude > 0.01 and direction.Magnitude <= 400 and distance <= nearest then
                    local hit = Workspace:Raycast(camera.CFrame.Position, direction, ray)
                    if not hit or hit.Instance:IsDescendantOf(character) then
                        nearest, target, best = distance, head.Position, other.DisplayName
                    end
                end
            end
        end
    end
    if target then
        local desired = CFrame.lookAt(camera.CFrame.Position, target)
        camera.CFrame = camera.CFrame:Lerp(desired, 1 - math.exp(-10 * math.min(delta, 0.1)))
        status.Text = "Camera aim: " .. string.sub(best, 1, 40)
    else status.Text = "Aim: no visible target in 120 px" end
end
local function cleanup()
    if disposed then return end
    disposed = true
    RunService:UnbindFromRenderStep(name)
    for _, connection in ipairs(connections) do connection:Disconnect() end
    clearMarks()
    highlights:Destroy()
    gui:Destroy()
end
table.insert(connections, espButton.Activated:Connect(function()
    esp = not esp
    espButton.Text = esp and "ESP: ON" or "ESP: OFF"
    if not esp then clearMarks() end
    status.Text = esp and "ESP enabled" or "ESP disabled"
end))
table.insert(connections, aimButton.Activated:Connect(function()
    aim = not aim
    aimButton.Text = aim and "Aim: ON" or "Aim: OFF"
    status.Text = aim and "Aim enabled" or "Aim disabled"
end))
table.insert(connections, close.Activated:Connect(cleanup))
table.insert(connections, stop.Event:Connect(cleanup))
table.insert(connections, gui.Destroying:Connect(cleanup))
local elapsed = 0
table.insert(connections, RunService.Heartbeat:Connect(function(delta)
    elapsed = elapsed + delta
    if elapsed < 0.2 or disposed then return end
    elapsed = 0
    if not pcall(updateESP) then
        esp = false; clearMarks(); espButton.Text = "ESP: OFF"
        status.Text = "ESP stopped: unsupported character"
    end
end))
RunService:BindToRenderStep(name, Enum.RenderPriority.Camera.Value + 1, function(delta)
    if not pcall(updateAim, delta) then
        aim = false; aimButton.Text = "Aim: OFF"
        status.Text = "Aim stopped: unsupported camera"
    end
end)
Важно Использование сторонних скриптов и программ может нарушать правила Roblox. OneRoblox не гарантирует отсутствие ограничений или блокировки аккаунта.

Описание скрипта

FTAP: открытый Lua-код с ESP, расстоянием и аимом камеры. Без ключа и внешних библиотек. Статус запуска в Roblox не подтверждён.

Скрипт на «Сбросить вещи и людей» (Fling Things and People, FTAP) добавляет ESP-метки игроков и отдельный аим камеры. Здесь можно скачать текстовый Lua-файл или скопировать полный исходник OneRoblox. Key System, внешнего загрузчика и платного ключа в коде нет.

Статус: запуск в Roblox не проверен. Исходник проверяется отдельно от его работы в игре. Совместимость с Delta, Xeno и мобильными средами не подтверждена. Сторонние скрипты могут привести к санкциям для аккаунта.

Что делает скрипт FTAP

  • ESP: контур персонажа, имя и расстояние от камеры в studs.
  • Camera Aim: плавный поворот камеры к видимой голове другого игрока рядом с центром экрана.
  • Два независимых переключателя. При запуске обе функции выключены.
  • Кнопка X отключает обработчики и удаляет панель вместе с метками.
  • Повторный запуск закрывает предыдущую копию именно этого исходника.
Fling Things and People — официальное изображение игры
Официальное изображение FTAP. Не демонстрация работы скрипта.

Как работает аим

После включения Aim код ищет голову живого персонажа не дальше 400 studs от камеры и в пределах 120 пикселей от центра экрана. Из подходящих целей выбирается ближайшая к центру. Проверяется линия видимости: объект между камерой и персонажем может исключить цель. При отсутствии подходящей цели камера не поворачивается.

Это аим камеры, а не Silent Aim и не автоматический захват. Код не вызывает игровую команду броска, не меняет направление серверного попадания и не гарантирует попадание предметом. Движение цели, физика и задержка остаются отдельными факторами. Во время программной камеры CameraType.Scriptable наведение приостанавливается.

ESP и управление панелью

ESP: OFF включает подсветку и подписи. Повторное нажатие убирает их. Aim: OFF отдельно включает наведение; отключение ESP не выключает Aim. Метки обновляются пять раз в секунду, наведение обрабатывается после обновления камеры. Умершие, вышедшие и отсутствующие персонажи не должны оставаться в списке меток.

Здесь нет фильтра команд: FTAP не рассматривается как командный матч BloxStrike. Выбираются другие живые игроки, кроме вашего персонажа. Подпись сообщает расстояние в единицах Roblox, не в метрах. При отсутствии камеры или собственного живого персонажа наведение ожидает их появления.

Скачать скрипт или скопировать Lua

Кнопка «Скачать .lua» выдаёт исходник ftap-esp-aim-oneroblox.lua, а «Скопировать скрипт» помещает тот же код в буфер обмена. Файл можно прочитать до любого запуска. Это не APK, EXE, клиент Roblox или архив с исполнителем. Условия рекламного перехода возле кнопок отделены от содержимого файла; оплачивать Lua-код или ключ не требуется.

Delta, Xeno и телефон

Наличие кнопок, реагирующих на нажатие, само по себе не подтверждает совместимость со смартфоном. Для Delta и Xeno нужен отдельный тест актуальных версий, которого мы не проводили. Разбор ключей, формата файла и сообщений об ошибках находится в гайде по ошибкам скриптов FTAP.

Чего в файле нет

  • Auto Grab, Super Fling, Black Hole, Tornado и управления чужими предметами.
  • Выдачи бесплатных gamepass, денег или прав администратора.
  • HTTP-запросов, удалённых библиотек, чтения файлов и вызовов RemoteEvent.
  • Обхода античита, обещания отсутствия бана или бессмертия.

Если скрипт не работает

Проверьте, что открыта оригинальная Fling Things and People, а не копия с похожим названием. Оба переключателя изначально стоят в OFF. Для аима нужна видимая цель рядом с центром, а собственный персонаж должен быть жив. Если ошибка возникает до появления меню, сохраните её текст и не считайте повторную загрузку доказательством исправления.

Весь исходник доступен ниже. Другие материалы находятся в разделе скриптов Fling Things and People, а ссылка для входа в оригинальный плейс — в карточке игры «Бросать вещи и людей».

Скачивание файла

Скачивание начнётся автоматически.

Скрипты и обновления Fling Things and People в TelegramПодписка не нужна для скачивания.