OneTap Keyless OP Script
Key Required

OneTap Keyless OP Script

[FPS] One Tapunstppble14unstppble14 804 views 8.2K executesUpdated Aug 1, 2026
Unrated
00
Lua Script•214 lines (10827 chars)
-- OneTap Hub v2 — ESP + Aimbot + Rayfield Gen2 Menu
-- RightShift = toggle menu | Mouse2 (hold) = aimbot aim key

local Rayfield = loadstring(game:HttpGet("https://sirius.menu/gen2"))()
local Players        = game:GetService("Players")
local RunService     = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Camera = workspace.CurrentCamera
local lp = Players.LocalPlayer

local CFG = {
    espEnabled=true, boxes=true, healthBars=true, names=true,
    distances=true, skeletons=true, tracers=true, teamCheck=false,
    aimbotEnabled=true, fov=150, smoothing=0.18, aimbotTeamCheck=false,
}

local function newLine(col,thick)
    local l=Drawing.new("Line"); l.Color=col or Color3.new(1,1,1); l.Thickness=thick or 1; l.Visible=false; return l
end
local function newSquare(col,thick)
    local s=Drawing.new("Square"); s.Color=col or Color3.new(1,1,1); s.Thickness=thick or 1; s.Filled=false; s.Visible=false; return s
end
local function newText(sz,col)
    local t=Drawing.new("Text"); t.Size=sz or 13; t.Color=col or Color3.new(1,1,1)
    t.Outline=true; t.OutlineColor=Color3.new(0,0,0); t.Font=Drawing.Fonts.UI; t.Visible=false; return t
end

local BONES={{"Head","Torso"},{"Torso","Left Arm"},{"Torso","Right Arm"},{"Torso","Left Leg"},{"Torso","Right Leg"}}
local LIMBS={"Head","Torso","Left Arm","Right Arm","Left Leg","Right Leg","HumanoidRootPart"}
local drawings={}

local function buildDrawings(p)
    local d={
        box=newSquare(Color3.fromRGB(255,60,60),1.5),
        healthBg=newSquare(Color3.new(0,0,0),1),
        healthFill=Drawing.new("Square"),
        nameTag=newText(13,Color3.new(1,1,1)),
        distTag=newText(11,Color3.fromRGB(220,220,220)),
        tracer=newLine(Color3.fromRGB(255,60,60),1),
        bones={},
    }
    d.healthFill.Filled=true; d.healthFill.Color=Color3.fromRGB(60,220,60); d.healthFill.Visible=false
    for i=1,#BONES do d.bones[i]=newLine(Color3.new(1,1,1),1) end
    drawings[p]=d
end
local function removeDrawings(p)
    local d=drawings[p]; if not d then return end
    d.box:Remove();d.healthBg:Remove();d.healthFill:Remove()
    d.nameTag:Remove();d.distTag:Remove();d.tracer:Remove()
    for _,b in ipairs(d.bones) do b:Remove() end; drawings[p]=nil
end
local function hideDrawings(p)
    local d=drawings[p]; if not d then return end
    d.box.Visible=false;d.healthBg.Visible=false;d.healthFill.Visible=false
    d.nameTag.Visible=false;d.distTag.Visible=false;d.tracer.Visible=false
    for _,b in ipairs(d.bones) do b.Visible=false end
end

local fovCircle=Drawing.new("Circle")
fovCircle.Thickness=1;fovCircle.Color=Color3.new(1,1,1);fovCircle.Filled=false;fovCircle.Visible=false

local function isSameTeam(p)
    if lp.Team and p.Team then return lp.Team==p.Team end; return lp.TeamColor==p.TeamColor
end
local function worldToVP(pos)
    local sp,on=Camera:WorldToViewportPoint(pos); return Vector2.new(sp.X,sp.Y),on,sp.Z
end
local function getCharParts(char)
    local parts={}
    for _,name in ipairs(LIMBS) do local p2=char:FindFirstChild(name); if p2 then parts[name]=p2 end end
    return parts
