Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zone+ V2 #61

Closed
1 of 24 tasks
1ForeverHD opened this issue Oct 26, 2020 · 2 comments
Closed
1 of 24 tasks

Zone+ V2 #61

1ForeverHD opened this issue Oct 26, 2020 · 2 comments

Comments

@1ForeverHD
Copy link
Member

1ForeverHD commented Oct 26, 2020

Improvements

  • move to new standalone repository with installer methods like topbar+ (plugin, rojo, etc)
  • remove all require() dependencies
  • consider removing additonalHeight param as this causes confusion
  • replace irrelevant : within non object methods to .
  • improve tutorials to make people aware of using Zone.new() (in addition to createZone)
  • add Destroy upper case alias
  • consider making work with non-players

Bugs

Main

  • have a Zone module then a ZoneController as a child
  • for zone, support both players and parts
  • have methods like :getPlayers, :getLocalPlayer, :getParts, :checkPlayerInZone, :checkLocalPlayerInZone, :checkPartInZone
  • have events which automatically initiate a loop when connected to - .playerEntered, playerExited, partEntered, partExited, localPlayerEntered, localPlayerExited
  • for players, dynamically change between region3 + raycasting and solely raycasting depending upon factors such as total volume across all zones, number of players in server, localPlayer loop, etc
  • for parts, call region3 like normal then raycast, however if a part is anchored (or not) consider caching results based on enum.accuracy
  • handle logic, decision making and even raycasting within the controller
  • when raycasting, perform a centre check initially, then if this fails use angle math to get the face nearest to the closest zone centre, and perform an additional tiny raycast in that direction
  • introduce enum.Accuracy with items such as 'Precise', 'High', 'Medium', 'Low' and a zone.accuracy property
  • once again have :update and. updated for calculating the zones min and max bounds and region, but completely scrap the 'cluster system'
  • introduce :getRandomPoint again but this time do purely a while loop with completely random casting
  • for ZoneController, remove create/remove methods entirely and just have ZoneController.getZones()
  • parent utility modules like Signal and Maid under the Zone module
@Alidonis
Copy link

Alidonis commented Mar 8, 2021

what is zone+?

@1ForeverHD
Copy link
Member Author

1ForeverHD commented Mar 8, 2021

See https://github.com/1ForeverHD/ZonePlus

It was originally developed within Nanoblox for Nanoblox but now it's a stand alone project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants