Script
Key Required

Script

Experience AbstractionApollodahackerApollodahacker 87 views 346 executesUpdated Jul 24, 2026
Unrated
00
Lua Script•785 lines (22887 chars)
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Lighting = game:GetService("Lighting")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera

local Window = Rayfield:CreateWindow({
   Name = "Experience Abstraction",
   LoadingTitle = "Loading...",
   LoadingSubtitle = "by texy444",
   ConfigurationSaving = {
      Enabled = false,
      FolderName = nil,
      FileName = "UtilityHub"
   },
   Discord = {
      Enabled = false,
      Invite = "noinvite",
      RememberJoins = true
   },
   KeySystem = false,
   KeySettings = {
      Title = "Untitled",
      Subtitle = "Key System",
      Note = "No method of obtaining the key is provided",
      FileName = "Key",
      SaveKey = true,
      GrabKeyFromSite = false,
      Key = {"1234"}
   }
})
local MainTab = Window:CreateTab("Main", 4483362458)
local TeleportTab = Window:CreateTab("Teleports", 4483362458)
local PlayersTab = Window:CreateTab("Players", 4483362458)
local VisualsTab = Window:CreateTab("Visuals", 4483362458)

local function playSwearSound()
   local success, err = pcall(function()
      local soundFolder = ReplicatedStorage:WaitForChild("SwearSounds", 3)
      if soundFolder then
         local sound = soundFolder:WaitForChild("Swear1", 3)
         if sound and sound:IsA("Sound") then
            local clone = sound:Clone()
            clone.Parent = workspace
            clone:Play()
            clone.Ended:Connect(function()
               clone:Destroy()
            end)
         end
      end
   end)
   if not success then
      warn("Could not play Swear1 sound: " .. tostring(err))
   end
end

MainTab:CreateSection("Movement & Survival")

local currentWalkSpeed = 16

MainTab:CreateSlider({
   Name = "WalkSpeed",
   Range = {16, 200},
   Increment = 1,
   Suffix = "Speed",
   CurrentValue = 16,
   Flag = "WalkSpeedSlider",
   Callback = function(Value)
      currentWalkSpeed = Value
      if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
         LocalPlayer.Character.Humanoid.WalkSpeed = currentWalkSpeed
      end
   end,
})

MainTab:CreateButton({
   Name = "Reset WalkSpeed",
   Callback = function()
      playSwearSound()
      currentWalkSpeed = 16
      if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
         LocalPlayer.Character.Humanoid.WalkSpeed = 16
      end
   end,
})

LocalPlayer.CharacterAdded:Connect(function(char)
   local humanoid = char:WaitForChild("Humanoid", 5)
   if humanoid then
      humanoid.WalkSpeed = currentWalkSpeed
   end
end)

local currentJumpPower = 50

MainTab:CreateSlider({
   Name = "JumpPower",
   Range = {50, 300},
   Increment = 1,
   Suffix = "Power",
   CurrentValue = 50,
   Flag = "JumpPowerSlider",
   Callback = function(Value)
      currentJumpPower = Value
      if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
         LocalPlayer.Character.Humanoid.UseJumpPower = true
         LocalPlayer.Character.Humanoid.JumpPower = currentJumpPower
      end
   end,
})

MainTab:CreateButton({
   Name = "Reset JumpPower",
   Callback = function()
      playSwearSound()
      currentJumpPower = 50
      if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
         LocalPlayer.Character.Humanoid.UseJumpPower = true
         LocalPlayer.Character.Humanoid.JumpPower = 50
      end
   end,
})

LocalPlayer.CharacterAdded:Connect(function(char)
   local humanoid = char:WaitForChild("Humanoid", 5)
   if humanoid then
      humanoid.UseJumpPower = true
      humanoid.JumpPower = currentJumpPower
   end
end)

local infJumpEnabled = false

MainTab:CreateToggle({
   Name = "Infinite Jump",
   CurrentValue = false,
   Flag = "InfJumpToggle",
   Callback = function(Value)
      playSwearSound()
      infJumpEnabled = Value
   end,
})

UserInputService.JumpRequest:Connect(function()
   if infJumpEnabled then
      local character = LocalPlayer.Character
      if character and character:FindFirstChild("Humanoid") then
         character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
      end
   end
end)

local noclipEnabled = false

MainTab:CreateToggle({
   Name = "Noclip",
   CurrentValue = false,
   Flag = "NoclipToggle",
   Callback = function(Value)
      playSwearSound()
      noclipEnabled = Value
      if not Value and LocalPlayer.Character then
         for _, part in ipairs(LocalPlayer.Character:GetDescendants()) do
            if part:IsA("BasePart") then
               part.CanCollide = true
            end
         end
      end
   end,
})

