local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local LocalPlayer = Players.LocalPlayer

_G.Config = {
	Enabled = true,
	Targets = {
		Guardians = true,
		Titans    = true,
		Players   = true,
		Dummies   = true,
		Ducks     = true,
		Chickens  = true,
	},
	Weapons = {
        "wood_scythe", "stone_scythe", "iron_scythe", "diamond_scythe", "mythic_scythe",
        "wood_great_hammer", "stone_great_hammer", "iron_great_hammer", "diamond_great_hammer", "mythic_great_hammer",
        "wood_dagger", "stone_dagger", "iron_dagger", "diamond_dagger", "mythic_dagger",
        "wood_gauntlets", "stone_gauntlets", "iron_gauntlets", "diamond_gauntlets", "mythic_gauntlets",
        "noctium_blade", "noctium_blade_2", "noctium_blade_3", "noctium_blade_4",
		"wood_dao", "stone_dao", "iron_dao", "diamond_dao", "emerald_dao",
		"wood_gun_blade", "stone_gun_blade", "iron_gun_blade", "diamond_gun_blade", "emerald_gun_blade",
		"summoner_claw_1", "summoner_claw_2", "summoner_claw_3", "summoner_claw_4",
		"wood_sword", "stone_sword", "iron_sword", "diamond_sword", "emerald_sword",
        "laser_sword", "guards_spear", "mass_hammer", "baguette", "void_sword",
        "tinkers_wrench", "rageblade", "ice_sword", "frosty_hammer", "wizard_stick", "light_sword",
	}
}

local SUMMONER_CLAWS = {
	summoner_claw_1 = true,
	summoner_claw_2 = true,
	summoner_claw_3 = true,
	summoner_claw_4 = true,
}

local Guardians = {}
local Titans    = {}
local Dummies   = {}
local Ducks     = {}
local Chickens  = {}

local function classify(model)
	if not model:IsA("Model") then return end
	if model.Name == "Diamond Guardian" then
		table.insert(Guardians, model)
	elseif model.Name == "Titan" then
		table.insert(Titans, model)
	elseif model.Name:find("Dummy") then
		table.insert(Dummies, model)
	elseif model.Name == "Duck" then
		table.insert(Ducks, model)
	elseif model.Name == "Chicken" then
		table.insert(Chickens, model)
	end
end

local function removeFrom(tbl, model)
	for i, v in ipairs(tbl) do
		if v == model then table.remove(tbl, i) break end
	end
end

for _, obj in ipairs(Workspace:GetChildren()) do classify(obj) end
Workspace.ChildAdded:Connect(classify)
Workspace.ChildRemoved:Connect(function(obj)
	removeFrom(Guardians, obj) removeFrom(Titans, obj)
	removeFrom(Dummies, obj)   removeFrom(Ducks, obj)
	removeFrom(Chickens, obj)
end)

local function getRoot(model)
	return model:FindFirstChild("HumanoidRootPart") or model.PrimaryPart
end

local function getClosestTarget()
	local myChar = LocalPlayer.Character
	local myRoot = myChar and getRoot(myChar)
	if not myRoot then return nil end

	local myPos = myRoot.Position
	local closest, shortest = nil, math.huge
	local cfg = _G.Config.Targets

	local function check(char)
		local root = getRoot(char)
		if root then
			local dist = (root.Position - myPos).Magnitude
			if dist < shortest then shortest = dist closest = char end
		end
	end

	if cfg.Players then
		for _, player in ipairs(Players:GetPlayers()) do
			if player ~= LocalPlayer and player.Character then check(player.Character) end
		end
	end
	if cfg.Guardians then for _, g in ipairs(Guardians) do check(g) end end
	if cfg.Titans    then for _, t in ipairs(Titans)    do check(t) end end
	if cfg.Dummies   then for _, d in ipairs(Dummies)   do check(d) end end
	if cfg.Ducks     then for _, d in ipairs(Ducks)     do check(d) end end
	if cfg.Chickens  then for _, c in ipairs(Chickens)  do check(c) end end

	return closest
end

