
Keyless VerifiedUniversal

--[[
Starlight.RNG Script (Phiên bản Việt Hóa & Splash Screen)
- Thêm Màn hình chào mừng (Fade out sau 2.5s)
- Thêm nút Tự Động Nhập Tên Vũ Khí
- Tích hợp Anti-AFK an toàn cho cả PC & Mobile
- Việt hóa 100% giao diện
]]--
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local RunService = game:GetService("RunService")
local VirtualInputManager = game:GetService("VirtualInputManager")
local VirtualUser = game:GetService("VirtualUser")
local TweenService = game:GetService("TweenService") -- Thêm TweenService để làm mượt hiệu ứng fade
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
-- HỆ THỐNG ANTI-AFK (An toàn cho cả PC và Mobile)
LocalPlayer.Idled:Connect(function()
VirtualUser:Button2Down(Vector2.new(0, 0), Workspace.CurrentCamera.CFrame)
task.wait(1)
VirtualUser:Button2Up(Vector2.new(0, 0), Workspace.CurrentCamera.CFrame)
end)
-- GIAO DIỆN CHÍNH (GUI)
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "StarlightRNGGui"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = PlayerGui
---------------------------------------------------------
-- MÀN HÌNH CHÀO MỪNG (WELCOME SCREEN)
---------------------------------------------------------
local WelcomeFrame = Instance.new("Frame")
WelcomeFrame.Size = UDim2.new(1, 0, 1, 0) -- Phủ kín toàn màn hình
WelcomeFrame.Position = UDim2.new(0, 0, 0, 0)
WelcomeFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15) -- Màu nền tối để tạo độ tương phản cao
WelcomeFrame.BorderSizePixel = 0
WelcomeFrame.ZIndex = 100 -- Đảm bảo luôn nằm trên cùng
WelcomeFrame.Parent = ScreenGui
local WelcomeText = Instance.new("TextLabel")
WelcomeText.Size = UDim2.new(1, 0, 1, 0)
WelcomeText.BackgroundTransparency = 1
WelcomeText.Text = "Chào mừng, " .. LocalPlayer.DisplayName
WelcomeText.TextColor3 = Color3.fromRGB(255, 255, 255) -- Chữ trắng nổi bật
WelcomeText.Font = Enum.Font.GothamBold -- Font chữ dày, to rõ
WelcomeText.TextSize = 45 -- Kích thước chữ lớn
WelcomeText.ZIndex = 101
WelcomeText.Parent = WelcomeFrame
---------------------------------------------------------
-- Nút Ẩn/Hiện GUI (Kéo thả được) - TẠM THỜI ẨN
local ToggleBtn = Instance.new("TextButton")
ToggleBtn.Name = "ToggleGUIButton"
ToggleBtn.Size = UDim2.new(0, 90, 0, 30)
ToggleBtn.Position = UDim2.new(0, 10, 0, 10)
ToggleBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
ToggleBtn.Text = "Ẩn/Hiện GUI"
ToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
ToggleBtn.Font = Enum.Font.SourceSansBold
ToggleBtn.TextSize = 14
ToggleBtn.Active = true
ToggleBtn.Draggable = true
ToggleBtn.Visible = false -- Ẩn lúc mới vào
ToggleBtn.Parent = ScreenGui
local ToggleCorner = Instance.new("UICorner")
ToggleCorner.CornerRadius = UDim.new(0, 6)
ToggleCorner.Parent = ToggleBtn
-- Khung Main GUI - TẠM THỜI ẨN
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 320, 0, 320)
MainFrame.Position = UDim2.new(0.5, -160, 0.5, -160)
MainFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Visible = false -- Ẩn lúc mới vào
MainFrame.Parent = ScreenGui
ToggleBtn.MouseButton1Click:Connect(function()
MainFrame.Visible = not MainFrame.Visible
end)
local MainCorner = Instance.new("UICorner")
MainCorner.CornerRadius = UDim.new(0, 8)
MainCorner.Parent = MainFrame
-- HIỆU ỨNG CHẠY MÀN HÌNH CHÀO MỪNG
task.spawn(function()
task.wait(2.5) -- Đợi 2.5 giây
-- Tạo hiệu ứng mờ dần (Fade out) trong 1 giây
local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
local fadeFrame = TweenService:Create(WelcomeFrame, tweenInfo, {BackgroundTransparency = 1})
local fadeText = TweenService:Create(WelcomeText, tweenInfo, {TextTransparency = 1})
fadeFrame:Play()
fadeText:Play()
fadeFrame.Completed:Wait() -- Chờ hiệu ứng mờ dần kết thúc
WelcomeFrame:Destroy() -- Xóa màn hình chào mừng để giải phóng bộ nhớ
-- Hiển thị GUI chính
MainFrame.Visible = true
ToggleBtn.Visible = true
end)
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, -60, 0, 30)
Title.Position = UDim2.new(0, 10, 0, 10)
Title.BackgroundTransparency = 1
Title.Text = "Starlight.RNG"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.TextSize = 20
Title.Font = Enum.Font.SourceSansBold
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = MainFrame
local InfoBtn = Instance.new("TextButton")
InfoBtn.Name = "InfoButton"
InfoBtn.Size = UDim2.new(0, 28, 0, 28)
InfoBtn.Position = UDim2.new(1, -70, 0, 10)
InfoBtn.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
InfoBtn.Text = "?"
InfoBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
InfoBtn.Font = Enum.Font.SourceSansBold
InfoBtn.TextSize = 16
InfoBtn.Parent = MainFrame
Instance.new("UICorner", InfoBtn).CornerRadius = UDim.new(0, 5)
local CloseBtn = Instance.new("TextButton")
CloseBtn.Name = "CloseButton"
CloseBtn.Size = UDim2.new(0, 28, 0, 28)
CloseBtn.Position = UDim2.new(1, -38, 0, 10)
CloseBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
CloseBtn.Text = "X"
CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseBtn.Font = Enum.Font.SourceSansBold
CloseBtn.TextSize = 16
CloseBtn.Parent = MainFrame
Instance.new("UICorner", CloseBtn).CornerRadius = UDim.new(0, 5)
CloseBtn.MouseButton1Click:Connect(function()
ScreenGui:Destroy()
end)
-- BẢNG THÔNG TIN (INFO)
local InfoFrame = Instance.new("Frame")
InfoFrame.Name = "InfoFrame"
InfoFrame.Size = UDim2.new(0.9, 0, 0.78, 0)
InfoFrame.Position = UDim2.new(0.05, 0, 0.16, 0)
InfoFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
InfoFrame.BorderSizePixel = 0
InfoFrame.Visible = false
InfoFrame.ZIndex = 5
InfoFrame.Parent = MainFrame
Instance.new("UICorner", InfoFrame).CornerRadius = UDim.new(0, 8)
local InfoText = Instance.new("TextLabel")
InfoText.Size = UDim2.new(0.9, 0, 0.82, 0)
InfoText.Position = UDim2.new(0.05, 0, 0.05, 0)
InfoText.BackgroundTransparency = 1
InfoText.ZIndex = 6
InfoText.Text = "== THÔNG TIN STARLIGHT.RNG ==\n- Tác giả: Gans\n- Trạng thái: Hoạt động\n\n== HƯỚNG DẪN SỬ DỤNG ==\n1. Nhập chính xác tên Vũ khí 1 & 2 (hoặc bấm nút Tự Điền VK).\n2. Điều chỉnh Độ cao nếu cần thiết.\n3. Bấm 'BẮT ĐẦU AUTO FARM' để chạy.\n\n💡 MẸO: Nên đặt Độ cao là 12 hoặc -12 để đảm bảo tầm đánh tốt nhất!"
InfoText.TextColor3 = Color3.fromRGB(220, 220, 220)
InfoText.TextSize = 13
InfoText.Font = Enum.Font.SourceSans
InfoText.TextWrapped = true
InfoText.TextXAlignment = Enum.TextXAlignment.Left
InfoText.TextYAlignment = Enum.TextYAlignment.Top
InfoText.Parent = InfoFrame
local BackBtn = Instance.new("TextButton")
BackBtn.Size = UDim2.new(0.5, 0, 0, 30)
BackBtn.Position = UDim2.new(0.25, 0, 0.85, 0)
BackBtn.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
BackBtn.ZIndex = 6
BackBtn.Text = "Quay lại"
BackBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
BackBtn.Font = Enum.Font.SourceSansBold
BackBtn.TextSize = 13
BackBtn.Parent = InfoFrame
Instance.new("UICorner", BackBtn).CornerRadius = UDim.new(0, 5)
InfoBtn.MouseButton1Click:Connect(function() InfoFrame.Visible = not InfoFrame.Visible end)
BackBtn.MouseButton1Click:Connect(function() InfoFrame.Visible = false end)
-- Ô NHẬP THÔNG SỐ VŨ KHÍ & ĐỘ CAO
local function CreateSetting(text, defaultBox, posY)
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(0.35, 0, 0, 30)
lbl.Position = UDim2.new(0.05, 0, posY, 0)
lbl.BackgroundTransparency = 1
lbl.Text = text
lbl.TextColor3 = Color3.fromRGB(200, 200, 200)
lbl.Font = Enum.Font.SourceSansBold
lbl.TextSize = 14
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Parent = MainFrame
local box = Instance.new("TextBox")
box.Size = UDim2.new(0.55, 0, 0, 30)
box.Position = UDim2.new(0.4, 0, posY, 0)
box.BackgroundColor3 = Color3.fromRGB(45, 45, 55)
box.Text = defaultBox
box.TextColor3 = Color3.fromRGB(255, 255, 255)
box.Font = Enum.Font.SourceSans
box.TextSize = 14
box.Parent = MainFrame
return box
end
local Weapon1Box = CreateSetting("Vũ khí 1:", "Thousand SOULs Axe", 0.16)
local Weapon2Box = CreateSetting("Vũ khí 2:", "Reaper's Scythes", 0.28)
local HeightBox = CreateSetting("Độ cao:", "12", 0.40)
-- NÚT TỰ ĐỒNG NHẬP VŨ KHÍ
local AutoFillBtn = Instance.new("TextButton")
AutoFillBtn.Name = "AutoFillButton"
AutoFillBtn.Size = UDim2.new(0.28, 0, 0, 32)
AutoFillBtn.Position = UDim2.new(0.05, 0, 0.52, 0)
AutoFillBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50) -- Ban đầu là TẮT (Đỏ)
AutoFillBtn.Text = "Tự điền VK"
AutoFillBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
AutoFillBtn.Font = Enum.Font.SourceSansBold
AutoFillBtn.TextSize = 13
AutoFillBtn.Parent = MainFrame
Instance.new("UICorner", AutoFillBtn).CornerRadius = UDim.new(0, 6)
-- NHÃN TRẠNG THÁI (STATUS & TỰ ĐỘNG NHẬP VŨ KHÍ)
local StatusLbl = Instance.new("TextLabel")
StatusLbl.Size = UDim2.new(0.6, 0, 0, 18)
StatusLbl.Position = UDim2.new(0.36, 0, 0.50, 0)
StatusLbl.BackgroundTransparency = 1
StatusLbl.Text = "Trạng thái: Đã tắt"
StatusLbl.TextColor3 = Color3.fromRGB(255, 220, 50)
StatusLbl.Font = Enum.Font.SourceSansBold
StatusLbl.TextSize = 13
StatusLbl.TextXAlignment = Enum.TextXAlignment.Left
StatusLbl.Parent = MainFrame
local AutoDetectLbl = Instance.new("TextLabel")
AutoDetectLbl.Size = UDim2.new(0.6, 0, 0, 18)
AutoDetectLbl.Position = UDim2.new(0.36, 0, 0.58, 0)
AutoDetectLbl.BackgroundTransparency = 1
AutoDetectLbl.Text = "Tự động nhập tên vũ khí: Tắt"
AutoDetectLbl.TextColor3 = Color3.fromRGB(200, 200, 200)
AutoDetectLbl.Font = Enum.Font.SourceSans
AutoDetectLbl.TextSize = 12
AutoDetectLbl.TextXAlignment = Enum.TextXAlignment.Left
AutoDetectLbl.Parent = MainFrame
-- NÚT START AUTO FARM
local StartBtn = Instance.new("TextButton")
StartBtn.Size = UDim2.new(0.9, 0, 0, 40)
StartBtn.Position = UDim2.new(0.05, 0, 0.70, 0)
StartBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 50)
StartBtn.Text = "BẮT ĐẦU AUTO FARM"
StartBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
StartBtn.Font = Enum.Font.SourceSansBold
StartBtn.TextSize = 15
StartBtn.Parent = MainFrame
Instance.new("UICorner", StartBtn).CornerRadius = UDim.new(0, 6)
-- LOGIC TỰ ĐỘNG LẤY TÊN VŨ KHÍ
local isAutoFillWeapons = false
local function AutoScanWeapons()
local foundWeapons = {}
local char = LocalPlayer.Character
local backpack = LocalPlayer:FindFirstChild("Backpack")
if char then
for _, item in ipairs(char:GetChildren()) do
if item:IsA("Tool") then
table.insert(foundWeapons, item.Name)
end
end
end
if backpack then
for _, item in ipairs(backpack:GetChildren()) do
if item:IsA("Tool") then
table.insert(foundWeapons, item.Name)
end
end
end
if #foundWeapons > 0 then
Weapon1Box.Text = foundWeapons[1]
if #foundWeapons > 1 then
Weapon2Box.Text = foundWeapons[2]
else
Weapon2Box.Text = foundWeapons[1]
end
end
end
AutoFillBtn.MouseButton1Click:Connect(function()
isAutoFillWeapons = not isAutoFillWeapons
if isAutoFillWeapons then
AutoFillBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 50) -- BẬT (Xanh lá)
AutoDetectLbl.Text = "Tự động nhập tên vũ khí: Mở"
AutoScanWeapons()
else
AutoFillBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50) -- TẮT (Đỏ)
AutoDetectLbl.Text = "Tự động nhập tên vũ khí: Tắt"
end
end)
-- Vòng lặp liên tục quét vũ khí khi đang BẬT tự động nhập
task.spawn(function()
while task.wait(1) do
if isAutoFillWeapons then
AutoScanWeapons()
end
end
end)
-- LOGIC AUTO FARM
local isAutoFarming = false
local currentTarget = nil
LocalPlayer.CharacterAdded:Connect(function(char)
if isAutoFarming then
task.wait(1)
if char then
for _, part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = false
end
end
end
end
end)
local function GetClosestEnemy()
local char = LocalPlayer.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then return nil end
local root = char.HumanoidRootPart
local targetFilter = Workspace:FindFirstChild("TargetFilter")
local enemyFolder = targetFilter and targetFilter:FindFirstChild("Enemy")
if not enemyFolder then return nil end
local bestTarget = nil
local bestDist = math.huge
for _, enemy in ipairs(enemyFolder:GetChildren()) do
if enemy:IsA("Model") then
local values = enemy:FindFirstChild("Values")
local hp = values and values:FindFirstChild("HP")
if not hp or hp.Value > 0 then
local eRoot = enemy.PrimaryPart or enemy:FindFirstChild("HumanoidRootPart") or enemy:FindFirstChildWhichIsA("BasePart")
if eRoot then
local dist = (root.Position - eRoot.Position).Magnitude
if dist < bestDist then
bestTarget = enemy
bestDist = dist
end
end
end
end
end
return bestTarget
end
local function PressKey(keyCode)
VirtualInputManager:SendKeyEvent(true, keyCode, false, game)
task.wait(0.05)
VirtualInputManager:SendKeyEvent(false, keyCode, false, game)
end
local function EquipWeapon(weaponName)
local char = LocalPlayer.Character
if not char then return nil end
local humanoid = char:FindFirstChildWhichIsA("Humanoid")
if not humanoid or humanoid.Health <= 0 then return nil end
local currentTool = char:FindFirstChildOfClass("Tool")
if currentTool and currentTool.Name:lower() == weaponName:lower() then
return currentTool
end
local backpack = LocalPlayer:FindFirstChild("Backpack")
if backpack then
for _, tool in ipairs(backpack:GetChildren()) do
if tool:IsA("Tool") and tool.Name:lower() == weaponName:lower() then
humanoid:EquipTool(tool)
return tool
end
end
end
return nil
end
task.spawn(function()
local toggleWeapon = false
local skillKeys = {Enum.KeyCode.Z, Enum.KeyCode.X, Enum.KeyCode.C}
while task.wait(0.1) do
if isAutoFarming then
local char = LocalPlayer.Character
local humanoid = char and char:FindFirstChildWhichIsA("Humanoid")
if humanoid and humanoid.Health > 0 then
local w1 = Weapon1Box.Text:match("^%s*(.-)%s*$")
local w2 = Weapon2Box.Text:match("^%s*(.-)%s*$")
local activeWeaponName = (toggleWeapon and w2 ~= "") and w2 or w1
if activeWeaponName and activeWeaponName ~= "" then
local tool = EquipWeapon(activeWeaponName)
if tool then
StatusLbl.Text = "Đang dùng: " .. activeWeaponName
for _, key in ipairs(skillKeys) do
if not isAutoFarming then break end
PressKey(key)
task.wait(0.2)
end
local startAttack = tick()
while (tick() - startAttack) < 5 do
if not isAutoFarming then break end
if not char:FindFirstChild(tool.Name) then
EquipWeapon(activeWeaponName)
end
tool:Activate()
task.wait(0.1)
end
toggleWeapon = not toggleWeapon
else
StatusLbl.Text = "Đang tìm vũ khí: " .. activeWeaponName
task.wait(0.5)
end
else
StatusLbl.Text = "Tên vũ khí đang trống!"
task.wait(0.5)
end
else
StatusLbl.Text = "Đang chờ hồi sinh..."
task.wait(1)
end
end
end
end)
RunService.Heartbeat:Connect(function()
if not isAutoFarming then return end
local char = LocalPlayer.Character
if not char then return end
local root = char:FindFirstChild("HumanoidRootPart")
local humanoid = char:FindFirstChildWhichIsA("Humanoid")
if not root or not humanoid or humanoid.Health <= 0 then return end
humanoid.AutoRotate = false
humanoid.PlatformStand = true
if currentTarget then
local hpVal = currentTarget:FindFirstChild("Values") and currentTarget.Values:FindFirstChild("HP")
if not currentTarget.Parent or (hpVal and hpVal.Value <= 0) then
currentTarget = nil
end
end
if not currentTarget then
currentTarget = GetClosestEnemy()
end
if currentTarget then
local eRoot = currentTarget.PrimaryPart or currentTarget:FindFirstChild("HumanoidRootPart") or currentTarget:FindFirstChildWhichIsA("BasePart")
if eRoot then
local offsetHeight = tonumber(HeightBox.Text) or 12
local targetPos = eRoot.Position + Vector3.new(0, offsetHeight, 0)
root.CFrame = CFrame.lookAt(targetPos, eRoot.Position, Vector3.new(0, 1, 0))
root.AssemblyLinearVelocity = Vector3.zero
root.AssemblyAngularVelocity = Vector3.zero
end
end
end)
StartBtn.MouseButton1Click:Connect(function()
isAutoFarming = not isAutoFarming
local char = LocalPlayer.Character
local humanoid = char and char:FindFirstChildWhichIsA("Humanoid")
if isAutoFarming then
StartBtn.Text = "DỪNG AUTO FARM"
StartBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
if char then
for _, part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") then part.CanCollide = false end
end
end
currentTarget = GetClosestEnemy()
else
StartBtn.Text = "BẮT ĐẦU AUTO FARM"
StartBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 50)
StatusLbl.Text = "Trạng thái: Đã tắt"
if humanoid then
humanoid.AutoRotate = true
humanoid.PlatformStand = false
end
if char then
for _, part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") then part.CanCollide = true end
end
end
currentTarget = nil
end
end)No comments yet for this script.


![Sir Meme Hub | [16 GAMES] [$14.99 LIFETIME] | FARM/AIM/ESP](https://scriptblox.com/images/sb/-1-1791044877945.webp)