RunService.Stepped:Connect(function()
   if noclipEnabled and LocalPlayer.Character then
      for _, part in ipairs(LocalPlayer.Character:GetDescendants()) do
         if part:IsA("BasePart") then
            part.CanCollide = false
         end
      end
   end
end)

local godModeEnabled = false
local currentFF = nil

local function removeFF()
   if currentFF then
      currentFF:Destroy()
      currentFF = nil
   end
end

local function applyFF()
   removeFF()
   local char = LocalPlayer.Character
   if godModeEnabled and char then
      currentFF = Instance.new("ForceField")
      currentFF.Visible = true
      currentFF.Parent = char
   end
end

MainTab:CreateToggle({
   Name = "God Mode (ForceField)",
   CurrentValue = false,
   Flag = "GodModeToggle",
   Callback = function(Value)
      playSwearSound()
      godModeEnabled = Value
      if Value then
         applyFF()
      else
         removeFF()
      end
   end,
})

LocalPlayer.CharacterAdded:Connect(function(char)
   task.wait(0.5)
   if godModeEnabled then
      applyFF()
   end
end)

TeleportTab:CreateSection("Custom Teleports & Audio")

local function teleportToTarget(targetPosition)
   local char = LocalPlayer.Character
   if char and char:FindFirstChild("HumanoidRootPart") then
      char.HumanoidRootPart.CFrame = CFrame.new(targetPosition)
      playSwearSound()
   end
end

local function findPartRecursive(parent, name)
   local found = parent:FindFirstChild(name, true)
   return found
end

TeleportTab:CreateButton({
   Name = "TP to Cellar",
   Callback = function()
      local targetPart = findPartRecursive(workspace, "CellarHoleInside")
      if targetPart and targetPart:IsA("BasePart") then
         teleportToTarget(targetPart.Position - Vector3.new(0, 10, 0))
      else
         warn("CellarHoleInside part not found anywhere in workspace!")
         playSwearSound()
      end
   end,
})

TeleportTab:CreateButton({
   Name = "TP Out Of Map",
   Callback = function()
      local targetPart = findPartRecursive(workspace, "CaineTP")
      if targetPart and targetPart:IsA("BasePart") then
         teleportToTarget(targetPart.Position + Vector3.new(0, 3, 0))
      else
         warn("CaineTP part not found anywhere in workspace!")
         playSwearSound()
      end
   end,
})

TeleportTab:CreateButton({
   Name = "TP to BlackBox",
   Callback = function()
      local targetPart = findPartRecursive(workspace, "TPPart")
      if targetPart and targetPart:IsA("BasePart") then
         teleportToTarget(targetPart.Position + Vector3.new(0, 3, 0))
      else
         warn("TPPart part not found anywhere in workspace!")
         playSwearSound()
      end
   end,
})

TeleportTab:CreateButton({
   Name = "TP to Stage",
   Callback = function()
      local targetPart = findPartRecursive(workspace, "StageTP")
      if targetPart and targetPart:IsA("BasePart") then
         teleportToTarget(targetPart.Position + Vector3.new(0, 3, 0))
      else
         warn("StageTP part not found anywhere in workspace!")
         playSwearSound()
      end
   end,
})

PlayersTab:CreateSection("Target Player Options")

local selectedPlayerName = nil
local playerList = {}

local function updatePlayerList()
   playerList = {}
   for _, p in ipairs(Players:GetPlayers()) do
      if p ~= LocalPlayer then
         table.insert(playerList, p.Name)
      end
   end
   if #playerList == 0 then
      table.insert(playerList, "None")
   end
end

updatePlayerList()
selectedPlayerName = playerList[1]

local function getSelectedPlayer()
   if not selectedPlayerName or selectedPlayerName == "None" then return nil end
   return Players:FindFirstChild(selectedPlayerName)
end

local playerDropdown = PlayersTab:CreateDropdown({
   Name = "Select Player",
   Options = playerList,
   CurrentOption = playerList[1] or "",
   Flag = "SelectedPlayerDropdown",
   Callback = function(Option)
      playSwearSound()
      if type(Option) == "table" then
         selectedPlayerName = Option[1]
      else
         selectedPlayerName = Option
      end
   end,
})

Players.PlayerAdded:Connect(function(p)
   if p ~= LocalPlayer then
      updatePlayerList()
      playerDropdown:Refresh(playerList)
   end
end)

