How do i make The Strongest Battleground's loop dash knockback tech

I’ve been figuring for a few years now, how do i create their uppercut loop tech?

Mine:

The Strongest Battleground’s:

2 Likes

It is a Linear Velocity (or a Body Velocity) added into the HumanoidRootPart that make it move to the desired direction (your character forward direction), with an animation playing at same time.

1 Like

no, i wonder how to know if the player dashes in circular and it will be knockback hit

1 Like

Isn’t it a random chance of knockback? or only when hiting behind it?

If the knockback work only when doing a circular dash, then it is probably some complex math curve calculation using like 8-10 CFrame waypoints equally timed from the start to the end of the dash.

1 Like

my guess is that when you initiate the first punch, they generate like 4-8 positions in a circle and then track when you punch next. If you were reasonably close to all of those positions when you punched for the second time, then it applies the uppercut.

psuedo code

local function Circle(Input:Position,Radius:number)
   local number_of_points = 4
local increment =  math.rad(360/number_of_points)
local positions = {}
for i=1,number_of_points,1 do
table.insert(positions,Input+( radius*Vector3.new(cos(increment*i),0,sin(increment*i)))

end
return positions
end
1 Like

can you show the example how to use this

1 Like

its when you rotate your dash in a loop, you can do a straight dash into an enemys back and it wont knockback them

2 Likes

my best guess is calculating how many degrees the humanoid root part rotates while dashing, and use that number when the dash hits to determine if you knockback them or not

2 Likes

I have tested in game now. You can Do knockback as long as start position of the dash are close enough to hit position In video below I try doing straight dash in close distance and it still result in knockback.

It maybe as simple as check start of dash position and hit position.

something like

local Maximum_Magnitude = 20
local start_pos = plr.Character:GetPivot().Position
local hit_pos = hit_target:GetPivot().Position

if (start_pos - hit_pos).Magnitude <= Maximum_Magnitude then
--Do knockback
end

1 Like

This one works really good also, I’ve tried it and it works perfectly fine. But I can’t knockback the enemy when I’m far from it, I did the loop dash also. But thanks

2 Likes