Make a part being vulnerable

How could i make a part being so vulnerable that it can easly fall

here’s a video of what i have

when im throwing a bloc to that part it should make everything fall but it just stand for no reason

2 Likes

its unanchored and there are no welds?

yes the cylinder and the up part are both unanchored and not welded

Honestly i dunno, but I would mess around with custom physical properties like increasing density or something

that’s what i’ve been trying to do without succes i guess i’ll wait until someone give me the solution

thanks

1 Like

Maybe change the part to massless. If that doesn’t work, then maybe try to add a velocity to the part when it touches the block

To diagnose the cause of these issues its important to understand the underlying physics within the situation. What can be worth doing as an example is checking that an amount of weight can actually offset the balance first and then ruling out the problems one at a time.

After that point, you can then check your method and make sure the method you’ve applied allows your brick to exert physics on other bricks. I have a realistic physics artillery system in my studio for example - as the physics are not created by Roblox but instead through mathematical calculations this would not work.

An explanation about your script and methods would be useful to fix this issue.

To understand if the part was heavy enough i tried to place a new part on the edge of the big plate of 1,1,1 with the size growing to 3,3,3 using a script
It is making the plate fall like i want so the origin of the problem probably comes from the cubes that i can throw
Here’s the script of it :

local player = game:GetService("Players").LocalPlayer
local character = player.Character
local mouse = player:GetMouse()

debounce = true

mouse.Button1Down:Connect(function()
	if debounce == true  then
	debounce = false
	local part = Instance.new("Part")
	part.CanCollide = false
	part.Size = Vector3.new(15,15,15)
	part.CFrame = character.HumanoidRootPart.CFrame * CFrame.new(0,3,0)
	part.Parent = workspace
	local direction = mouse.Hit.LookVector
	local forceMultipliter = 400 * part:GetMass()
		part:ApplyImpulse(direction * forceMultipliter)
		wait(0.1)
		print("can collide")
		part.CanCollide = true
		debounce = true
		end
end)

Is this happening in a local script? And is the part on the platform actually owned by the client?

Yes this script is in a local script but the part is not owned by the client

You could try setting Massless to true on the part.

Set the massless property to true on the part. Or tamper with the CustomPhysicalProperty.

1 Like

I already tried to do this but i get the same result

Try doing what @NoxhazeI said, tampering with CustomPhysicalProperties

I’ve done this too by setting the density to 0.01 of the cylinder and the plate

I would try creating the part on the client as opposed to having a server side representative, this is pretty easy to achieve if you just define a part within a local script and create it as such - this way the physics should be owned by the client. If you do not want this feature, you could always escalate the request to the server through a remote event.

As far as I’m aware, a client part would not affect a server part’s physics as the server is responsible for its rendering. The player is the only exception to this rule.

1 Like

Try making the projectile more dense and doing everything I said above.
Adding to @6Clu
You can use

BasePart:SetNetworkOwner(Player?)

This probably wouldn’t be so secure. I recommend trying setting the density with CustomPhysicalProperties to the lowest you can. I’m not sure if Massless would work, because I’m pretty sure that that’s only for welding.

Make sure it’s not anchored, welded, and increase the density of the block you’re throwing. Try decreasing the thickness of the pole, and increase the throwing force.

Very well explained, thank you it worked perfectly

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.