Slaved CC Counters with Inset Sinks - Alternative Solution
CC Counters slaved to other objects by changing their sub-mesh names will "crash to desktop" (CTD) when the player attempts to place an inset sink into them.
For examples, see the warning at the foot of this post and this comment.
Rather than trying to solve that particular set of dependencies, I've come at this from a different direction. If such counters CTD when a sink is placed into them, rather than warning the player and forcing them to remember not to do this, why not just stop the player placing the sink?
Provided the counter uses a standard semi-global guardian, this approach can be implemented by replacing that guardian with three lines of code.
The new BHAV simply rejects any attempt to place anything into the counter's inset sink slot before calling the standard code. Simples!
To implement this:
- Open the counter's .package file
- Select the counters associated OBJf resource and check the guardian for "prevent place in slot" (it’s near the end of the list) is set to 0x2087
- Change that guardian to 0x10FF
- Import the new 0x10FF BHAV (download here), change the group if the counter is not using the local group (0xFFFFFFFF)
- If there are multiple counters (eg, with doors/drawers) in the .package file, repeat for all non-island counters
- Save the .package file
If you don’t know how to use SimPe, or how to import a resource, or how to change and commit values, or how to change a group, ask Google (and not me!)
Please note that I will NOT be applying this to other people's counters and making them available for download.
Hope these notes are of use to someone. Enjoy!