getgenv().Config = { Invite = "informant.wtf", Version = "0.1", } getgenv().luaguardvars = { DiscordName = "shutka1", } -- Load RayField local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() -- Services local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local ProximityPromptService = game:GetService("ProximityPromptService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local player = Players.LocalPlayer local camera = workspace.CurrentCamera -- Variables for functions local espEnabled = false local espFolder = Instance.new("Folder", player.PlayerGui) espFolder.Name = "ESPFolder" local aiming = false local aimbotEnabled = false local aimbotActive = false local aimbotFOV = 30 local aimbotSmoothness = 3 local aimbotToggleMode = false local instantInteractEnabled = false local godModeActive = false local nightVisionEnabled = false -- FOV Circle local FOVCircle = Drawing.new("Circle") FOVCircle.Thickness = 2 FOVCircle.Color = Color3.fromRGB(255, 0, 0) FOVCircle.Filled = false FOVCircle.Visible = false FOVCircle.Radius = aimbotFOV FOVCircle.NumSides = 60 FOVCircle.Position = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2) -- Settings table local Settings = { Aimbot = false, AimbotFOV = 30, ShowFOV = false, AimbotSmoothness = 3, ToggleMode = false, ESP = false, NightVision = false, InstantInteract = false, GodMode = false } -- Helper functions local function getClosestPlayerToCrosshair(fov) local closestPlayer = nil local closestAngle = math.huge local mousePos = Vector2.new(camera.ViewportSize.X/2, camera.ViewportSize.Y/2) for _, plr in pairs(Players:GetPlayers()) do if plr ~= player and plr.Character and plr.Character:FindFirstChild("Head") then local head = plr.Character.Head local headPos, onScreen = camera:WorldToViewportPoint(head.Position) if onScreen then local distance = (Vector2.new(headPos.X, headPos.Y) - mousePos).Magnitude local angle = math.deg(math.atan(distance / camera.ViewportSize.X * 2)) if angle < fov and angle < closestAngle then closestAngle = angle closestPlayer = plr end end end end return closestPlayer end local function smoothAim(targetPosition, smoothness) local currentCFrame = camera.CFrame local targetDirection = (targetPosition - currentCFrame.Position).Unit local currentLookVector = currentCFrame.LookVector local dotProduct = currentLookVector:Dot(targetDirection) local angle = math.acos(math.clamp(dotProduct, -1, 1)) if angle > math.rad(0.1) then local maxAngle = math.rad(smoothness or 5) local t = math.min(maxAngle / angle, 1) local newLookVector = currentLookVector:Lerp(targetDirection, t) return CFrame.new(currentCFrame.Position, currentCFrame.Position + newLookVector) end return currentCFrame end -- Create RayField Window local Window = Rayfield:CreateWindow({ Name = "Rust Cheats - Discord: shutka1 | Roblox: rustpro_1", LoadingTitle = "Loading Cheats...", ConfigurationSaving = { Enabled = true, FolderName = "RustCheats", FileName = "Config" }, Discord = { Enabled = true, Invite = "informant.wtf", RememberJoins = true }, KeySystem = false }) --- MAIN TAB --- local MainTab = Window:CreateTab("Main", 4483345998) local MainSection = MainTab:CreateSection("Combat") MainTab:CreateButton({ Name = "Infinity Ammo (9999999 ammo)", Callback = function() local TARGET_AMMO = 9999999 local function setAmmoOnTool(tool) local acs = tool:FindFirstChild("ACS_Modulo", true) if not acs then return false end local vars = acs:FindFirstChild("Variaveis", true) if not vars then return false end local ammo = vars:FindFirstChild("Ammo") if not ammo then return false end if ammo:IsA("IntValue") or ammo:IsA("NumberValue") then if ammo.Value ~= TARGET_AMMO then ammo.Value = TARGET_AMMO end return true end return false end local function processContainer(container) if not container then return end for _, child in ipairs(container:GetChildren()) do pcall(setAmmoOnTool, child) end end task.spawn(function() local backpack = player:WaitForChild("Backpack") processContainer(backpack) end) Rayfield:Notify({ Title = "Success", Content = "Infinity Ammo Activated!", Duration = 3 }) end, }) MainTab:CreateButton({ Name = "God Mode (Safe Zone)", Callback = function() local targetRotation = Vector3.new(0.0020000000949949026, 57.36399841308594, 89.99700164794922) local targetCFrame = CFrame.new( -302.364044, 22.5427284, -1095.56982, 2.8199549e-05, -0.539300025, 0.842113733, 1, 2.28938497e-05, -1.88251233e-05, -9.12683754e-06, 0.842113733, 0.539300025 ) local epsilon = 0.001 for _, obj in ipairs(workspace:GetChildren()) do if obj:IsA("BasePart") then local rot = obj.Rotation local cfr = obj.CFrame local rotMatch = (rot - targetRotation).Magnitude < epsilon local cfrMatch = (cfr.Position - targetCFrame.Position).Magnitude < epsilon and (cfr.LookVector - targetCFrame.LookVector).Magnitude < epsilon if rotMatch and cfrMatch then obj.Size = obj.Size * 100000000 Rayfield:Notify({ Title = "Success", Content = "God Mode Activated!", Duration = 3 }) break end end end end, }) MainTab:CreateButton({ Name = "Admin Gun", Callback = function() local toolTemplate = ReplicatedStorage:WaitForChild("Tools"):WaitForChild("AK47") local eokaSettings = ReplicatedStorage:WaitForChild("Tools"):WaitForChild("EOKA"):WaitForChild("ACS_Modulo"):WaitForChild("Variaveis"):WaitForChild("Settings") local clonedTool = toolTemplate:Clone() clonedTool.Parent = player:WaitForChild("Backpack") local playerTool = player.Backpack:WaitForChild("AK47") local acsModulo = playerTool:WaitForChild("ACS_Modulo") local variaveis = acsModulo:WaitForChild("Variaveis") if variaveis:FindFirstChild("Settings") then variaveis.Settings:Destroy() end local newSettings = eokaSettings:Clone() newSettings.Parent = variaveis local targetPlayer = Players:FindFirstChild(player.Name) if targetPlayer then local targetTool = targetPlayer.Backpack:FindFirstChild("AK47") if targetTool then local targetVariaveis = targetTool:FindFirstChild("ACS_Modulo") and targetTool.ACS_Modulo:FindFirstChild("Variaveis") if targetVariaveis then local ammo = targetVariaveis:FindFirstChild("Ammo") if ammo and ammo:IsA("IntValue") then ammo.Value = 9999 end end end end Rayfield:Notify({ Title = "Success", Content = "Admin Gun Created!", Duration = 3 }) end, }) MainTab:CreateToggle({ Name = "Aimbot", CurrentValue = false, Callback = function(Value) Settings.Aimbot = Value aimbotEnabled = Value end, }) MainTab:CreateToggle({ Name = "Toggle Mode (Hold/Switch)", CurrentValue = false, Callback = function(Value) Settings.ToggleMode = Value aimbotToggleMode = Value if not Value then aimbotActive = false end end, }) MainTab:CreateToggle({ Name = "Show FOV Circle", CurrentValue = false, Callback = function(Value) Settings.ShowFOV = Value FOVCircle.Visible = Value end, }) MainTab:CreateSlider({ Name = "Aimbot FOV", Range = {10, 180}, Increment = 5, CurrentValue = 30, Callback = function(Value) Settings.AimbotFOV = Value aimbotFOV = Value FOVCircle.Radius = Value end, }) MainTab:CreateSlider({ Name = "Aimbot Smoothness", Range = {1, 10}, Increment = 1, CurrentValue = 3, Callback = function(Value) Settings.AimbotSmoothness = Value aimbotSmoothness = Value end, }) MainTab:CreateToggle({ Name = "Instant Interact", CurrentValue = false, Callback = function(Value) Settings.InstantInteract = Value instantInteractEnabled = Value end, }) local BuildingSection = MainTab:CreateSection("Building") MainTab:CreateButton({ Name = "Delete Every Building Permission", Callback = function() local myName = player.Name local builds = workspace:WaitForChild("Builds") for _, obj in ipairs(builds:GetChildren()) do local playerTag = obj:FindFirstChild("PlayerWhoPlaced") if playerTag and (playerTag:IsA("ObjectValue") or playerTag:IsA("StringValue")) then playerTag.Value = myName end end Rayfield:Notify({ Title = "Success", Content = "Building Permissions Changed!", Duration = 3 }) end, }) MainTab:CreateButton({ Name = "Multi Tool", Callback = function() local backpack = player:WaitForChild("Backpack") local toolsFolder = ReplicatedStorage:WaitForChild("Tools") local hammerTool = toolsFolder:WaitForChild("Hammer") local buildingPlanTool = toolsFolder:WaitForChild("Building Plan") local hammerClone = hammerTool:Clone() hammerClone.Parent = backpack hammerClone:WaitForChild("ToolScript") local buildingPlanScript = buildingPlanTool:WaitForChild("ToolScript") local scriptClone = buildingPlanScript:Clone() scriptClone.Parent = hammerClone Rayfield:Notify({ Title = "Success", Content = "Multi Tool Created!", Duration = 3 }) end, }) --- VISUALS TAB --- local VisualsTab = Window:CreateTab("Visuals", 4483345998) local ESPSection = VisualsTab:CreateSection("ESP") VisualsTab:CreateToggle({ Name = "Enable ESP", CurrentValue = false, Callback = function(Value) Settings.ESP = Value espEnabled = Value end, }) local OtherVisualsSection = VisualsTab:CreateSection("Other Visuals") VisualsTab:CreateToggle({ Name = "Night Vision", CurrentValue = false, Callback = function(Value) Settings.NightVision = Value nightVisionEnabled = Value if Value then camera.Brightness = 2 camera.Contrast = 1.5 camera.ExposureCompensation = 0.5 else camera.Brightness = 1 camera.Contrast = 1 camera.ExposureCompensation = 0 end end, }) --- TELEPORT TAB --- local TeleportTab = Window:CreateTab("Teleport", 4483345998) local LocationsSection = TeleportTab:CreateSection("Locations") TeleportTab:CreateButton({ Name = "Teleport to Admin Crate", Callback = function() local char = player.Character if char and char:FindFirstChild("HumanoidRootPart") then char.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(923.024841, -37.889999, -29.086742)) Rayfield:Notify({ Title = "Teleported", Content = "You are at Admin Crate", Duration = 3 }) end end, }) TeleportTab:CreateButton({ Name = "Teleport to Admin Coin (800k)", Callback = function() local char = player.Character if char and char:FindFirstChild("HumanoidRootPart") then char.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(558.857, 1404.85, -549.329)) Rayfield:Notify({ Title = "Teleported", Content = "You are at Admin Coin", Duration = 3 }) end end, }) --- ITEMS TAB --- local ItemsTab = Window:CreateTab("Items", 4483345998) local ItemsSection = ItemsTab:CreateSection("Item Spawner") -- Item paths local itemPaths = { ["AK47"] = "ReplicatedStorage.Tools.AK47", ["AWM"] = "ReplicatedStorage.Tools.AWM", ["BOLT"] = "ReplicatedStorage.Tools.BOLT", ["CROSSBOW"] = "ReplicatedStorage.Tools.CROSSBOW", ["EOKA"] = "ReplicatedStorage.Tools.EOKA", ["Hammer"] = "ReplicatedStorage.Tools.Hammer", ["Key"] = "ReplicatedStorage.Tools.Key", ["MP5"] = "ReplicatedStorage.Tools.MP5", ["P229"] = "ReplicatedStorage.Tools.P229", ["REVOLVER"] = "ReplicatedStorage.Tools.REVOLVER", ["RIFLE"] = "ReplicatedStorage.Tools.RIFLE", ["SKS"] = "ReplicatedStorage.Tools.SKS", ["THOMPSON"] = "ReplicatedStorage.Tools.THOMPSON", ["card"] = "ReplicatedStorage.Tools.card", ["M249"] = "ReplicatedStorage.ShopItems.M249", ["M39"] = "ReplicatedStorage.ShopItems.M39" } -- Create dropdown for items local itemOptions = {} for itemName, _ in pairs(itemPaths) do table.insert(itemOptions, itemName) end ItemsTab:CreateDropdown({ Name = "Select Item to Spawn", Options = itemOptions, CurrentOption = "AK47", MultipleOptions = false, Callback = function(Option) selectedItem = Option[1] end, }) ItemsTab:CreateButton({ Name = "Spawn Selected Item", Callback = function() if not selectedItem then Rayfield:Notify({ Title = "Error", Content = "Select an item first!", Duration = 3 }) return end local path = itemPaths[selectedItem] local parts = string.split(path, ".") local current = game for _, part in ipairs(parts) do current = current:FindFirstChild(part) if not current then Rayfield:Notify({ Title = "Error", Content = "Item not found!", Duration = 3 }) return end end if current and current:IsA("Tool") then local backpack = player:WaitForChild("Backpack") local toolClone = current:Clone() toolClone.Parent = backpack Rayfield:Notify({ Title = "Success", Content = selectedItem .. " spawned!", Duration = 3 }) end end, }) --- SETTINGS TAB --- local SettingsTab = Window:CreateTab("Settings", 4483345998) local SettingsSection = SettingsTab:CreateSection("Configuration") SettingsTab:CreateButton({ Name = "Toggle Menu (RightCtrl)", Callback = function() Rayfield:Notify({ Title = "Info", Content = "Press Right Control to toggle menu", Duration = 3 }) end, }) SettingsTab:CreateButton({ Name = "Destroy GUI", Callback = function() Rayfield:Destroy() end, }) -- Input handling for aimbot UserInputService.InputBegan:Connect(function(input, processed) if not processed then if input.UserInputType == Enum.UserInputType.MouseButton2 then aiming = true if Settings.Aimbot and not Settings.ToggleMode then aimbotActive = true end end end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton2 then aiming = false if not Settings.ToggleMode then aimbotActive = false end end end) -- Toggle menu with RightCtrl UserInputService.InputBegan:Connect(function(input, processed) if not processed and input.KeyCode == Enum.KeyCode.RightControl then Rayfield:Toggle() end end) -- Update FOV circle position RunService.RenderStepped:Connect(function() FOVCircle.Position = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2) FOVCircle.Visible = Settings.ShowFOV -- Update FOV radius if FOVCircle.Radius ~= Settings.AimbotFOV then FOVCircle.Radius = Settings.AimbotFOV end end) -- Main loops RunService.RenderStepped:Connect(function() -- ESP if Settings.ESP then espFolder:ClearAllChildren() for _, plr in pairs(Players:GetPlayers()) do if plr ~= player and plr.Character and plr.Character:FindFirstChild("Head") then local highlight = Instance.new("Highlight") highlight.Adornee = plr.Character highlight.FillTransparency = 1 highlight.OutlineColor = Color3.fromRGB(0, 255, 0) highlight.Parent = espFolder end end else espFolder:ClearAllChildren() end -- Aimbot if Settings.Aimbot and aimbotActive and aiming then local targetPlayer = getClosestPlayerToCrosshair(Settings.AimbotFOV) if targetPlayer and targetPlayer.Character and targetPlayer.Character:FindFirstChild("Head") then local head = targetPlayer.Character.Head camera.CFrame = smoothAim(head.Position, Settings.AimbotSmoothness) end end -- Instant Interact if Settings.InstantInteract then for _, prompt in pairs(workspace:GetDescendants()) do if prompt:IsA("ProximityPrompt") then prompt.HoldDuration = 0 end end end end) -- Instant Interact handler if Settings.InstantInteract then ProximityPromptService.PromptAdded:Connect(function(prompt) prompt.HoldDuration = 0 end) end print("Rust Cheats loaded successfully with RayField GUI!") print("Press RightControl to show/hide menu")