Players.PlayerRemoving:Connect(function(p)
   updatePlayerList()
   playerDropdown:Refresh(playerList)
   if selectedPlayerName == p.Name then
      selectedPlayerName = playerList[1]
   end
end)

PlayersTab:CreateButton({
   Name = "Refresh Player List",
   Callback = function()
      playSwearSound()
      updatePlayerList()
      playerDropdown:Refresh(playerList)
   end,
})

PlayersTab:CreateButton({
   Name = "TP to Player",
   Callback = function()
      playSwearSound()
      local target = getSelectedPlayer()
      if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then
         local char = LocalPlayer.Character
         if char and char:FindFirstChild("HumanoidRootPart") then
            char.HumanoidRootPart.CFrame = target.Character.HumanoidRootPart.CFrame + Vector3.new(0, 3, 0)
         end
      end
   end,
})

PlayersTab:CreateButton({
   Name = "Kill Player",
   Callback = function()
      playSwearSound()
      local target = getSelectedPlayer()
      if target and target.Character then
         local humanoid = target.Character:FindFirstChildOfClass("Humanoid")
         if humanoid then
            humanoid.Health = 0
         end
         target.Character:BreakJoints()
      end
   end,
})

PlayersTab:CreateButton({
   Name = "Fling Player",
   Callback = function()
      playSwearSound()
      local target = getSelectedPlayer()
      if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then
         local tRoot = target.Character.HumanoidRootPart
         local bav = Instance.new("BodyAngularVelocity")
         bav.AngularVelocity = Vector3.new(99999, 99999, 99999)
         bav.MaxTorque = Vector3.new(99999, 99999, 99999)
         bav.Parent = tRoot
         
         local bv = Instance.new("BodyVelocity")
         bv.Velocity = Vector3.new(0, 99999, 0)
         bv.MaxForce = Vector3.new(99999, 99999, 99999)
         bv.Parent = tRoot
         
         task.wait(0.3)
         bav:Destroy()
         bv:Destroy()
      end
   end,
})

PlayersTab:CreateButton({
   Name = "FF Player",
   Callback = function()
      playSwearSound()
      local target = getSelectedPlayer()
      if target and target.Character then
         local ff = Instance.new("ForceField")
         ff.Visible = true
         ff.Parent = target.Character
      end
   end,
})

VisualsTab:CreateSection("ESP & Visuals")

local boxEspEnabled = false
local tracersEnabled = false
local chamsEnabled = false
local nameTagsEnabled = false
local fullbrightEnabled = false

local activeBoxes = {}
local activeTracers = {}
local activeHighlights = {}
local activeNameTags = {}

local function createBoxESP(player)
   if player == LocalPlayer or activeBoxes[player] then return end
   local box = {}
   box.TL = Drawing.new("Line")
   box.TR = Drawing.new("Line")
   box.BL = Drawing.new("Line")
   box.BR = Drawing.new("Line")
   
   for _, line in pairs(box) do
      line.Visible = false
      line.Color = Color3.fromRGB(255, 0, 0)
      line.Thickness = 1.5
      line.Transparency = 1
   end
   activeBoxes[player] = box
end

local function removeBoxESP(player)
   if activeBoxes[player] then
      for _, line in pairs(activeBoxes[player]) do
         line:Remove()
      end
      activeBoxes[player] = nil
   end
end

local function createTracer(player)
   if player == LocalPlayer or activeTracers[player] then return end
   local line = Drawing.new("Line")
   line.Visible = false
   line.Color = Color3.fromRGB(255, 0, 0)
   line.Thickness = 1.5
   line.Transparency = 1
   activeTracers[player] = line
end

local function removeTracer(player)
   if activeTracers[player] then
      activeTracers[player]:Remove()
      activeTracers[player] = nil
   end
end

local function createHighlight(player)
   if player == LocalPlayer or activeHighlights[player] then return end
   local character = player.Character
   if character then
      local hl = Instance.new("Highlight")
      hl.Name = "UtilityChams"
      hl.FillColor = Color3.fromRGB(255, 0, 0)
      hl.OutlineColor = Color3.fromRGB(255, 255, 255)
      hl.FillTransparency = 0.5
      hl.Adornee = character
      hl.Parent = character
      hl.Enabled = chamsEnabled
      activeHighlights[player] = hl
   end
end

local function removeHighlight(player)
   if activeHighlights[player] then
      activeHighlights[player]:Destroy()
      activeHighlights[player] = nil
   end
end

