-- Pistol Arena Rayfield v7 - Fixed WalkSpeed + Rainbow
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
-- Brown Theme
local BrownTheme = {
TextColor = Color3.fromRGB(255, 245, 220),
Background = Color3.fromRGB(139, 69, 19),
Topbar = Color3.fromRGB(160, 82, 45),
Shadow = Color3.fromRGB(80, 40, 10),
NotificationBackground = Color3.fromRGB(139, 69, 19),
MainFrame = Color3.fromRGB(160, 82, 45),
Accent = Color3.fromRGB(205, 133, 63),
Outline = Color3.fromRGB(205, 133, 63),
}
local Window = Rayfield:CreateWindow({
Name = "Pistol Arena Hub v7 - Fixed",
LoadingTitle = "Loading...",
LoadingSubtitle = "WalkSpeed Fixed",
ConfigurationSaving = {Enabled = true, FolderName = "PistolArena", FileName = "Config"},
KeySystem = false,
Theme = BrownTheme,
})
local Combat = Window:CreateTab("Combat", 4483362458)
local Visuals = Window:CreateTab("Visuals", 4483362458)
local Farm = Window:CreateTab("Auto Farm", 4483362458)
local Movement = Window:CreateTab("Movement", 4483362458)
local Misc = Window:CreateTab("Misc", 4483362458)
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local RunService = game:GetService("RunService")
local Camera = workspace.CurrentCamera
local Workspace = game:GetService("Workspace")
local aimbotEnabled = false
local autoFarmEnabled = false
local espEnabled = false
local tracersEnabled = false
local targetPart = "Head"
local fovRadius = 200
local walkspeedValue = 50
local walkspeedEnabled = false
local ESP = {}
local function createDrawing(type, props)
local d = Drawing.new(type)
for k,v in pairs(props) do d[k] = v end
return d
end
local function getRainbowColor(speed)
return Color3.fromHSV(tick() % speed / speed, 1, 1)
end
local function updateESP()
for _, plr in ipairs(Players:GetPlayers()) do
if plr ~= LocalPlayer and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
if not ESP[plr] then
ESP[plr] = {
Box = createDrawing("Square", {Thickness=2, Filled=false, Transparency=1}),
Name = createDrawing("Text", {Size=15, Color=Color3.fromRGB(255,255,255), Center=true, Outline=true}),
Tracer = createDrawing("Line", {Thickness=1.5, Transparency=1})
}
end
local root = plr.Character.HumanoidRootPart
local screen, onScreen = Camera:WorldToViewportPoint(root.Position)
local esp = ESP[plr]
if onScreen then
local top = Camera:WorldToViewportPoint(root.Position + Vector3.new(0,3,0))
local bottom = Camera:WorldToViewportPoint(root.Position - Vector3.new(0,3,0))
local height = bottom.Y - top.Y
if espEnabled then
local rainbow = getRainbowColor(2)
esp.Box.Visible = true
esp.Box.Color = rainbow
esp.Box.Size = Vector2.new(height/1.8, height)
esp.Box.Position = Vector2.new(screen.X - esp.Box.Size.X/2, top.Y)
esp.Name.Visible = true
esp.Name.Text = plr.Name
esp.Name.Position = Vector2.new(screen.X, top.Y - 18)
else
esp.Box.Visible = false
esp.Name.Visible = false
end
if tracersEnabled then
esp.Tracer.Visible = true
esp.Tracer.Color = getRainbowColor(1.5)
esp.Tracer.From = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y)
esp.Tracer.To = Vector2.new(screen.X, screen.Y)
else
esp.Tracer.Visible = false
end
else
for _, v in pairs(esp) do v.Visible = false end
end
end
end
end
RunService.RenderStepped:Connect(updateESP)
-- Fixed WalkSpeed Loop
local function applyWalkSpeed()
while walkspeedEnabled do
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
LocalPlayer.Character.Humanoid.WalkSpeed = walkspeedValue
end
wait(0.1)
end
end
-- Character Respawn Support
LocalPlayer.CharacterAdded:Connect(function()
wait(1)
if walkspeedEnabled then
applyWalkSpeed()
end
end)
-- Visibility & Aimbot Functions (same)
local function isVisible(target)
if not target.Character then return false end
local part = target.Character:FindFirstChild(targetPart) or target.Character:FindFirstChild("Head")
if not part then return false end
local origin = Camera.CFrame.Position
local direction = (part.Position - origin)
local params = RaycastParams.new()
params.FilterDescendantsInstances = {LocalPlayer.Character}
params.FilterType = Enum.RaycastFilterType.Exclude
local result = Workspace:Raycast(origin, direction, params)
return result == nil or result.Instance:IsDescendantOf(target.Character)
end
local function getClosestVisible()
local closest, dist = nil, math.huge
for _, plr in ipairs(Players:GetPlayers()) do
if plr ~= LocalPlayer and plr.Character and plr.Character:FindFirstChild(targetPart) then
local part = plr.Character[targetPart]
local pos, onScreen = Camera:WorldToViewportPoint(part.Position)
if onScreen then
local screenDist = (Vector2.new(pos.X, pos.Y) - Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)).Magnitude
if screenDist < dist and screenDist < fovRadius and isVisible(plr) then
dist = screenDist
closest = plr
end
end
end
end
return closest
end
-- ==================== MOVEMENT (Fixed WalkSpeed) ====================
Movement:CreateToggle({
Name = "Enable WalkSpeed",
CurrentValue = false,
Callback = function(Value)
walkspeedEnabled = Value
if Value then
spawn(applyWalkSpeed)
end
end
})
Movement:CreateSlider({
Name = "WalkSpeed Value",
Range = {16, 300},
Increment = 1,
CurrentValue = 50,
Callback = function(Value)
walkspeedValue = Value
end
})
Movement:CreateToggle({
Name = "Noclip",
CurrentValue = false,
Callback = function(Value)
local noclip = Value
spawn(function()
while noclip do
if LocalPlayer.Character then
for _, part in pairs(LocalPlayer.Character:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = false
end
end
end
RunService.Stepped:Wait()
end
end)
end
})
-- Rest of the script (Combat, Visuals, Farm, Misc)
Combat:CreateToggle({
Name = "Aimbot (FOV + Wall Check)",
CurrentValue = false,
Callback = function(Value)
aimbotEnabled = Value
if Value then
spawn(function()
while aimbotEnabled do
local target = getClosestVisible()
if target and target.Character and target.Character:FindFirstChild(targetPart) then
Camera.CFrame = CFrame.lookAt(Camera.CFrame.Position, target.Character[targetPart].Position)
end
RunService.RenderStepped:Wait()
end
end)
end
end
})
Combat:CreateSlider({
Name = "Aimbot FOV",
Range = {50, 800},
Increment = 10,
CurrentValue = 200,
Callback = function(Value) fovRadius = Value end
})
Combat:CreateDropdown({
Name = "Aim Part",
Options = {"Head", "UpperTorso", "HumanoidRootPart"},
CurrentOption = {"Head"},
MultipleOptions = false,
Callback = function(CurrentOption)
targetPart = CurrentOption[1]
end
})
Visuals:CreateToggle({
Name = "ESP (Box + Name) Rainbow",
CurrentValue = false,
Callback = function(Value) espEnabled = Value end
})
Visuals:CreateToggle({
Name = "Rainbow Tracers",
CurrentValue = false,
Callback = function(Value) tracersEnabled = Value end
})
Farm:CreateToggle({
Name = "Auto Farm (Visible Only)",
CurrentValue = false,
Callback = function(Value)
autoFarmEnabled = Value
while autoFarmEnabled do
local target = getClosestVisible()
if target and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.lookAt(LocalPlayer.Character.HumanoidRootPart.Position, target.Character.HumanoidRootPart.Position)
end
wait(0.2)
end
end
})
Misc:CreateButton({
Name = "Unload Script",
Callback = function() Rayfield:Destroy() end
})
Rayfield:Notify({
Title = "v7 Loaded!",
Content = "WalkSpeed Fixed ✅ | Rainbow ESP & Tracers",
Duration = 5
})
Comments
No comments yet
Be the first to share your thoughts!