How to use Placement Service

I’m curious as to whether I’m using this wrong or not? On two sides placing blocks directly next to another works perfectly yet on the other two sides it doesn’t? Am I doing something wrong? I’ve attempted to fix this via the module and haven’t had any luck so far so I was wondering if you had any suggestions @zblox164.

Gyazo Video of Circumstances

I’m confused as to why one side works at all. The module currently doesn’t have any code that adjusts stackable objects on sides. I am looking into adding this in but haven’t had the time to yet. Your situation is very strange though.

Hey, your link for your documentation is broken. It should be https://zblox164.github.io/PlacementService/ instead of https://zblox164.github.io/PlacementModuleV3/

Just curious, why aren’t you using TweenService for line 283-288?

coroutine.resume(coroutine.create(function()
	for i = 1, 0, -0.1 do
		gridTex.Transparency = i
		task.wait(0.01)
	end
end))

Instead, you would do:

local TweenService = game:GetService("TweenService")
local FadePlotIn = TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.In, 0, false)
TweenService:Create(gridTex, FadePlotIn, {Transparency = 0}):Play()

If you did:

local TweenService = game:GetService("TweenService")
local FadePlotIn = TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.In, 0, false)
local FadeTween = TweenService:Create(gridTex, FadePlotIn, {Transparency = 0})
FadeTween:Play()

FadeTween is The Tween object, and you could add a lot of functionality, like
Placement.ObjectMoved by using Tween.Completed

More on TweenService

2 Likes

Ah will fix this. I updated to repository link but must have forgot to do the documentation link.

1 Like

You know I actually don’t know. Probably because I tend don’t use it that often and have to relearn it every time I use it. I probably will replace the for loops with this in the next update. Thanks for letting me know as I wouldn’t have thought about this otherwise!

1 Like

Why does the script exit placement mode when I try to bind a function to X (the exit key for PS) with ContextActionService?

1 Like

The module will exit placement with whatever key you have set to. I don’t really understand the issue, but if you mean binding another function to the key X, you can just change the exit key in the module. If this is not what you meant, DM me and I’ll do my best.

I found this people kept boosting, so ill guess ill ask something, how can I add a delete button, where you can delete placed items?

This feature is not handled by the module. What you can do though is detect when you are in “delete mode” and then get whatever the mouse target is and if it is a model, send a signal to the server to delete it.

wasnt sure if you had the code set in a way to depend on placed bits already

1 Like

Hey, sorry for the bump. Not sure if this is my fault, but the placement is very buggy…


This is the place file that I used in the video
placement-test.rbxl (65,2 KB)

2 Likes

This is due to the fact that the mouse is detecting the positions of the bounds objects you have (the invisible ones. Since the module uses target filter to ignore objects, it can only ignore one model which is the placed objects location). The other issue is due to the fact you have the plot/base rotated by 90 degrees. Currently, the module supports unrotated plots.

Both of these problem will be fixed in the next update as I am moving away from using the mouse object and migrating to raycasts. Similarly, I will be allowing for rotated plots.

Both these features will be added soon as they are almost done, but I’ve made a temp fix to the file you attached. All I did was unrotated the plot and make a mouseIgnore folder that holds all objects you want to be ignored. Not perfect, but it works while I finish the next version.

placement-test.rbxl (66.4 KB)

2 Likes

Didn’t know that it doesn’t support rotated plots, my bad.

Wowie, thanks! Appreciate that :smiley:

1 Like

Hey, just found another issue here.
When colliding to already placed object, it still allows me to place it.

and yes, Collisions attribute is checked

RobloxStudioBeta_RdrzOhRoxd

I’d need to see the game file to see exactly what is going on. Collisions work on my end so I am guessing you may have CanTouch set to false. Can you DM me about this and any other issues you may have? Or @ me in a scripting support topic.

I completely forgot about CanTouch. Thanks for pointing out, it now works without any problem.
Sorry for bothering you once again :sweat_smile:

2 Likes

@zblox164 Can you make the module so that it’s compatible with wall placements as well?

This is something that isn’t included with the module as of now. Currently, there are no plans to implement this feature, however if that changes in the future, you will see it under the roadmap.

1 Like

@zblox164 Can you make normal horizantally placing system, I mean that blocks or models can easily look for the location on the wall or on another object, for example build a boat for treasure build system
image