local function getWeapon()
	local myChar = LocalPlayer.Character
	if not myChar then return nil end

	local weaponsSet = {}
	for _, name in ipairs(_G.Config.Weapons) do weaponsSet[name] = true end

	local equippedAccessory = nil
	for _, child in ipairs(myChar:GetChildren()) do
		if child:IsA("Accessory") and weaponsSet[child.Name] then
			equippedAccessory = child
			break
		end
	end
	if not equippedAccessory then return nil end

	local weaponName = equippedAccessory.Name
	local invFolder = ReplicatedStorage:FindFirstChild("Inventories")
	if not invFolder then return nil end

	local inv = invFolder:FindFirstChild(LocalPlayer.Name)
	if not inv then return nil end

	for _, item in ipairs(inv:GetChildren()) do
		if item.Name == weaponName then return item end
	end
	return nil
end

local function getEquippedWeaponName()
	local myChar = LocalPlayer.Character
	if not myChar then return nil end
	local weaponsSet = {}
	for _, name in ipairs(_G.Config.Weapons) do weaponsSet[name] = true end
	for _, child in ipairs(myChar:GetChildren()) do
		if child:IsA("Accessory") and weaponsSet[child.Name] then
			return child.Name
		end
	end
	return nil
end

local function findRemote(name)
	local netManaged = ReplicatedStorage
		:FindFirstChild("rbxts_include")
		and ReplicatedStorage.rbxts_include
		:FindFirstChild("node_modules")
		and ReplicatedStorage.rbxts_include.node_modules
		:FindFirstChild("@rbxts")
		and ReplicatedStorage.rbxts_include.node_modules["@rbxts"]
		:FindFirstChild("net")
		and ReplicatedStorage.rbxts_include.node_modules["@rbxts"].net
		:FindFirstChild("out")
		and ReplicatedStorage.rbxts_include.node_modules["@rbxts"].net.out
		:FindFirstChild("_NetManaged")
	if not netManaged then return nil end
	return netManaged:FindFirstChild(name)
end

local SwordHit          = findRemote("SwordHit")
local SummonerClawRemote = findRemote("SummonerClawAttackRequest")

local function attackSummonerClaw(myRoot, targetRoot)
	if not SummonerClawRemote then return end

	local direction = (targetRoot.Position - myRoot.Position).Unit

	local args = {
		{
			clientTime = tick(),
			direction  = direction,
			position   = myRoot.Position,
		}
	}

	pcall(function()
		SummonerClawRemote:FireServer(unpack(args))
	end)
end

local function attackSword(target, weapon, myRoot, targetRoot)
	if not SwordHit then return end

	local args = {
		chargedAttack = { chargeRatio = 0 },
		entityInstance = target,
		validate = {
			selfPosition   = { value = myRoot.Position },
			targetPosition = { value = targetRoot.Position },
		},
		weapon = weapon,
	}

	pcall(function()
		SwordHit:FireServer(args)
	end)
end

local function attack()
	local myChar = LocalPlayer.Character
	if not myChar then return end

	local myRoot = getRoot(myChar)
	if not myRoot then return end

	local target = getClosestTarget()
	if not target then return end

	local targetRoot = getRoot(target)
	if not targetRoot then return end

	local weaponName = getEquippedWeaponName()
	if not weaponName then return end

	if SUMMONER_CLAWS[weaponName] then
		attackSummonerClaw(myRoot, targetRoot)
	else
		local weapon = getWeapon()
		if not weapon then return end
		attackSword(target, weapon, myRoot, targetRoot)
	end
end

task.spawn(function()
	task.wait(2)
	while true do
		if _G.Config.Enabled then
			pcall(attack)
		end
		task.wait(0.00001)
	end
end)
[🎃PART 2] BedWars Kill Aura Script (Open Source)
Mobile Friendly
1,976 views
7 months ago

Kill Aura Script (Open Source)

WORKING
Free

Description

kill aura script for BedWars, open source and straight to the point

auto hits nearby players so u don’t have to spam click, just turn it on and it does the job

Features

  • Kill Aura
  • Auto Kill

Related Scripts