You can write your topic however you want, but you need to answer these questions:
-
What do you want to achieve? I want to achieve wall bounce knockback and curvy knockback example : https://youtu.be/83IJAuC7kkw?t=298 and curvy i mean like when our enemy goes up in the air and curve back down to the ground.
-
What is the issue? I don’t how to implement it and lot of the things i tried so far don’t seem to work like bodymover is not accurate tween is laggy.
-
What solutions have you tried so far? I tried bodymover and tweening but they don’t seem to give me the same effect that i want.
Here’s i what i tried before i write this topic.
local HumRoot = script.Parent.HumanoidRootPart
local rg = Instance.new("Part")
rg.CFrame = HumRoot.CFrame*CFrame.Angles(math.rad(-25),0,0)
local ray = Ray.new(HumRoot.Position,rg.CFrame.LookVector * -50)
local hit, pos, normal = game.Workspace:FindPartOnRayWithIgnoreList(ray,{workspace.Rig})
local norm = CFrame.new(pos, pos + normal)
local BezierTween = require(game.ReplicatedStorage.BezierTweens)
local Waypoints = BezierTween.Waypoints
if hit then
local finalpos = norm * CFrame.new(0,0,-workspace.Rig:GetExtentsSize().Z/2)
local P0, P1, P2 = HumRoot.Position, finalpos:Lerp(finalpos,0.5)*CFrame.new(0,5,0).Position, finalpos.Position
waypoints = Waypoints.new(P0, P1, P2)
local Body = Instance.new("BodyPosition")
Body.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
Body.P = 1200
Body.D = 120
Body.Position = HumRoot.Position
Body.Parent = HumRoot
local Tween = BezierTween.Create(Body, {
Waypoints = waypoints,
EasingStyle = Enum.EasingStyle.Sine,
EasingDirection = Enum.EasingDirection.In,
Time = 0.8,
})
Tween:Play()
print("de")
end