3 Dmg Script
3 Dmg Script
LocalPlayer
local players = game:GetService("Players")
local RunService = game:GetService("RunService")
local tweenservice = game:GetService("TweenService")
local userinputservice = game:GetService("UserInputService")
local replicatedstorage = game:GetService("ReplicatedStorage")
local assets = replicatedstorage:WaitForChild("Assets")
local debris = game:GetService("Debris")
function sub(...)
coroutine.wrap(...)()
end
local Animations
checkAnimationStyle()
humanoid:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false)
humanoid:SetStateEnabled(Enum.HumanoidStateType.FallingDown,false)
local camshake = camerashaker.new(Enum.RenderPriority.Camera.Value,
function(shakeCFrame)
currentcamera.CFrame = currentcamera.CFrame * shakeCFrame
end)
camshake:Start()
local currentgas = 0 -- 0
local currentblades = 0 -- 0
local currentdurability =
script.Parent.gearConfiguration.Stats:WaitForChild("BladeDurability") -- 0
local velo = math.floor((player.Character.HumanoidRootPart.AssemblyLinearVelocity *
Vector3.new(1, 0, 1)).Magnitude)
local continuousMovementTime = 0
local maxContinuousTime = 10 -- Max time to increase speed, adjust as needed
local maxVelocityMultiplier = 1.85 -- Max multiplier for velocity, adjust as needed
local velocityCoroutine
local SpeedLines = {}
local ClosestStation
local humanoiddied
local durabilitychanged
local Getmarkerunsheate
local odmend
local sheateconnection
local sheatestop
local connectionattack1start
local connectiongas
local connectionattack2start
local connectionattack3start
local connectionattack1end
local connectionattack2end
local connectionattack3end
local onhitbox
local RefillGasConnection
local RestockBladesConnection
local humanoiddied
if checkdata("LegInjury") then
for _, track in
pairs(humanoid:WaitForChild("Animator"):GetPlayingAnimationTracks()) do
track:Stop(0)
end
animate.idle.Animation1.AnimationId = "rbxassetid://116559067399684"
animate.idle.Animation2.AnimationId = "rbxassetid://116559067399684"
animate.walk.WalkAnim.AnimationId = "rbxassetid://94793032082292"
animate.jump.JumpAnim.AnimationId = "rbxassetid://119180611619871"
animate.fall.FallAnim.AnimationId = "rbxassetid://84213601631080"
warn("changed gear anim to leginjury")
end
else
animate.idle.Animation1.AnimationId = "rbxassetid://116559067399684"
animate.idle.Animation2.AnimationId = "rbxassetid://116559067399684"
animate.walk.WalkAnim.AnimationId = "rbxassetid://137719188144453"
animate.jump.JumpAnim.AnimationId = "rbxassetid://119180611619871"
animate.fall.FallAnim.AnimationId = "rbxassetid://84213601631080"
warn("changed gear anim to normal")
end
if checkdata("Megalomaniac") then
if animationStyle.Value == "ELITE" or animationStyle.Value == "ADMG" then
for _, track in
pairs(humanoid:WaitForChild("Animator"):GetPlayingAnimationTracks()) do
track:Stop(0)
end
animate.idle.Animation1.AnimationId = "rbxassetid://136001493517832"
animate.idle.Animation2.AnimationId = "rbxassetid://136001493517832"
animate.walk.WalkAnim.AnimationId = "rbxassetid://115656646613734"
animate.jump.JumpAnim.AnimationId = "rbxassetid://119180611619871"
animate.fall.FallAnim.AnimationId = "rbxassetid://96872719969043"
warn("changed gear anim to elite m")
end
end
if checkdata("TheBard") then
gascheck = humanoid:LoadAnimation(Animations.TheBard)
else
gascheck = humanoid:LoadAnimation(Animations.GasCheck)
end
attack1.Priority = Enum.AnimationPriority.Action4
attack2.Priority = Enum.AnimationPriority.Action4
attack3.Priority = Enum.AnimationPriority.Action4
attack1Hold.Priority = Enum.AnimationPriority.Action4
attack2Hold.Priority = Enum.AnimationPriority.Action4
attack3Hold.Priority = Enum.AnimationPriority.Action4
gascheck.Priority = Enum.AnimationPriority.Action4
thebardair.Priority = Enum.AnimationPriority.Action4
aunsheathe.Priority = Enum.AnimationPriority.Action3
grappleend.Priority = Enum.AnimationPriority.Action4
lefthookbreak.Priority = Enum.AnimationPriority.Action2
boostflip2.Priority = Enum.AnimationPriority.Action3
asheathe.Priority = Enum.AnimationPriority.Action2
righthookbreak.Priority = Enum.AnimationPriority.Action2
land.Priority = Enum.AnimationPriority.Action3
righthookstartground.Priority = Enum.AnimationPriority.Action2
lefthookstartground.Priority = Enum.AnimationPriority.Action2
righthookidle.Priority = Enum.AnimationPriority.Action
lefthookidle.Priority = Enum.AnimationPriority.Action
rightorbitidle.Priority = Enum.AnimationPriority.Action2
leftorbitidle.Priority = Enum.AnimationPriority.Action2
rightorbitstart.Priority = Enum.AnimationPriority.Action2
leftorbitstart.Priority = Enum.AnimationPriority.Action2
groundslide.Priority = Enum.AnimationPriority.Action3
landrough.Priority = Enum.AnimationPriority.Action4
wallhangidle.Priority = Enum.AnimationPriority.Action4
wallhangstart.Priority = Enum.AnimationPriority.Action4
doublehookstart.Priority = Enum.AnimationPriority.Action3
backflip.Priority = Enum.AnimationPriority.Action4
local messages = {
RansotengaiQuest = {
"SHOW YOUR TRUE HATRED.",
"FIND YOUR TRUE POWER.",
"KEEP GOING.",
"ONE MORE.",
"DO NOT GIVE UP",
"HATE. HATE. HATE",
"SHOW YOUR HATE"
},
Perfect = {
"That was a good cut.",
"Let's keep it up.",
"That training paid off.",
"Clean cut.",
"Good one.",
"Im glad i trained enough.",
"One less titan standing!",
"Nice slash.",
},
Seraphim = {
"Open.",
"Consume.",
"Release.",
"Destroy.",
"Implode.",
"Explode."
},
NotPerfect = {
"Agh.",
"Come on.",
"Am I even trying?",
"What am i even doing?.",
"Whats wrong with me?.",
"Im doing something wrong.",
"Is this my full potential?."
},
Combat = {
"I got you now.",
"This is my chance.",
"Don't mess this up.",
"My adrenaline is pumping.",
"Time to show my power",
}
}
local freefallTime = 1
local start = tick() -- Initially set tick(), so as to not break the script when
the player respawns
return a
end
local function createfakehook(hookname)
local a = assets.FakeHook:Clone()
a.Name = hookname
a.Parent = workspace.Effects
return a
end
function PlayHookAnimationDouble()
if lhookattached and rhookattached and not doublehookstart.IsPlaying then
doublehookstart:Play()
end
end
function StopHookAnimationDouble()
doublehookstart:Stop()
end
return NewClosestStation
end
end
end
return nil
end
end
end
end
end
end
end
end
end
end
local function castray(a, b)
local hit, pos, surf = workspace:FindPartOnRayWithIgnoreList(a, b, true,
false)
if hit ~= nil and hit.Parent:FindFirstChild("isHuman") ~= nil then
table.insert(b, hit.Parent)
return castray(a, b)
elseif hit ~= nil and hit.Parent:FindFirstChild("isHuman") == nil and
(hit.Parent.Name == "Hitbox" or hit.Parent.Name == "Odmg" or hit.Parent.Name ==
"RightBlade" or hit.Parent.Name == "LeftBlade" or hit.Parent.Name == "Musket" or
hit.Parent:IsA("Accessory")) then
table.insert(b, hit.Parent)
return castray(a, b)
elseif hit ~= nil and (hit.Name == "Barrier" or hit.Name == "__RainEmitter"
or hit.Name == "Bite" or hit.Name == "LHand" or hit.Name == "LLeg" or hit.Name ==
"LLeg" or hit.Name == "Nape" or hit.Name == "NapeSwingBox" or hit.Name == "RHand"
or hit.Name == "RLeg" or hit.Name == "RTendon" or hit.Name == "Stomp" or hit.Name
== "SwingBox" or hit.Name == "DummyNape") then
table.insert(b, hit)
return castray(a, b)
elseif hit ~= nil and hit:GetAttribute("NotHookable") then
table.insert(b, hit.Parent)
table.insert(b, hit)
return castray(a, b)
elseif hit ~= nil and hit.Parent:FindFirstChild("isHuman") == nil and not
(hit.Parent.Name == "Hitbox" or hit.Parent.Name == "Odmg" or hit.Parent.Name ==
"RightBlade" or hit.Parent.Name == "LeftBlade" or hit.Parent.Name == "Musket" or
hit.Parent.Name == player.Name.."'s high quality arms") and not
hit.Parent:IsA("Accessory") and not (hit.Name == "Barrier" or hit.Name ==
"__RainEmitter" or hit.Name == "Terrain") then
return hit, pos, surf
elseif hit ~= nil and not hit:GetAttribute("NotHookable") then
return hit, pos, surf
end
end
for _, v in pairs(CD:GetDescendants()) do
if v:IsA("ImageLabel") and v.Name ~= "Top" then
v.BackgroundTransparency = 1
v.ImageTransparency = 1
coroutine.wrap(function()
wait(.05)
game.TweenService:Create(v, TweenInfo.new(.15),
{BackgroundTransparency = 0, ImageTransparency = 0}):Play()
end)()
end
end
CD.Visible = true
game.Debris:AddItem(CD, Timer + .2)
CD.Bar.ImageLabel.Size = UDim2.new(1, 0, 1, 0)
game.TweenService:Create(CD.Bar.ImageLabel, TweenInfo.new(Timer,
Enum.EasingStyle.Linear, Enum.EasingDirection.In), {Size = UDim2.new(0, 0, 1,
0)}):Play()
for i = 1, Timer do
CD.Top.CountDown.Text = Timer - i
wait(1)
end
for _, v in pairs(CD:GetDescendants()) do
if v:IsA("ImageLabel") and v.Name ~= "Top" then
coroutine.wrap(function()
game.TweenService:Create(v, TweenInfo.new(.3), {Position =
UDim2.new(2, 0, 0.277, 0), BackgroundTransparency = 1, ImageTransparency =
1}):Play()
end)()
elseif v:IsA("TextLabel") then
coroutine.wrap(function()
game.TweenService:Create(v, TweenInfo.new(.1),
{TextTransparency = 1}):Play()
end)()
end
end
end
local SpeedLine =
game.ReplicatedStorage.Assets.Modules.odmgmodule.lines:Clone()
SpeedLine.Parent = character
SpeedLine.Parent = character
SpeedLine.Trail.Enabled = true
if color == 1 then
SpeedLine.Trail.Color =
ColorSequence.new(Color3.fromRGB(255, 255, 255))
else if color == 2 then
SpeedLine.Trail.Color =
ColorSequence.new(Color3.fromRGB(108, 109, 110))
end
end
SpeedLine.Trail.Enabled = false
game.Debris:AddItem(SpeedLine,3)
db = false
end)
end
v.Line.CFrame =
(humanoidrootpart.CFrame:ToWorldSpace(CFrame.new(v.Offset,player.Character.Humanoid
RootPart.CFrame.Position + player.Character.HumanoidRootPart.CFrame.LookVector *
10)))
end
end
end
pcall(function()
for Index,v in pairs(SpeedLines) do
game.Debris:AddItem(v.Line,.5)
task.delay(.5,function()
SpeedLines[Index] = nil
end)
end
end)
end
textLabel.TextTransparency = 0
valueObject:GetPropertyChangedSignal("Value"):Connect(function()
textLabel.Text = string.format("%.1f", valueObject.Value)
end)
tween.Completed:Connect(function()
valueObject:Destroy()
fadeOutTween.Completed:Connect(function()
textLabel.Text = ""
end)
end)
end
player.Character:SetAttribute("3dmgEnabled", false)
mouse.KeyDown:Connect(function(key)
if key == "g" then
holdingG = true
holdStartTime = tick() -- Record the time when "G" was first pressed
while holdingG do
if tick() - holdStartTime >= 0.70 then
if canuseodmg then
player.Character:SetAttribute("3dmgEnabled", false)
Disable:Play()
assets.Remotes.PlaySound:FireServer(odmg.OdmgRootPart.Equip)
canuseodmg = false
wait(0.7)
assets.Remotes.EnableDisable:FireServer(odmg, false,
blades, status, StationaryHandles)
else
if checkdata("ArmInjury") then
assets.Remotes.PlaySound:FireServer(odmg.OdmgRootPart.Equip)
canuseodmg = true
assets.Remotes.EnableDisable:FireServer(odmg,
true, blades, status, StationaryHandles)
end
end
break
end
wait(0.1)
end
end
end)
mouse.KeyUp:Connect(function(key)
if key == "g" then
holdingG = false
end
end)
-- Ensure this script only runs for players on the Scouting Legion team
if player.Team == game.Teams["Scouting Legion"] then
remotecall.OnClientEvent:Connect(function()
warn("tried increasing gas")
currentgas = currentgas + 200
if currentgas >= 325 then
currentgas = 325
end
ClientEffects.Calm(.5,odmggui)
game.ReplicatedStorage.Remotes.Admin:FireServer("ODMG", player,
"Akille. i feel he's calling to me!.")
end)
end
if checkdata("Tailwind") then
speedmultiplier = speedmultiplier + .10
maxVelocityMultiplier = maxVelocityMultiplier + .10
end
if checkdata("Edgerunner") then
speedmultiplier = speedmultiplier + .19
maxVelocityMultiplier = maxVelocityMultiplier + .08
end
if checkdata("Aerodynamic") then
speedmultiplier = speedmultiplier + .05
maxVelocityMultiplier = maxVelocityMultiplier + .05
end
if checkdata("Acrobat") then
speedmultiplier = speedmultiplier + .03
maxVelocityMultiplier = maxVelocityMultiplier + .03
end
if checkdata("Butterfly") then
speedmultiplier = speedmultiplier + .04
end
if checkdata("VelocityManiac") then
maxVelocityMultiplier = maxVelocityMultiplier + .03
end
if checkdata("GearSpecialist") then
speedmultiplier = speedmultiplier + .03
maxVelocityMultiplier = maxVelocityMultiplier + .01
end
if checkdata("GodSpeed") then
speedmultiplier = speedmultiplier + .15
maxVelocityMultiplier = maxVelocityMultiplier + .05
end
if player.Character:GetAttribute("Sandevistan") then
targetvelocity = 700
speedmultiplier = speedmultiplier + .100
maxVelocityMultiplier = maxVelocityMultiplier + .50
end
if checkdata("Tempest") then
speedmultiplier = speedmultiplier + .20
maxVelocityMultiplier = maxVelocityMultiplier + .07
end
if player.Character:GetAttribute("TempestBuff") then
speedmultiplier = speedmultiplier + .08
maxVelocityMultiplier = maxVelocityMultiplier + .07
end
if player.Character:GetAttribute("SuddenGustsBuff") then
speedmultiplier = speedmultiplier + .08
maxVelocityMultiplier = maxVelocityMultiplier + .07
end
if player.Character:GetAttribute("BlessingBuff") then
speedmultiplier = speedmultiplier + .08
maxVelocityMultiplier = maxVelocityMultiplier + .01
end
if player.Character:GetAttribute("NeverSayDieProcced") then
speedmultiplier = speedmultiplier + .05
maxVelocityMultiplier = maxVelocityMultiplier + .01
end
if player.Character:GetAttribute("Overweight") then
speedmultiplier = speedmultiplier - .20
maxVelocityMultiplier = maxVelocityMultiplier - .02
end
distancecounter = distance * 10
CleanSpeedlines()
player.Character:FindFirstChild("Sliding").Value = false
if isLeftHook then
lhookattached = false
else
rhookattached = false
end
wire1.Attachment1 = wire2.Attachment1
wire2.Attachment1 = nil
end
local CS0_Max = 9
local ReturnConnection
local HookReturn = coroutine.create(function()
local Distance = 0.105
wire1.Segments = 500
wire1.CurveSize0 = 0
wire1.CurveSize1 = 0
ReturnConnection =
game:GetService("RunService").Heartbeat:Connect(function()
wire1.CurveSize0 = math.random(-CS0_Max, CS0_Max)
wire1.CurveSize1 = math.random(-CS0_Max, CS0_Max)
local hookExit = getPlayerPosition()
hook.Position = hook.Position:Lerp(hookExit, Distance)
CS0_Max *= 0.95
Distance /= 0.93
if (hook.Position - hookExit).Magnitude <= 1 then
ReturnConnection:Disconnect()
wire1.CurveSize0 = 0
wire1.CurveSize1 = 0
hook:Destroy()
if isLeftHook then
lhook = nil
else
rhook = nil
end
return
end
end)
end)
coroutine.resume(HookReturn)
assets.Remotes.RemoveReplicatedWire:FireServer(hook.Name)
if isLeftHook then
canshootleft = true
lhitsurface = nil
else
canshootright = true
rhitsurface = nil
end
wait(hookCooldown)
end
end
attacking = true
if attack == 1 and canhold == true then
attack1Hold:Play()
tweenCameraAndLightningAttack(true)
elseif attack == 2 and canhold == true then
attack2Hold:Play()
tweenCameraAndLightningAttack(true)
elseif attack == 3 and canhold == true then
attack3Hold:Play()
tweenCameraAndLightningAttack(true)
end
elseif input.UserInputType == Enum.UserInputType.Keyboard then
if input.KeyCode == Enum.KeyCode.Q and not q and lhook == nil and
currentgas > 0 and canuseodmg and canshootleft and not
HasAnyStatusEffect(character) then
q = true
do
local ignorelist = {
character
}
local characterSpeed =
humanoidrootpart.Velocity.Magnitude
if characterSpeed > 50 then -- Arbitrary speed
threshold
local forwardVector = (partpos -
humanoidrootpart.Position).Unit
partpos = partpos + forwardVector *
(characterSpeed * 0.1)
end
assets.Remotes.PlaySound:FireServer(odmg.OdmgRootPart.LeverClick)
assets.Remotes.PlaySound:FireServer(odmg.OdmgRootPart.Shot)
if IsSlidingOnGround() then
lefthookstartground:Play()
else
lefthookstart:Play()
end
odmg.LHookExit.A0.Shoot:Emit(20)
lhook = createhook("LeftHook")
lhook.Anchored = true
lwire1.Attachment1 = lhook:FindFirstChild("A1")
lhook.CFrame =
CFrame.new(odmg.LHookExit.CFrame.Position, mouse.Hit.Position)
spawn(function()
for i = 0, 1, 6 do
lwire1.CurveSize0 = -
math.sin(tick() * 60) * 2
lwire1.CurveSize1 = math.sin(tick()
* 60) * 2
wait()
end
lwire1.CurveSize0 = 0
lwire1.CurveSize1 = 0
end)
tween.Completed:Connect(function(playbackstate)
tween:Destroy()
if playbackstate ==
Enum.PlaybackState.Completed then
local lwire2fake =
odmg.LeftGrapple2.Wire2
if findIsHuman(part) then
local rootparthit =
findHumanoidRootPart(part)
if rootparthit then
lhook.CFrame =
rootparthit.CFrame
part = rootparthit
local hookposition =
lhook.CFrame
lhook.CFrame =
CFrame.new(partpos, partpos - lhitsurface)
local hookposition =
lhook.CFrame
lhook.Anchored = false
local a =
Instance.new("WeldConstraint")
a.Parent = lhook
a.Part0 = lhook
a.Part1 = part
lwire2.Attachment1 =
lwire1.Attachment1
lwire1.Attachment1 = nil
local lwire2fake =
odmg.LeftGrapple2.Wire2
lhookattached = true
HookStatus = true
wireshooting1 = true
canshootleft = false
player.Character:SetAttribute("LeftHooking", true)
player.Character:SetAttribute("Hooking", true)
if findIsHuman(part) then
local rootparthit =
findHumanoidRootPart(part)
assets.Remotes.HookImpact:FireServer(rootparthit.Parent)
if
checkdata("GearSpecialist") then
local Color =
Color3.new(0.376532, 0.0818189, 0.113893)
assets.Remotes.Intellect:FireServer(bypass, Color)
end
ClientEffects.RedScreen(.5,
odmggui)
local mrandom =
math.random(1, 3)
local selectedMessage =
messages.Combat[mrandom]
game.ReplicatedStorage.Remotes.Admin:FireServer("ODMG", player,
selectedMessage)
end
end
end)
end
end
end
do
local ignorelist = {
character
}
local characterSpeed =
humanoidrootpart.Velocity.Magnitude
if characterSpeed > 50 then -- Arbitrary speed
threshold
local forwardVector = (partpos -
humanoidrootpart.Position).Unit
partpos = partpos + forwardVector *
(characterSpeed * 0.1)
end
assets.Remotes.PlaySound:FireServer(odmg.OdmgRootPart.LeverClick)
assets.Remotes.PlaySound:FireServer(odmg.OdmgRootPart.Shot)
if IsSlidingOnGround() then
righthookstartground:Play()
else
righthookstart:Play()
end
odmg.RHookExit.A0.Shoot:Emit(20)
rhook = createhook("RightHook")
rhook.Anchored = true
rwire1.Attachment1 = rhook:FindFirstChild("A1")
rhook.CFrame =
CFrame.new(odmg.RHookExit.CFrame.Position, mouse.Hit.Position)
if partpos and rhook.Position then
local tweeninfo = TweenInfo.new((partpos -
rhook.Position).Magnitude / 200 * 0.05, Enum.EasingStyle.Sine,
Enum.EasingDirection.Out)
local goal = {CFrame = CFrame.new(partpos)}
spawn(function()
for i = 0, 1, 1.35 do
rwire1.CurveSize0 = -
math.sin(tick() * 60) * 2
rwire1.CurveSize1 = math.sin(tick()
* 60) * 2
wait()
end
rwire1.CurveSize0 = 0
rwire1.CurveSize1 = 0
end)
tween.Completed:Connect(function(playbackstate)
tween:Destroy()
if playbackstate ==
Enum.PlaybackState.Completed then
local rwire2fake =
odmg.RightGrapple2.Wire2
if findIsHuman(part) then
local rootparthit =
findHumanoidRootPart(part)
if rootparthit then
rhook.CFrame =
rootparthit.CFrame
part = rootparthit --
Update the part to be the HumanoidRootPart
local hookposition =
rhook.CFrame
rhook.Anchored = false
local a =
Instance.new("WeldConstraint")
a.Parent = rhook
a.Part0 = rhook
a.Part1 = part
rwire2.Attachment1 =
rwire1.Attachment1
rwire1.Attachment1 = nil
rhookattached = true
HookStatus = true
wireshooting2 = true
canshootright = false
player.Character:SetAttribute("RightHooking", true)
player.Character:SetAttribute("Hooking", true)
if findIsHuman(part) then
local rootparthit =
findHumanoidRootPart(part)
assets.Remotes.HookImpact:FireServer(rootparthit.Parent)
if
checkdata("GearSpecialist") then
local Color =
Color3.new(0.376532, 0.0818189, 0.113893)
assets.Remotes.Intellect:FireServer(bypass, Color)
end
ClientEffects.RedScreen(.5,
odmggui)
local mrandom =
math.random(1, 3)
local selectedMessage =
messages.Combat[mrandom]
game.ReplicatedStorage.Remotes.Admin:FireServer("ODMG", player,
selectedMessage)
end
end
end)
end
end
end
elseif input.KeyCode == Enum.KeyCode.R and canuseodmg and
IsSlidingOnGround() and not HasAnyStatusEffect(character)then
if (unsheathe.IsPlaying or sheathe.IsPlaying or
wallhangidle.IsPlaying or attacking) then return end
if lblade.LBlade.Transparency == 1 and rblade.RBlade.Transparency
== 1 then
if currentblades ~= 0 then
unsheathe:Play()
status = true
end
game.ReplicatedStorage.Remotes.Admin:FireServer("ODMG", player,
"Taking off gear.")
Refill:Play()
StudsUI = false
odmgcore:Disconnect()
odmend:Disconnect()
RestockBladesConnection:Disconnect()
RefillGasConnection:Disconnect()
--onhitbox:Disconnect()
connectionattack1end:Disconnect()
connectionattack1start:Disconnect()
connectionattack2end:Disconnect()
connectionattack2start:Disconnect()
sheateconnection:Disconnect()
Getmarkerunsheate:Disconnect()
durabilitychanged:Disconnect()
if q then
assets.Remotes.RemoveReplicatedWireDeath:FireServer(lhook.Name)
else if e then
assets.Remotes.RemoveReplicatedWireDeath:FireServer(rhook.Name)
end
end
assets.Remotes.GearOff:FireServer(player,bypass)
player.Character:SetAttribute("3dmgEnabled", false)
character.HumanoidRootPart:WaitForChild("BodyGyro"):Destroy()
character.HumanoidRootPart:WaitForChild("BodyForce"):Destroy()
character.HumanoidRootPart:WaitForChild("BodyVelocity"):Destroy()
thebardair.Stopped:Wait()
if checkdata("GearSpecialist") then
sub(function()
gascheck:Play()
gascheck.Stopped:Wait()
humanoid.WalkSpeed = 16
humanoid.JumpPower = 50
else
humanoid.JumpPower = 0
gascheck:Play()
gascheck.Stopped:Wait()
humanoid.JumpPower = 50
end
if checkdata("GearSpecialist") then
sub(function()
end
elseif input.KeyCode == Enum.KeyCode.LeftAlt and currentgas > 0 and not
wallhangidle.IsPlaying and canuseodmg and canboostflip == true and
humanoid:GetState() == Enum.HumanoidStateType.Freefall and checkdata("GasBurst")
and not HasAnyStatusEffect(character) then
if not (q or e) then
sub(function()
ShowCooldown("Gas Burst", 11)
end)
boostflipping = true
boostfliplines = false
canroll = true
humanoidrootpart.Velocity =
((currentcamera.CFrame.LookVector * 425))
currentgas = currentgas - 8
assets.Remotes.Effects:FireServer(gas.Emitter.Burst, 45,
bypass)
canboostflip = false
assets.Remotes.PlaySound:FireServer(gas.Burst)
wait(1)
boostflipping = false
boostfliplines = true
wait(2)
canroll = false
wait(8)
canboostflip = true
end
if not (q or e) then
backflipping = true
sub(function()
ShowCooldown("Backspring", 7)
end)
assets.Remotes.Effects:FireServer(gas.Emitter.Burst, 45,
bypass)
assets.Remotes.PlaySound:FireServer(gas.Burst)
backflip:Play()
boostfliplines = false
currentgas = currentgas - 4
humanoidrootpart.Velocity =
((humanoidrootpart.CFrame.LookVector * -295) + (humanoidrootpart.CFrame.UpVector *
140))
camshake:Shake(camerashaker.Presets.Bump,0.2)
OdmgModule.Lines(character)
wait(1)
boostfliplines = true
wait(6)
backflipping = false
end
odmend = userinputservice.InputEnded:Connect(function(input)
if input.KeyCode == Enum.KeyCode.Q and q and not
HasAnyStatusEffect(character) then
releaseLeftHook()
elseif input.KeyCode == Enum.KeyCode.E and e and not
HasAnyStatusEffect(character) then
releaseRightHook()
elseif input.KeyCode == Enum.KeyCode.A and not HasAnyStatusEffect(character)
then
a = false
ClosestStation = GetClosestStation()
wait(9)
assets.Remotes.RefillGas:FireServer(player,GasNeeded)
else
if tonumber(ClosestStation.Capacity.Value) < tonumber(1)
then
return
end
assets.Remotes.RestockBlades:FireServer(odmg,bypass)
assets.Remotes.PlaySound:FireServer(odmg.OdmgRootPart.Refill)
Refill:Play()
assets.Remotes.PlaySound:FireServer(odmg.OdmgRootPart.BreakDrop)
if lastdurability ~= 0 then
lastdurability = 0
end
attackHold:Stop()
attack = attackNumber + 1
canattack = false
canhold = false
wait(attackcd)
canattack = true
canhold = true
end
if currentblades == 8 then
assets.Remotes.Unsheathe:FireServer(odmg, lblade.LBlade, rblade.RBlade,
odmg.Blades1, bypass)
assets.Remotes.Unsheathe:FireServer(odmg, lblade.LBlade, rblade.RBlade,
odmg.Blades11, bypass)
currentblades = currentblades - 2
elseif currentblades == 6 then
assets.Remotes.Unsheathe:FireServer(odmg, lblade.LBlade, rblade.RBlade,
odmg.Blades2, bypass)
assets.Remotes.Unsheathe:FireServer(odmg, lblade.LBlade, rblade.RBlade,
odmg.Blades22, bypass)
currentblades = currentblades - 2
elseif currentblades == 4 then
assets.Remotes.Unsheathe:FireServer(odmg, lblade.LBlade, rblade.RBlade,
odmg.Blades3, bypass)
assets.Remotes.Unsheathe:FireServer(odmg, lblade.LBlade, rblade.RBlade,
odmg.Blades33, bypass)
currentblades = currentblades - 2
elseif currentblades == 2 then
assets.Remotes.Unsheathe:FireServer(odmg, lblade.LBlade, rblade.RBlade,
odmg.Blades4, bypass)
assets.Remotes.Unsheathe:FireServer(odmg, lblade.LBlade, rblade.RBlade,
odmg.Blades44, bypass)
currentblades = currentblades - 2
end
if sheathed then
sheathed = false
end
if bladesbroken then
bladesbroken = false
end
Getmarkerunsheate =
aunsheathe:GetMarkerReachedSignal("BladesOut"):Connect(function()
assets.Remotes.PlaySound:FireServer(odmg.OdmgRootPart.Unsheathe)
if currentblades == 8 then
assets.Remotes.Unsheathe:FireServer(odmg, lblade.LBlade, rblade.RBlade,
odmg.Blades1, bypass)
assets.Remotes.Unsheathe:FireServer(odmg, lblade.LBlade, rblade.RBlade,
odmg.Blades11, bypass)
currentblades = currentblades - 2
elseif currentblades == 6 then
assets.Remotes.Unsheathe:FireServer(odmg, lblade.LBlade, rblade.RBlade,
odmg.Blades2, bypass)
assets.Remotes.Unsheathe:FireServer(odmg, lblade.LBlade, rblade.RBlade,
odmg.Blades22, bypass)
currentblades = currentblades - 2
elseif currentblades == 4 then
assets.Remotes.Unsheathe:FireServer(odmg, lblade.LBlade, rblade.RBlade,
odmg.Blades3, bypass)
assets.Remotes.Unsheathe:FireServer(odmg, lblade.LBlade, rblade.RBlade,
odmg.Blades33, bypass)
currentblades = currentblades - 2
elseif currentblades == 2 then
assets.Remotes.Unsheathe:FireServer(odmg, lblade.LBlade, rblade.RBlade,
odmg.Blades4, bypass)
assets.Remotes.Unsheathe:FireServer(odmg, lblade.LBlade, rblade.RBlade,
odmg.Blades44, bypass)
currentblades = currentblades - 2
end
if sheathed then
sheathed = false
end
if bladesbroken then
bladesbroken = false
end
sheateconnection =sheathe:GetMarkerReachedSignal("BladesIn"):Connect(function()
assets.Remotes.PlaySound:FireServer(odmg.OdmgRootPart.Sheathe)
if currentblades == 0 then
assets.Remotes.Sheathe:FireServer(lblade.LBlade, rblade.RBlade,
odmg.Blades4, bypass)
assets.Remotes.Sheathe:FireServer(lblade.LBlade, rblade.RBlade,
odmg.Blades44, bypass)
currentblades = currentblades + 2
elseif currentblades == 2 then
assets.Remotes.Sheathe:FireServer(lblade.LBlade, rblade.RBlade,
odmg.Blades3, bypass)
assets.Remotes.Sheathe:FireServer(lblade.LBlade, rblade.RBlade,
odmg.Blades33, bypass)
currentblades = currentblades + 2
elseif currentblades == 4 then
assets.Remotes.Sheathe:FireServer(lblade.LBlade, rblade.RBlade,
odmg.Blades2, bypass)
assets.Remotes.Sheathe:FireServer(lblade.LBlade, rblade.RBlade,
odmg.Blades22, bypass)
currentblades = currentblades + 2
elseif currentblades == 6 then
assets.Remotes.Sheathe:FireServer(lblade.LBlade, rblade.RBlade,
odmg.Blades1, bypass)
assets.Remotes.Sheathe:FireServer(lblade.LBlade, rblade.RBlade,
odmg.Blades11, bypass)
currentblades = currentblades + 2
end
sheateconnection =asheathe:GetMarkerReachedSignal("BladesIn"):Connect(function()
assets.Remotes.PlaySound:FireServer(odmg.OdmgRootPart.Sheathe)
if currentblades == 0 then
assets.Remotes.Sheathe:FireServer(lblade.LBlade, rblade.RBlade,
odmg.Blades4, bypass)
assets.Remotes.Sheathe:FireServer(lblade.LBlade, rblade.RBlade,
odmg.Blades44, bypass)
currentblades = currentblades + 2
elseif currentblades == 2 then
assets.Remotes.Sheathe:FireServer(lblade.LBlade, rblade.RBlade,
odmg.Blades3, bypass)
assets.Remotes.Sheathe:FireServer(lblade.LBlade, rblade.RBlade,
odmg.Blades33, bypass)
currentblades = currentblades + 2
elseif currentblades == 4 then
assets.Remotes.Sheathe:FireServer(lblade.LBlade, rblade.RBlade,
odmg.Blades2, bypass)
assets.Remotes.Sheathe:FireServer(lblade.LBlade, rblade.RBlade,
odmg.Blades22, bypass)
currentblades = currentblades + 2
elseif currentblades == 6 then
assets.Remotes.Sheathe:FireServer(lblade.LBlade, rblade.RBlade,
odmg.Blades1, bypass)
assets.Remotes.Sheathe:FireServer(lblade.LBlade, rblade.RBlade,
odmg.Blades11, bypass)
currentblades = currentblades + 2
end
connectionattack1start =
attack1:GetMarkerReachedSignal("AttackStart"):Connect(function()
hitbox:HitStart()
game.ReplicatedStorage.Assets.Remotes.CreateClash:FireServer(bypass)
end)
gascheck.KeyframeReached:Connect(function()
if checkdata("TheBard") then
assets.Remotes.PlaySound:FireServer(gas.TheBard)
else
assets.Remotes.PlaySound:FireServer(gas.GasCheck)
end
end)
thebardair.KeyframeReached:Connect(function()
assets.Remotes.PlaySound:FireServer(gas.TheBard)
end)
connectionattack1end
=attack1:GetMarkerReachedSignal("AttackEnd"):Connect(function()
attacking = false
hitbox:HitStop()
connectionattack2start =
attack2:GetMarkerReachedSignal("AttackStart"):Connect(function()
hitbox:HitStart()
game.ReplicatedStorage.Assets.Remotes.CreateClash:FireServer(bypass)
connectionattack2end
=attack2:GetMarkerReachedSignal("AttackEnd"):Connect(function()
attacking = false
hitbox:HitStop()
assets.Remotes.Effects:FireServer(lblade.LBlade.Trail, false, bypass)
connectionattack3start =
attack3:GetMarkerReachedSignal("AttackStart"):Connect(function()
hitbox:HitStart()
game.ReplicatedStorage.Assets.Remotes.CreateClash:FireServer(bypass)
connectionattack3end =
attack3:GetMarkerReachedSignal("AttackEnd"):Connect(function()
attacking = false
hitbox:HitStop()
assets.Remotes.Effects:FireServer(lblade.LBlade.Trail, false, bypass)
coroutine.wrap(function()
if checkdata("Strength") then damageval = damageval + 50
end
if checkdata("Appeal") then damageval = damageval + 62 end
if checkdata("ConcentrationV1") then damageval = damageval
+ 200 end
if checkdata("Edgerunner") then damageval = damageval + 350
end
if checkdata("Ackerman") then damageval = damageval + 550
end
if checkdata("LegInjury") then damageval = damageval - 50
end
if checkdata("ArmInjury") then damageval = damageval - 120
end
if checkdata("MetalArm") then damageval = damageval + 50
end
if checkdata("MetalLeg") then damageval = damageval + 25
end
if checkdata("Ransotengai") then damageval = damageval +
350 end
if checkdata("Critical") then
local randommcrit = math.random(1, 20)
if not
player.Character:GetAttribute("CriticalCooldown") then
if randommcrit == 1 then -- Critical hit
condition
damageval = damageval + 300
player.Character:SetAttribute("CriticalCooldown", true)
ClientEffects.Calm(0.5, odmggui)
player.Character:SetAttribute("CriticalCooldown", false)
end
end
end
if checkdata("Dueler") then
local randommessage = math.random(1, 10)
if randommessage == 1 then
print("Dueler critical hit")
if not
player.Character:GetAttribute("DuelerCritTrue") then
player.Character:SetAttribute("DuelerCrit", true)
player.Character:SetAttribute("DuelerCritTrue", true)
ClientEffects.Calm(0.5, odmggui)
-- Insert additional Dueler effects
here
player.Character:SetAttribute("DuelerCritTrue", false)
end
end
end
end)()
game.ReplicatedStorage.Remotes.Titan:FireServer("Damage", damage,
hit.Parent.Parent)
currentdurability.Value = currentdurability.Value - 10
coroutine.wrap(function()
damagecounter(damage,
player.PlayerGui.RestizeUI.GUI.Damage)
end)()
coroutine.wrap(function()
addBlood(0.45)
end)()
coroutine.wrap(function()
if game.Workspace.Settings.PD.Value == true and not
player.Character:GetAttribute("CombatStarted") then
ClientEffects.CombatStarted(player, 2,
player.PlayerGui.RestizeUI.Meditate)
player.Character:SetAttribute("CombatStarted",
true)
local randommessage = math.random(1,3)
if checkdata("Fury") then
if randommessage == 1 then
coroutine.wrap(function()
if checkdata("Confident") then
if not
player.Character:GetAttribute("ConfidentCooldown") then
player.Character:SetAttribute("ConfidentProcced", true)
player.Character:SetAttribute("ConfidentCooldown", true)
game.ReplicatedStorage.Remotes.Admin:FireServer("ODMG", player, "COME AND GET
ME!")
ShowCooldown("I'm Confident", 15)
player.Character:SetAttribute("ConfidentProcced", false)
ShowCooldown("Confident", 45)
player.Character:SetAttribute("ConfidentCooldown", false)
end
end
end)()
if checkdata("TitanExpert") then
local SerrationWave = humanoidrootpart.SerrationWave
assets.Remotes.Effects:FireServer(SerrationWave.Trail,
true, bypass)
assets.Remotes.PlaySound:FireServer(SerrationWave.Serration)
task.wait(0.65)
assets.Remotes.Effects:FireServer(SerrationWave.Trail,
false, bypass)
task.wait(0.20)
assets.Remotes.StopSound:FireServer(SerrationWave.Serration)
end
coroutine.wrap(function()
if checkdata("Tempest") then
local randommessage = math.random(1,3)
if not
player.Character:GetAttribute("TempestPassiveProcced") then
player.Character:SetAttribute("TempestPassiveProcced", true)
if randommessage == 1 then
player.Character:SetAttribute("TempestPassiveProcced", false)
coroutine.wrap(function()
if checkdata("BladeArt") then
if not
player.Character:GetAttribute("BladeArtProccedTrue") then
player.Character:SetAttribute("BladeArtProccedTrue", true)
player.Character:SetAttribute("BladeArtProcced", true)
player.Character:SetAttribute("BladeArtProcced", false)
ShowCooldown("Blade Art", 40)
player.Character:SetAttribute("BladeArtProccedTrue", false)
end
end
end)()
coroutine.wrap(function()
if checkdata("Fury") then
if not
player.Character:GetAttribute("FuryProcced") then
local randommessage = math.random(1,4)
player.Character:SetAttribute("FuryProcced", true)
if randommessage == 1 then
player.Character:SetAttribute("FuryProcced", false)
end
end
end)()
coroutine.wrap(function()
if checkdata("Guardian") then
if not
player.Character:GetAttribute("GuardianLifesteal") then
player.Character:SetAttribute("GuardianLifesteal", true)
game.ReplicatedStorage.Assets.Remotes.Lifesteal:FireServer()
local randommessage = math.random(1,4)
game.ReplicatedStorage.Assets.Remotes.Lifesteal:FireServer()
if randommessage == 1 then
player.Character:SetAttribute("GuardianLifesteal", false)
end
end
end)()
coroutine.wrap(function()
if checkdata("MultiChain") then
if not
player.Character:GetAttribute("MultiChain") then
player.Character:SetAttribute("MultiChain", true)
player.Character:SetAttribute("MultiChainRealValue", true)
ClientEffects.Calm(0.65, odmggui)
sub(function()
ShowCooldown("Multi-Chain", 85)
player.Character:SetAttribute("MultiChain", false)
end)
wait(45)
player.Character:SetAttribute("MultiChainRealValue", false)
end
end
end)()
game.ReplicatedStorage.Remotes.Admin:FireServer("ODMG", player,
selectedMessage)
coroutine.wrap(function()
if checkdata("ChainReaction") then
if not
player.Character:GetAttribute("ChainReaction") then
player.Character:SetAttribute("ChainReaction", true)
local chipdamage = 500
sub(function()
addBlood(0.35)
end)
assets.Remotes.Intellect:FireServer(bypass, Color)
game.ReplicatedStorage.Remotes.Titan:FireServer("Damage", chipdamage,
hit.Parent.Parent)
player.Character:SetAttribute("ChainReaction", false)
end
end
end)()
coroutine.wrap(function()
if checkdata("MultiChain") then
if not
player.Character:GetAttribute("MultiChain") then
player.Character:SetAttribute("MultiChain", true)
ClientEffects.Calm(0.65, odmggui)
player.Character:SetAttribute("MultiChain", false)
end
end
end)()
coroutine.wrap(function()
if checkdata("Chipper") then
game.ReplicatedStorage.Assets.Remotes.GrappleSwift:FireServer(true, hit,
bypass)
game.ReplicatedStorage.Remotes.Admin:FireServer("ODMG", player, "Three.")
wait(0.6)
wait(0.6)
wait(0.6)
grappleend:Play()
ClientEffects.Calm(0.65, odmggui)
local Color = Color3.new(0.806683,
0.906355, 1)
assets.Remotes.Intellect:FireServer(bypass, Color)
game.ReplicatedStorage.Assets.Remotes.GrappleSwift:FireServer(false, hit,
bypass)
game.ReplicatedStorage.Remotes.Titan:FireServer("Damage", chipdamage,
hit.Parent.Parent)
end
end)()
end
game.ReplicatedStorage.Remotes.Admin:FireServer("ODMG", player,
selectedMessage)
script.PerfectHIT:Play()
coroutine.wrap(function()
if checkdata("FlashOverStyle") then
if not
player.Character:GetAttribute("FlashOver") then
player.Character:SetAttribute("FlashOver", true)
local Color = Color3.new(0.39527,
0.461509, 1)
local FOS =
humanoidrootpart.SerrationWave
assets.Remotes.Effect:FireServer(FOS, 1, bypass)
assets.Remotes.PlaySound:FireServer(FOS.Explosion)
currentgas = currentgas + 15
assets.Remotes.Intellect:FireServer(bypass, Color)
ShowCooldown("Flash Over Style",
20)
player.Character:SetAttribute("FlashOver", false)
end
end
end)()
local ReplicatedStorage =
game:GetService("ReplicatedStorage")
local giveToolRemote =
ReplicatedStorage:WaitForChild("GiveToolRemote")
local giveToolRemoteEdgerunner =
ReplicatedStorage:WaitForChild("GiveToolRemoteEdgerunner")
local player = game.Players.LocalPlayer
if checkdata("ConcentrationV1") then
if not
player.Character:GetAttribute("ConcentrationV1Cooldown") then
-- Request the tool from the server
giveToolRemote:FireServer()
player.Character:SetAttribute("ConcentrationV1Cooldown", true)
player.Character:SetAttribute("ConcentrationV1Buff", true)
ShowCooldown("Concentrated", 300) -- Smoke
effect lasts for 300 seconds
player.Character:SetAttribute("ConcentrationV1Buff", false)
task.wait(1)
ShowCooldown("Total Concentration", 550)
task.wait(1)
player.Character:SetAttribute("ConcentrationV1Cooldown", false)
end
end
coroutine.wrap(function()
if checkdata("Edgerunner") then
if not
player.Character:GetAttribute("EdgerunnerCooldown") then
-- Request the tool from the server
giveToolRemoteEdgerunner:FireServer()
player.Character.Humanoid:EquipTool(tool)
tool:Activate()
print("Tool Edgerunner
activated.")
else
warn("Tool Edgerunner not
found in backpack")
end
player.Character:SetAttribute("EdgerunnerCooldown", true)
player.Character:SetAttribute("EdgerunnerBuff", true)
ShowCooldown("On the Edge", 300)
task.wait(1)
player.Character:SetAttribute("EdgerunnerBuff", false)
ShowCooldown("Edgerunner", 550)
task.wait(1)
player.Character:SetAttribute("EdgerunnerCooldown", false)
end
end
end)()
coroutine.wrap(function()
if checkdata("Intellect") then
local Intellect =
humanoidrootpart.Intellect
local Color = Color3.new(250, 247, 255)
assets.Remotes.Effects:FireServer(Intellect, 8, bypass)
assets.Remotes.Effects:FireServer(Intellect.Power, 8, bypass)
assets.Remotes.Effects:FireServer(Intellect.Numbers, 8, bypass)
assets.Remotes.Effects:FireServer(Intellect.Zero, 8, bypass)
assets.Remotes.PlaySound:FireServer(Intellect.Achievement)
assets.Remotes.Intellect:FireServer(bypass, Color)
end
end)()
coroutine.wrap(function()
if checkdata("Katharsis") then
local Devotion =
humanoidrootpart.Devotion
assets.Remotes.Effect:FireServer(Devotion,8,bypass)
assets.Remotes.PlaySound:FireServer(Devotion.Devote)
end
end)()
coroutine.wrap(function()
if checkdata("BladeDancer") then
local Slash =
humanoidrootpart.SlashMastered
local Color = Color3.new(0.758312,
0.918334, 1)
assets.Remotes.Effect:FireServer(Slash,8,bypass)
assets.Remotes.PlaySound:FireServer(Slash.Swing)
assets.Remotes.Intellect:FireServer(bypass, Color)
assets.Remotes.BladeDancer:FireServer(bypass,hit)
end
end)()
coroutine.wrap(function()
if checkdata("Riftblade") then
assets.Remotes.RiftExecute:FireServer(bypass,hit,humanoid)
end
end)()
coroutine.wrap(function()
if checkdata("Eviscerate") then
if
player.Character:GetAttribute("EviscerateReady") then
local Color = Color3.new(0.664424,
0.513283, 0.992798)
assets.Remotes.Intellect:FireServer(bypass, Color)
assets.Remotes.Eviscerate:FireServer(bypass,hit,humanoid)
game.ReplicatedStorage.Remotes.Admin:FireServer("ODMG", player,
"Eviscerate.")
end
end
end)()
return
end
end
coroutine.wrap(function()
if checkdata("Strength") then damageval =
damageval + 50 end
if checkdata("Appeal") then damageval =
damageval + 25 end
if checkdata("Critical") then damageval =
damageval + 40 end
end)()
if player.Character:GetAttribute("VeloCamera") then
damageval = damageval + 365 end
if
player.Character:GetAttribute("NeverSayDieProcced") then damageval = damageval + 25
end
if player.Character:GetAttribute("TempestBuff") then
damageval = damageval + 125 end
if player.Character:GetAttribute("SuddenGustsBuff")
then damageval = damageval + 200 end
game.ReplicatedStorage.Remotes.Titan:FireServer("Damage", damage,
hit.Parent.Parent)
currentdurability.Value = currentdurability.Value -
10
script.Dust:Play()
game.ReplicatedStorage.Remotes.Admin:FireServer("ODMG", player,
selectedMessage)
end
if damage > 1500 then
local mrandom = math.random(1,11)
local selectedMessage = questStatus and
messages.RansotengaiQuest[mrandom] or messages.Perfect[mrandom]
game.ReplicatedStorage.Remotes.Admin:FireServer("ODMG", player,
selectedMessage)
end
end
local titanmodule =
require(game.ReplicatedStorage.Assets.Modules.Titans)
local Character = player.Character or
player.CharacterAdded:Wait()
local MaxDistance: number = 200
local HRoot = Character:WaitForChild("HumanoidRootPart")
local function GetClosestTitanLeg()
local Closest
local ClosestDist = math.huge
for i,v in ipairs(workspace.Titans:GetChildren()) do
if v:FindFirstChild("HumanoidRootPart") and
v:FindFirstChild("Humanoid") and v.Humanoid.Health > 0 and
v:FindFirstChild("Hitboxes") then
local
Hitboxes=v:FindFirstChild("Hitboxes")
if Hitboxes then
local
RTendon=Hitboxes:FindFirstChild("RTendon")
local
LTendon=Hitboxes:FindFirstChild("LTendon")
local
LLeg=Hitboxes:FindFirstChild("LLeg")
local
RLeg=Hitboxes:FindFirstChild("RLeg")
if LLeg then
local Origin = LLeg.Position
local Dist = (HRoot.Position-
Origin).Magnitude
if Dist < ClosestDist then
ClosestDist = Dist
Closest = v
end
end
end
end
end
if Closest and ClosestDist < MaxDistance then
return Closest
end
return
end
coroutine.wrap(function()
addBlood(0.25)
end)()
local randommessage = math.random(1,3)
if randommessage == 1 then
coroutine.wrap(function()
addBlood(0.25)
end)()
local randommessage = math.random(1,3)
if randommessage == 1 then
coroutine.wrap(function()
addBlood(0.25)
end)()
local randommessage = math.random(1,3)
if randommessage == 1 then
currentdurability.Value = currentdurability.Value -
40
coroutine.wrap(function()
addBlood(0.25)
end)()
local randommessage = math.random(1,3)
if randommessage == 1 then
game.ReplicatedStorage.Remotes.Titan:FireServer("Blind", hit.Parent.Parent)
script.NotPerfect:Play()
currentdurability.Value = currentdurability.Value -
40
coroutine.wrap(function()
addBlood(0.25)
end)()
coroutine.wrap(function()
if checkdata("Fury") then
if not
player.Character:GetAttribute("FuryProcced") then
local randommessage =
math.random(1,4)
player.Character:SetAttribute("FuryProcced", true)
if randommessage == 1 then
player.Character:SetAttribute("FuryProcced", false)
end
end
end)()
coroutine.wrap(function()
if checkdata("Tempest") then
local randommessage = math.random(1,3)
if not
player.Character:GetAttribute("TempestPassiveProcced") then
player.Character:SetAttribute("TempestPassiveProcced", true)
if randommessage == 1 then
player.Character:SetAttribute("TempestPassiveProcced", false)
game.ReplicatedStorage.Assets.Remotes.Clash:FireServer(bypass,character,
rootpart.Parent)
if attack1.IsPlaying then
attack1:Stop()
attacking = false
hitbox:HitStop()
sub(function()
if e then
releaseRightHook()
end
end)
sub(function()
if q then
releaseLeftHook()
end
end)
return
end
local baseDamage
local calculatedDamage
local damagecd = false
player.Character:SetAttribute("MultiChainRealValue", true)
ClientEffects.Calm(0.65, odmggui)
player.Character:SetAttribute("MultiChainRealValue", false)
player.Character:SetAttribute("MultiChain",
false)
end
if checkdata("TitanExpert") then
local SerrationWave =
humanoidrootpart.SerrationWave
assets.Remotes.PlaySound:FireServer(SerrationWave.Serration)
task.wait(0.20)
assets.Remotes.StopSound:FireServer(SerrationWave.Serration)
end
if player.Character:GetAttribute("BladeArtProcced")
then
player.Character:SetAttribute("BladeArtProcced", false)
end
player.Character:SetAttribute("TempestPassiveProcced", false)
player.Character:SetAttribute("TempestPassivePVPProcced", true)
local randommessage = math.random(1, 3)
if randommessage == 1 then
player.Character:SetAttribute("TempestPassivePVPProcced", false)
end
if player.Character:GetAttribute("AlterEgo") then
game.ReplicatedStorage.Remotes.Admin:FireServer("ODMG", player, "d̷̖̠̗̫̱͖͎̉͆̾í̷̺̊̊̀́ẻ̷̮ͅ")
ShowCooldown("A̶̹͠ L̷̘̽T̴̻̜͗̚Ë̴͚͕́̕Ṟ̷̺̏ ̴̱̙̎̈́Ȩ̷̲̈́G̵̘̐̍O̷͇͚̽", 2)
task.wait(1)
end
if player.Character:GetAttribute("BlessingBuff") then
player.Character:SetAttribute("BlessingBuff",
false)
player.Character:SetAttribute("BlessingBuffPlayer", true)
player.Character:SetAttribute("BlessingBuffPlayer", false)
end
if player.Character:GetAttribute("NeverSayDiePVP")
and not player.Character:GetAttribute("NeverSayDieProccedTrue") then
player.Character:SetAttribute("NeverSayDieProccedTrue", true)
player.Character:SetAttribute("NeverSayDieProccedTrue", false)
end
if player.Character:GetAttribute("SuddenGustsBuff")
then
player.Character:SetAttribute("SuddenGustPVP",
true)
player.Character:SetAttribute("SuddenGustsBuff", false)
if checkdata("Fury") then
if not
player.Character:GetAttribute("FuryProcced") then
local randommessage = math.random(1, 4)
player.Character:SetAttribute("FuryProcced", true)
if randommessage == 1 then
player.Character:SetAttribute("FuryProcced", false)
end
end
if checkdata("ChainReaction") then
if not
player.Character:GetAttribute("ChainReaction") then
player.Character:SetAttribute("ChainReaction", true)
addBlood(0.35)
local Color = Color3.new(0.599786,
0.135103, 0.175158)
assets.Remotes.Intellect:FireServer(bypass, Color)
player.Character:SetAttribute("ChainReaction", false)
end
end
if checkdata("Guardian") then
if not
player.Character:GetAttribute("GuardianLifesteal") then
addBlood(0.35)
player.Character:SetAttribute("GuardianLifesteal", true)
game.ReplicatedStorage.Assets.Remotes.Lifesteal:FireServer()
local randommessage = math.random(1, 4)
if randommessage == 1 then
player.Character:SetAttribute("GuardianLifesteal", false)
end
end
game.ReplicatedStorage.Assets.Remotes.GrappleSwift:FireServer(true, hit,
bypass)
game.ReplicatedStorage.Assets.Remotes.GrappleSwift:FireServer(false, hit,
bypass)
assets.Remotes.DealDamage:FireServer(humanoid,
35, bypass, rootpart)
addBlood(0.35)
task.wait(30)
swiftbladeplayercd = false
end
end
player.Character:SetAttribute("DuelerCritTrue", true)
player.Character:SetAttribute("CriticalCooldown", true)
player.Character:SetAttribute("CriticalCooldown", false)
end
end
damagecd = true
debounce = true
task.delay(0.5, function() debounce = false
damagecd = false
end)
if player.Character:GetAttribute("VeloCamera") then
baseDamage = 17
calculatedDamage = baseDamage
calculateDamage()
else
baseDamage = 9
calculatedDamage = baseDamage
calculateDamage()
end
print("Final Damage after calculation: ", calculatedDamage)
attacking = false
hitbox:HitStop()
assets.Remotes.DealDamage:FireServer(humanoid,
calculatedDamage, bypass, rootpart)
damagecounter(calculatedDamage,
player.PlayerGui.RestizeUI.GUI.Damage)
pvpActions(player, humanoid, rootpart, bypass, hit)
game.ReplicatedStorage.Assets.Remotes.Blood:FireServer(bypass,
rootpart.Parent)
coroutine.wrap(function()
addBlood(0.45)
end)()
if humanoid.Parent:FindFirstChild("IsArmored") then
currentdurability.Value = currentdurability.Value -
1000
end
if e then
releaseRightHook()
end
if q then
releaseLeftHook()
end
end
end
end
end
end
end)
RefillGasConnection = assets.Remotes.RefillGas.OnClientEvent:Connect(function()
currentgas = maxgas
end)
RestockBladesConnection=
assets.Remotes.RestockBlades.OnClientEvent:Connect(function()
currentblades = maxblades
end)
assets.Remotes.RefillServer.OnClientEvent:Connect(function(refillWhat, amount)
if refillWhat == "blades" then
if amount > maxblades then
amount = maxblades
end
currentblades = amount
game.ReplicatedStorage.Remotes.Admin:FireServer("ODMG", player,
"Refilled blades.")
currentgas = amount
game.ReplicatedStorage.Remotes.Admin:FireServer("ODMG", player,
"Refilled gas.")
end
refillEffect()
end)
humanoiddied = humanoid.Died:Connect(function()
odmgcore:Disconnect()
odmend:Disconnect()
RestockBladesConnection:Disconnect()
RefillGasConnection:Disconnect()
--onhitbox:Disconnect()
connectionattack1end:Disconnect()
connectionattack1start:Disconnect()
connectionattack2end:Disconnect()
connectionattack2start:Disconnect()
sheateconnection:Disconnect()
Getmarkerunsheate:Disconnect()
durabilitychanged:Disconnect()
character.HumanoidRootPart:WaitForChild("BodyGyro"):Destroy()
character.HumanoidRootPart:WaitForChild("BodyForce"):Destroy()
character.HumanoidRootPart:WaitForChild("BodyVelocity"):Destroy()
if q then
assets.Remotes.RemoveReplicatedWireDeath:FireServer(lhook.Name)
else if e then
assets.Remotes.RemoveReplicatedWireDeath:FireServer(rhook.Name)
end
end
player.Character:SetAttribute("3dmgEnabled", false)
end)
durabilitychanged = currentdurability.Changed:Connect(function(newdurability)
if newdurability == 0 then
if not sheathed and not bladesbroken then
bladesbroken = true
assets.Remotes.PlaySound:FireServer(odmg.OdmgRootPart.Break)
status = false
assets.Remotes.BreakBlades:FireServer(lblade.LBlade,
rblade.RBlade, bypass)
if player:WaitForChild("CharacterData").GearMastery.Value ~=
"Intermediate" then
game.ReplicatedStorage.Remotes.Admin:FireServer("ODMG",
player, "Blades broke.")
end
end
end
end)
while true do
wait()
coroutine.wrap(function()
if wireshooting1 or wireshooting2 or boostfliplines == false then
local tween =
game:GetService("TweenService"):Create(player.Character.Humanoid, TweenInfo.new(3,
Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {CameraOffset = Vector3.new(0,2,
5.25)})
tween:Play()
tween.Completed:wait()
tween:Destroy()
end
end)()
coroutine.wrap(function()
if humanoidrootpart.Velocity.Magnitude > 220 then
task.delay(.50, function()
CreateSpeedLines()
end)
end
end)()
coroutine.wrap(function()
if wireshooting1 == false or wireshooting2 == false then
local tween =
game:GetService("TweenService"):Create(player.Character.Humanoid, TweenInfo.new(1),
{CameraOffset =Vector3.new()})
tween:Play()
tween.Completed:wait()
tween:Destroy()
end
end)()
game.ReplicatedStorage.Assets.Remotes.updateServerValues:FireServer(currentgas,
maxgas, currentblades, maxblades)
assets.Remotes.Effects:FireServer(odmg.Gas.SlidingLight.PointLight, true,
bypass)
assets.Remotes.Effects:FireServer(odmg.Gas.Sliding.Sparks,
true, bypass)
assets.Remotes.PlaySound:FireServer(odmg.OdmgRootPart.Sliding)
groundslide:Play()
player.Character:FindFirstChild("Sliding").Value = true
character.Humanoid.JumpPower = 0
sliding = true
end
else
assets.Remotes.Effects:FireServer(odmg.Gas.Sliding.Specs, false,
bypass)
assets.Remotes.Effects:FireServer(odmg.Gas.SlidingLight.PointLight, false,
bypass)
assets.Remotes.Effects:FireServer(odmg.Gas.Sliding.Sparks, false,
bypass)
assets.Remotes.StopSound:FireServer(odmg.OdmgRootPart.Sliding)
player.Character:FindFirstChild("Sliding").Value = false
sliding = false
groundslide:Stop()
end
else
assets.Remotes.Effects:FireServer(odmg.Gas.Sliding.Specs, false,
bypass)
assets.Remotes.Effects:FireServer(odmg.Gas.SlidingLight.PointLight,
false, bypass)
assets.Remotes.Effects:FireServer(odmg.Gas.Sliding.Sparks, false,
bypass)
assets.Remotes.StopSound:FireServer(odmg.OdmgRootPart.Sliding)
sliding = false
character.Humanoid.JumpPower = 50
groundslide:Stop()
end
if lhook ~= nil and rhook ~= nil and lhookattached and rhookattached then
if humanoid.AutoRotate == true then
humanoid.AutoRotate = false
end
local hookDirectionalForce =
humanoidrootpart:FindFirstChild("HookingForce") or Instance.new("BodyVelocity")
hookDirectionalForce.Name = "HookingForce"
hookDirectionalForce.Parent = humanoidrootpart
hookDirectionalForce.MaxForce = Vector3.new(50000,50000,50000)
local HookDirectionalGyro =
humanoidrootpart:FindFirstChild("HookingGyro") or Instance.new("BodyGyro")
HookDirectionalGyro.Parent = humanoidrootpart
HookDirectionalGyro.Name = "HookingGyro"
HookDirectionalGyro.P = 8000
HookDirectionalGyro.D = 100
HookDirectionalGyro.MaxTorque = Vector3.new(50000, 50000, 50000)
if sliding then
hookDirectionalForce.MaxForce = Vector3.new(maxforce, maxforce,
maxforce) * slideMultiplier
else
hookDirectionalForce.MaxForce = Vector3.new(maxforce, maxforce,
maxforce)
end
local targetVelocity = 95 * speedmultiplier
continuousMovementTime = continuousMovementTime + 1 -- Increase time
while moving
hookDirectionalForce.Velocity = CFrame.new(humanoidrootpart.Position,
lhook.Position / 2 + rhook.Position / 2).LookVector * (targetVelocity *
velocityMultiplier)
HookDirectionalGyro.MaxTorque = Vector3.new(8000, 8000, 8000)
HookDirectionalGyro.CFrame = CFrame.new(humanoidrootpart.Position,
lhook.Position / 2 + rhook.Position / 2)
if not (a or d) then
hookDirectionalForce.Velocity =
CFrame.new(humanoidrootpart.Position, lhook.Position / 2 + rhook.Position /
2).LookVector * (165 * speedmultiplier * velocityMultiplier)
else
if a then
if not attacking and not unsheathe.IsPlaying and not
sheathe.IsPlaying and not leftorbitidle.IsPlaying then
leftorbitidle:Play()
leftorbitstart:Play()
end
hookDirectionalForce.Velocity =
(CFrame.new(humanoidrootpart.Position, lhook.Position / 2 + rhook.Position / 2) *
CFrame.fromEulerAnglesXYZ(0, math.pi / 2.4, 0)).LookVector * (76 *
orbitspeedmultiplier * velocityMultiplier)
elseif d then
if not attacking and not unsheathe.IsPlaying and not
sheathe.IsPlaying and not rightorbitidle.IsPlaying then
rightorbitidle:Play()
rightorbitstart:Play()
end
hookDirectionalForce.Velocity =
(CFrame.new(humanoidrootpart.Position, lhook.Position / 2 + rhook.Position / 2) *
CFrame.fromEulerAnglesXYZ(0, math.pi / -2.4, 0)).LookVector * (76 *
orbitspeedmultiplier * velocityMultiplier)
end
end
if sliding then
hookDirectionalForce.MaxForce = Vector3.new(maxforce, maxforce,
maxforce)
hookDirectionalForce.Velocity =
CFrame.new(humanoidrootpart.Position, lhook.Position / 2 + rhook.Position /
2).LookVector * (300 * speedmultiplier * velocityMultiplier)
HookDirectionalGyro.MaxTorque = Vector3.new(maxforce, maxforce,
maxforce)
HookDirectionalGyro.CFrame =
CFrame.new(humanoidrootpart.Position, lhook.Position / 2 + rhook.Position / 2)
end
currentgas = currentgas - 0.08
elseif lhook ~= nil and lhookattached then
local hookDirectionalForce =
humanoidrootpart:FindFirstChild("HookingForce") or Instance.new("BodyVelocity")
hookDirectionalForce.Name = "HookingForce"
hookDirectionalForce.Parent = humanoidrootpart
hookDirectionalForce.MaxForce = Vector3.new(50000,50000,50000)
local HookDirectionalGyro =
humanoidrootpart:FindFirstChild("HookingGyro") or Instance.new("BodyGyro")
HookDirectionalGyro.Parent = humanoidrootpart
HookDirectionalGyro.Name = "HookingGyro"
HookDirectionalGyro.P = 8000
HookDirectionalGyro.D = 100
HookDirectionalGyro.MaxTorque = Vector3.new(50000, 50000, 50000)
sliding = false
groundslide:Stop()
wallhangstart:Play()
elseif not wallhangidle.IsPlaying and (q or e) or (lhook.Position -
humanoidrootpart.Position).Magnitude > 8 then
wallhangidle:Stop()
wallhangstart:Stop()
end
local HookDirectionalGyro =
humanoidrootpart:FindFirstChild("HookingGyro") or Instance.new("BodyGyro")
HookDirectionalGyro.Parent = humanoidrootpart
HookDirectionalGyro.Name = "HookingGyro"
HookDirectionalGyro.P = 8000
HookDirectionalGyro.D = 100
HookDirectionalGyro.MaxTorque = Vector3.new(50000, 50000, 50000)
if 5 > (rhook.Position - humanoidrootpart.Position).Magnitude and not
wallhangidle.IsPlaying and 3 > (Vector3.new() -
humanoidrootpart.Velocity).Magnitude and 1 > (Vector3.new() +
humanoidrootpart.Velocity).Magnitude and rhook:FindFirstChild("WeldConstraint") ~=
nil and rhook.WeldConstraint.Part1.Parent:FindFirstChild("Humanoid") == nil then
hookDirectionalForce.Velocity = Vector3.new()
HookDirectionalGyro.CFrame = CFrame.new(rhook.Position,
rhook.Position + rhitsurface) * CFrame.new(0, 0, -0.25) *
CFrame.fromEulerAnglesXYZ(0, -math.pi, 0)
humanoidrootpart.CFrame = CFrame.new(rhook.Position,
rhook.Position + rhitsurface) * CFrame.new(-2, -2, -1) *
CFrame.fromEulerAnglesXYZ(0, -math.pi, 0)
wallhangidle:Play()
wallhangstart:Play()
sliding = false
groundslide:Stop()
elseif not wallhangidle.IsPlaying and (q or e) or (rhook.Position -
humanoidrootpart.Position).Magnitude > 8 then
wallhangidle:Stop()
wallhangstart:Stop()
end
if humanoidrootpart:FindFirstChild("FlingCD") then
humanoidrootpart.HookingForce:Destroy();
else
task.spawn(function()
local waitTime = 0.3
if
humanoidrootpart:FindFirstChild("HookingForce").Velocity.Magnitude >= 125 then
waitTime = 0.65
elseif
humanoidrootpart:FindFirstChild("HookingForce").Velocity.Magnitude >= 240 then
waitTime = 0.85
end
if bv then
bv.Velocity = bv.Velocity + humanoidrootpart.CFrame.LookVector *
60 * speedmultiplier
end
sub(function()
if e then
releaseRightHook()
end
end)
sub(function()
if q then
releaseLeftHook()
end
end)
if boosting then
boosting = false
end
end
if HasAnyStatusEffect(character) then
sub(function()
if e then
releaseRightHook()
end
end)
sub(function()
if q then
releaseLeftHook()
end
end)
sub(function()
if a then
a = false
end
end)
sub(function()
if d then
d = false
end
end)
end
warn("-----")
warn("Loaded ResTech 3dmg Client!")
warn("-----")