So basically I wrote a script where when I would touch it, it would weld to my hrp (HumanoidRootPart) and have a position of 10 studs high to look like it was above my head floating. Although, It doesn't look too good so I decided I was going to add a floating part tween to the part. (I did tween the weld because tweening a welded part doesn't work) The tween plays but in the wrong direction. Also even when I change the position. It does the same tween, and it's like the position set hasn't even changed for the computer. Like regularly Y 3 would go up Y -3 would go down. That's not the case in this, not only does it not change the down or up. It doesn't EVEN go down or up it goes side to side with a slight curve even though I am using UpVector. Here is the script:
local weld = Instance.new("Weld") local wp = script.Parent local twServ = game:GetService("TweenService") local twInfo = TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true, 0) local debounce = true function Stepped(hit) if hit.Parent:FindFirstChild("Humanoid") then local hrp = hit.Parent.HumanoidRootPart local tw = twServ:Create(weld, twInfo, {C0 = weld.C0 + weld.C0.UpVector * 3}) if debounce == true then debounce = false wp.Anchored = false wp.CFrame = hrp.CFrame + Vector3.new(0,10,0) weld.Part0 = hrp weld.Part1 = wp weld.C0 = hrp.CFrame:Inverse() weld.C1 = wp.CFrame:Inverse() weld.Parent = wp tw:Play() wait(2) end end end wp.Touched:Connect(Stepped)
here is main line in the script that I'm talking about:
local tw = twServ:Create(weld, twInfo, {C0 = weld.C0 + weld.C0.UpVector * 3})
also here is a video of what the tween looks like https://i.gyazo.com/df29cef377cce047006ecdc0172c10a2.mp4