Version / Update: v1.0.0
- Download / Script Link
- local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
local Window = Rayfield:CreateWindow({
Name = "BY NHATLONG12368 | MOBILE EDITION",
LoadingTitle = "Đang khởi tạo...",
LoadingSubtitle = "Created by nhatlong12368",
ConfigurationSaving = { Enabled = false }
})
-- CẤU HÌNH MẶC ĐỊNH LÀ TẮT HẾT
local Settings = {
Aimbot = false,
WallCheck = true,
ESP_Box = false,
ESP_Line = false,
FOV_Radius = 150,
Smoothness = 0.1,
TargetPart = "Head"
}
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
-- VÒNG FOV (MẶC ĐỊNH ẨN)
local FOVCircle = Drawing.new("Circle")
FOVCircle.Thickness = 1
FOVCircle.NumSides = 60
FOVCircle.Radius = Settings.FOV_Radius
FOVCircle.Visible = false
FOVCircle.Color = Color3.fromRGB(255, 255, 255)
-- LOGIC KIỂM TRA TƯỜNG
local function isVisible(part)
if not Settings.WallCheck then return true end
local params = RaycastParams.new()
params.FilterDescendantsInstances = {LocalPlayer.Character, Camera}
params.FilterType = Enum.RaycastFilterType.Exclude
local result = workspace:Raycast(Camera.CFrame.Position, part.Position - Camera.CFrame.Position, params)
return not result or result.Instance:IsDescendantOf(part.Parent)
end
-- TÌM MỤC TIÊU
local function getClosest()
local target = nil
local dist = Settings.FOV_Radius
for _, p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild(Settings.TargetPart) then
local hum = p.Character:FindFirstChild("Humanoid")
if hum and hum.Health <= 0 then continue end
local pos, onScreen = Camera:WorldToViewportPoint(p.Character[Settings.TargetPart].Position)
if onScreen and isVisible(p.Character[Settings.TargetPart]) then
local mag = (Vector2.new(pos.X, pos.Y) - Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)).Magnitude
if mag < dist then
target = p
dist = mag
end
end
end
end
return target
end
-- TABS
local MainTab = Window:CreateTab("Aimbot", 4483362458)
MainTab:CreateToggle({
Name = "Auto Aimbot (Tự động)",
CurrentValue = false,
Callback = function(Value)
Settings.Aimbot = Value
FOVCircle.Visible = Value -- FOV chỉ hiện khi Aimbot bật
end,
})
MainTab:CreateSlider({
Name = "Tầm quét (FOV)",
Range = {30, 600},
Increment = 10,
CurrentValue = 150,
Callback = function(Value) Settings.FOV_Radius = Value end,
})
local VisualTab = Window:CreateTab("Visuals", 4483362458)
VisualTab:CreateToggle({
Name = "Hiện Box",
CurrentValue = false,
Callback = function(Value) Settings.ESP_Box = Value end,
})
VisualTab:CreateToggle({
Name = "Hiện Line",
CurrentValue = false,
Callback = function(Value) Settings.ESP_Line = Value end,
})
-- ESP
local function applyESP(player)
local box = Drawing.new("Square")
local line = Drawing.new("Line")
RunService.RenderStepped:Connect(function()
if player.Character and player.Character:FindFirstChild("HumanoidRootPart") and player.Character.Humanoid.Health > 0 then
local hrp = player.Character.HumanoidRootPart
local pos, visible = Camera:WorldToViewportPoint(hrp.Position)
if visible then
local top = Camera:WorldToViewportPoint(hrp.Position + Vector3.new(0, 3, 0))
local bottom = Camera:WorldToViewportPoint(hrp.Position + Vector3.new(0, -3.5, 0))
local absSize = math.abs(top.Y - bottom.Y)
box.Visible = Settings.ESP_Box
box.Size = Vector2.new(absSize/1.5, absSize)
box.Position = Vector2.new(pos.X - (absSize/1.5)/2, pos.Y - absSize/2)
line.Visible = Settings.ESP_Line
line.From = Vector2.new(Camera.ViewportSize.X/2, 0)
line.To = Vector2.new(pos.X, pos.Y - absSize/2)
local col = isVisible(hrp) and Color3.new(0,1,0) or Color3.new(1,0,0)
box.Color = col line.Color = col
else box.Visible = false line.Visible = false end
else box.Visible = false line.Visible = false end
end)
end
-- LOOP CHÍNH
RunService.RenderStepped:Connect(function()
if FOVCircle.Visible then
FOVCircle.Radius = Settings.FOV_Radius
FOVCircle.Position = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)
end
if Settings.Aimbot then
local t = getClosest()
if t then
Camera.CFrame = Camera.CFrame:Lerp(CFrame.new(Camera.CFrame.Position, t.Character[Settings.TargetPart].Position), Settings.Smoothness)
end
end
end)
for _, p in pairs(Players:GetPlayers()) do if p ~= LocalPlayer then applyESP(p) end end
Players.PlayerAdded:Connect(applyESP)
Rayfield:Notify({
Title = "nhatlong12368 Mobile",
Content = "Script đã sẵn sàng!",
Duration = 5
})[ View More ]
menu aimbot esp fov vipppppppp