end
local function getAABB(char)
    local minX,minY,maxX,maxY=math.huge,math.huge,-math.huge,-math.huge; local anyOn=false
    for _,name in ipairs({"Head","Torso","Left Arm","Right Arm","Left Leg","Right Leg"}) do
        local part=char:FindFirstChild(name)
        if part then
            local sp,on,depth=worldToVP(part.Position)
            if on and depth>0 then
                anyOn=true
                if sp.X<minX then minX=sp.X end; if sp.Y<minY then minY=sp.Y end
                if sp.X>maxX then maxX=sp.X end; if sp.Y>maxY then maxY=sp.Y end
            end
        end
    end
    if not anyOn then return nil end
    return Vector2.new(minX,minY),Vector2.new(maxX,maxY)
end
local function screenCenter()
    local vps=Camera.ViewportSize; return Vector2.new(vps.X/2,vps.Y/2)
end

local function getClosestTarget()
    local center=screenCenter(); local bestDist,bestPart=math.huge,nil
    for _,p in ipairs(Players:GetPlayers()) do
        if p==lp then continue end
        if CFG.aimbotTeamCheck and isSameTeam(p) then continue end
        local char=p.Character; if not char then continue end
        local hum=char:FindFirstChildOfClass("Humanoid"); if not hum or hum.Health<=0 then continue end
        local head=char:FindFirstChild("Head"); if not head then continue end
        local sp,on,depth=worldToVP(head.Position); if not on or depth<=0 then continue end
        local dist=(sp-center).Magnitude
        if dist<CFG.fov and dist<bestDist then bestDist=dist; bestPart=head end
    end
    return bestPart
end

for _,p in ipairs(Players:GetPlayers()) do if p~=lp then buildDrawings(p) end end
Players.PlayerAdded:Connect(function(p) if p~=lp then buildDrawings(p) end end)
Players.PlayerRemoving:Connect(function(p) removeDrawings(p) end)

local aimHeld=false
UserInputService.InputBegan:Connect(function(input,gpe)
    if gpe then return end
    if input.UserInputType==Enum.UserInputType.MouseButton2 then aimHeld=true end
end)
UserInputService.InputEnded:Connect(function(input)
    if input.UserInputType==Enum.UserInputType.MouseButton2 then aimHeld=false end
end)

RunService.RenderStepped:Connect(function()
    local vps=Camera.ViewportSize; local center=screenCenter()
    fovCircle.Position=center; fovCircle.Radius=CFG.fov; fovCircle.Visible=CFG.aimbotEnabled

    if CFG.aimbotEnabled and aimHeld and isrbxactive() then
        local target=getClosestTarget()
        if target then
            local sp=worldToVP(target.Position); local s=math.max(0.01,CFG.smoothing)
            mousemoverel((sp.X-center.X)*(1-s),(sp.Y-center.Y)*(1-s))
        end
    end

    for _,p in ipairs(Players:GetPlayers()) do
        if p==lp then continue end
        local d=drawings[p]; if not d then continue end
        local char=p.Character; local hum=char and char:FindFirstChildOfClass("Humanoid")
        if not CFG.espEnabled or not char or not hum or hum.Health<=0 then hideDrawings(p); continue end
        if CFG.teamCheck and isSameTeam(p) then hideDrawings(p); continue end
        local tl,br=getAABB(char); if not tl then hideDrawings(p); continue end
        local boxW=br.X-tl.X; local boxH=br.Y-tl.Y
        local hrp=char:FindFirstChild("HumanoidRootPart")
        local dist3d=hrp and (Camera.CFrame.Position-hrp.Position).Magnitude or 0

        if CFG.boxes then
            d.box.Position=tl; d.box.Size=Vector2.new(boxW,boxH); d.box.Visible=true
        else d.box.Visible=false end

        local hpR=math.clamp(hum.Health/math.max(hum.MaxHealth,1),0,1)
        if CFG.healthBars then
            local barX=tl.X-6
            d.healthBg.Position=Vector2.new(barX-1,tl.Y-1); d.healthBg.Size=Vector2.new(4,boxH+2)
            d.healthBg.Filled=true; d.healthBg.Visible=true
            d.healthFill.Position=Vector2.new(barX,tl.Y+boxH*(1-hpR))
            d.healthFill.Size=Vector2.new(2,boxH*hpR)
            d.healthFill.Color=Color3.fromHSV(hpR*0.33,1,1); d.healthFill.Visible=true
        else d.healthBg.Visible=false; d.healthFill.Visible=false end

        if CFG.names then
            d.nameTag.Text=p.Name; d.nameTag.Position=Vector2.new(tl.X+boxW/2,tl.Y-16)
            d.nameTag.Center=true; d.nameTag.Visible=true
        else d.nameTag.Visible=false end

        if CFG.distances then
            d.distTag.Text=math.floor(dist3d+0.5).."m"
            d.distTag.Position=Vector2.new(tl.X+boxW/2,br.Y+2)
            d.distTag.Center=true; d.distTag.Visible=true
        else d.distTag.Visible=false end

        if CFG.skeletons then
            local parts=getCharParts(char)
            for i,bone in ipairs(BONES) do
                local bl=d.bones[i]; local pa=parts[bone[1]]; local pb=parts[bone[2]]
                if pa and pb then
                    local spa,onA=worldToVP(pa.Position); local spb,onB=worldToVP(pb.Position)
                    if onA and onB then bl.From=spa; bl.To=spb; bl.Visible=true else bl.Visible=false end
                else bl.Visible=false end
            end
        else for _,b in ipairs(d.bones) do b.Visible=false end end

        if CFG.tracers then
            d.tracer.From=Vector2.new(center.X,vps.Y); d.tracer.To=Vector2.new(tl.X+boxW/2,br.Y)
            d.tracer.Visible=true
        else d.tracer.Visible=false end
    end
end)

