
Key Required
Script rivals
Lua Script•439 lines (18271 chars)
--// SERVIÇOS
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local CoreGui = game:GetService("CoreGui")
local TweenService = game:GetService("TweenService")
local SoundService = game:GetService("SoundService")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
--// CONFIGURAÇÕES
local Settings = {
-- IMAGEM PERSONALIZADA (rbxassetid://1234567890)
ImageUrl = "rbxassetid://108597538356810", -- COPIE O ID DA SUA IMAGEM DO ROBLOX E COLE AQUI
Aimbot = true,
AimPart = "Head",
FOV = 150,
AimSpeed = 0.6,
TeamCheck = true,
MaxDistance = 1000,
RGB_Mode = false,
ESP_Lines = true,
ESP_Box = true,
ESP_Skeleton = true,
ESP_Health = true,
Fly = false,
FlySpeed = 50,
Noclip = false,
Safe = false,
ThemeColor = Color3.fromRGB(0, 255, 150),
DefaultColor = Color3.fromRGB(0, 255, 150)
}
--// PROTEÇÃO E LIMPEZA
if CoreGui:FindFirstChild("JN_Cheats_V17") then
CoreGui:FindFirstChild("JN_Cheats_V17"):Destroy()
end
RunService:UnbindFromRenderStep("JN_Cheats_Loop_V17")
--// SISTEMA DE SOM
local SoundOn = Instance.new("Sound")
SoundOn.SoundId = "rbxassetid://2865227271"
SoundOn.Volume = 5
SoundOn.Parent = workspace
local SoundOff = Instance.new("Sound")
SoundOff.SoundId = "rbxassetid://2865228021"
SoundOff.Volume = 5
SoundOff.Parent = workspace
local function PlaySound(state)
if state then SoundOn:Play() else SoundOff:Play() end
end
--// CACHE DE DESENHOS
local PlayerDrawings = {}
local function CreateDrawing(class, props)
local obj = Drawing.new(class)
for i, v in pairs(props) do obj[i] = v end
return obj
end
local function AddDrawings(p)
if PlayerDrawings[p] then return end
PlayerDrawings[p] = {
Line = CreateDrawing("Line", {Thickness = 1.5, Color = Settings.ThemeColor, Visible = false}),
Box = CreateDrawing("Square", {Thickness = 1.5, Color = Settings.ThemeColor, Filled = false, Visible = false}),
HealthBar = CreateDrawing("Line", {Thickness = 2, Color = Color3.fromRGB(0, 255, 0), Visible = false}),
Skeleton = {
Spine = CreateDrawing("Line", {Thickness = 1.5, Color = Color3.fromRGB(255,255,255), Visible = false}),
ArmL = CreateDrawing("Line", {Thickness = 1.5, Color = Color3.fromRGB(255,255,255), Visible = false}),
ArmR = CreateDrawing("Line", {Thickness = 1.5, Color = Color3.fromRGB(255,255,255), Visible = false}),
LegL = CreateDrawing("Line", {Thickness = 1.5, Color = Color3.fromRGB(255,255,255), Visible = false}),
LegR = CreateDrawing("Line", {Thickness = 1.5, Color = Color3.fromRGB(255,255,255), Visible = false})
}
}
end
local function RemoveDrawings(p)
if PlayerDrawings[p] then
PlayerDrawings[p].Line:Remove()
PlayerDrawings[p].Box:Remove()
PlayerDrawings[p].HealthBar:Remove()
for _, bone in pairs(PlayerDrawings[p].Skeleton) do bone:Remove() end
PlayerDrawings[p] = nil
end
end
Players.PlayerRemoving:Connect(RemoveDrawings)
--// INTERFACE GRÁFICA (GUI COM IMAGENS & BOTÃO MÓVEL)
local ScreenGui = Instance.new("ScreenGui", CoreGui)
ScreenGui.Name = "JN_Cheats_V17"
ScreenGui.ResetOnSpawn = false
-- Botão de Abrir (Logo Móvel)
local OpenBtn = Instance.new("TextButton", ScreenGui)
OpenBtn.Size = UDim2.new(0, 60, 0, 60)
OpenBtn.Position = UDim2.new(0.5, -30, 0.05, 0)
OpenBtn.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
OpenBtn.Text = ""
OpenBtn.TextColor3 = Settings.ThemeColor
OpenBtn.Font = Enum.Font.GothamBold
OpenBtn.TextSize = 18
OpenBtn.BorderSizePixel = 2
OpenBtn.BorderColor3 = Settings.ThemeColor
Instance.new("UICorner", OpenBtn).CornerRadius = UDim.new(1, 0)
-- TORNA O BOTÃO MÓVEL (Arrastável)
OpenBtn.Active = true
OpenBtn.Draggable = true
-- Coloca a Imagem no Botão
local OpenBtnImage = Instance.new("ImageLabel", OpenBtn)
OpenBtnImage.Size = UDim2.new(0.8, 0, 0.8, 0)
OpenBtnImage.Position = UDim2.new(0.1, 0, 0.1, 0)
OpenBtnImage.BackgroundTransparency = 1
OpenBtnImage.ImageColor3 = Color3.new(1, 1, 1) -- Garante cor original
OpenBtnImage.Image = Settings.ImageUrl
OpenBtnImage.ScaleType = Enum.ScaleType.Fit
-- Painel Principal
local Main = Instance.new("Frame", ScreenGui)
Main.Size = UDim2.new(0, 420, 0, 310)
Main.Position = UDim2.new(0.5, -210, 1.5, 0)
Main.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
Main.BorderSizePixel = 0
Main.Active = true
Main.Draggable = true
Instance.new("UICorner", Main)
-- Animação do Painel
local MenuOpen = false
OpenBtn.MouseButton1Click:Connect(function()
MenuOpen = not MenuOpen
local TargetPos = MenuOpen and UDim2.new(0.5, -210, 0.5, -155) or UDim2.new(0.5, -210, 1.5, 0)
TweenService:Create(Main, TweenInfo.new(0.5, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {Position = TargetPos}):Play()
PlaySound(MenuOpen)
end)
-- Sidebar
local SideBar = Instance.new("Frame", Main)
SideBar.Size = UDim2.new(0, 110, 1, 0)
SideBar.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
Instance.new("UICorner", SideBar)
-- Coloca a Imagem no Painel
local SideBarImage = Instance.new("ImageLabel", SideBar)
SideBarImage.Size = UDim2.new(0.8, 0, 0, 40)
SideBarImage.Position = UDim2.new(0.1, 0, 0, 5)
SideBarImage.BackgroundTransparency = 1
SideBarImage.ImageColor3 = Color3.new(1, 1, 1) -- Garante cor original
SideBarImage.Image = Settings.ImageUrl
SideBarImage.ScaleType = Enum.ScaleType.Fit
local PageContainer = Instance.new("Frame", Main)
PageContainer.Position = UDim2.new(0, 120, 0, 10)
PageContainer.Size = UDim2.new(1, -130, 1, -20)
PageContainer.BackgroundTransparency = 1
local Pages = {}
local function NewPage(name, order)
local p = Instance.new("ScrollingFrame", PageContainer)
p.Size = UDim2.new(1, 0, 1, 0)
p.BackgroundTransparency = 1
p.Visible = false
p.ScrollBarThickness = 0
Instance.new("UIListLayout", p).Padding = UDim.new(0, 5)
local btn = Instance.new("TextButton", SideBar)
btn.Size = UDim2.new(0.9, 0, 0, 35)
btn.Position = UDim2.new(0.05, 0, 0, 50 + (order * 40))
btn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
btn.Text = name
btn.TextColor3 = Color3.fromRGB(200, 200, 200)
btn.Font = Enum.Font.GothamBold
btn.TextSize = 11
Instance.new("UICorner", btn)
btn.MouseButton1Click:Connect(function()
for _, pg in pairs(Pages) do pg.Visible = false end
p.Visible = true
PlaySound(true)
end)
Pages[name] = p
return p
end
local PageAim = NewPage("HEADTRICK", 0)
local PageVis = NewPage("VISUALS", 1)
local PageExt = NewPage("ESTREME", 2)
local PageInf = NewPage("INFO", 3)
PageAim.Visible = true
local InfoText = Instance.new("TextLabel", PageInf)
InfoText.Size = UDim2.new(1, 0, 0, 200)
InfoText.BackgroundTransparency = 1
InfoText.Text = "Criado por:\nJN Xit\n\nVersão: 17.0 Ultimate\n(Correção de Cores da Logo)"
InfoText.TextColor3 = Color3.fromRGB(255, 255, 255)
InfoText.Font = Enum.Font.GothamBold
InfoText.TextSize = 16
local UI_Elements = {}
local function NewToggle(parent, text, setting, callback)
local btn = Instance.new("TextButton", parent)
btn.Size = UDim2.new(1, 0, 0, 35)
btn.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
btn.Text = text .. (Settings[setting] and ": ON" or ": OFF")
btn.TextColor3 = Settings[setting] and Settings.ThemeColor or Color3.fromRGB(200, 200, 200)
btn.Font = Enum.Font.Gotham
Instance.new("UICorner", btn)
table.insert(UI_Elements, {Btn = btn, Setting = setting})
btn.MouseButton1Click:Connect(function()
Settings[setting] = not Settings[setting]
btn.Text = text .. (Settings[setting] and ": ON" or ": OFF")
btn.TextColor3 = Settings[setting] and Settings.ThemeColor or Color3.fromRGB(200, 200, 200)
PlaySound(Settings[setting])
if callback then callback(Settings[setting]) end
end)
end
-- Botões
NewToggle(PageAim, "Aimlock (Mouse1)", "Aimbot")
NewToggle(PageAim, "Team Checker", "TeamCheck")
NewToggle(PageVis, "Modo RGB (Chroma)", "RGB_Mode")
NewToggle(PageVis, "ESP Lines", "ESP_Lines")
NewToggle(PageVis, "ESP Box", "ESP_Box")
NewToggle(PageVis, "ESP Health", "ESP_Health")
NewToggle(PageVis, "ESP Skeleton", "ESP_Skeleton")
-- Lógica Safe e Estreme
local SafePlatform
local LastSafePos
NewToggle(PageExt, "Safe (Zona Segura)", "Safe", function(state)
local char = LocalPlayer.Character
local root = char and char:FindFirstChild("HumanoidRootPart")
if state then
if not SafePlatform then
SafePlatform = Instance.new("Part", workspace)
SafePlatform.Size = Vector3.new(30, 2, 30)
SafePlatform.Position = Vector3.new(0, 50000, 0)
SafePlatform.Anchored = true
SafePlatform.Transparency = 0.9
SafePlatform.BrickColor = BrickColor.new("Lime green")
end
if root then
LastSafePos = root.CFrame
root.CFrame = SafePlatform.CFrame + Vector3.new(0, 5, 0)
end
else
if root and LastSafePos then root.CFrame = LastSafePos end
end
end)
NewToggle(PageExt, "Fly (Voar)", "Fly")
NewToggle(PageExt, "No Clip (Atravessar)", "Noclip")
--// NOCLIP LOGIC
RunService.Stepped:Connect(function()
if Settings.Noclip and LocalPlayer.Character then
for _, part in pairs(LocalPlayer.Character:GetDescendants()) do
if part:IsA("BasePart") and part.CanCollide then part.CanCollide = false end
end
end
end)
--// FUNÇÕES CORE E ULTRA TEAM CHECKER
local function GetParts(char)
local R15 = char:FindFirstChild("UpperTorso")
if R15 then return char:FindFirstChild("Head"), char:FindFirstChild("UpperTorso"), char:FindFirstChild("LeftUpperArm"), char:FindFirstChild("RightUpperArm"), char:FindFirstChild("LeftUpperLeg"), char:FindFirstChild("RightUpperLeg")
else return char:FindFirstChild("Head"), char:FindFirstChild("Torso"), char:FindFirstChild("Left Arm"), char:FindFirstChild("Right Arm"), char:FindFirstChild("Left Leg"), char:FindFirstChild("Right Leg") end
end
local function IsEnemy(p)
if p == LocalPlayer then return false end
if not p.Character or not p.Character.Parent then return false end
if not p.Character:FindFirstChild("Humanoid") or p.Character.Humanoid.Health <= 0 then return false end
if Settings.TeamCheck then
if p.Team and LocalPlayer.Team and p.Team == LocalPlayer.Team then return false end
if p.TeamColor and LocalPlayer.TeamColor and p.TeamColor == LocalPlayer.TeamColor then return false end
end
return true
end
--// LOOP PRINCIPAL (RGB, ESP, AIM)
local FOVCircle = Drawing.new("Circle")
FOVCircle.Thickness = 1.5
FOVCircle.Transparency = 0.8
FOVCircle.Visible = false
RunService:BindToRenderStep("JN_Cheats_Loop_V17", Enum.RenderPriority.Camera.Value + 1, function()
if Settings.RGB_Mode then Settings.ThemeColor = Color3.fromHSV(tick() % 5 / 5, 1, 1)
else Settings.ThemeColor = Settings.DefaultColor end
-- Removi a linha que forçava a imagem a ficar da cor do tema
-- Agora a imagem manterá suas cores originais!
OpenBtn.BorderColor3 = Settings.ThemeColor
FOVCircle.Color = Settings.ThemeColor
for _, ui in pairs(UI_Elements) do
if Settings[ui.Setting] then ui.Btn.TextColor3 = Settings.ThemeColor end
end
FOVCircle.Visible = Settings.Aimbot
FOVCircle.Radius = Settings.FOV
FOVCircle.Position = UserInputService:GetMouseLocation()
if Settings.Fly then
local char = LocalPlayer.Character
local root = char and char:FindFirstChild("HumanoidRootPart")
if root and char:FindFirstChild("Humanoid").Health > 0 then
if not root:FindFirstChild("JNFlyVelocity") then
local bv = Instance.new("BodyVelocity", root)
bv.Name = "JNFlyVelocity"
bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
bv.Velocity = Vector3.new(0, 0, 0)
local bg = Instance.new("BodyGyro", root)
bg.Name = "JNFlyGyro"
bg.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
bg.CFrame = Camera.CFrame
end
local bv = root:FindFirstChild("JNFlyVelocity")
local bg = root:FindFirstChild("JNFlyGyro")
if bv and bg then
bg.CFrame = Camera.CFrame
local dir = Vector3.new(0,0,0)
if UserInputService:IsKeyDown(Enum.KeyCode.W) then dir = dir + Camera.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then dir = dir - Camera.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then dir = dir - Camera.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then dir = dir + Camera.CFrame.RightVector end
bv.Velocity = dir * Settings.FlySpeed
end
end
else
local root = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if root then
if root:FindFirstChild("JNFlyVelocity") then root.JNFlyVelocity:Destroy() end
if root:FindFirstChild("JNFlyGyro") then root.JNFlyGyro:Destroy() end
end
end
local TargetHead = nil
local MinDist = Settings.FOV
for _, d in pairs(PlayerDrawings) do
d.Line.Visible = false; d.Box.Visible = false; d.HealthBar.Visible = false
d.Line.Color = Settings.ThemeColor
d.Box.Color = Settings.ThemeColor
for _, bone in pairs(d.Skeleton) do bone.Visible = false end
end
for _, p in pairs(Players:GetPlayers()) do
if IsEnemy(p) then
if not PlayerDrawings[p] then AddDrawings(p) end
local d = PlayerDrawings[p]
local char = p.Character
local Head, Torso, LArm, RArm, LLeg, RLeg = GetParts(char)
if Head and Torso then
local Distance3D = (Camera.CFrame.Position - Head.Position).Magnitude
if Distance3D <= Settings.MaxDistance then
local HeadPos, OnScreen = Camera:WorldToViewportPoint(Head.Position)
if OnScreen and HeadPos.Z > 0 then
local MousePos = UserInputService:GetMouseLocation()
local Dist2D = (Vector2.new(HeadPos.X, HeadPos.Y) - MousePos).Magnitude
if Dist2D < MinDist then
MinDist = Dist2D
TargetHead = Head
end
local RootPos = Camera:WorldToViewportPoint(Torso.Position)
if RootPos.Z > 0 then
if Settings.ESP_Box then
local Size = Vector2.new(2000/HeadPos.Z, 2500/HeadPos.Z)
d.Box.Size = Size
d.Box.Position = Vector2.new(HeadPos.X - Size.X/2, HeadPos.Y - Size.Y/2)
d.Box.Visible = true
end
if Settings.ESP_Lines then
d.Line.From = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y)
d.Line.To = Vector2.new(HeadPos.X, HeadPos.Y)
d.Line.Visible = true
end
if Settings.ESP_Health then
local H = char.Humanoid.Health / char.Humanoid.MaxHealth
d.HealthBar.From = Vector2.new(HeadPos.X - (2000/HeadPos.Z)/2 - 5, HeadPos.Y + (2500/HeadPos.Z)/2)
d.HealthBar.To = Vector2.new(HeadPos.X - (2000/HeadPos.Z)/2 - 5, (HeadPos.Y + (2500/HeadPos.Z)/2) - (H * (2500/HeadPos.Z)))
d.HealthBar.Visible = true
end
if Settings.ESP_Skeleton and LArm and RArm and LLeg and RLeg then
local pLA = Camera:WorldToViewportPoint(LArm.Position)
local pRA = Camera:WorldToViewportPoint(RArm.Position)
local pLL = Camera:WorldToViewportPoint(LLeg.Position)
local pRL = Camera:WorldToViewportPoint(RLeg.Position)
if pLA.Z > 0 and pRA.Z > 0 and pLL.Z > 0 and pRL.Z > 0 then
d.Skeleton.Spine.From = Vector2.new(HeadPos.X, HeadPos.Y); d.Skeleton.Spine.To = Vector2.new(RootPos.X, RootPos.Y)
d.Skeleton.ArmL.From = Vector2.new(RootPos.X, RootPos.Y); d.Skeleton.ArmL.To = Vector2.new(pLA.X, pLA.Y)
d.Skeleton.ArmR.From = Vector2.new(RootPos.X, RootPos.Y); d.Skeleton.ArmR.To = Vector2.new(pRA.X, pRA.Y)
d.Skeleton.LegL.From = Vector2.new(RootPos.X, RootPos.Y); d.Skeleton.LegL.To = Vector2.new(pLL.X, pLL.Y)
d.Skeleton.LegR.From = Vector2.new(RootPos.X, RootPos.Y); d.Skeleton.LegR.To = Vector2.new(pRL.X, pRL.Y)
for _, bone in pairs(d.Skeleton) do bone.Visible = true end
end
end
end
end
end
end
end
end
if Settings.Aimbot and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) and TargetHead then
local HeadPos = Camera:WorldToViewportPoint(TargetHead.Position)
local MouseLocation = UserInputService:GetMouseLocation()
local MoveX = (HeadPos.X - MouseLocation.X) * Settings.AimSpeed
local MoveY = (HeadPos.Y - MouseLocation.Y) * Settings.AimSpeed
if mousemoverel then mousemoverel(MoveX, MoveY)
else
local TargetCFrame = CFrame.lookAt(Camera.CFrame.Position, TargetHead.Position)
Camera.CFrame = Camera.CFrame:Lerp(TargetCFrame, Settings.AimSpeed + 0.2)
end
end
end)Features & Information
aimboit and all
Community Comments (0)
No comments yet for this script.
