Jujutsu Shenanigans
Скрипт

Скрипт Jujutsu Shenanigans без ключа: ESP и аим камеры

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

О скрипте

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

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

Код скрипта

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

-- OneRoblox JJS 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 ~= 3508322461 then
    warn("OneRoblox JJS: 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 = "OneRobloxJJS"
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 | JJS", 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 не гарантирует отсутствие ограничений или блокировки аккаунта.

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

Lua-скрипт JJS без Key System: подсветка игроков, расстояние и помощь камерой. Полный исходник и скачивание; работа в Roblox не подтверждена.

Официальная иллюстрация боя в Jujutsu Shenanigans
Официальная иллюстрация боя в Jujutsu Shenanigans

Здесь опубликован Lua-скрипт для Jujutsu Shenanigans с двумя отдельными переключателями: ESP игроков и помощью наведения камеры. Это исходник OneRoblox без Key System и без загрузки дополнительного кода по внешней ссылке. Файл можно изучить до запуска.

Статус: не проверен в игре. Проверка синтаксиса и тесты на моделях объектов не подтверждают совместимость с конкретным клиентом Roblox, Delta, Xeno или Android. Использование сторонних исполнителей может нарушать правила платформы и привести к блокировке аккаунта.

Какие функции есть

  • Подсветка других игроков с отображением расстояния.
  • Помощь камерой: поиск ближайшей подходящей цели к центру экрана.
  • Ограничение выбора по экранному радиусу и расстоянию в мире.
  • Проверка прямой видимости для наведения; цель за стеной не выбирается.
  • Отдельное включение функций: после загрузки они выключены.
  • Очистка созданных элементов и обработчиков при закрытии или повторном запуске.

Помощь камерой не отправляет команды атаки и не гарантирует попадание способностью. Направление навыка, дистанция, блок и состояние противника продолжают определять результат боя.

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

В нём нет автокомбо, автоматического Black Flash, фарма убийств, бессмертия, бесконечного пробуждения, снятия перезарядки и открытия раннего доступа. ESP не является доказательством возможности изменить серверное здоровье или получить платного персонажа.

Файл не запрашивает пароль, cookie, токен аккаунта или оплату ключа. В коде нет загрузки удалённого Lua через loadstring/HttpGet, файловых операций исполнителя или вызовов игровых RemoteEvent для автоматизации атаки.

Копирование и скачивание

Кнопка копирования относится к полному исходнику, а скачивание — к файлу с расширением .lua. Это не установщик Roblox и не APK. Сохранённый файл сам по себе не устанавливает исполнителя и не запускает игру.

Перед действиями прочитайте подпись у кнопок: если первое нажатие открывает рекламу, для получения самого исходника платить на рекламном сайте не требуется. Не вводите там данные своего аккаунта Roblox.

Если меню не появилось

Проверьте, что открыта оригинальная JJS: исходник ограничен universe ID 3508322461. При другом опыте он должен прекратить работу. Ошибку исполнения нужно разбирать по сообщению и строке кода; смена расширения .lua на .txt или поиск «ключа OneRoblox» её не исправляет.

Запуск в чужом исполнителе может не поддерживать используемые объекты клиента. Мы не отмечаем файл рабочим на телефоне только потому, что кнопки меню допускают сенсорное нажатие.

Альтернатива для тренировки

Для освоения Black Flash и комбо сторонний код не нужен. В пользовательской комнате есть манекены и разрешённые команды владельца. Собственные наборы способностей создаются через Workshop и Skill Builder; это отдельная игровая система.

Изображение: Tze's Shenanigans, официальная карточка Roblox. Сведения сверены 26.09.2026; интерфейс и баланс могут меняться.

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

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

Скрипты и обновления Jujutsu Shenanigans в TelegramПодписка не нужна для скачивания.