local function createNameTag(player)
   if player == LocalPlayer or activeNameTags[player] then return end
   local character = player.Character
   if character then
      local head = character:FindFirstChild("Head")
      if head then
         local billboard = Instance.new("BillboardGui")
         billboard.Name = "UtilityNameTag"
         billboard.Size = UDim2.new(0, 200, 0, 50)
         billboard.StudsOffset = Vector3.new(0, 2.5, 0)
         billboard.AlwaysOnTop = true
         billboard.Enabled = nameTagsEnabled
         
         local textLabel = Instance.new("TextLabel")
         textLabel.Size = UDim2.new(1, 0, 1, 0)
         textLabel.BackgroundTransparency = 1
         textLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
         textLabel.TextStrokeTransparency = 0
         textLabel.TextSize = 14
         textLabel.Font = Enum.Font.SourceSansBold
         textLabel.Parent = billboard
         
         billboard.Adornee = head
         billboard.Parent = head
         activeNameTags[player] = billboard
      end
   end
end

local function removeNameTag(player)
   if activeNameTags[player] then
      activeNameTags[player]:Destroy()
      activeNameTags[player] = nil
   end
end

local function setupPlayer(player)
   if player == LocalPlayer then return end
   
   player.CharacterAdded:Connect(function(char)
      task.wait(1)
      removeBoxESP(player)
      removeHighlight(player)
      removeNameTag(player)
      if boxEspEnabled then createBoxESP(player) end
      if chamsEnabled then createHighlight(player) end
      if nameTagsEnabled then createNameTag(player) end
   end)
   
   createBoxESP(player)
   createTracer(player)
   if player.Character then
      if boxEspEnabled then createBoxESP(player) end
      if chamsEnabled then createHighlight(player) end
      if nameTagsEnabled then createNameTag(player) end
   end
end

for _, player in ipairs(Players:GetPlayers()) do
   setupPlayer(player)
end

Players.PlayerAdded:Connect(setupPlayer)

Players.PlayerRemoving:Connect(function(player)
   removeBoxESP(player)
   removeTracer(player)
   removeHighlight(player)
   removeNameTag(player)
end)

RunService.RenderStepped:Connect(function()
   local localChar = LocalPlayer.Character
   local localRoot = localChar and localChar:FindFirstChild("HumanoidRootPart")
   
   for _, player in ipairs(Players:GetPlayers()) do
      if player ~= LocalPlayer then
         local character = player.Character
         local rootPart = character and character:FindFirstChild("HumanoidRootPart")
         local humanoid = character and character:FindFirstChild("Humanoid")
         
         local box = activeBoxes[player]
         if boxEspEnabled and character then
            if not box then
               createBoxESP(player)
               box = activeBoxes[player]
            end
            
            local cf, size = character:GetBoundingBox()
            local corners = {
               cf * Vector3.new(-size.X/2, size.Y/2, -size.Z/2),
               cf * Vector3.new(size.X/2, size.Y/2, -size.Z/2),
               cf * Vector3.new(-size.X/2, -size.Y/2, -size.Z/2),
               cf * Vector3.new(size.X/2, -size.Y/2, -size.Z/2),
               cf * Vector3.new(-size.X/2, size.Y/2, size.Z/2),
               cf * Vector3.new(size.X/2, size.Y/2, size.Z/2),
               cf * Vector3.new(-size.X/2, -size.Y/2, size.Z/2),
               cf * Vector3.new(size.X/2, -size.Y/2, size.Z/2)
            }
            
            local minX, minY = math.huge, math.huge
            local maxX, maxY = -math.huge, -math.huge
            local onScreen = true
            
            for _, corner in ipairs(corners) do
               local screenPoint, vis = Camera:WorldToViewportPoint(corner)
               if not vis then
                  onScreen = false
                  break
               end
               minX = math.min(minX, screenPoint.X)
               minY = math.min(minY, screenPoint.Y)
               maxX = math.max(maxX, screenPoint.X)
               maxY = math.max(maxY, screenPoint.Y)
            end
            
            if onScreen and box then
               box.TL.From = Vector2.new(minX, minY)
               box.TL.To = Vector2.new(maxX, minY)
               
               box.TR.From = Vector2.new(maxX, minY)
               box.TR.To = Vector2.new(maxX, maxY)
               
               box.BL.From = Vector2.new(minX, maxY)
               box.BL.To = Vector2.new(maxX, maxY)
               
               box.BR.From = Vector2.new(minX, minY)
               box.BR.To = Vector2.new(minX, maxY)
               
               for _, line in pairs(box) do line.Visible = true end
            else
               if box then
                  for _, line in pairs(box) do line.Visible = false end
               end
            end
         else
            if box then
               for _, line in pairs(box) do line.Visible = false end
            end
         end
         
         local tracer = activeTracers[player]
         if tracersEnabled and rootPart and localRoot then
            local vector, onScreen = Camera:WorldToViewportPoint(rootPart.Position)
            if onScreen then
               tracer.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y)
               tracer.To = Vector2.new(vector.X, vector.Y)
               tracer.Visible = true
            else
               tracer.Visible = false
            end
         else
            if tracer then tracer.Visible = false end
         end
         
         local tag = activeNameTags[player]
         if tag and rootPart and localRoot and humanoid then
            local textLabel = tag:FindFirstChildOfClass("TextLabel")
            if textLabel then
               local distance = math.floor((rootPart.Position - localRoot.Position).Magnitude)
               local health = math.floor(humanoid.Health)
               textLabel.Text = player.Name .. " | " .. health .. "HP | [" .. distance .. " studs]"
            end
         end
      end
   end
