Tabletop Simulator

Tabletop Simulator

Not enough ratings
Item Placement Tool
2
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
28.048 KB
18 Jun, 2020 @ 12:42pm
11 Jul, 2020 @ 11:44am
10 Change Notes ( view )

Subscribe to download
Item Placement Tool

Description
This is an update/improvement to the popular Memory Bags and Cleanup Bags. The primary improvements are the ability to choose whether to update the saved position when collecting items, and the ability to select everything on the table using a configurable zone. UI is also unified and placed on a base station. Data is stored on the bags, and imported when the bag is dropped on the base. Works with any object tagged "Bag".

UI and base heavily inspired by (and some elements borrowed from) Eldin's excellent counter mod, which in turn borrowed elements from This fantastic tool. Both are great, go get 'em.

How to use:
1. Place the desired storage bag on the base station.
2. Activate the UI by clicking the power symbol.
3. Pick your desired selection method:
- Zone selects everything within a specified area on the table. The zone can be either rectangular or spherical, and is locked to the center of the table. Using the sliders, scale the zone to fit your table. (Spherical zone simply uses the largest value, the other sliders are ignored.)
- Selection tracks those items you actually have selected when you hit the "Track" button. It works anywhere on the table.
- You can mix methods in the same bag, i.e. placing an entire scene on the table while also placing the minis you wish to use into your DM area. Simply repeat steps 3-4 for each group of items.
4. Once you have your zone or selection set up, press the Track button to register the items. Data is stored to the bag.
5. Press the Collect button to put all tracked objects into the bag. If you have the "Update position when collecting" option selected (on by default), the new positions of anything that has moved since you hit Track are saved.

The bag is now ready to use. You can pick it up and put a new bag on to save your next scene.

To add new objects to the bag, place the bag on the pad (with or without its objects in it) and repeat steps 3-4 to track the new objects. Just as with the Cleanup bag, items will briefly be highlighted according to their status. Magenta is already tracked, Red is new.

To place the items, simply place the bag back on the pad and click Place. The items will all return to their former positions and rotations. There is no need to keep the bag on the pad while the objects are out, allowing multiple bags to be used to place different elements of the scene.

To collect items after placement, put the appropriate bag on the pad, and click Collect. If you have the "Update position when collecting" option selected (on by default, but stored per bag), the new positions of anything that has moved since you hit Place are saved.

To clear a bag of its data, place the bag on the pad and click Reset. if there is no bag on the pad when Reset is clicked, it will only reset the settings on the tool.

IMPORTANT NOTE: All actions (with the exception of Reset, which only resets the tool if no bag is present) are performed on the last bag to rest on the pad. If you take a bag off and then track something new before adding the next bag, it will be added to the first bag.

Somewhat less important note: The tracking option (zone or selection) is only relevant to the Track function. Once the data is saved, it tracks only those individual objects that were selected or in the zone when Track was clicked.

KNOWN ISSUE: Because of the way TTS handles custom tables, Boards WILL NOT BE TRACKED. This is to prevent the tool from eating your table. Until and unless we can tag custom tables as Surface and not Board, this isn't changing. Sorry.

KNOWN ISSUE: Leaving the bag on the pad when saving the table will usually result in an error when the save is loaded (object reference not set to an object), and cause the tool to not function until a new bag is placed on it. This is due to the onCollision running before the bag's onLoad finishes, which tries to read a bag that has not yet loaded its data. The only way to stop this from happening is to not leave the bag on the pad when you save, but if you forget to do that, fixing it is as simple as dropping the bag onto the pad again, which will force a re-read of the bag.
8 Comments
Trombonaught 6 Jan, 2024 @ 1:26am 
I was 10% of the way through scripting this myself tonight until I found this beauty here. Thanks for putting it together, I can't believe it's been here for years already!!!
Sihark 8 Mar, 2023 @ 2:17am 
ah okay ill try that ou c:
myrkul999  [author] 7 Mar, 2023 @ 11:24am 
@Sihark That is the way it should be working. A possible cause of your issue is that if you leave the bag on the pad when you save it, the pad may try to read the bag before it's done loading, thus failing. (You'll get an error with a message about an object not being a reference to an actual object.) The fix is really simple, just pick the bag up, and drop it on the pad again. It will re-run the bit of code that failed. Happens to me all the time, since I'm constantly forgetting the bag there.
Sihark 5 Mar, 2023 @ 12:35am 
is there a way you can make it remember between save loads?
Domicidal 3 Apr, 2022 @ 9:19pm 
This is an amazing tool! Thank you so much!
Quoeiza 9 Aug, 2021 @ 10:51am 
Hey, great improvement on the previous system. It's a shame it hasn't gained more popularity! Very helpful. I was wondering if you'd consider a new project with this as the base. I use this tool to save table layouts, but was wondering if it was possible to use the same selection area you have here, and instead of placing objects as they were saved, it can place them at random orientations.I am completely scripting illiterate so have no idea how feasible this is, but I'd love to hear your opinion.
myrkul999  [author] 7 Jul, 2021 @ 2:46pm 
Oooh. Good point. Hadn't thought of that. (I just assumed that you would do your work in a different area). I'll fix it in a bit.
Kir-malishev 4 Jul, 2021 @ 10:27pm 
Thanks, great mod! I think it's worth adding check for bag on itself. Otherwise, if you select the area in which it falls (for example, if you need to save everything on the table), then the bag will disappear.