SOLSTICE OP OPEN SOURCE
Key Required

SOLSTICE OP OPEN SOURCE

The Office ExperimentRainfunRainfun 1K views 27 executesUpdated Dec 7, 2025
Unrated
00
Lua Script•635 lines (21206 chars)
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()


local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")

local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()
local lastClicked = nil
local lastClickTime = 0
local selectedColor = Color3.new(1, 1, 1)
local selectedMaterial = Enum.Material.Plastic

local function firePromptInstant(prompt)
    if prompt and prompt:IsA("ProximityPrompt") then
        local originalHold = prompt.HoldDuration
        prompt.HoldDuration = 0
        fireproximityprompt(prompt)
        task.wait()
        prompt.HoldDuration = originalHold
    end
end

Mouse.Button1Down:Connect(function()
   local target = Mouse.Target
   if not target then return end

   local character = target:FindFirstAncestorOfClass("Model")
   local player = Players:GetPlayerFromCharacter(character)
   if not player or player == LocalPlayer then return end

   local now = tick()
   if lastClicked == player and now - lastClickTime <= 0.4 then
      local backpack = player:FindFirstChild("Backpack")
      local items = {}

      if backpack then
         for _, tool in pairs(backpack:GetChildren()) do
            if tool:IsA("Tool") then
               table.insert(items, tool.Name)
            end
         end
      end

      local content = #items > 0 and table.concat(items, ", ") or "Backpack is empty."

      Rayfield:Notify({
         Title = player.Name .. "'s Loot",
         Content = content,
         Duration = 6,
         Image = "backpack"
      })
   end

   lastClicked = player
   lastClickTime = now
end)

local Window = Rayfield:CreateWindow({
   Name = "SØLSTICE | 📈 The Office Experiment 💼",
   Icon = 0,
   LoadingTitle = "XL Hub",
   LoadingSubtitle = "Optimizing Your Office...",
   Theme = "Amethyst",
   ConfigurationSaving = {
      Enabled = true,
      FolderName = "XLHubConfigs",
      FileName = "OfficeExperiment"
   },
   Discord = {
      Enabled = true,
      Invite = "CuBjTEVkUb",
      RememberJoins = true
   },
   KeySystem = false,
   KeySettings = {
      Title = "The Office Experiment | XL",
      Subtitle = "join our discord for the key, when u join dont leave as the key will change every update",
      Note = "https://discord.gg/CuBjTEVkUb",
      FileName = "Key",
      SaveKey = true,
      GrabKeyFromSite = false,
      Key = {"1U34-HEII-N01M-LUD1C"}
   }
})

local MainTab = Window:CreateTab("Main", "clipboard")

MainTab:CreateParagraph({
   Title = "Credits",
   Content = "Made by Aikraze on Discord, THIS SCRIPT IS IN PRE-RELEASE MORE FEATURES ARE BOUND TO COME!!"
})

MainTab:CreateParagraph({
   Title = "PLEASE READ",
   Content = "To see anyones loot, double click on any player. And a notification will appear exposing their loot. "
})

MainTab:CreateButton({
   Name = "Best Loot Player Viewer",
   Callback = function()
      local bestPlayer = nil
      local highestCount = 0
      local bestDetails = ""

      for _, player in pairs(Players:GetPlayers()) do
         local backpack = player:FindFirstChild("Backpack")
         if backpack then
            local count = 0
            local detail = {}

            for _, tool in pairs(backpack:GetChildren()) do
               if tool:IsA("Tool") then
                  count += 1
                  table.insert(detail, tool.Name)
               end
            end

            if count > highestCount then
               bestPlayer = player
               highestCount = count
               bestDetails = table.concat(detail, ", ")
            end
         end
      end

      if bestPlayer then
         Rayfield:Notify({
            Title = bestPlayer.Name .. " has the most items!",
            Content = "They have " .. highestCount .. " items: " .. bestDetails,
            Duration = 8,
            Image = "backpack"
         })
      else
         Rayfield:Notify({
            Title = "No Players Found",
            Content = "No tools found in any player's backpack.",
            Duration = 6.5,
            Image = "alert-triangle"
         })
      end
   end
})

