I’ve been encountering this bug in my game for a solid 10 months.
Basically, whenever I attempt to locally clone a model and locally weld it to a character, then delete it after some time, the player will receive an odd flinging behavior. Anytime the player is mid-air and is moving in a direction, they will gain an insane amount of velocity.
The model’s parts are CanCollide false and Massless so there shouldn’t be an issue here…
The issue occurs in this video. The time when it happens is when you see the neon parts flashing on the character (two times).
Model:
Code:
local g = game.ReplicatedStorage.Objects.Glowthing:Clone()
g.Parent = char
g:SetPrimaryPartCFrame(char:FindFirstChild("Head").CFrame)
game.Debris:AddItem(g, 3)
for i,v in pairs(g:GetChildren()) do
v.Color = color
for i2,v2 in pairs(char:GetChildren()) do
if v.Name == v2.Name then
--v.CFrame = v2.CFrame
v.Name = "NeonPart"
local weld = v:FindFirstChild("ManualWeld")
weld.C0 = CFrame.new()
weld.Part0 = v2
--warn("Part mass: "..v:GetMass())
spawn(function()
for i = 1,5 do
v.Transparency = 0.5
tween:Create(v,TweenInfo.new(.2,Enum.EasingStyle.Linear,Enum.EasingDirection.In),{Transparency = 1}):Play()
wait(.1)
end
end)
end
end
end
Just to clarify, this isn’t caused by any new body movers being added to the character. The irregular behavior starts the moment the “Glowthing” model is deleted from the character. Any insight on this would be greatly appreciated.
Edit: The same occurs when using regular welds and weld constraints.
Hmm, yeah this is a really odd problem. My suspicions are peaked when you said locally cloned model. Why?
Because physics for BasePart gets automatically replicated onto the server. I bet something really odd is happening there especially with welds. Perhaps the weld is somehow not being destroyed and so the physics is still being transferred from part 0 to part 1?
BTW, did you destroy the weld after you are done with it? I don’t see a :Destroy() in the code.
Otherwise, any more information with the body movers?
As for deleting the welds using :Destroy(), yes, but no. The weld is inside the model and it should be getting destroyed with the debris AddItem.
local g = game.ReplicatedStorage.Objects.Glowthing:Clone()
g.Parent = char
g:SetPrimaryPartCFrame(char:FindFirstChild("Head").CFrame)
game.Debris:AddItem(g, 3)
The only body mover, in this case, is a body velocity.
“charHit” would by my character.
I fixed this solution some time ago. The method was to make all the parts of the character massless (not including the HumanoidRootPart because it leads to weird glitches), and then manually making the root part heavier using CustomPhysicalProperties.