
Keyless

--// Services
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
--// Constants
local LOCAL_PLAYER = Players.LocalPlayer
local HITBOX_EVENT = ReplicatedStorage:WaitForChild("event"):WaitForChild("combat"):WaitForChild("hitbox")
local PARRY_EVENT = ReplicatedStorage:WaitForChild("event"):WaitForChild("combat"):WaitForChild("parry")
local ATTACK_TYPES = {
"attack", "specialattack", "sprintattack",
"kick", "sprintkick", "jumpkick", "jumpattack"
}
local ATTACK_DELAY = 0.5
local DAMAGE_TIMEOUT = 2
local PARRY_RANGE = 6
local PARRY_ANIM_ID = "rbxassetid://78964624031588"
--// State
local farmEnabled = false
local autoParryEnabled = false
local killAuraEnabled = false
local currentTarget = nil
local lastAttackTime = 0
local lastKillAuraTime = 0
local attackIndex = 1
local lastTargetHealth = nil
local lastDamageTime = 0
--// GUI
local gui = Instance.new("ScreenGui", LOCAL_PLAYER:WaitForChild("PlayerGui"))
gui.ResetOnSpawn = false
local header = Instance.new("TextLabel", gui)
header.Size = UDim2.new(0, 260, 0, 22)
header.Position = UDim2.new(1, -270, 0.03, 0)
header.BackgroundTransparency = 1
header.Text = "@imqwenzy | discord.gg/MjPs8RPcuN"
header.TextColor3 = Color3.new(1, 1, 1)
header.TextScaled = true
header.Font = Enum.Font.GothamBold
local button = Instance.new("TextButton", gui)
button.Size = UDim2.new(0, 90, 0, 26)
button.Position = UDim2.new(1, -100, 0.08, 0)
button.Text = "Start Farm"
button.Font = Enum.Font.GothamBold
button.TextScaled = true
button.TextColor3 = Color3.new(1, 1, 1)
button.BackgroundColor3 = Color3.new(0, 0, 0)
button.BackgroundTransparency = 0.4
Instance.new("UICorner", button).CornerRadius = UDim.new(0, 6)
local parryBtn = Instance.new("TextButton", gui)
parryBtn.Size = UDim2.new(0, 90, 0, 26)
parryBtn.Position = UDim2.new(1, -200, 0.08, 0)
parryBtn.Text = "AutoParry: OFF"
parryBtn.Font = Enum.Font.GothamBold
parryBtn.TextScaled = true
parryBtn.TextColor3 = Color3.new(1, 1, 1)
parryBtn.BackgroundColor3 = Color3.new(0, 0, 0)
parryBtn.BackgroundTransparency = 0.4
Instance.new("UICorner", parryBtn).CornerRadius = UDim.new(0, 6)
local killAuraBtn = Instance.new("TextButton", gui)
killAuraBtn.Size = UDim2.new(0, 90, 0, 26)
killAuraBtn.Position = UDim2.new(1, -300, 0.08, 0)
killAuraBtn.Text = "KillAura: OFF"
killAuraBtn.Font = Enum.Font.GothamBold
killAuraBtn.TextScaled = true
killAuraBtn.TextColor3 = Color3.new(1, 1, 1)
killAuraBtn.BackgroundColor3 = Color3.new(0, 0, 0)
killAuraBtn.BackgroundTransparency = 0.4
Instance.new("UICorner", killAuraBtn).CornerRadius = UDim.new(0, 6)
button.MouseButton1Click:Connect(function()
farmEnabled = not farmEnabled
button.Text = farmEnabled and "Stop Farm" or "Start Farm"
end)
parryBtn.MouseButton1Click:Connect(function()
autoParryEnabled = not autoParryEnabled
parryBtn.Text = "AutoParry: " .. (autoParryEnabled and "ON" or "OFF")
end)
killAuraBtn.MouseButton1Click:Connect(function()
killAuraEnabled = not killAuraEnabled
killAuraBtn.Text = "KillAura: " .. (killAuraEnabled and "ON" or "OFF")
end)
--// Helpers
local function getRandomPart(char)
local parts = {"Head", "Torso", "HumanoidRootPart", "Left Arm", "Right Arm", "Left Leg", "Right Leg"}
local found = {}
for _, name in ipairs(parts) do
local p = char:FindFirstChild(name)
if p then table.insert(found, p) end
end
return #found > 0 and found[math.random(1, #found)] or nil
end
local function getAlivePlayers()
local list = {}
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LOCAL_PLAYER and player.Character and player.Character:FindFirstChild("Humanoid") then
local hum = player.Character:FindFirstChild("Humanoid")
if hum and hum.Health > 0 then
table.insert(list, player)
end
end
end
return list
end
local function getRandomAlivePlayer()
local pool = getAlivePlayers()
return #pool > 0 and pool[math.random(1, #pool)] or nil
end
local function isSomeoneAttackingNearby(localHRP)
for _, plr in ipairs(Players:GetPlayers()) do
if plr ~= LOCAL_PLAYER and plr.Character and plr.Character:FindFirstChild("data") then
local data = plr.Character.data
local hrp = plr.Character:FindFirstChild("HumanoidRootPart")
if hrp and (data:GetAttribute("clash") or data:GetAttribute("kickiframe")) then
if (hrp.Position - localHRP.Position).Magnitude <= PARRY_RANGE then
return true
end
end
end
end
return false
end
local function removeParryAnimation(char)
local humanoid = char:FindFirstChildOfClass("Humanoid")
if not humanoid then return end
for _, animTrack in ipairs(humanoid:GetPlayingAnimationTracks()) do
if animTrack.Animation and animTrack.Animation.AnimationId == PARRY_ANIM_ID then
animTrack:Stop()
animTrack:Destroy()
end
end
end
--// Main Loop
RunService.RenderStepped:Connect(function()
local localChar = LOCAL_PLAYER.Character
local localHRP = localChar and localChar:FindFirstChild("HumanoidRootPart")
if not localHRP then return end
if autoParryEnabled then
local parryVal = nil
if localChar:FindFirstChild("data") then
parryVal = localChar.data:GetAttribute("parry")
end
if parryVal == 0 then
PARRY_EVENT:FireServer()
end
if not isSomeoneAttackingNearby(localHRP) then
removeParryAnimation(localChar)
end
else
removeParryAnimation(localChar)
end
if killAuraEnabled and tick() - lastKillAuraTime >= 0.3 then
for _, player in ipairs(getAlivePlayers()) do
local char = player.Character
if char then
local part = getRandomPart(char)
local hum = char:FindFirstChild("Humanoid")
if part and hum then
HITBOX_EVENT:FireServer(part, hum, ATTACK_TYPES[attackIndex], 1, false, "Grass")
end
end
end
attackIndex = (attackIndex % #ATTACK_TYPES) + 1
lastKillAuraTime = tick()
end
if not farmEnabled then return end
if not currentTarget or not currentTarget.Character or not currentTarget.Character:FindFirstChild("HumanoidRootPart") then
currentTarget = getRandomAlivePlayer()
lastTargetHealth = nil
lastDamageTime = tick()
return
end
local targetChar = currentTarget.Character
local targetHRP = targetChar:FindFirstChild("HumanoidRootPart")
local targetHum = targetChar:FindFirstChild("Humanoid")
if not targetHRP or not targetHum or targetHum.Health <= 0 then
currentTarget = getRandomAlivePlayer()
lastTargetHealth = nil
lastDamageTime = tick()
return
end
if lastTargetHealth and targetHum.Health < lastTargetHealth then
lastDamageTime = tick()
end
lastTargetHealth = targetHum.Health
if tick() - lastDamageTime > DAMAGE_TIMEOUT then
currentTarget = getRandomAlivePlayer()
lastTargetHealth = nil
lastDamageTime = tick()
return
end
localHRP.Velocity = Vector3.zero
localHRP.CFrame = CFrame.new(targetHRP.Position - Vector3.new(0, 7, 0))
if tick() - lastAttackTime >= ATTACK_DELAY then
local part = getRandomPart(targetChar)
if part then
HITBOX_EVENT:FireServer(part, targetHum, ATTACK_TYPES[attackIndex], 1, false, "Grass")
attackIndex = (attackIndex % #ATTACK_TYPES) + 1
lastAttackTime = tick()
end
end
end)No comments yet for this script.

