Note: If you have previously seen this module and saw that it had bugs, you can now be assured that most of those bugs have been solved. Although, if you find bugs with this module, I’d greatly appreciate for you to let me know and provide as much information to me about it as you can.
Hello. I have created a major modification to the Tunicus placement module v2. Anyone is allowed to use this and make modifications to it themselves if needed. I saw how outdated and limited the original module was and got sick of having to modify it every time I wanted to use it.
Here are the modifications I have made to the module:
- Objects with customisable adjustable heights (hydraulics)
- Objects that can be placed on top of (platforms)
- You can place on top of multiple of these platforms at once
- Hydraulic items can have legs that automatically size themselves to stand on the ground
- The grid texture now has an option to fade in/out and has a custom colour
- There are customisable SelectionBoxes that will go on any item you’re currently placing and obstacles while you’re placing
- A setting to hold the place button down to continue placing
- An option to stop items from wobbling around when moving the mouse while placing
- An option to hide CoreGui while placing
- Easily customisable keybinds that also support Xbox controls
Settings:
// PLACEMENT SETTINGS
bool INTERPOLATION -- whether placement smoothing is enabled
bool WOBBLE_ITEMS -- whether items wobble when moving (does nothing if interpolation is false)
float INTERPOLATION_DAMP -- how fast smoothing is, make it a value [0, 1]
float ROTATION_SPEED -- rotation tween speed in seconds
float PLACEMENT_COOLDOWN -- how quickly the user can place (minimum time in seconds between placing items)
bool HOLD_TO_PLACE -- if the user can hold the place key to place
// PLACEMENT COLORS, TRANSPARENCY, FADING
Color3 COLLISION_COLOR3 -- color of the hitbox when object collides
float COLLISION_TRANSPARENCY -- transparency of the hitbox when object collides
Color3 NORMAL_COLOR3 -- color of the hitbox
float NORMAL_TRANSPARENCY -- transparency of the hitbox
Color3 LOAD_COLOR3 -- color of the hitbox when loading
float LOAD_TRANSPARENCY -- transparency of the hitbox when loading
float HIT_BOX_FADE_TIME -- primarypart/selection box fade time in seconds. set to 0 to instantly change/appear
// SELECTION BOXES
float SELECTION_BOX_TRANSPARENCY -- selection box transparency. set to 1 for no selection boxes
Color3 SELECTION_BOX_COLOR3 -- selection box color. set to nil for a custom color system (you have to code that yourself)
float SELECTION_BOX_PLACING_THICKNESS -- selection box thickness on objects the user is placing
float SELECTION_BOX_OBSTACLE_THICKNESS -- selection box thickness on obstacles
// GRID SETTINGS
string GRID_TEXTURE -- texture of the grid space, set to nil if you don't want a visible grid
Color3 GRID_COLOR3 -- color of the grid texture
float GRID_TRANSPARENCY -- the transparency of the grid while placing
float GRID_FADE_TIME -- the amount of seconds that the grid takes to fade. set to 0 to instantly appear
bool TEXTURE_ON_PLATFORMS = true -- if the grid texture is also put on platforms
// CONTROLS
bool OVERRIDE_CONTROLS -- whether the keybinds below work or not
int INPUT_PRIORITY -- input priority of default controls
list PLACE_KEYBINDS -- placement keybinds (pc, xbox)
list ROTATE_KEYBINDS -- rotate keybinds (pc, xbox)
list HYDRAULIC_UP_KEYBINDS -- hydraulic up keybinds (pc, xbox)
list HYDRAULIC_DOWN_KEYBINDS -- hydraulic down keybinds (pc, xbox)
list CANCEL_KEYBINDS -- cancel placement keybinds (pc, xbox)
// CORE GUI
list CORE_GUI_DISABLE -- core gui to disable when placing
License:
This module is under the MIT license which means you are allowed to freely use this for commericial and private use, modify it, and distribute it as you please.
Credits/attributions:
You don’t have to credit I or Tunicus, but credit would be greatly appreciated. We both put many many hours into this just to give it away to the community for free.
Possibilities for the future:
- Multiple hitboxes per object when placing
- Wall/ceiling placement
- Withdrawal/moving system
- Inventory system
- Shop system
- Tutorial post on the forums going in depth on how to use the module
- Video tutorial on how to use the module
You can add the module to your inventory here:
Roblox module (doesn’t have server-sided placement protection)
You may use this test place to see how the module works:
Github page (rbxl place file with server-sided placement protection)
I have also made a module that allows you to calculate numbers past the limits of Roblox numbers. If you are interested, see this post on the Dev Forum here: Numbers past 1.79e+308 | Extended number module (open source)