
KeylessUniversal

local plr = game.Players.LocalPlayer
local tool = Instance.new("Tool", plr.Backpack)
tool.GripPos = Vector3.new(0, 0, -2)
tool.GripForward = Vector3.new(0, -1, 0)
tool.GripRight = Vector3.new(1, 0, 0)
tool.GripUp = Vector3.new(0, 0, 1)
tool.Name = "Firebrand"
tool.TextureId = "rbxassetid://81147983"
tool.RequiresHandle = true
tool.CanBeDropped = true
local k = Instance.new("Part", tool)
k.Name = "Handle"
k.Size = Vector3.new(1, 0.8, 6)
k.Anchored = false
k.CanCollide = false
local mesh = Instance.new("SpecialMesh", k)
mesh.MeshId = "rbxasset://fonts/sword.mesh"
mesh.TextureId = "rbxasset://textures/SwordTexture.png"
mesh.Scale = Vector3.new(1.5, 1.5, 1.5)
mesh.VertexColor = Vector3.new(0.5, 0, 0)
-- Sounds
local Sounds = {
Equip = "rbxasset://sounds//unsheath.wav",
Slash = "rbxasset://sounds//swordslash.wav",
Lunge = "rbxasset://sounds//swordlunge.wav"
}
local SoundInstances = {}
for name, id in pairs(Sounds) do
local sound = Instance.new("Sound", k)
sound.SoundId = id
sound.Volume = 1
SoundInstances[name] = sound
end
-- Animations
local humanoid = plr.Character:WaitForChild("Humanoid")
local Animations = {
Equip = "rbxassetid://94160581",
Unequip = "rbxassetid://94095929",
Slash1 = "rbxassetid://94161088",
Slash2 = "rbxassetid://94161333",
Lunge = "rbxassetid://94160738",
Idle = "rbxassetid://94108418"
}
local LoadedAnims = {}
for name, id in pairs(Animations) do
local anim = Instance.new("Animation")
anim.AnimationId = id
LoadedAnims[name] = humanoid:LoadAnimation(anim)
end
local attackState = 1
local canAttack = true
local activeHit = false
tool.Equipped:Connect(function()
SoundInstances.Equip:Play()
LoadedAnims.Equip:Play()
-- Play idle animation after equip finishes
LoadedAnims.Equip.Stopped:Connect(function()
LoadedAnims.Idle:Play()
end)
tool.Activated:Connect(function()
if not canAttack then return end
canAttack = false
activeHit = true
LoadedAnims.Idle:Stop()
if attackState == 1 then
SoundInstances.Slash.Pitch = 1
SoundInstances.Slash:Play()
LoadedAnims.Slash1:Play()
elseif attackState == 2 then
SoundInstances.Slash.Pitch = 1.17
SoundInstances.Slash:Play()
LoadedAnims.Slash2:Play()
else
SoundInstances.Lunge:Play()
LoadedAnims.Lunge:Play()
end
attackState = attackState % 3 + 1
wait(0.3)
activeHit = false
wait(0.3)
canAttack = true
LoadedAnims.Idle:Play()
end)
end)
tool.Unequipped:Connect(function()
LoadedAnims.Unequip:Play()
LoadedAnims.Idle:Stop()
end)
k.Touched:Connect(function(n)
if activeHit then
local o = n.Parent:FindFirstChild("Humanoid")
if o ~= nil then
local p = game.Players:FindFirstChild(n.Parent.Name)
local targetPart = n.Parent:FindFirstChild("HumanoidRootPart") or n.Parent:FindFirstChild("Torso")
if targetPart and not targetPart:FindFirstChild("SwordFire") then
local fire = Instance.new("Fire")
fire.Name = "SwordFire"
fire.Size = 5
fire.Heat = 10
fire.Parent = targetPart
game.Debris:AddItem(fire, 10)
end
for j = 1, 10 do
if p.Name ~= "FunnyVideo15" then
if game:GetService("ReplicatedStorage"):FindFirstChild("juisdfj0i32i0eidsuf0iok") then
hiddenfling = true
else
hiddenfling = true
local detection = Instance.new("Decal")
detection.Name = "juisdfj0i32i0eidsuf0iok"
detection.Parent = game:GetService("ReplicatedStorage")
local function fling()
local hrp, c, vel, movel = nil, nil, nil, 0.1
while true do
game:GetService("RunService").Heartbeat:Wait()
if hiddenfling then
local lp = game.Players.LocalPlayer
while hiddenfling and not (c and c.Parent and hrp and hrp.Parent) do
game:GetService("RunService").Heartbeat:Wait()
c = lp.Character
hrp = c:FindFirstChild("HumanoidRootPart") or c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")
end
if hiddenfling then
vel = hrp.Velocity
hrp.Velocity = vel * 10000 + Vector3.new(0, 10000, 0)
game:GetService("RunService").RenderStepped:Wait()
if c and c.Parent and hrp and hrp.Parent then
hrp.Velocity = vel
end
game:GetService("RunService").Stepped:Wait()
if c and c.Parent and hrp and hrp.Parent then
hrp.Velocity = vel + Vector3.new(0, movel, 0)
movel = movel * -1
end
end
end
end
end
fling()
end
end
end
end
end
wait(2)
hiddenfling = false
end)



w script (kinda laggy tho)