
KeylessUniversal

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local StarterGui = game:GetService("StarterGui")
local LocalPlayer = Players.LocalPlayer
local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local SPEAR_NAME = "Ruby thorn"
local DAMAGE = 50
local old = Character:FindFirstChild(SPEAR_NAME)
if old then old:Destroy() end
local spear = Instance.new("Tool")
spear.Name = SPEAR_NAME
spear.RequiresHandle = true
spear.CanBeDropped = false
local handle = Instance.new("Part")
handle.Name = "Handle"
handle.Size = Vector3.new(0.4, 7, 0.4)
handle.Material = Enum.Material.Granite
handle.BrickColor = BrickColor.new("Really black")
handle.Color = Color3.fromRGB(60, 0, 0)
handle.Anchored = false
handle.CanCollide = false
handle.TopSurface = Enum.SurfaceType.Smooth
handle.BottomSurface = Enum.SurfaceType.Smooth
handle.Parent = spear
local spike = Instance.new("Part")
spike.Size = Vector3.new(0.3, 1.6, 0.3)
spike.Position = handle.Position + Vector3.new(0, handle.Size.Y/2 + spike.Size.Y/2, 0)
spike.BrickColor = BrickColor.new("Dark stone grey")
spike.Material = Enum.Material.Granite
spike.CanCollide = false
spike.Anchored = false
spike.Parent = spear
local weld1 = Instance.new("WeldConstraint", spike)
weld1.Part0 = spike
weld1.Part1 = handle
local crystal = Instance.new("Part")
crystal.Size = Vector3.new(0.6, 1.4, 0.6)
crystal.Position = spike.Position + Vector3.new(0, spike.Size.Y/2 + crystal.Size.Y/2, 0)
crystal.Material = Enum.Material.Neon
crystal.Color = Color3.fromRGB(255, 0, 0)
crystal.Transparency = 0.5
crystal.CanCollide = false
crystal.Anchored = false
crystal.Parent = spear
local weld2 = Instance.new("WeldConstraint", crystal)
weld2.Part0 = crystal
weld2.Part1 = handle
local core = Instance.new("Part")
core.Size = Vector3.new(0.25, 1, 0.25)
core.Position = crystal.Position
core.Material = Enum.Material.Neon
core.Color = Color3.new(1, 1, 1)
core.CanCollide = false
core.Anchored = false
core.Parent = spear
local weld3 = Instance.new("WeldConstraint", core)
weld3.Part0 = core
weld3.Part1 = handle
local function tagHumanoid(hum)
if hum and hum:IsA("Humanoid") and hum.Health > 0 then
hum:TakeDamage(DAMAGE)
end
end
local touchedConn
spear.Equipped:Connect(function()
touchedConn = handle.Touched:Connect(function(hit)
local h = hit.Parent:FindFirstChildOfClass("Humanoid")
if h and hit.Parent ~= Character then
tagHumanoid(h)
end
end)
end)
spear.Unequipped:Connect(function()
if touchedConn then
touchedConn:Disconnect()
end
end)
local trail = Instance.new("Trail")
trail.Attachment0 = Instance.new("Attachment", handle)
trail.Attachment1 = Instance.new("Attachment", handle)
trail.Color = ColorSequence.new(Color3.new(1, 0, 0))
trail.Transparency = NumberSequence.new(0.2)
trail.Lifetime = 0.3
trail.MinLength = 0.1
trail.Enabled = false
trail.Parent = handle
spear.Parent = LocalPlayer.Backpack



No comments, Anyways if yall have any improvement yall wanna make with the code. please do, i'd appreciate it, *just give credits tho*