local Window=Rayfield:CreateWindow({
    Name="OneTap Hub", LoadingTitle="OneTap Hub", LoadingSubtitle="by Real",
    Theme="Default", ToggleKey=Enum.KeyCode.RightShift,
    DisableRayfieldPrompts=false, DisableBuildWarnings=false,
})

local espTab=Window:CreateTab({ name="ESP" })
espTab:CreateSection("Visuals")
espTab:CreateToggle({ name="ESP Enabled",                 value=CFG.espEnabled,    flag="esp_on",    callback=function(v) CFG.espEnabled=v end })
espTab:CreateToggle({ name="Boxes",                       value=CFG.boxes,         flag="esp_box",   callback=function(v) CFG.boxes=v end })
espTab:CreateToggle({ name="Health Bars",                 value=CFG.healthBars,    flag="esp_hp",    callback=function(v) CFG.healthBars=v end })
espTab:CreateToggle({ name="Names",                       value=CFG.names,         flag="esp_names", callback=function(v) CFG.names=v end })
espTab:CreateToggle({ name="Distances",                   value=CFG.distances,     flag="esp_dist",  callback=function(v) CFG.distances=v end })
espTab:CreateToggle({ name="Skeletons",                   value=CFG.skeletons,     flag="esp_skel",  callback=function(v) CFG.skeletons=v end })
espTab:CreateToggle({ name="Tracers",                     value=CFG.tracers,       flag="esp_trc",   callback=function(v) CFG.tracers=v end })
espTab:CreateToggle({ name="Team Check (hide teammates)", value=CFG.teamCheck,     flag="esp_team",  callback=function(v) CFG.teamCheck=v end })

local aimTab=Window:CreateTab({ name="Aimbot" })
aimTab:CreateSection("Aimbot Settings")
aimTab:CreateToggle({ name="Aimbot Enabled",              value=CFG.aimbotEnabled,   flag="aim_on",    callback=function(v) CFG.aimbotEnabled=v end })
aimTab:CreateToggle({ name="Team Check (skip teammates)", value=CFG.aimbotTeamCheck, flag="aim_team",  callback=function(v) CFG.aimbotTeamCheck=v end })
aimTab:CreateSlider({ name="FOV Radius",  min=30,max=500,default=CFG.fov,                       increment=5,flag="aim_fov",    callback=function(v) CFG.fov=v end })
aimTab:CreateSlider({ name="Smoothing %", min=1, max=99, default=math.floor(CFG.smoothing*100), increment=1,flag="aim_smooth", callback=function(v) CFG.smoothing=v/100 end })

local infoTab=Window:CreateTab({ name="Info" })
infoTab:CreateSection("Controls")
infoTab:CreateButton({ name="RightShift  →  Toggle Menu",       callback=function() end })
infoTab:CreateButton({ name="Mouse2 (hold)  →  Aimbot Aim Key", callback=function() end })

Features & Information

AimBot -Fov -AimKey -Team Check ESP -Box -Health Bar -Names -Tracers -Distance -Team Check Was made with Claude AI !!!

Community Comments (0)

No comments yet for this script.

More Scripts for [FPS] One Tap