
Keyless

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
local humanoid = character:WaitForChild("Humanoid")
local VirtualInputManager = game:GetService("VirtualInputManager")
-- ================= การตั้งค่า =================
local settings = {
-- Hitbox & Highlight
headHitboxEnabled = false,
highlightEnabled = false,
hitboxSize = Vector3.new(4, 4, 4),
highlightColor = Color3.fromRGB(255, 0, 0),
-- Auto Farm
autoFarmResources = false,
autoFarmMaterials = false,
autoFarmDeer = false,
autoFarmWeaponCrates = false,
autoFarmFoodCrates = false,
continuousZombieTeleport = false,
-- ทรัพยากรที่เลือกเก็บ
selectedResources = {
Rock = true,
Stick = true,
Plastic = true,
Metal = true,
Cloth = true,
Blueberries = true
},
-- เทเลพอร์ต
teleportHeight = 5,
teleportDelay = 1.5,
waitAfterTeleport = 0.5,
zombieTeleportDistance = 20,
teleportInterval = 1
}
local zombieHighlights, zombieHitboxes = {}, {}
local teleportingZombies = {}
-- ================= ฟังก์ชัน =================
local function preventRagdoll()
if humanoid then
humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
humanoid:ChangeState(Enum.HumanoidStateType.Running)
humanoid.AutoRotate = true
end
end
local function stableTeleport(cframe)
preventRagdoll()
humanoidRootPart.CFrame = cframe + Vector3.new(0, settings.teleportHeight, 0)
task.wait(settings.waitAfterTeleport)
preventRagdoll()
end
local function getCFrame(item)
if item:IsA("BasePart") then return item.CFrame end
if item:IsA("Model") then
if item.PrimaryPart then
return item.PrimaryPart.CFrame
elseif item:FindFirstChild("HumanoidRootPart") then
return item.HumanoidRootPart.CFrame
elseif item:FindFirstChild("Head") then
return item.Head.CFrame
else
local parts = {}
for _, p in ipairs(item:GetDescendants()) do
if p:IsA("BasePart") then table.insert(parts, p.Position) end
end
if #parts > 0 then
local sum = Vector3.new()
for _, pos in ipairs(parts) do sum += pos end
return CFrame.new(sum / #parts)
end
end
end
end
local function shouldFarmItem(item)
for name, enabled in pairs(settings.selectedResources) do
if enabled and string.find(item.Name, name) then return true end
end
end
-- ================= ฟังก์ชันกดปุ่มอัตโนมัติ =================
local function performAutoClick()
if settings.autoFarmResources or settings.autoFarmMaterials or
settings.autoFarmWeaponCrates or settings.autoFarmFoodCrates then
VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.E, false, game)
task.wait(0.1)
VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.E, false, game)
end
end
-- ================= Highlight & Hitbox =================
local function createZombieHighlight(zombie)
if zombieHighlights[zombie] then return end
local h = Instance.new("Highlight")
h.Name = "ZombieHighlight"
h.FillColor = settings.highlightColor
h.FillTransparency = 0.7
h.OutlineColor = settings.highlightColor
h.OutlineTransparency = 0.3
h.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
h.Adornee = zombie
h.Parent = zombie
h.Enabled = settings.highlightEnabled
zombieHighlights[zombie] = h
end
local function updateZombies()
local folder = workspace:FindFirstChild("Zombies")
if not folder then return end
for _, z in pairs(folder:GetChildren()) do
if z:IsA("Model") then
if settings.highlightEnabled and not zombieHighlights[z] then
createZombieHighlight(z)
end
if settings.headHitboxEnabled and z:FindFirstChild("Head") then
local head = z.Head
head.Size = settings.hitboxSize
head.CanCollide = false
head.Transparency = 0.3
if not head:FindFirstChild("HitboxGlow") then
local glow = Instance.new("PointLight")
glow.Name = "HitboxGlow"
glow.Color = Color3.fromRGB(0, 255, 255)
glow.Brightness = 2
glow.Range = 8
glow.Parent = head
end
zombieHitboxes[z] = true
else
if zombieHitboxes[z] and z:FindFirstChild("Head") then
local head = z.Head
head.Size = Vector3.new(1,1,1)
head.CanCollide = true
head.Transparency = 0
local g = head:FindFirstChild("HitboxGlow")
if g then g:Destroy() end
zombieHitboxes[z] = nil
end
end
if zombieHighlights[z] then
zombieHighlights[z].Enabled = settings.highlightEnabled
end
end
end
for z, h in pairs(zombieHighlights) do
if not z.Parent or z.Parent ~= folder then
h:Destroy()
zombieHighlights[z] = nil
zombieHitboxes[z] = nil
teleportingZombies[z] = nil
end
end
end
-- ================= ฟังก์ชันเทเลพอร์ตซอมบี้ =================
local function continuousZombieTeleport()
local folder = workspace:FindFirstChild("Zombies")
if not folder then return end
local playerPos = humanoidRootPart.Position
local playerLook = humanoidRootPart.CFrame.LookVector
local centerPos = playerPos + (playerLook * settings.zombieTeleportDistance)
centerPos = Vector3.new(centerPos.X, playerPos.Y, centerPos.Z)
local zombieCount = 0
for _, zombie in pairs(folder:GetChildren()) do
if zombie:IsA("Model") and zombie:FindFirstChild("HumanoidRootPart") then
local zombieRoot = zombie.HumanoidRootPart
local zombiePos = zombieRoot.Position
local distance = (playerPos - zombiePos).Magnitude
if distance > 25 then
zombieRoot.CFrame = CFrame.new(centerPos)
local zombieHumanoid = zombie:FindFirstChild("Humanoid")
if zombieHumanoid then
zombieHumanoid.WalkSpeed = 0
task.delay(1, function()
if zombieHumanoid and zombieHumanoid.Parent then
zombieHumanoid.WalkSpeed = 12
end
end)
end
zombieCount = zombieCount + 1
end
teleportingZombies[zombie] = true
end
end
end
-- ================= ลูปกดปุ่มอัตโนมัติ =================
task.spawn(function()
while true do
performAutoClick()
task.wait(0.5)
end
end)
-- ================= ลูปเทเลพอร์ตซอมบี้ =================
task.spawn(function()
while true do
if settings.continuousZombieTeleport then
pcall(function()
continuousZombieTeleport()
end)
end
task.wait(settings.teleportInterval)
end
end)
-- ================= ลูปหลัก =================
task.spawn(function()
while true do
task.wait(0.5)
preventRagdoll()
if settings.autoFarmResources then
local f = workspace:FindFirstChild("Resources")
if f then
for _, i in pairs(f:GetChildren()) do
if shouldFarmItem(i) and i:IsA("Model") then
local c = getCFrame(i)
if c then
stableTeleport(c)
task.wait(settings.teleportDelay)
end
end
if not settings.autoFarmResources then break end
end
end
end
if settings.autoFarmMaterials then
local f = workspace:FindFirstChild("Materials")
if f then
for _, i in pairs(f:GetChildren()) do
if i:IsA("Model") then
local c = getCFrame(i)
if c then
stableTeleport(c)
task.wait(settings.teleportDelay)
end
end
if not settings.autoFarmMaterials then break end
end
end
end
if settings.autoFarmDeer then
local n = workspace:FindFirstChild("NPC_Workspace")
if n then
local deer = n:FindFirstChild("NPCs") and n.NPCs:FindFirstChild("Deer")
if deer and deer:IsA("Model") then
local c = getCFrame(deer)
if c then
stableTeleport(c)
task.wait(4)
end
end
end
end
if settings.autoFarmWeaponCrates then
local f = workspace:FindFirstChild("WeaponCrates")
if f then
for _, i in pairs(f:GetChildren()) do
if i:IsA("Model") then
local c = getCFrame(i)
if c then
stableTeleport(c)
task.wait(settings.teleportDelay)
end
end
if not settings.autoFarmWeaponCrates then break end
end
end
end
if settings.autoFarmFoodCrates then
local f = workspace:FindFirstChild("FoodCrates")
if f then
for _, i in pairs(f:GetChildren()) do
if i:IsA("Model") then
local c = getCFrame(i)
if c then
stableTeleport(c)
task.wait(settings.teleportDelay)
end
end
if not settings.autoFarmFoodCrates then break end
end
end
end
end
end)
task.spawn(function()
while true do task.wait(1); updateZombies() end
end)
-- ================= UI =================
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "ThaiHelperGUI"
screenGui.Parent = player:WaitForChild("PlayerGui")
screenGui.ResetOnSpawn = false
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 250, 0, 400)
mainFrame.Position = UDim2.new(0, 10, 0, 10)
mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
mainFrame.BorderSizePixel = 2
mainFrame.BorderColor3 = Color3.fromRGB(80, 80, 80)
mainFrame.Parent = screenGui
local hideButton = Instance.new("TextButton")
hideButton.Text = "▲ ซ่อน UI ▲"
hideButton.Size = UDim2.new(0, 80, 0, 25)
hideButton.Position = UDim2.new(0, 270, 0, 10)
hideButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
hideButton.TextColor3 = Color3.fromRGB(255, 255, 255)
hideButton.Font = Enum.Font.GothamBold
hideButton.Parent = screenGui
local isUIVisible = true
hideButton.MouseButton1Click:Connect(function()
isUIVisible = not isUIVisible
mainFrame.Visible = isUIVisible
hideButton.Text = isUIVisible and "▲ ซ่อน UI ▲" or "▼ แสดง UI ▼"
end)
local function makeButton(text, ypos, callback)
local b = Instance.new("TextButton")
b.Text = text
b.Size = UDim2.new(0.9, 0, 0, 30)
b.Position = UDim2.new(0.05, 0, 0, ypos)
b.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
b.TextColor3 = Color3.fromRGB(255, 255, 255)
b.Font = Enum.Font.GothamBold
b.Parent = mainFrame
b.MouseButton1Click:Connect(callback)
return b
end
local title = Instance.new("TextLabel")
title.Text = "🐉 ระบบช่วยเล่นไทย 🐉"
title.Size = UDim2.new(1, 0, 0, 30)
title.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.Font = Enum.Font.GothamBold
title.Parent = mainFrame
local hitboxButton = makeButton("🔴 ขยายหัวซอมบี้: ปิด",40,function()
settings.headHitboxEnabled = not settings.headHitboxEnabled
hitboxButton.Text = settings.headHitboxEnabled and "🟢 ขยายหัวซอมบี้: เปิด" or "🔴 ขยายหัวซอมบี้: ปิด"
hitboxButton.BackgroundColor3 = settings.headHitboxEnabled and Color3.fromRGB(0,100,0) or Color3.fromRGB(80,80,80)
updateZombies()
end)
local highlightButton = makeButton("🔴 เน้นซอมบี้: ปิด",80,function()
settings.highlightEnabled = not settings.highlightEnabled
highlightButton.Text = settings.highlightEnabled and "🟢 เน้นซอมบี้: เปิด" or "🔴 เน้นซอมบี้: ปิด"
highlightButton.BackgroundColor3 = settings.highlightEnabled and Color3.fromRGB(100,0,0) or Color3.fromRGB(80,80,80)
updateZombies()
end)
local farmButtons = {
{name="📦 เก็บทรัพยากร", setting="autoFarmResources", y=120},
{name="🔩 เก็บวัสดุ", setting="autoFarmMaterials", y=160},
{name="🦌 ล่ากวาง", setting="autoFarmDeer", y=200},
{name="🔫 เก็บหีบอาวุธ", setting="autoFarmWeaponCrates", y=240},
{name="🍎 เก็บหีบอาหาร", setting="autoFarmFoodCrates", y=280},
{name="🌀 เทเลพอร์ตซอมบี้", setting="continuousZombieTeleport", y=320}
}
for _,info in ipairs(farmButtons) do
makeButton("🔴 "..info.name..": ปิด",info.y,function(btn)
settings[info.setting] = not settings[info.setting]
btn.Text = settings[info.setting] and "🟢 "..info.name..": เปิด" or "🔴 "..info.name..": ปิด"
btn.BackgroundColor3 = settings[info.setting] and Color3.fromRGB(0,80,0) or Color3.fromRGB(80,80,80)
if info.setting == "continuousZombieTeleport" and not settings[info.setting] then
for zombie, _ in pairs(teleportingZombies) do
if zombie:FindFirstChild("Humanoid") then
zombie.Humanoid.WalkSpeed = 12
end
end
teleportingZombies = {}
end
end)
end
print("✅ ระบบช่วยเล่นไทยโหลดสำเร็จ! - พร้อมใช้งาน")No comments yet for this script.
