I’m trying to create a death effect, but its not always working.
This is how it works when Im looking forward (working right):
And when Im looking left/right (working wrong):
This is a function that returns a CFrame the part should be tweened to.
local r = math.random
local rad = math.rad
local yOffset = 5
local function GetCFrame(part: BasePart)
local PartToCFrame = {
["Head"] = (part.CFrame + Vector3.new(0, 1+yOffset, 0)),
["Left Arm"] = (part.CFrame + Vector3.new(-1, 0+yOffset, 0))*(CFrame.Angles(0, 0, rad(-r(10, 40)))),
["Left Leg"] = (part.CFrame + Vector3.new(-0.5, -1+yOffset, 0))*(CFrame.Angles(0, 0, rad(-r(10, 30)))),
["Right Arm" ] = (part.CFrame + Vector3.new(1, 0+yOffset, 0))*(CFrame.Angles(0, 0, rad(r(10, 40)))),
["Right Leg"] = (part.CFrame + Vector3.new(0.5, -1+yOffset, 0))*(CFrame.Angles(0, 0, rad(r(10, 30)))),
["Torso"] = (part.CFrame + Vector3.new(0, 0+yOffset, 0))
}
return PartToCFrame[part.Name]
end
And when player dies, I do this for every part:
local Tween = TweenService:Create(part, TweenInfo.new(3, Enum.EasingStyle.Sine), {CFrame = GetCFrame(part)})
Tween:Play()