Before anyone says it NO I am not giving you any code to delete the welds as I don’t have any.
HOW DO I DESTROY WELDS?
Simple question but after 2 hours of trying the best I can do is crash my game.
I am making a roblox game but I need welds to teleport parts along with the base part but I can’t delete the welds when it is in place.
There is a welds folder in each plot and here is the generation system:
for x = 36,4000,36 do
for z = 36,4000,36 do
local gridpart = game.ReplicatedStorage:FindFirstChild("Grid"):WaitForChild(math.random(1,7))
local gridclone = gridpart:Clone() -- clones and keeps in workspace
gridclone.Parent = workspace
gridpart.Position = Vector3.new(x,0.5,z)
gridpart.Anchored = true
gridpart.CanCollide = true
end
end
PS I am in a bad mood as I just wasted most of my day on this but I beg you not to ask any stupid questions/don’t be lazy and read my post and code.
Hey! Sorry you are in a bad mood but please be patient with us if we have some honest questions. What you may want to do is put a for loop and check for all welds in the folder, once they are in there proper places, just say v:Destroy() or whatever you put for the loop parameters
So this is the solution based on what your title is asking, by using :GetDescendants()
local function ClearWelds(Model: Model)
for _, v in Model:GetDescendants() do
if v:IsA("Weld") or v:IsA("WeldConstraint") then
v:Destroy()
end
end
end
And if by moving welds you mean moving parts that are welded to another part, then that depends on what type of weld you are using. If you are using “Weld” then just changing its Position or CFrame should do the trick. If you’re using a “WeldConstraint” then you need to use CFrame to have a similar effect.
I also noticed that you anchor all your generated parts so I’m a bit confused as to why you require welds here? It seems a bit arbitrary since they aren’t going to be physically moving anyway.
Models should not get destroyed using that method unless you are specifically checking to see if the object is a model. In this case we are checking to see if the objects we are iterating through are either “Welds” or “WeldConstraints”, and if they are, we destroy them.
You need to be a bit more vocal on your issue, what exactly are you trying to achieve? Your initial question makes little sense and I don’t exactly understand what the issue is, can you perhaps elaborate on your issue a bit more?
I am making a grab system for my game witch I’m working on:
But if the parts are welded then it will crash your game because you cannot set the CFrame of a part welded to another part that is anchored (I believe)
EDIT
Game is extremely unstable I will have to fix the crash but immediately
Is there a particular reason why you need to weld parts to an anchored part? Couldn’t you have the Un-Anchored part Anchored instead, and Un-Anchor it once your grab system is active?
I don’t exactly know the context of your game so I’m saying this based on assumptions. But the only reason someone would need to weld parts to anchored parts is so you have easier control over the positioning over those welded parts (by moving the anchored part), otherwise its to have complex models be physically rendered and not fall apart. If the Welded parts are not going to be moving unless you grab it, then having you toggle their Anchored state might be more beneficial
If its just teleporting models, perhaps you could just use the :PivotTo() method? This would handle moving entire models for you regardless of whether or not the parts are welded. If your models are animated (tweening for example) then you can disregard that. But to use it you would do something like this: