Probably may need some explanations that it’s suggested to keep parts in workspace.
I didn’t see anything in the documentation about how Zone parts should be placed and saved. stating that ZonePlus v2 relies on the part .Touched events before checking if a player is in a Region3 etc.
I was thinking that I could get away with moving Zone parts into ServerStorage since I don’t plan to use the parts with any visual effects.
Is it just suggested to anchor parts, transparency 1, cancollide false and part inside workspace to work for my case?
Probably may also want to support r15, seems this only supports r6 because all the Zone’s are waiting for “Torso”. I’ve modified mine to support both. I didn’t need to know if an arm entered, was just wanting to know if a player was in a zone so I added HumanoidRootPart as the one part to watch for.
I’ve went ahead and tried again to use the module unmodified, still using playerAdded. Seems I was just accidently editing the Client side instead of the Server side to do team checks and everything actually worked properly.
Just need some notes about keeping parts inside Workspace so Zone can have ‘clients’ check if a player is in a zone.
You can find an in-depth breakdown of how v2 zones work at the Method page.
It sounds as if you’re using partEntered when you likely instead want to use playerEntered. Player-detection utilises only region and raycast checking; it doesn’t use .Touched connections.
For v2, zones act as a collective therefore a lot of the time zones aren’t performing the region/raycast checks, it’s the players themselves. Because of this it’s impossible to check for zones that have parts outside of workspace.
Zones are fully compatible with both R6 and R15. If you’re experiencing issues feel free to file a bug report and we can take a look.
Oh I mean, I have many parts in the folder and each of them has a name based on “their” music, however I can’t find any way of getting the part name in the API so I directly asked you if it’s possible. Sorry for not explaining correctly.
When you say folder do you mean the group folder containing the baseparts that construct the zone? You may be looking for the zone.groupParts property which returns an array of all group baseparts that make-up the zone.
Alternatively, do you want to retrieve the name of the individual music part the player is touching? If so, it sounds like you’d be better off constructing a zone for each individual part (the group parameter can now take individual parts in addition to models, folders, etc).
Hey, could you provide any benchmarks if you have ran any, to validate the efficiency of this module statistically? I’m unsure how fast this module would be precisely, especially when handling servers with 300+ (possibly up to 700) active players.
Also, will you consider switching to @pobammer’s Janitor module? it is much more performant than Maid and is cleaner overall.
The zone detection methodology varies quite significantly depending upon different factors, such as the events you use, total volume of zones, total volume of characters in a server, etc, therefore you can’t really give a precise benchmark for the module as a whole.
If you’d like to run a rough benchmark then I’d recommend opting for the most common player-detection method of checking each player, which involves constructing a RotatedRegion3 of character size (typically 4x2x6), using all zone group parts in the game as the whitelist, then calling that every accuracy interval (which is typically ‘High’) for how many players you wish to test in the benchmark.
Likely not for ZonePlus as the performance gains are completely negligible; maybe for future projects with its greater feature set
I’m having some trouble here. Not sure if I’m doing this incorrectly but the player exit zone signal will fire even if I’m inside the zone. Maybe I’m misinterpreting the function of this resource. Not sure but, any help would be greatly appreciated.
Screenshots and a Video
This whole model is what I’m using for the zone.
“In” - Outputs whenever a player enters the zone, which would be whenever a player enters a facility.
“Out” - Outputers whenever a player exits the zone, which would be whenever a player leaves the facility.
However, the exit signal fires EVEN if the player is in the zone. Help would be greatly appreciated.
Zone parts have to encapsulate the entire area of where you want players to be detected. I’d recommend using 2 rectangular parts to cover your whole building, making these parts invisible, anchored and uncancolidable, then only using these parts as the Zone group parts.