local function getAndFirePromptByMeshName(meshName)
   local player = Players.LocalPlayer
   local character = player.Character or player.CharacterAdded:Wait()
   local root = character:WaitForChild("HumanoidRootPart")
   local originalPos = root.Position
   local foundPrompt

   for _, model in pairs(workspace:GetDescendants()) do
      if model:IsA("MeshPart") and model.Name == meshName then
         local parentModel = model:FindFirstAncestorOfClass("Model")
         if parentModel then
            foundPrompt = parentModel:FindFirstChildWhichIsA("ProximityPrompt", true)
            if foundPrompt then break end
         end
      end
   end

   if foundPrompt then
      local promptPart = foundPrompt.Parent:IsA("BasePart") and foundPrompt.Parent or foundPrompt.Parent:FindFirstChildWhichIsA("BasePart")
      if promptPart then
         root.CFrame = promptPart.CFrame + Vector3.new(0, 2, 0)
         task.wait(0.3)
         firePromptInstant(foundPrompt)
         task.wait(0.1)
         root.CFrame = CFrame.new(originalPos)
      end
   end
end

MainTab:CreateButton({
   Name = "Get Gun",
   Callback = function()
      getAndFirePromptByMeshName("Meshes/glock17 new_Cube.003")
   end
})

MainTab:CreateButton({
   Name = "Get AK-47",
   Callback = function()
      getAndFirePromptByMeshName("Meshes/ak_Cube.004")
   end
})

MainTab:CreateButton({
   Name = "Get Revolver",
   Callback = function()
      getAndFirePromptByMeshName("Meshes/Magnum Research BFR_Cube")
   end
})

MainTab:CreateButton({
   Name = "Get C4",
   Callback = function()
      local player = Players.LocalPlayer
      local character = player.Character or player.CharacterAdded:Wait()
      local root = character:WaitForChild("HumanoidRootPart")
      local originalPos = root.Position
      local foundPrompt

      for _, model in pairs(workspace:GetDescendants()) do
         if model:IsA("MeshPart") and model.Name:lower():find("explosive") then
            local parentModel = model:FindFirstAncestorOfClass("Model")
            if parentModel then
               foundPrompt = parentModel:FindFirstChildWhichIsA("ProximityPrompt", true)
               if foundPrompt then break end
            end
         end
      end

      if foundPrompt then
         local promptPart = foundPrompt.Parent:IsA("BasePart") and foundPrompt.Parent or foundPrompt.Parent:FindFirstChildWhichIsA("BasePart")
         if promptPart then
            root.CFrame = promptPart.CFrame + Vector3.new(0, 2, 0)
            task.wait(0.3)
            firePromptInstant(foundPrompt)
            task.wait(0.1)
            root.CFrame = CFrame.new(originalPos)
         end
      end
   end
})

MainTab:CreateToggle({
   Name = "Get Mag",
   CurrentValue = false,
   Flag = "MagToggle",
   Callback = function(value)
      if value then
         local player = Players.LocalPlayer
         local character = player.Character or player.CharacterAdded:Wait()
         local root = character:WaitForChild("HumanoidRootPart")
         local originalPos = root.Position
         for _, meshPart in pairs(workspace:GetDescendants()) do
            if meshPart:IsA("MeshPart") and meshPart.MeshId == "rbxassetid://14295879038" then
               local parentModel = meshPart:FindFirstAncestorOfClass("Model")
               if parentModel then
                  local prompt = parentModel:FindFirstChildWhichIsA("ProximityPrompt", true)
                  if prompt then
                     root.CFrame = meshPart.CFrame + Vector3.new(0, 2, 0)
                     task.wait(0.3)
                     firePromptInstant(prompt)
                     task.wait(0.1)
                  end
               end
            end
         end
         root.CFrame = CFrame.new(originalPos)
      end
   end
})

