Keyless

Key Required
Custom Spec
Lua Script•797 lines (23312 chars)
-- Sponsored by ntfofficial
-- max damage is actually 95 so u can set it to that
local Workspace = cloneref(game:GetService("Workspace"))
local Players = cloneref(game:GetService("Players"))
local ReplicatedStorage = cloneref(game:GetService("ReplicatedStorage"))
local RunService = cloneref(game:GetService("RunService")) -- we aint even using this!!! las go
local UserInputService = cloneref(game:GetService("UserInputService"))
local CurrentCamera = Workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
local Module = {
Setupped = false,
Character = nil,
Humanoid = nil,
RootPart = nil,
Limits = {
Velocity = 150
}
Moves = {
Punched = false,
Posing = false,
OldWalkSpeed = 16,
OldJumpPower = 50,
Limitless = false,
Invisible = false,
Blocking = false,
},
ArmPatterns = {
Both = {"larm", "rarm"},
Left = {"larm"},
Right = {"rarm"},
},
Cooldowns = {}
}
local Remotes = {
Trail = ReplicatedStorage:FindFirstChild("Trail"),
Damage = ReplicatedStorage:FindFirstChild("Damage"),
Berserk = ReplicatedStorage:FindFirstChild("Berserk"),
StrongPunch = ReplicatedStorage:FindFirstChild("PlayerStrongPunch"),
Knock = ReplicatedStorage:FindFirstChild("Knock"),
Menacing = ReplicatedStorage:FindFirstChild("Menacing"),
Damage2WS = ReplicatedStorage:FindFirstChild("Damage2WS"),
Transparency = ReplicatedStorage:FindFirstChild("Transparency"),
Jump = ReplicatedStorage:FindFirstChild("Jump"),
Block = ReplicatedStorage:FindFirstChild("Block"),
Dodge = ReplicatedStorage:FindFirstChild("Dodge"),
}
local AnimationsIds = { -- JabPunch rbxassetid://108138428955468 Kick rbxassetid://112759849039654 Shove rbxassetid://137042661991140
LeftPunch = "rbxassetid://109168458498490",
RightPunch = "rbxassetid://104315753597984",
Barrage = "rbxassetid://122520151681707",
StrongPunch = "rbxassetid://116595636182833",
Kick = "rbxassetid://112759849039654",
-- Uppercut = "rbxassetid://126577765659099",
BloodSuck = "rbxassetid://85438652357440",
Pose = "rbxassetid://93555492332778",
StandJump = "rbxassetid://73672319194239",
Block = "rbxassetid://99732276379513",
-- Roll = "rbxassetid://131582989683380",
Slide = "rbxassetid://101914879017648",
Dash = "rbxassetid://117275109630985",
}
local AnimationInstances = {}
for Name, Id in pairs(AnimationsIds) do
local Animation = Instance.new("Animation")
Animation.AnimationId = Id
AnimationInstances[Name] = Animation
end
local AnimationTracks = {}
do
function Module:Setup(Character)
task.spawn(function()
repeat
task.wait()
until Module.Setupped
Module.Setupped = false
for _, Child in pairs(LocalPlayer.Backpack:GetChildren()) do
if Child:IsA("LocalScript") and Child.Name ~= "Client" then
Child.Disabled = true
break
end
end
end)
repeat
task.wait()
until Character:FindFirstChildOfClass("Humanoid")
local Humanoid = Character:FindFirstChildOfClass("Humanoid")
local RootPart = Humanoid.RootPart
Module.Character = Character
Module.Humanoid = Humanoid
Module.RootPart = RootPart
-- Module.Sounds = nil
task.spawn(function()
repeat
task.wait()
until Character:FindFirstChild("Stand")
for _, Child in pairs(Character:GetDescendants()) do
if Child ~= RootPart and Child:FindFirstChildOfClass("Sound") then
Module.Sounds = Child
break
end
end
end)
local Animator = Humanoid:FindFirstChildOfClass("Animator")
if Animator then
for Name, Animation in pairs(AnimationInstances) do
local Track = Animator:LoadAnimation(Animation)
Track.Looped = Name == "Barrage" or Name == "Pose" or Name == "Block"
Track.Priority = Enum.AnimationPriority.Action4
AnimationTracks[Name] = Track
end
end
end
function Module:UseMove(Move)
if not Move then
return
end
if Module.Character and Module.Humanoid and (Module.Humanoid.Health > 0 or Module.Humanoid.Health ~= Module.Humanoid.Health) and Module.RootPart then
if Module.Moves.Posing and Move ~= Module.Moves.Pose or Module.Moves.Blocking and Move ~= Module.Moves.Block then
return
end
Move()
end
end
function Module:Hitbox(CFrame, Size, Bypass)
local Instances = Workspace:GetPartBoundsInBox(CFrame, Size, OverlapParams.new())
local Hit = {}
local Hits = {}
for _, Instance in pairs(Instances) do
local Character = Instance:FindFirstAncestorOfClass("Model")
if Character and Character.Name == "Stand" then
Character = Character:FindFirstAncestorOfClass("Model")
if not Character then
continue
end
end
local Humanoid = (Character and Character:FindFirstChildOfClass("Humanoid"))
local RootPart = (Humanoid and Humanoid.RootPart)
if RootPart and Humanoid ~= Module.Humanoid and (Bypass or not table.find(Module.Cooldowns, Humanoid)) and not Hit[Humanoid] then
Hit[Humanoid] = true
table.insert(Hits, {
Character = Character,
Humanoid = Humanoid,
RootPart = RootPart
})
end
end
local Hitbox = Instance.new("Part")
-- Hitbox.Name = "Hitbox"
Hitbox.CastShadow = false
Hitbox.Color = #Hits == 0 and Color3.fromRGB(255, 0, 0) or Color3.fromRGB(0, 255, 0)
Hitbox.Material = Enum.Material.ForceField
Hitbox.Size = Size
Hitbox.CFrame = CFrame
Hitbox.CanCollide = false
Hitbox.Anchored = true
Hitbox.Parent = Workspace
task.spawn(function()
for I = 0, 1, 0.05 do
Hitbox.Transparency = I
task.wait()
end
Hitbox:Destroy()
end)
return Hits
end
function Module:UseRemote(Remote, ...)
if Remote then
Remote:FireServer(...)
end
end
function Module:ToggleTrail(Side, Toggle)
local Stand = Module.Character:FindFirstChild("Stand")
if not Stand then
return
end
local Patterns = Module.ArmPatterns[Side or "Both"]
for _, Child in pairs(Stand:GetChildren()) do
if not Child:IsA("BasePart") then
continue
end
local Trail = Child:FindFirstChildOfClass("Trail")
if not Trail then
continue
end
local MatchedPattern = false
for _, Pattern in pairs(Patterns) do
if string.find(Child.Name:lower(), Pattern) then
MatchedPattern = true
Module:UseRemote(Remotes.Trail,
Trail,
Toggle
)
break
end
end
if not MatchedPattern then
Module:UseRemote(Remotes.Trail,
Trail,
false
)
end
end
end
function Module:PlaySound(SoundName)
if not Module.Sounds or Module.Moves.Invisible then
return
end
local Sound = nil
if typeof(SoundName) == "string" then
Sound = Module.Sounds:FindFirstChild(SoundName)
if not Sound then -- retarded devs cant stick with the same name
for _, Child in pairs(Module.Sounds:GetChildren()) do
if Child:IsA("Sound") and Child.Name:lower() == SoundName:lower() then
Sound = Child
break
end
end
end
else
for _, SoundName in pairs(SoundName) do -- retarded devs cant stick with the same name part 2
Sound = Module.Sounds:FindFirstChild(SoundName)
if Sound then
break
end
end
end
if Sound then
Sound:Play()
end
end
function Module:Damage(Remote, Humanoid, Cooldown, ...)
if table.find(Module.Cooldowns, Humanoid) then
return
end
Module:UseRemote(Remote,
...
)
if Cooldown > 0 then
task.spawn(function()
table.insert(Module.Cooldowns, Humanoid)
task.wait(Cooldown)
local Index = table.find(Module.Cooldowns, Humanoid)
if Index then
table.remove(Module.Cooldowns, Index)
end
end)
end
end
function Module:GetLookVector(Multiplier)
return Vector3.new(
Module.RootPart.CFrame.LookVector.X,
CurrentCamera.CFrame.LookVector.Y,
Module.RootPart.CFrame.LookVector.Z
).Unit * (Multiplier - 2) -- they have a limit and coz of latency u be gettin kicked
end
function Module.Moves:Punch()
AnimationTracks.LeftPunch:Stop()
AnimationTracks.RightPunch:Stop()
if Module.Moves.Punched then
Module:ToggleTrail("Left", true)
AnimationTracks.LeftPunch:Play()
else
Module:ToggleTrail("Right", true)
AnimationTracks.RightPunch:Play()
end
Module:PlaySound({"Swing", "Punch"})
task.wait(0.2)
for _ = 1, 15 do
local Hits = Module:Hitbox(
Module.RootPart.CFrame * CFrame.new(0, 0, -3.75),
Vector3.new(7.5, 7.5, 7.5)
)
for _, Hit in pairs(Hits) do
Module:Damage(Remotes.Damage, Hit.Humanoid, 0.5,
Hit.Humanoid,
Hit.RootPart.CFrame,
5,
0.25,
Module.RootPart.CFrame.LookVector * 20,
"rbxassetid://241837157",
0.035,
Color3.new(255, 255, 255),
"rbxassetid://260430079",
1,
1 / #Hits
)
end
task.wait()
end
Module:ToggleTrail()
Module.Moves.Punched = not Module.Moves.Punched
end
function Module.Moves:Barrage()
Module:ToggleTrail("Both", true)
AnimationTracks.Barrage:Play()
repeat
local Hits = Module:Hitbox(
Module.RootPart.CFrame * CFrame.new(0, 0, -3.75),
Vector3.new(7.5, 7.5, 7.5)
)
for _, Hit in pairs(Hits) do
Module:Damage(Remotes.Damage, Hit.Humanoid, 0.05,
Hit.Humanoid,
Hit.RootPart.CFrame,
15,
0.25,
Module.RootPart.CFrame.LookVector * 5,
"rbxassetid://241837157",
0.035,
Color3.new(255, 255, 255),
"rbxassetid://260430079",
1,
1 / #Hits
)
Module:UseRemote(Remotes.Berserk,
Hit.Humanoid
)
end
task.wait()
until not UserInputService:IsKeyDown("E")
AnimationTracks.Barrage:Stop()
Module:ToggleTrail()
end
function Module.Moves:StrongPunch()
Module:ToggleTrail("Right", true)
AnimationTracks.StrongPunch:Play()
task.wait(0.4)
if not Module.Moves.Invisible then
-- Module:PlaySound("HeavyPunch")
Module:UseRemote(Remotes.StrongPunch,
Vector3.new(1, 0.5, 1),
Vector3.new(0.3, 0.15, 0.3),
BrickColor.new("Institutional white")
)
end
for _ = 1, 15 do
local Hits = Module:Hitbox(
Module.RootPart.CFrame * CFrame.new(0, 0, -3.75),
Vector3.new(7.5, 7.5, 7.5)
)
for _, Hit in pairs(Hits) do
Module:Damage(Remotes.Damage, Hit.Humanoid, 0.5,
Hit.Humanoid,
Hit.RootPart.CFrame,
25,
0.25,
Module.RootPart.CFrame.LookVector * 40,
"rbxassetid://241837157",
0.035,
Color3.new(255, 255, 255),
"rbxassetid://260430079",
1,
1 / #Hits
)
Module:UseRemote(Remotes.Knock,
Hit.Humanoid
)
Module:UseRemote(Remotes.Berserk,
Hit.Humanoid
)
end
task.wait()
end
Module:ToggleTrail()
end
function Module.Moves:Kick()
AnimationTracks.Kick:Play()
task.wait(0.2)
for _ = 1, 15 do
local Hits = Module:Hitbox(
Module.RootPart.CFrame * CFrame.new(0, 0, -3.75),
Vector3.new(7.5, 7.5, 7.5)
)
for _, Hit in pairs(Hits) do
Module:Damage(Remotes.Damage, Hit.Humanoid, 0.5,
Hit.Humanoid,
Hit.RootPart.CFrame,
35,
0.25,
Module:GetLookVector(150),
"rbxassetid://241837157",
0.035,
Color3.new(255, 255, 255),
"rbxassetid://260430079",
1,
1 / #Hits
)
Module:UseRemote(Remotes.Knock,
Hit.Humanoid
)
end
task.wait()
end
end
function Module.Moves:Pose()
if Module.Moves.Posing then
AnimationTracks.Pose:Stop()
Module.Humanoid.WalkSpeed = Module.Moves.OldWalkSpeed
Module.Humanoid.JumpPower = Module.Moves.OldJumpPower
else
AnimationTracks.Pose:Play()
Module.Moves.OldWalkSpeed = Module.Humanoid.WalkSpeed
Module.Moves.OldJumpPower = Module.Humanoid.JumpPower
Module.Humanoid.WalkSpeed = 0
Module.Humanoid.JumpPower = 0
end
if not Module.Moves.Invisible then
Module:UseRemote(Remotes.Menacing,
not Module.Moves.Posing
)
end
Module.Moves.Posing = not Module.Moves.Posing
end
function Module.Moves:BloodSuck()
Module:ToggleTrail("Right", true)
AnimationTracks.BloodSuck:Play()
task.wait(0.5)
for _ = 1, 15 do
local Hits = Module:Hitbox(
Module.RootPart.CFrame * CFrame.new(0, 0, -3.75),
Vector3.new(7.5, 7.5, 7.5)
)
for _, Hit in pairs(Hits) do
Module:Damage(Remotes.Damage2WS, Hit.Humanoid, 0.5,
Hit.Humanoid,
CFrame.new(),
0,
0.25,
Vector3.new(),
0.075,
"rbxassetid://1067205170",
1,
0.36 / #Hits
)
end
task.wait()
end
Module:ToggleTrail()
end
function Module.Moves:Infinity()
Module.Moves.Limitless = not Module.Moves.Limitless
while Module.Moves.Limitless do
local Hits = Module:Hitbox(
Module.RootPart.CFrame,
Vector3.new(12.5, 12.5, 12.5)
)
for _, Hit in pairs(Hits) do
local Origin = Module.RootPart.CFrame.Position
local Distance = (Hit.RootPart.CFrame.Position - Origin).Magnitude
local Direction = (Hit.RootPart.CFrame.Position - Origin).Unit * Distance
local RaycastParams = RaycastParams.new()
RaycastParams.FilterDescendantsInstances = {Module.Character}
local RaycastResult = Workspace:Raycast(Origin, Direction, RaycastParams)
if RaycastResult and RaycastResult.Instance and RaycastResult.Instance:IsDescendantOf(Hit.Character) then
if Distance < 5 then
Module:Damage(Remotes.Damage2WS, Hit.Humanoid, 0,
Hit.Humanoid,
CFrame.new(),
0,
0,
Vector3.new(),
0.075,
"rbxassetid://1067205170",
1,
0.36 / #Hits
)
end
Module:Damage(Remotes.Damage, Hit.Humanoid, 0.25,
Hit.Humanoid,
CFrame.new(),
0,
0.25,
Vector3.new(),
"rbxassetid://241837157",
0.035,
Color3.new(255, 255, 255),
"rbxassetid://260430079",
1,
1 / #Hits
)
end
end
task.wait()
end
end
function Module.Moves:Invisiblity()
for _, Child in pairs(Module.Character:GetChildren()) do
local TargetPart = Child:IsA("Part") and Child or Child.Name ~= "Stand" and Child:FindFirstChildOfClass("Part")
if TargetPart and TargetPart.Name ~= "HumanoidRootPart" then
Module:UseRemote(Remotes.Transparency,
TargetPart,
Module.Moves.Invisible and 0 or 1
)
if TargetPart.Name == "Head" then
TargetPart = TargetPart:FindFirstChildOfClass("Decal")
Module:UseRemote(Remotes.Transparency,
TargetPart,
Module.Moves.Invisible and 0 or 1
)
end
end
end
Module.Moves.Invisible = not Module.Moves.Invisible
if Module.Moves.Invisible then
while Module.Moves.Invisible and Module.Character do
if Module.Character.Dodge and not Module.Character.Dodge.Value then
Module:UseRemote(Remotes.Dodge)
end
task.wait()
end
end
end
function Module.Moves:Jump()
AnimationTracks.StandJump:Play()
if not Module.Moves.Invisible then
Module:PlaySound("StandJumpSFX")
Module:UseRemote(Remotes.Jump,
BrickColor.new("Institutional white")
)
end
if Module.RootPart:FindFirstChild("BodyPosition") then
Module.RootPart.BodyPosition.Parent = nil
end
local BodyPosition = Instance.new("BodyPosition")
BodyPosition.MaxForce = Vector3.new(100000, 100000, 100000)
BodyPosition.Position = Module.RootPart.CFrame * CFrame.new(0, 75, -150).Position
BodyPosition.Parent = Module.RootPart
task.wait(1)
BodyPosition:Destroy()
end
function Module.Moves:Block()
Module.Moves.Blocking = true
AnimationTracks.Block:Play()
Module:PlaySound("Guard")
Module:UseRemote(Remotes.Block,
true
)
repeat
task.wait()
until not UserInputService:IsKeyDown("X")
Module:UseRemote(Remotes.Block,
false
)
AnimationTracks.Block:Stop()
Module.Moves.Blocking = false
end
function Module.Moves:Dodge()
AnimationTracks.Slide:Play()
Module:PlaySound("Dodge")
Module:UseRemote(Remotes.Dodge)
if Module.RootPart:FindFirstChild("BodyVelocity") then
Module.RootPart.BodyVelocity.Parent = nil
end
local BodyVelocity = Instance.new("BodyVelocity")
BodyVelocity.MaxForce = Vector3.new(100000, 0, 100000)
BodyVelocity.Velocity = Module.RootPart.CFrame.LookVector * 75
BodyVelocity.Parent = Module.RootPart
for _ = 1, 15 do
local Hits = Module:Hitbox(
Module.RootPart.CFrame * CFrame.new(0, 0, -3.75),
Vector3.new(7.5, 7.5, 7.5)
)
for _, Hit in pairs(Hits) do
Module:UseRemote(Remotes.Knock,
Hit.Humanoid
)
end
task.wait()
end
task.wait(0.25)
BodyVelocity:Destroy()
task.wait(0.15)
AnimationTracks.Slide:Stop()
end
function Module.Moves:Dash()
AnimationTracks.Dash:Play()
Module:PlaySound("Dodge")
Module:UseRemote(Remotes.Dodge)
if Module.RootPart:FindFirstChild("BodyVelocity") then
Module.RootPart.BodyVelocity.Parent = nil
end
local BodyVelocity = Instance.new("BodyVelocity")
BodyVelocity.MaxForce = Vector3.new(100000, 100000, 100000)
BodyVelocity.Velocity = Module.RootPart.CFrame.LookVector * 80 + Vector3.new(0, 3.5, 0)
BodyVelocity.Parent = Module.RootPart
task.wait(0.25)
BodyVelocity:Destroy()
task.wait(0.15)
AnimationTracks.Dash:Stop()
end
Module.Binds = {
["MouseButton1"] = Module.Moves.Punch,
["E"] = Module.Moves.Barrage,
["R"] = Module.Moves.StrongPunch,
["T"] = Module.Moves.Kick,
["P"] = Module.Moves.Pose,
["F"] = Module.Moves.BloodSuck,
-- ["G"] = Module.Moves.Infinity, -- scrapped since i fucked smth up
["H"] = Module.Moves.Invisiblity,
["Z"] = Module.Moves.Jump,
["X"] = Module.Moves.Block,
["C"] = Module.Moves.Dodge,
["V"] = Module.Moves.Dash,
}
end
if LocalPlayer.Character then
Module.Setupped = true
Module:Setup(LocalPlayer.Character)
end
LocalPlayer.CharacterAdded:Connect(function(Character)
Module:Setup(Character)
end)
UserInputService.InputBegan:Connect(function(Input, GameProcessedEvent)
if GameProcessedEvent then
return
end
local KeyPress = Input.UserInputType.Name == "Keyboard"
local Move = nil
if KeyPress then
Move = Module.Binds[Input.KeyCode.Name]
else
Move = Module.Binds[Input.UserInputType.Name]
end
Module:UseMove(Move)
end)
if hookmetamethod then
local Namecall; Namecall = hookmetamethod(game, "__namecall", function(Self, ...)
local Method = getnamecallmethod()
local Args = {...}
if not checkcaller() and Method == "FireServer" then -- god mode basicly
if Self.Name == "Stand" then
Module.Setupped = true
-- Args[2] = 100
Args[3] *= 100
return Namecall(Self, unpack(Args))
end
end
return Namecall(Self, ...)
end)
endFeatures & Information
idk look at the binds, pc only, if u want god mode use a higher unc exploit


Stealer
@Bobosiloy fym :sob:
@Bobosiloy clearly the script stole ur intellect, i could tell at glance
w
cool script i dont think god mode works tho, im using volt btw
@rnugree85 just checked and the method is patched so ye
@NTFOfficial rip. its so strange to me that a dead game with 200~ average players has such tight security. their mods arent even getting paid
@rnugree85 not really I mean sure some stuff is protected but there's alot of vulnerabilities like https://streamable.com/bnyr6c
Thank you. I'll modify it and use it alone for the mobile version. It's more difficult than expected to do. Your script is great, even without effects. I really like it. I've been looking forward to working with a custom script for a long time.