uQueueService (v0.75) - Easy queueing of players for teleportation

CREDITS TO @RequiredModule FOR ORIGINAL MODULE

What is uQueueService?

uQueueService, or QueueService Unofficial, is a branch of QueueService, (originally made by @RequiredModule) to better fit one’s needs, be cleaner, and have more features than it’s predecessor.

Why use uQueueService?

The goal of uQueueService is to make queueing up players for teleportation easier by turning Queues into an object that can contain players. It is a very simple and intuitive way to group up a customizable amount of players for teleporting!

uQueueService over MatchMakingService?

MatchMakingService is a module for… well, match making. It is made for queueing up players in global queues, like BedWars. uQueueService was made for queueing up players in individual lobbies, like in story games (god forbid in this day and age :skull:) and fighting games. Plus, a Queue can be initiated without a Place Id being provided, instead letting the developer do whatever they want when the Queue is initiated, like teleporting a player into an arena made just for that arrangement of players in the same place.

tldr: matchmaking is different from queueing, and with uQueueService you can do whatever you want when the queue is initiated

Links

Link to GitHub: GitHub - untroublee/uQueueService
Documentation here

Link to original QueueService: QueueService: A simple module for all your queuing needs!

Notes

  • I have put the rbxm file on GitHub, since the module contains other module scripts that need to be required for the module to work, and therefore cannot be published onto the roblox marketplace. Sorry for the inconvenience. If there is a better way, please let me know the method!
  • I have not learned Wally or Rojo, so for now I will not be using it as an installation method.
  • This is my first time going into the world of OOP, so I hope to get valuable feedback from this module.
  • This module has not been tested heavily. Please let me know if there are any bugs.

Hope this module can help! Please let me know if you have feedback for me or bugs to report.

Changelog

v0.5

  • Beta release of uQueueService

v0.6

  • Replaced :Teleport() with :Initiate(), sorry about not doing that before editing the docs LOL
  • Removed hidden functionality of :GetQueueById()
  • Added source code onto GitHub

v0.7

  • Fixed a bug where :Destroy() wouldn’t remove the Queue from the QueueCache
  • Updated documentation to include PlayerAmt property of tpData and DefaultData

v0.71

  • Add the dependencies src files onto GitHub
  • Update documentation

v0.75

  • Implement Retry by Sublivion to improve pcall
10 Likes

Goodjob, I feel like alot of people will use this when they realise how good it is.

1 Like

I wish the code was available to read on the github page rather than it just being an rbxm. Cool module though!

1 Like

Sure, I can do that! I will update the GitHub in a little bit with the code. I don’t think I can put code inside of eachother on GitHub so I will stuff all the extra modules inside the same folder as the module

Edit: It seems like one of the inner modules is very complicated with its hierarchy, having many folders inside of it. Would it be suitable to only put the main module inside GitHub?

1 Like

Sorry I forgot to say but the source code is now on GitHub along with the release of v0.6

I need to mention some things about uQueueService that I forgot to put into the documentation (Will do when I am available)

  • Insert PlayerAmt element into tpData

Basically, uQueueService will insert an element named PlayerAmt into the tpData when initiated, which is basically just the amount of players that were in the queue at the time of initiation.

  • DefaultData table

This is a table that you can edit in the uQueueService module itself. Basically, if you are testing a place that players will be teleported to on queue initiation, you may insert uQueueService, mark the IsGamePlace attribute of the module true, and edit the DefaultData data to however you desire. You can also see the PlayerAmt element as said earlier.

By the way, I am aware of a bug with :Destroy() that causes the function to not work properly. I will fix this too when I have time to.

v0.7 has been released! Here are the changes:

  • Fixed a bug where :Destroy() wouldn’t remove the Queue from the QueueCache
  • Updated documentation to include PlayerAmt property of tpData and DefaultData