hmmm ok i will try to make an exemple so u can see, first of all u’ll need to get the player who attack CFrame and the player who block CFrame :
local ObjectSpace = Player1.HumanoidRootPart.CFrame:inverse() * Player2.HumanoidRootPart.CFrame
if ObjectSpace.Z < 0 then
-- is behind
end
I found this in this thread : Detect when a player is behind another player - #3 by Avallachi
u can now easily implement this in ur code i believe