end)

VisualsTab:CreateToggle({
   Name = "Box ESP",
   CurrentValue = false,
   Flag = "BoxESPToggle",
   Callback = function(Value)
      playSwearSound()
      boxEspEnabled = Value
      if not Value then
         for _, box in pairs(activeBoxes) do
            for _, line in pairs(box) do line.Visible = false end
         end
      end
   end,
})

VisualsTab:CreateToggle({
   Name = "Player Tracers",
   CurrentValue = false,
   Flag = "TracersToggle",
   Callback = function(Value)
      playSwearSound()
      tracersEnabled = Value
      if not Value then
         for _, tracer in pairs(activeTracers) do
            tracer.Visible = false
         end
      end
   end,
})

VisualsTab:CreateToggle({
   Name = "Player Chams (Highlight)",
   CurrentValue = false,
   Flag = "ChamsToggle",
   Callback = function(Value)
      playSwearSound()
      chamsEnabled = Value
      for _, player in ipairs(Players:GetPlayers()) do
         if player ~= LocalPlayer then
            if Value then
               createHighlight(player)
            else
               removeHighlight(player)
            end
         end
      end
   end,
})

VisualsTab:CreateToggle({
   Name = "Advanced Name Tags",
   CurrentValue = false,
   Flag = "NameTagToggle",
   Callback = function(Value)
      playSwearSound()
      nameTagsEnabled = Value
      for _, player in ipairs(Players:GetPlayers()) do
         if player ~= LocalPlayer then
            if Value then
               createNameTag(player)
               if activeNameTags[player] then activeNameTags[player].Enabled = true end
            else
               if activeNameTags[player] then activeNameTags[player].Enabled = false end
            end
         end
      end
   end,
})

local fullbrightConnection = nil
local savedBrightness = Lighting.Brightness
local savedClockTime = Lighting.ClockTime
local savedFogEnd = Lighting.FogEnd
local savedGlobalShadows = Lighting.GlobalShadows
local savedOutdoorAmbient = Lighting.OutdoorAmbient
local savedAmbient = Lighting.Ambient

VisualsTab:CreateToggle({
   Name = "Fullbright",
   CurrentValue = false,
   Flag = "FullbrightToggle",
   Callback = function(Value)
      playSwearSound()
      fullbrightEnabled = Value
      if fullbrightEnabled then
         savedBrightness = Lighting.Brightness
         savedClockTime = Lighting.ClockTime
         savedFogEnd = Lighting.FogEnd
         savedGlobalShadows = Lighting.GlobalShadows
         savedOutdoorAmbient = Lighting.OutdoorAmbient
         savedAmbient = Lighting.Ambient
         
         fullbrightConnection = RunService.RenderStepped:Connect(function()
            Lighting.Brightness = 2
            Lighting.ClockTime = 14
            Lighting.FogEnd = 100000
            Lighting.GlobalShadows = false
            Lighting.OutdoorAmbient = Color3.fromRGB(128, 128, 128)
            Lighting.Ambient = Color3.fromRGB(128, 128, 128)
         end)
      else
         if fullbrightConnection then
            fullbrightConnection:Disconnect()
            fullbrightConnection = nil
         end
         Lighting.Brightness = savedBrightness
         Lighting.ClockTime = savedClockTime
         Lighting.FogEnd = savedFogEnd
         Lighting.GlobalShadows = savedGlobalShadows
         Lighting.OutdoorAmbient = savedOutdoorAmbient
         Lighting.Ambient = savedAmbient
      end
   end,
})

Features & Information

Walkspeed JumpPower Noclip God Mode INF Jump FUll Bright ESp TP Shit
#Mods#Hacks#TADC

Community Comments (0)

No comments yet for this script.

More Scripts for Experience Abstraction