Roblox Animation and Velocity Script
Roblox Animation and Velocity Script
LocalPlayer;
local v2 = l__LocalPlayer__1.Character or l__LocalPlayer__1.CharacterAdded:Wait();
local v3 =
[Link]:LoadAnimation([Link]);
local u1 =
[Link]:LoadAnimation([Link]);
local u2 = false;
local function u3(p1)
if (not (not p1) and [Link] == "KZREFERENCE" or
v2:FindFirstChild("KZREFERENCE")) and u2 == false then
u1 =
[Link]:LoadAnimation([Link]
g);
if [Link] then
u1:Stop();
u1:Play();
end;
u2 = true;
return;
end;
if u2 == true and not v2:FindFirstChild("KZREFERENCE") then
u1 =
[Link]:LoadAnimation([Link]);
if [Link] then
u1:Stop();
u1:Play();
end;
u2 = false;
end;
end;
[Link]:Connect(function(p2)
u3(p2);
end);
u3();
local l__GearFX__4 =
[Link]:WaitForChild("Remotes"):WaitForChild("GearFX");
local l__DontLie__5 =
[Link]:WaitForChild("Remotes"):WaitForChild("DontLie");
local u4 = false;
local u5 =
[Link]:WaitForChild("Remotes"):WaitForChild("Data"):InvokeServer();
l__DontLie__5.OnClientEvent:Connect(function(p3, p4)
if p3 == true then
local l__CurrentVelocity__6 = [Link];
l__CurrentVelocity__6.Value = l__CurrentVelocity__6.Value + p4;
return;
end;
if p3 == false then
[Link] = p4;
return;
end;
if p3 == "force" then
local l__Force__7 = [Link];
l__Force__7.Value = l__Force__7.Value + p4;
return;
end;
if p3 ~= "add" then
u4 = true;
[Link] = p3;
[Link]:SetAttribute("Gas", p3);
u4 = false;
return;
end;
u4 = true;
[Link] = [Link] + p4;
[Link]:SetAttribute("Gas", [Link]);
u4 = false;
end);
function Raycast(p5, p6, p7, p8)
if not p8 then
if _G.Debug then
local l__Magnitude__8 = [Link];
local v9 = [Link]("Part");
[Link] = [Link];
[Link]:AddItem(v9, 50);
[Link] = [Link](0.4, 0.4, 1);
[Link] = false;
[Link] = true;
[Link] = [Link]([Link](-255, 255), [Link](1,
255), [Link](1, 255));
[Link] = 0.6;
[Link] = [Link](p5, p5 + p6);
local v10 = [Link]("BlockMesh", v9);
[Link] = [Link](1, 1, l__Magnitude__8 * 0.95);
[Link] = [Link](0, 0, -l__Magnitude__8 / 2);
[Link] = [Link];
end;
else
l__Magnitude__8 = [Link];
v9 = [Link]("Part");
[Link] = [Link];
[Link]:AddItem(v9, 50);
[Link] = [Link](0.4, 0.4, 1);
[Link] = false;
[Link] = true;
[Link] = [Link]([Link](-255, 255), [Link](1, 255),
[Link](1, 255));
[Link] = 0.6;
[Link] = [Link](p5, p5 + p6);
v10 = [Link]("BlockMesh", v9);
[Link] = [Link](1, 1, l__Magnitude__8 * 0.95);
[Link] = [Link](0, 0, -l__Magnitude__8 / 2);
[Link] = [Link];
end;
local v11 = { [Link], [Link] };
local l__next__12 = next;
local v13 = p7 or {};
local v14 = nil;
while true do
local v15, v16 = l__next__12(v13, v14);
if v15 then
else
break;
end;
v14 = v15;
[Link](v11, v16);
end;
local v17 = [Link]();
[Link] = [Link];
[Link] = v11;
[Link] = false;
return workspace:Raycast(p5, p6, v17);
end;
local u6 = [Link];
[Link](function()
local v18 = 0;
local v19 = tick();
local v20 = 0;
while true do
if u4 == false and u5 and [Link] and [Link] ~= v18 then
l__DontLie__5:FireServer([Link]);
v18 = [Link];
end;
if tick() - v19 >= 0.06 then
u6 = [Link];
v19 = tick();
end;
if [Link] ~= "UnhookAvailable" and
[Link] ~= "UnhookAvailable" and
[Link] > 0 then
if Raycast([Link], [Link](0, -6.5, 0),
{ v2, workspace:FindFirstChild("FX"),
workspace:FindFirstChild("NotableLocations") }) then
local v21 = 1 - (tick() - v20) / 3;
if v21 > 0 then
[Link] =
[Link]([Link] * v21, 0);
[Link] =
[Link]([Link] * v21, 0);
[Link] =
[Link]([Link] * v21, 0);
else
[Link] = 0;
[Link] = 0;
[Link] = 0;
end;
else
v20 = tick();
end;
else
v20 = tick();
end;
game["Run Service"].RenderStepped:Wait();
end;
end);
v2:WaitForChild("3DMG");
frame = 0.016666666666666666;
ArtificialHB = [Link]("BindableEvent", script);
[Link] = "Heartbeat";
script:WaitForChild("Heartbeat");
tf = 0;
allowframeloss = false;
tossremainder = false;
lastframe = tick();
[Link]:Fire();
game:GetService("RunService").Heartbeat:connect(function(p9, p10)
tf = tf + p9;
if frame <= tf then
if allowframeloss then
[Link]:Fire();
lastframe = tick();
else
for v22 = 1, [Link](tf / frame) do
[Link]:Fire();
end;
lastframe = tick();
end;
if tossremainder then
tf = 0;
return;
end;
tf = tf - frame * [Link](tf / frame);
end;
end);
function swait(p11)
if p11 ~= 0 then
if p11 == nil then
[Link]:wait();
return;
end;
else
[Link]:wait();
return;
end;
local v23 = 0 - 1;
while true do
[Link]:wait();
if 0 <= 1 then
if v23 < p11 then
else
break;
end;
elseif p11 < v23 then
else
break;
end;
v23 = v23 + 1;
end;
end;
v2:WaitForChild("3DMG");
local u7 = [Link];
[Link]:Connect(function()
if [Link] == true then
local u8 = nil;
local u9 = nil;
if [Link] then
[Link] = false;
end;
local v24 = tick();
local v25 = false;
while true do
if [Link] then
[Link] = false;
end;
for v26, v27 in [Link]() do
if [Link] == "DestroyVelocity" then
v27:Destroy();
end;
end;
u8 = [Link];
u9 = [Link];
local l__Value__10 = [Link];
local u11 = [Link];
local u12 = v25;
local u13 = 1 - (tick() - v24);
[Link](function()
if [Link] == "UnhookAvailable" or [Link] ==
"UnhookAvailable" then
if v2:FindFirstChild("Running") then
[Link]:Destroy();
end;
local v28 = nil;
local v29 = nil;
if [Link] == "UnhookAvailable" then
v28 = u9;
v29 = l__Value__10;
elseif [Link] == "UnhookAvailable" then
u8 = u9;
u11 = l__Value__10;
v28 = u8;
v29 = u11;
end;
[Link] = false;
if
[Link]:FindFirstChild("HookDirectionalGyro") == nil then
local v30 = [Link]("BodyGyro");
[Link] = [Link];
[Link] = "HookDirectionalGyro";
v30.P = 8000;
v30.D = 100;
[Link] = [Link](50000, 50000,
50000);
end;
if
[Link]:FindFirstChild("HookDirectionalForce") == nil then
local v31 = [Link]("BodyVelocity");
[Link] = [Link];
[Link] = "HookDirectionalForce";
[Link] = [Link](50000, 50000,
50000);
end;
local l__HookDirectionalGyro__32 =
[Link];
local l__HookDirectionalForce__33 =
[Link];
local v34 = [Link];
if u11 and u11:FindFirstChild("ActualGrapple") then
[Link] =
[Link];
end;
if l__Value__10 and
l__Value__10:FindFirstChild("ActualGrapple") then
l__Value__10.WorldPosition =
l__Value__10.[Link];
end;
if not v2:FindFirstChild("stopped") then
local v35 =
Raycast([Link], [Link] * 3,
{ [Link], [Link], [Link] });
if u2 then
if u2 and
v2:FindFirstChild("BladesEquipped") and v35 and [Link] and
[Link] ~= 1 and [Link] == true and
[Link] == [Link] and ([Link] -
[Link]).Magnitude <= 5 then
if not [Link] then
u1:Play();
end;
[Link] =
[Link]([Link]);
[Link] =
[Link]([Link], [Link] + [Link]);
local l__HumanoidRootPart__36 =
[Link];
l__HumanoidRootPart__36.CFrame =
l__HumanoidRootPart__36.CFrame * [Link](0, 3.141592653589793,
0);
local l__HumanoidRootPart__37 =
[Link];
l__HumanoidRootPart__37.CFrame =
l__HumanoidRootPart__37.CFrame * [Link](0, 0, 1.5);
[PART 2]
end);
if v2:FindFirstChild("PerfectGame") then
local v47 = 0.1;
local v48 = 0.1;
if v2:FindFirstChild("DecentGame") then
v47 = 0.05;
v48 = 0.05;
end;
if [Link] ==
[Link] then
u14 = u14 * (1 + v47);
v44 = v44 * (1 - v48);
else
u14 = u14 * (1 - v47);
v44 = v44 * (1 + v48);
end;
end;
if v2:FindFirstChild("To The Finish") then
local v49 = 1 - [Link] /
[Link];
if [Link] <=
[Link] * 0.5 then
v49 = v49 + 0.1;
end;
u14 = u14 * [Link](1 + 36 * v49 /
100, 1, 1.36);
end;
if v2:FindFirstChild("Anti1DexProtocol") and
[Link] <= [Link] * 0.2 then
local l__Anti1DexProtocol__50 =
v2:FindFirstChild("Anti1DexProtocol");
if tick() - l__Anti1DexProtocol__50.Value
>= 600 then
l__Anti1DexProtocol__50.Value =
tick();
game:GetService("ReplicatedStorage").[Link]:FireServer(true);
end;
end;
if v2:FindFirstChild("Liberator") then
u14 = u14 * 1.2;
end;
if v2:FindFirstChild("ShapedGlass") then
u14 = u14 * 1.4;
v44 = v44 * 0.8;
end;
if v2:FindFirstChild("Conducted") then
u14 = u14 * 1.2;
v44 = v44 * 0.8;
end;
if v2:FindFirstChild("Masochist") then
u14 = u14 * 1.1;
end;
if v2:FindFirstChild("HeardCry") then
u14 = u14 * 1.15;
end;
if v2:FindFirstChild("FinalStand") then
u14 = u14 * 1.2;
end;
if v2:FindFirstChild("LastingMemoryBuff") then
u14 = u14 * 1.15;
if v2:FindFirstChild("TwoMemories") then
u14 = u14 * 1.05;
end;
end;
if [Link] == true then
u14 = u14 * 1.2;
v44 = v44 * 0.8;
end;
if v2:FindFirstChild("EndOfReasoning") or
v2:FindFirstChild("Rage") then
u14 = u14 * 1.1;
v44 = v44 * 0.9;
end;
if v2:FindFirstChild("Heartbreak") then
u14 = u14 * 0.8;
v44 = v44 * 1.2;
end;
if v2:FindFirstChild("Carrying") then
u14 = u14 * 0.35;
u15 = u15 * 0.4;
end;
if v2:FindFirstChild("DownSpike") then
local l__Position__51 =
[Link];
if (u7 * [Link](1, 0, 1) -
l__Position__51 * [Link](1, 0, 1)).Magnitude <= 8 and l__Position__51.Y < u7.Y
then
u14 = u14 + 0.1;
u14 = u14 * 1.75;
u15 = u15 + 7;
end;
end;
u7 = [Link];
local l__Back_To_Zero__52 =
v2:FindFirstChild("Back To Zero");
if l__Back_To_Zero__52 then
for v53 = 1, l__Back_To_Zero__52.Value do
u14 = u14 * 1.01;
v44 = v44 * 0.75;
end;
end;
if v2:GetAttribute("Parka") and not
v2:FindFirstChild("OneWithNature") then
u14 = u14 * 0.6;
u15 = u15 * 0.6;
v42 = v42 * 0.6;
end;
l__HookDirectionalForce__33.MaxForce =
[Link](50000, 50000, 50000);
l__HookDirectionalGyro__32.MaxTorque =
[Link](50000, 50000, 50000);
if [Link] == "UnhookAvailable" then
v34 = ([Link] +
[Link]) / 2;
u14 = u14 + 0.05;
v44 = v44 * 2;
end;
if v2:FindFirstChild("Gas") then
u14 = u14 + 0.1;
u15 = u15 + 25;
v42 = v42 * 1.15;
v44 = v44 * 1.5;
end;
if v2:FindFirstChild("Reel") then
u14 = u14 * 1.15;
u15 = u15 + 22.5;
v42 = v42 * 0.7;
end;
if [Link] == "Left" then
v42 = v42 * -1;
elseif [Link] ==
"Straight" then
v42 = 0;
end;
u14 = u14 * u13;
u15 = u15 * u13;
[Link] = [Link] - v44 * u13;
[Link]:SetAttribute("Gas", [Link]);
[Link]:Fire(l__LocalPlayer__1, {
Shake = true,
ShakeAmount = 1
});
local l__CurrentVelocity__54 =
[Link];
l__CurrentVelocity__54.Value =
l__CurrentVelocity__54.Value + u14;
u15 = u15 + [Link];
l__DontLie__5:FireServer(true,
[Link]);
game:GetService("TweenService"):Create([Link],
[Link](0.5), {
Value = u15
}):Play();
if [Link] == "Straight"
then
if [Link] <= 5 and
[Link] >= -5 then
[Link] = 0;
else
game:GetService("TweenService"):Create([Link],
[Link](0.05, [Link]), {
Value = 0
}):Play();
end;
else
game:GetService("TweenService"):Create([Link],
[Link](0.25), {
Value = v42
}):Play();
end;
l__HookDirectionalGyro__32.CFrame =
[Link]([Link], v34);
if [Link] > 2 or
[Link] < -2 then
l__HookDirectionalForce__33.Velocity =
[Link] * [Link] + [Link] *
[Link];
elseif [Link] ==
"Straight" then
l__HookDirectionalForce__33.Velocity =
u15 * (v34 - [Link]).unit;
end;
if [Link] ~=
[Link] then
v3:Play();
[Link].Grit1:Emit(5);
[Link].Grit2:Emit(5);
[Link].Grit3:Emit(5);
if
[Link] == false then
[Link] = true;
end;
[Link]
= true;
if [Link]:find("BrokenLegRight") or
[Link]:find("BrokenLegLeft") then
local l__CurrentVelocity__55 =
[Link];
l__CurrentVelocity__55.Value =
l__CurrentVelocity__55.Value * 0.9;
end;
l__GearFX__4:FireServer("Ground", true);
elseif [Link] ==
[Link] and [Link] == true then
[Link]
= false;
[Link] = false;
l__GearFX__4:FireServer("Ground", false);
for v56, v57 in
pairs(([Link]:GetPlayingAnimationTracks())) do
if [Link] == "GroundSlide" then
v57:Stop();
end;
end;
end;
end;
end;
if [Link] ~= "UnhookAvailable" and [Link] ~=
"UnhookAvailable" or ([Link]:GetAttribute("Gas") <= 0 or not (not
v2:FindFirstChild("Stunned")) or not (not v2:FindFirstChild("TrueStunned")) or
v2:FindFirstChild("ODMGDisabled")) then
if v2:FindFirstChild("3DMG") and
v2["3DMG"].[Link] == true then
v2["3DMG"].[Link] = false;
for v58, v59 in [Link]() do
if (v59:IsA("ParticleEmitter") or
v59:IsA("Trail")) and ([Link] == "Gas" or [Link] == "Gas2" or [Link] ==
"GasTrail") then
[Link] = false;
end;
end;
l__GearFX__4:FireServer("Gas", false);
end;
if v2:FindFirstChild("Reel") then
[Link]:Destroy();
end;
if v2:FindFirstChild("stopped") then
[Link]:Destroy();
[Link]:Destroy();
if [Link] then
u1:Stop();
end;
end;
if v2:FindFirstChild("GasCanister") and
[Link] == true then
[Link] =
false;
[Link] = false;
l__GearFX__4:FireServer("Ground", false);
for v60, v61 in
pairs(([Link]:GetPlayingAnimationTracks())) do
if [Link] == "GroundSlide" then
v61:Stop();
end;
end;
end;
[Link] = true;
if
[Link]:FindFirstChild("HookDirectionalGyro") then
[Link](function()
[Link](0.3);
if [Link] ~= "UnhookAvailable" and
[Link] ~= "UnhookAvailable" and
[Link]:FindFirstChild("HookDirectionalGyro") then
[Link]:Destroy();
end;
end);
end;
if
[Link]:FindFirstChild("HookDirectionalForce") then
if v2:FindFirstChild("FlingCD") then
[Link]:Destroy();
else
[Link](function()
while tick() - tick() < 0.5 do
if [Link]
then
return;
end;
[Link]();
end;
if not [Link]
and [Link]:FindFirstChild("HookDirectionalForce") then
[Link]:Destroy();
end;
end);
end;
end;
if [Link] >= 0 then
local l__CurrentVelocity__62 =
[Link];
l__CurrentVelocity__62.Value =
l__CurrentVelocity__62.Value - 0.3;
end;
if [Link] <= 0 then
[Link] = 0;
[Link] = 0;
[Link] = 0;
end;
end;
end);
if [Link] == false then
break;
end;
if v2:FindFirstChild("dead") then
break;
end;
if v2:FindFirstChild("Stunned") then
break;
end;
if v2:FindFirstChild("TrueStunned") then
break;
end;
if v2:FindFirstChild("NoGrapple") then
break;
end;
if [Link] <= 0 then
break;
end;
if u12 == true then
break;
end;
if v2:FindFirstChild("Unhook") then
break;
end;
v24 = tick();
swait();
end;
if [Link] <= 0 and v2:FindFirstChild("brokeboybuff") and not
v2:FindFirstChild("brokeboycooldown") then
local v63 = [Link]("Folder");
[Link] = "brokeboycooldown";
[Link] = v2;
local v64 = [Link]("NumberValue");
[Link] = "FlatSpeedChange";
[Link] = 6;
[Link]:AddItem(v64, 10);
end;
if not (not v2:FindFirstChild("dead")) or not (not
v2:FindFirstChild("Stunned")) or not (not v2:FindFirstChild("TrueStunned")) or not
(not v2:FindFirstChild("NoGrapple")) or [Link] <= 0 or v2:FindFirstChild("Unhook")
then
for v65, v66 in [Link]() do
if [Link] == "HookDirectionalGyro" or [Link] ==
"HookDirectionalForce" then
v66:Destroy();
end;
end;
[Link] = true;
else
[Link] = true;
if [Link]:FindFirstChild("HookDirectionalGyro") then
[Link](function()
[Link](0.3);
if [Link] ~= "UnhookAvailable" and [Link] ~=
"UnhookAvailable" and [Link]:FindFirstChild("HookDirectionalGyro")
then
[Link]:Destroy();
end;
end);
end;
if [Link]:FindFirstChild("HookDirectionalForce")
then
if v2:FindFirstChild("FlingCD") then
[Link]:Destroy();
else
[Link](function()
local v67 = 0.25;
if
[Link]:FindFirstChild("HookDirectionalForce").[Link] >=
125 then
v67 = 0.5;
end;
while tick() - tick() < v67 do
if [Link] == "UnhookAvailable" then
return;
end;
if [Link] == "UnhookAvailable" then
return;
end;
[Link]();
end;
if not [Link] and
[Link]:FindFirstChild("HookDirectionalForce") then
[Link]:Destroy();
end;
end);
end;
end;
end;
l__GearFX__4:FireServer("Ground", false);
l__GearFX__4:FireServer("Gas", false);
end;
end);