Pipe system & build system?

I need help with a deploying system and pipe system.
Why do I need help with two things?
The pipe system can’t be made without a deploying system/aka a build mode.
The issue is, I don’t know where to start.
I don’t have a specific answer/solution I was looking for on the internet.


There are a ton of questions that goes to my head, such as:
1. How would you make it so the model would go wherever your mouse was pointing with a max distance you can place it from?
2. How would you make it so that the connectors do not collide with each other, like perfectly aligned?
3. How would you make it so that the pipes cannot go into other objects?
4. How would you make it so that the pipes can detect something missing IN front of it or behind it(detecting a leak since its out in the open)?
I cannot solve those questions.
So, I am going to the devforum.
You do not have to get a solution for both topics you could have a hyperlink or just a link to a post that could solve one of these questions instead of thoroughly explaining it.
You can ask more questions in-depth about why am I doing this, etc…
All I am trying to achieve is both of these, since my game is going to need them both, and I don’t want to have 2 posts concerning 1 or 2 subjects at once, so I combined them into one.
I do not need entire code, I just need an example, or a picture of it, etc.
If it’s possible, then I can do it :smile:
Solutions, suggestions are appreciated.
I have no progress on this yet, because I do not have any idea on how to do it.

1 Like

I will provide the plan of action I would do per question.

1. How would you make it so the model would go wherever your mouse was pointing with a max distance you can place it from?
Answer - Local script which detects player clicking, and if clicking on pipe then send to server what the mouse hit.
2. How would you make it so that the connectors do not collide with each other, like perfectly aligned? - In games its not like it goes directly where they place, I will use the Corner Pipe for my example. You would have two invisible parts for each opening of the pipe, when the mouse hovers it will record that part it hit, then on the server you now have what pipe opening they wish to build/seal, you would then have a part clone to that position (calculations would be predefined, e.g is this a placeable location? (ray casting to check that direction and see the distance of the closest object. Also calculate size and position offset)
3. How would you make it so that the pipes cannot go into other objects?
Answer - Multiple ways, Raycasting, position checks of all pipes, Region3
4. How would you make it so that the pipes can detect something missing IN front of it or behind it(detecting a leak since its out in the open)? You would store a value in that pipe opening, (as i stated above the two parts for detection, you would have a bool value and then if they place something to close it then edit the bool value to true (closed). else its open.

DM me if something didn’t make sense, also I highly recommend for question 2 that you have a Grid Placement system which has red/green indicators for placeable locations, this way they can choose the rotation they want and it’s a lot easier since the position will be logged on click when in build mode, saving effort and giving players more creative freedom

2 Likes

I was watching a movie until you sent this. Thank god I got the notification.
I’ll try this out. Thanks for the reply!

This plugin might help with questions 2 + 3. Its a pipe placer plugin.

1 Like

But thats the thing, I made my own models.
It’s pretty cool the way I designed it.
Thanks anyway though!

1 Like

For your first question:

How to make it so that the player can’t place a pipe too far away from them:

Just check the distance between the mouse.hit.position and game.players.localplayer.Character.HumanoidRootPart.Position

Using magnitude