OP KEYLESS
Key Required

OP KEYLESS

ZoooCakeee9Cakeee9 1.4K views 3.6K executesUpdated Sep 11, 2026
Unrated
00
Lua Script•283 lines (9064 chars)
-- Load the Rayfield Library
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()

local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local LocalPlayer = Players.LocalPlayer

-- Create the main Window with the Amethyst theme
local Window = Rayfield:CreateWindow({
   Name = "⚡ Position Hub & Teleport ⚡",
   LoadingTitle = "Loading Position System...",
   LoadingSubtitle = "Secure ESP System v17.0",
   Theme = "Amethyst",
   ConfigurationSaving = { Enabled = false },
   KeySystem = false,
})

-- Create Tab and Section
local ESPTab = Window:CreateTab("ESP & Teleport", 4483362458)
local ESPSection = ESPTab:CreateSection("Position & One-Way Teleport")

-- State variables
local espEnabled = false
local selectedTargetName = "Appearance"
local savedPosition = nil -- Stores your saved spot
local activeHighlights = {}
local activeBeam = nil
local trackedConnections = {}

-- Function to clear highlights, beams, and listeners
local function clearESP()
   for _, highlight in ipairs(activeHighlights) do
      if highlight then highlight:Destroy() end
   end
   activeHighlights = {}
   
   if activeBeam then
      activeBeam:Destroy()
      activeBeam = nil
   end

   for _, conn in ipairs(trackedConnections) do
      if conn then conn:Disconnect() end
   end
   trackedConnections = {}
end

-- STRICT FILTER: Checks if the item is ACTUALLY available to be picked up
local function isTargetValid(item)
   if not (item:IsA("BasePart") or item:IsA("Model")) then return false end

   local prompt = item:FindFirstChildWhichIsA("ProximityPrompt", true)
   if prompt and prompt.Enabled == false then return false end

   if item:IsA("BasePart") and item.Transparency >= 1 then return false end
   if item:IsA("Model") and item.PrimaryPart and item.PrimaryPart.Transparency >= 1 then return false end

   local currentParent = item.Parent
   while currentParent and currentParent ~= game do
      if currentParent:FindFirstChild("Humanoid") then return false end
      currentParent = currentParent.Parent
   end

   return true
end

-- Function to update ESP and tracer line
local function updateESP()
   clearESP()

   if not espEnabled or not selectedTargetName then return end
   if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then return end

   local hrp = LocalPlayer.Character.HumanoidRootPart
   local foundPart = nil
   local shortestDistance = math.huge

   local targetNormalized = string.lower(selectedTargetName):gsub("%s+", "")

   for _, descendant in ipairs(Workspace:GetDescendants()) do
      local nameNormalized = string.lower(descendant.Name):gsub("%s+", "")
      
      if nameNormalized == targetNormalized and isTargetValid(descendant) then
         local partPos = descendant:IsA("Model") and descendant:GetPivot().Position or descendant.Position
         
         local highlight = Instance.new("Highlight")
         highlight.Name = "TargetESPHighlight"
         highlight.Adornee = descendant
         highlight.FillColor = Color3.fromRGB(170, 0, 255)
         highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
         highlight.FillTransparency = 0.35
         highlight.Parent = descendant
         table.insert(activeHighlights, highlight)

         local distance = (hrp.Position - partPos).Magnitude
         if distance < shortestDistance then
            shortestDistance = distance
            foundPart = descendant
         end
      end
   end

   if foundPart and hrp then
      local targetPart = foundPart:IsA("Model") and foundPart.PrimaryPart or foundPart
      if targetPart and targetPart:IsA("BasePart") then
         local attachment0 = Instance.new("Attachment", hrp)
         local attachment1 = Instance.new("Attachment", targetPart)
         
         local beam = Instance.new("Beam")
         beam.Attachment0 = attachment0
         beam.Attachment1 = attachment1
         beam.Color = ColorSequence.new(Color3.fromRGB(0, 255, 255))
         beam.Width0 = 0.1
         beam.Width1 = 0.1
         beam.FaceCamera = true
         beam.Parent = hrp
         activeBeam = beam
      end
   end
end

-- Button 1: Save Current Position
ESPTab:CreateButton({
   Name = "📌 Save Current Position",
   Callback = function()
      local character = LocalPlayer.Character
      if character and character:FindFirstChild("HumanoidRootPart") then
         savedPosition = character.HumanoidRootPart.CFrame
         Rayfield:Notify({
            Title = "Position Saved!",
            Content = "Your current spot has been locked in.",
            Duration = 2,
         })
      else
         Rayfield:Notify({ Title = "Error", Content = "Character not found!", Duration = 2 })
      end
   end,
})

-- Button 2: Teleport to Appearance (One-Way) & Grab
ESPTab:CreateButton({
   Name = "⚡ Teleport to Appearance (No Auto-Return)",
   Callback = function()
      local character = LocalPlayer.Character
      if not character or not character:FindFirstChild("HumanoidRootPart") then
         Rayfield:Notify({ Title = "Error", Content = "Character not found!", Duration = 2 })
         return
      end

      local hrp = character.HumanoidRootPart
      local targetPart = nil
      local targetPrompt = nil
      local shortestDistance = 1000 -- 1000 studs max limit

      local targetNormalized = string.lower(selectedTargetName):gsub("%s+", "")

      for _, descendant in ipairs(Workspace:GetDescendants()) do
         local nameNormalized = string.lower(descendant.Name):gsub("%s+", "")
         
         if nameNormalized == targetNormalized and isTargetValid(descendant) then
            local partPos = descendant:IsA("Model") and descendant:GetPivot().Position or descendant.Position
            local distance = (hrp.Position - partPos).Magnitude
            
            if distance <= shortestDistance then
               shortestDistance = distance
               targetPart = descendant
               targetPrompt = descendant:FindFirstChildWhichIsA("ProximityPrompt", true)
            end
         end
      end

      if not targetPart then
         Rayfield:Notify({
            Title = "Not Found / Already Taken",
            Content = "No available " .. selectedTargetName .. " found within 1000 studs!",
            Duration = 3,
         })
         return
      end

      local targetPos = targetPart:IsA("Model") and targetPart:GetPivot() or targetPart.CFrame
      
      -- Teleport there and grab it (does NOT return you automatically)
      hrp.CFrame = targetPos + Vector3.new(0, 2, 0)
      
      if targetPrompt then
         pcall(function()
            fireproximityprompt(targetPrompt)
         end)
      end

      Rayfield:Notify({
         Title = "Teleported & Grabbed!",
         Content = "Reached " .. selectedTargetName .. " (" .. math.floor(shortestDistance) .. " studs). Staying here.",
         Duration = 1.5,
      })
      
      if espEnabled then
         task.wait(0.1)
         updateESP()
      end
   end,
})

-- Button 3: Teleport Back to Saved Position
ESPTab:CreateButton({
   Name = "🔙 Teleport Back to Saved Position",
   Callback = function()
      local character = LocalPlayer.Character
      if not character or not character:FindFirstChild("HumanoidRootPart") then
         Rayfield:Notify({ Title = "Error", Content = "Character not found!", Duration = 2 })
         return
      end

      if not savedPosition then
         Rayfield:Notify({
            Title = "No Position Saved",
            Content = "Click 'Save Current Position' first!",
            Duration = 3,
         })
         return
      end

      character.HumanoidRootPart.CFrame = savedPosition
      Rayfield:Notify({
         Title = "Teleported Back!",
         Content = "Returned to your saved position.",
         Duration = 1.5,
      })
   end,
})

-- Dropdown Menu
ESPTab:CreateDropdown({
   Name = "Select Target",
   Options = {"Appearance", "Closet"},
   CurrentOption = {"Appearance"},
   Flag = "TargetDropdown",
   Callback = function(Option)
      if type(Option) == "table" then
         selectedTargetName = Option[1]
      else
         selectedTargetName = Option
      end
      
      if espEnabled then
         updateESP()
      end
      
      Rayfield:Notify({
         Title = "Target Switched",
         Content = "Now tracking: " .. tostring(selectedTargetName),
         Duration = 2,
      })
   end,
})

-- Toggle to turn ESP on/off
ESPTab:CreateToggle({
   Name = "Enable Target ESP",
   CurrentValue = false,
   Flag = "TargetESPState",
   Callback = function(Value)
      espEnabled = Value
      updateESP()
      Rayfield:Notify({
         Title = "ESP Status",
         Content = Value and "ESP Active & Auto-Clearing." or "ESP Turned Off.",
         Duration = 2,
      })
      
      if Value then
         task.spawn(function()
            while espEnabled do
               task.wait(2)
               if espEnabled then updateESP() end
            end
         end)
      end
   end,
})

Rayfield:LoadConfiguration()

Features & Information

Save position Teleport to current position Teleport to Appearance (the key for doors) Esp keys (Appearance) Op things for this is save position in the lobby and teleport to Appearance and telepot to current position

Community Comments (0)

No comments yet for this script.