0% found this document useful (0 votes)
6 views16 pages

Roblox Animation and Velocity Script

The document contains a Lua script for a game that manages player animations and interactions within a Roblox environment. It includes functions for loading animations, handling player movement, and managing game state through events and raycasting. The script also features a heartbeat system to ensure smooth frame updates and interactions with game objects.

Uploaded by

thiddenwarrior
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views16 pages

Roblox Animation and Velocity Script

The document contains a Lua script for a game that manages player animations and interactions within a Roblox environment. It includes functions for loading animations, handling player movement, and managing game state through events and raycasting. The script also features a heartbeat system to ensure smooth frame updates and interactions with game objects.

Uploaded by

thiddenwarrior
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

local l__LocalPlayer__1 = [Link].

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);

l__HookDirectionalGyro__32.MaxTorque = [Link](0, 0, 0);

l__HookDirectionalForce__33.MaxForce = [Link](0, 0, 0);


local v38 = [Link]("Weld");
[Link] = u11;
v38.C0 =
[Link]:Inverse() * [Link];
v38.Part0 = [Link];
v38.Part1 = [Link];
local v39 =
[Link]("ObjectValue");
[Link] = v2;
[Link] = "stopped";
[Link] = v38;
return;
end;
elseif 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]);
l__HumanoidRootPart__36 =
[Link];
l__HumanoidRootPart__36.CFrame =
l__HumanoidRootPart__36.CFrame * [Link](0, 3.141592653589793,
0);
l__HumanoidRootPart__37 =
[Link];
l__HumanoidRootPart__37.CFrame =
l__HumanoidRootPart__37.CFrame * [Link](0, 0, 1.5);
l__HookDirectionalGyro__32.MaxTorque =
[Link](0, 0, 0);
l__HookDirectionalForce__33.MaxForce =
[Link](0, 0, 0);
v38 = [Link]("Weld");
[Link] = u11;
v38.C0 =
[Link]:Inverse() * [Link];
v38.Part0 = [Link];
v38.Part1 = [Link];
v39 = [Link]("ObjectValue");
[Link] = v2;
[Link] = "stopped";
[Link] = v38;
return;
end;
if [Link] then
u1:Stop();
end;
if v2:FindFirstChild("Gas") and
v2["3DMG"].[Link] == false then
l__GearFX__4:FireServer("Gas", true);
v2["3DMG"].[Link] =
true;
for v40, v41 in [Link]() do
if (v41:IsA("ParticleEmitter") or
v41:IsA("Trail")) and ([Link] == "Gas" or [Link] == "Gas2" or [Link] ==
"GasTrail") then
[Link] = true;
end;
end;
end;
local v42 = 90;
local v43 = 0.09;
if [Link] == 2 then
v43 = v43 * 1.2;
elseif [Link] == 3 then
v43 = v43 * 1.4;
elseif [Link] == 4 then
v43 = v43 * 1.6;
elseif [Link] == 5 then
v43 = v43 * 1.8;
elseif [Link] == 6 then
v43 = v43 * 2;
elseif [Link] == 7 then
v43 = v43 * 2.2;
elseif [Link] == 8 then
v43 = v43 * 2.4;
elseif [Link] == 9 then
v43 = v43 * 2.6;
elseif [Link] == 10 then
v43 = v43 * 2.8;
end;
local v44 =
[Link] * (1 - ([Link] - 1) * 0.025);
if v2:FindFirstChild("Liberator") then
v44 = v44 * 0.9;
end;
if v2:FindFirstChild("InstinctiveHelper") then
v43 = v43 * 1.2;
end;
if v2:FindFirstChild("BornToSave") then
v43 = v43 * 1.55;
v44 = v44 * 0;
end;
if v2:FindFirstChild("RespiteBoost") then
v43 = v43 * 1.15;
v44 = v44 * 0.9;
end;
if v2:FindFirstChild("FlowBoost") then
v43 = v43 * 1.15;
v44 = v44 * 0.85;
end;
if v2:FindFirstChild("clopped") then
v43 = v43 * 1.2;
end;
if v2:FindFirstChild("runmychild") then
v43 = v43 * 1.2;
end;
if (not u11 or not [Link]) and (not
l__Value__10 or not l__Value__10.Parent) then
u12 = true;
local v45 = [Link]("Folder");
[Link] = "Unhook";
[Link] = v2;
[Link]:AddItem(v45, 0.015);
elseif u11 ~= nil and [Link] ~= nil and
u11:FindFirstChild("Object") and (([Link] == nil or
[Link] == nil) and l__Value__10 ~= nil and l__Value__10.Parent ~=
nil and l__Value__10:FindFirstChild("Object")) and (l__Value__10.[Link] ==
nil or l__Value__10.[Link] == nil) then
u12 = true;
local v46 = [Link]("Folder");
[Link] = "Unhook";
[Link] = v2;
[Link]:AddItem(v46, 0.015);
end;
local u14 = v43;
local u15 = 75;
pcall(function()
if v2:FindFirstChild("Assassin") and
[Link] and ((not (not [Link]) and not (not
[Link]:FindFirstChild("isTitan")) or
[Link]:FindFirstChild("Shifter")) and
([Link]:IsA("Model") and [Link] ~=
nil) and
[Link]:Dot([Link]
[Link]) > 0.27) then
u14 = u14 + 0.035;
u14 = u14 * 1.1;
u15 = u15 + 15;
end;

[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);

You might also like