MainTab:CreateToggle({
   Name = "Get Bullet",
   CurrentValue = false,
   Flag = "BulletToggle",
   Callback = function(value)
      if value then
         local player = Players.LocalPlayer
         local character = player.Character or player.CharacterAdded:Wait()
         local root = character:WaitForChild("HumanoidRootPart")
         local originalPos = root.Position
         for _, model in pairs(workspace:GetDescendants()) do
            if model:IsA("MeshPart") and model.Name == "Casing" then
               local parentModel = model:FindFirstAncestorOfClass("Model")
               if parentModel then
                  local prompt = parentModel:FindFirstChildWhichIsA("ProximityPrompt", true)
                  if prompt then
                     root.CFrame = model.CFrame + Vector3.new(0, 2, 0)
                     task.wait(0.3)
                     firePromptInstant(prompt)
                     task.wait(0.1)
                  end
               end
            end
         end
         root.CFrame = CFrame.new(originalPos)
      end
   end
})

MainTab:CreateToggle({
   Name = "No Gun Recoil",
   CurrentValue = false,
   Flag = "NoRecoil",
   Callback = function(state)
      local ReplicatedStorage = game:GetService("ReplicatedStorage")
      local ToolData = require(ReplicatedStorage.Shared.Tools.ToolData)

      for weaponName, weaponData in pairs(ToolData) do
         if weaponData.Spray then
            if state then
               weaponData.Spray.XEq = function() return 0 end
               weaponData.Spray.YEq = function() return 0 end
               weaponData.Spray.Spread = function() return 0 end
               weaponData.Spray.BaseSpread = function() return 0 end
            else
               weaponData.Spray.XEq = nil
               weaponData.Spray.YEq = nil
               weaponData.Spray.Spread = nil
               weaponData.Spray.BaseSpread = nil
            end
         end
      end
   end
})

local VulnerabilityTab = Window:CreateTab("Vulnerability", "message-circle-warning")

VulnerabilityTab:CreateParagraph({
   Title = "Revive Instructions",
   Content = "You need to be dead for this to work. After pressing revive, fly back to the map and noclip into it to get back. You will also need to get a gun afterwards. If you die after clicking the button you don't need to redo it as the game will still think ur alive."
})

VulnerabilityTab:CreateButton({
   Name = "Revive",
   Callback = function()
      local player = Players.LocalPlayer
      if player:GetAttribute("Dead") == false then
         Rayfield:Notify({
            Title = "Revive",
            Content = "You are not dead!",
            Duration = 4,
            Image = "circle-alert"
         })
         return
      end
      if player:GetAttribute("Dead") ~= nil and player:GetAttribute("Alive") ~= nil then
         player:SetAttribute("Dead", false)
         player:SetAttribute("Alive", true)
         Rayfield:Notify({
            Title = "Revive",
            Content = "You have been revived!",
            Duration = 4,
            Image = "badge-check"
         })
      end
   end
})

VulnerabilityTab:CreateParagraph({
   Title = "Assassin Reveal Instructions",
   Content = "Use this button during assassin time to reveal the assassins."
})

VulnerabilityTab:CreateButton({
   Name = "Reveal Assassins",
   Callback = function()
      local foundAny = false
      for _, player in pairs(Players:GetPlayers()) do
         local character = player.Character
         if character and player:GetAttribute("ASDF") == true then
            local alive = player:GetAttribute("Alive")
            local dead = player:GetAttribute("Dead")
            local head = character:FindFirstChild("Head")
            if head then
               local existingBillboard = head:FindFirstChild("AssassinBillboard")
               if alive and not dead then
                  if not existingBillboard then
                     local billboard = Instance.new("BillboardGui")
                     billboard.Name = "AssassinBillboard"
                     billboard.Adornee = head
                     billboard.Size = UDim2.new(0, 200, 0, 50)
                     billboard.AlwaysOnTop = true
                     local textLabel = Instance.new("TextLabel", billboard)
                     textLabel.Size = UDim2.new(1, 0, 1, 0)
                     textLabel.BackgroundTransparency = 1
                     textLabel.TextColor3 = Color3.new(1, 0, 0)
                     textLabel.TextScaled = true
                     textLabel.Text = "ASSASSIN"
                     billboard.Parent = head
                     foundAny = true
                  end
               else
                  if existingBillboard then existingBillboard:Destroy() end
               end
            end
         else
            if player.Character then
               local head = player.Character:FindFirstChild("Head")
               if head then
                  local existingBillboard = head:FindFirstChild("AssassinBillboard")
                  if existingBillboard then existingBillboard:Destroy() end
               end
            end
         end
      end
      Rayfield:Notify({
         Title = "Reveal Assassins",
         Content = foundAny and "Assassins revealed!" or "Assassin round hasn't started yet.",
         Duration = 4,
         Image = "circle-alert"
      })
   end
})

VulnerabilityTab:CreateButton({
   Name = "Melee No Cooldown",
   Callback = function()
      local ReplicatedStorage = game:GetService("ReplicatedStorage")
      local ToolClass = require(ReplicatedStorage.Shared.Tools.ToolClass)
      local EffectsModule = require(ReplicatedStorage.Client.Modules.EffectsModule)

      local originalSwing = ToolClass.Swing

      ToolClass.Swing = function(self, hitObj, swingAnim, toolUsed, extraCallback)
         if self.Swinging then return end
         self.Swinging = true

         self.C:SetState("Swinging", true)
         local v31 = toolUsed or self.Tool

         EffectsModule.Swing(game.Players.LocalPlayer, v31, true)

         self.SwingId = workspace:GetServerTimeNow()
         self.Hits = {}
         self.C:Fire("Swing", self.SwingId, toolUsed)

         local anim = swingAnim or self.SwingAnimations[self.Swings % #self.SwingAnimations + 1]
         anim:Play()
         anim:AdjustSpeed(5)

         self.LastAnimation = anim
         self.Swings = self.Swings + 1
         self.LastAnim = anim

         if extraCallback then
            extraCallback()
         end

         local swingDuration = anim.Length / 5
         task.wait(swingDuration)

         if hitObj then
            hitObj:Stop()
         end

         self.C:SetState("Swinging", false)
         self.C:Fire("CloseSwing", self.SwingId, toolUsed)
         EffectsModule.Swing(game.Players.LocalPlayer, v31, false)
         anim:Stop()

         task.delay(0.1, function()
            self.Swinging = false
         end)
      end

      Rayfield:Notify({
         Title = "Melee Patch Applied",
         Content = "Fast melee with cooldown removed is now active.",
         Duration = 4,
         Image = "badge-check"
      })
   end
})

local AutoFarmTab = Window:CreateTab("Auto Farm", "bot")

AutoFarmTab:CreateButton({
   Name = "Dummy Button",
   Callback = function() end
})

AutoFarmTab:CreateButton({
   Name = "Kill All",
   Callback = function()
      local player = Players.LocalPlayer
      local character = player.Character
      if not character then return end
      local root = character:FindFirstChild("HumanoidRootPart")
      if not root then return end

      for _, targetPlayer in pairs(Players:GetPlayers()) do
         if targetPlayer ~= player and targetPlayer.Character and targetPlayer:GetAttribute("Dead") ~= true then
            local targetCharacter = targetPlayer.Character
            local targetHead = targetCharacter:FindFirstChild("Head")
            if targetHead then
               local backCFrame = targetHead.CFrame * CFrame.new(0, 0, 2)
               root.CFrame = backCFrame
               root.CFrame = CFrame.new(root.Position, targetHead.Position)
               local VirtualUser = game:GetService("VirtualUser")
               VirtualUser:Button1Down(Vector2.new(0, 0))
               task.wait(0.1)
               VirtualUser:Button1Up(Vector2.new(0, 0))
               task.wait(0.2)
            end
         end
      end
   end
})

local FunTab = Window:CreateTab("Fun", "party-popper")

local ESPEnabled = false
local espBillboards = {}

FunTab:CreateToggle({
   Name = "ESP Security",
   CurrentValue = false,
   Flag = "ESPSecurity",
   Callback = function(value)
      ESPEnabled = value
      if not ESPEnabled then
         for _, billboard in pairs(espBillboards) do
            if billboard and billboard.Parent then billboard:Destroy() end
         end
         espBillboards = {}
      else
         for _, player in pairs(Players:GetPlayers()) do
            if player ~= Players.LocalPlayer then
               local character = player.Character
               if character and player:GetAttribute("Job") == "Security" then
                  local head = character:FindFirstChild("Head")
                  if head and not head:FindFirstChild("SecurityBillboard") then
                     local billboard = Instance.new("BillboardGui")
                     billboard.Name = "SecurityBillboard"
                     billboard.Adornee = head
                     billboard.Size = UDim2.new(0, 150, 0, 40)
                     billboard.AlwaysOnTop = true
                     local textLabel = Instance.new("TextLabel", billboard)
                     textLabel.Size = UDim2.new(1, 0, 1, 0)
                     textLabel.BackgroundTransparency = 1
                     textLabel.TextColor3 = Color3.new(1, 0, 0)
                     textLabel.TextScaled = true
                     textLabel.Text = "SECURITY"
                     billboard.Parent = head
                     table.insert(espBillboards, billboard)
                  end
               end
            end
         end
      end
   end
})

FunTab:CreateButton({
    Name = "Break Armory Vault Visually",
    Callback = function()
        local rs = game:GetService("ReplicatedStorage")

        local remotes = rs:WaitForChild("Remotes")
        local impulse = remotes:WaitForChild("Impulse")

        local assets = rs:WaitForChild("Assets")
        local cracksModel = assets:FindFirstChild("Effects"):WaitForChild("VaultCracks")

        local vaultDoor = nil
        for _, obj in ipairs(workspace:GetDescendants()) do
            if obj:IsA("Model") and obj.Name:lower():find("vault door") then 
                vaultDoor = obj
                break
            end
        end
        if not vaultDoor then return end

        local targetPart = nil
        for _, obj in ipairs(vaultDoor:GetDescendants()) do
            if obj:IsA("BasePart") and obj.Name == "Part" and obj.Material == Enum.Material.Metal then
                targetPart = obj
                break
            end
        end
        if not targetPart then return end

        for _, mesh in ipairs(cracksModel:GetChildren()) do
            if mesh:IsA("BasePart") then
                local clone = mesh:Clone()
                clone.CFrame = targetPart.CFrame
                clone.Parent = vaultDoor
                impulse:FireServer(clone, Vector3.new(0, 0, 0))
            end
        end

        targetPart:Destroy()
    end
})

MainTab:CreateColorPicker({
    Name = "Select Color",
    Default = selectedColor,
    Flag = "ColorPicker",
    Callback = function(color)
        selectedColor = color
    end
})

MainTab:CreateDropdown({
    Name = "Select Material",
    Options = {"Plastic", "Wood", "Metal", "Neon", "Glass", "ForceField", "Ice", "DiamondPlate", "Fabric", "SmoothPlastic"},
    Default = "Plastic",
    Flag = "MaterialDropdown",
    Callback = function(materialName)
        selectedMaterial = Enum.Material[materialName] or Enum.Material.Plastic
    end
})

MainTab:CreateButton({
    Name = "Apply Color & Material to All Backpack Tools",
    Callback = function()
        for _, player in pairs(Players:GetPlayers()) do
            local backpack = player:FindFirstChild("Backpack")
            if backpack then
                for _, tool in pairs(backpack:GetChildren()) do
                    if tool:IsA("Tool") then
                        for _, descendant in pairs(tool:GetDescendants()) do
                            if descendant:IsA("BasePart") or descendant:IsA("MeshPart") or descendant:IsA("UnionOperation") then
                                descendant.Color = selectedColor
                                descendant.Material = selectedMaterial
                            end
                        end
                    end
                end
            end
        end
        Rayfield:Notify({
            Title = "Applied!",
            Content = "Color and Material applied to all backpack tools.",
            Duration = 5,
            Image = "badge-check"
        })
    end
})

Rayfield:Notify({
   Title = "Welcome to SØLSTICE",
   Content = "Enjoy The Office Experiment!",
   Duration = 6.5,
   Image = "briefcase"
})

Rayfield:LoadConfiguration()

Features & Information

rerelease

Community Comments (1)

lattesoftworkslattesoftworksJan 5, 2026

bro adds a key system n makes it open source what a retrd :sob: