-- UI
local Rayfield = loadstring(game:HttpGet('https://[Log in to view URL]'))()

local Window = Rayfield:CreateWindow({
    Name = "Astra Ware",
    Icon = 0,
    LoadingTitle = "Astra Ware Interface Suite",
    LoadingSubtitle = "by zqint",
    ShowText = "Astra Ware",
    Theme = "AmberGlow",
    ToggleUIKeybind = "K",

    ConfigurationSaving = {
        Enabled = true,
        FolderName = nil,
        FileName = "Astra Ware"
    },

    Discord = {
        Enabled = true,
        Invite = "xdefAXQfn8",
        RememberJoins = true
    },

    KeySystem = true,
    KeySettings = {
        Title = "Astra Key System",
        Subtitle = "Key System",
        Note = "Join our discord https://[Log in to view URL]",
        FileName = "Key",
        SaveKey = true,
        GrabKeyFromSite = false,
        Key = {"test"}
    }
})

-- Tabs and Sections
local Tab = Window:CreateTab("Exploits", 4483362458)
local Section = Tab:CreateSection("Main Features")

-- Inf Legendarys Feature
local RunChanger = false

Tab:CreateToggle({
   Name = "Inf Legendarys",
   CurrentValue = false,
   Flag = "inf Legendarys",
   Callback = function(Value)
      RunChanger = Value
   end,
})

task.spawn(function()
   while true do
      if RunChanger then
         pcall(function()
            game:GetService("ReplicatedStorage"):WaitForChild("RemoteFunctions"):WaitForChild("ClaimLegendary"):InvokeServer()
         end)
      end
      task.wait(0.1)
   end
end)

-- Instant Prompt Trigger Feature
local PromptEnabled = false
local triggerKey = Enum.KeyCode.E
local userInput = game:GetService("UserInputService")

Tab:CreateToggle({
   Name = "Instant Claim Prompts",
   CurrentValue = false,
   Flag = "InstantClaim",
   Callback = function(Value)
      PromptEnabled = Value
   end,
})

-- Loop to keep setting prompt properties
task.spawn(function()
   while true do
      if PromptEnabled then
         for _, prompt in pairs(workspace:GetDescendants()) do
            if prompt:IsA("ProximityPrompt") then
               prompt.HoldDuration = 0
               prompt.MaxActivationDistance = 100
            end
         end
      end
      task.wait(1)
   end
end)

-- Desktop/Keyboard input handling
userInput.InputBegan:Connect(function(input, gameProcessed)
   if gameProcessed or not PromptEnabled then return end
   if input.KeyCode == triggerKey then
      local player = game.Players.LocalPlayer
      local char = player.Character
      if char and (char.PrimaryPart or char:FindFirstChild("HumanoidRootPart")) then
         local root = char.PrimaryPart or char:FindFirstChild("HumanoidRootPart")
         for _, prompt in pairs(workspace:GetDescendants()) do
            if prompt:IsA("ProximityPrompt") and prompt.Enabled then
               local distance = (prompt.Parent.Position - root.Position).Magnitude
               if distance <= prompt.MaxActivationDistance then
                  if fireproximityprompt then
                     fireproximityprompt(prompt)
                  else
                     warn("fireproximityprompt not available in your executor.")
                  end
               end
            end
         end
      end
   end
end)

-- Mobile Button Always Added to Menu
local mobileButton = Tab:CreateButton({
   Name = "📲 Tap to Claim Prompt (Mobile)",
   Callback = function()
      if not PromptEnabled then
         Rayfield:Notify({
            Title = "Prompt Not Enabled",
            Content = "Turn on 'Instant Claim Prompts' toggle first.",
            Duration = 3
         })
         return
      end

      if not userInput.TouchEnabled then
         Rayfield:Notify({
            Title = "Not on Mobile",
            Content = "This button is for mobile devices only.",
            Duration = 3
         })
         return
      end

      local player = game.Players.LocalPlayer
      local char = player.Character
      if char and (char.PrimaryPart or char:FindFirstChild("HumanoidRootPart")) then
         local root = char.PrimaryPart or char:FindFirstChild("HumanoidRootPart")
         for _, prompt in pairs(workspace:GetDescendants()) do
            if prompt:IsA("ProximityPrompt") and prompt.Enabled then
               local distance = (prompt.Parent.Position - root.Position).Magnitude
               if distance <= prompt.MaxActivationDistance then
                  if fireproximityprompt then
                     fireproximityprompt(prompt)
                  else
                     warn("fireproximityprompt not available.")
                  end
               end
            end
         end
      end
   end,
})

Embed on website

To embed this program on your website, copy the following code and paste it into your website's HTML: