95 lines
		
	
	
		
			No EOL
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			No EOL
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # ConnectQueue
 | |
| ---
 | |
| Easy to use queue system for FiveM with:
 | |
| - Simple API
 | |
| - Priority System
 | |
| - Config
 | |
|     - Ability for whitelist only
 | |
|     - Require steam
 | |
|     - Language options
 | |
| 
 | |
| **Please report any bugs on the release thread [Here](https://forum.fivem.net/t/alpha-connectqueue-a-server-queue-system-fxs/22228) or through [GitHub](https://github.com/Nick78111/ConnectQueue/issues).**
 | |
| 
 | |
| ## How to install
 | |
| ---
 | |
| - Drop the folder inside your resources folder.
 | |
| - Add `start connectqueue` inside your server.cfg. - *Preferrably at the top*
 | |
| - Set convars to your liking.
 | |
| - Open `connectqueue/server/sv_queue_config.lua` and edit to your liking.
 | |
| - Renaming the resource may cause problems.
 | |
| 
 | |
| ## ConVars
 | |
| ---
 | |
| 	set sv_debugqueue true # prints debug messages to console
 | |
| 	set sv_displayqueue true # shows queue count in the server name '[count] server name'
 | |
| 
 | |
| ## How to use / Examples
 | |
| ---
 | |
| To use the API add `server_script "@connectqueue/connectqueue.lua"` at the top of the `__resource.lua` file in question.
 | |
| I would also suggest adding `dependency "connectqueue"` to it aswell.
 | |
| You may now use any of the functions below, anywhere in that resource.
 | |
| 
 | |
| ### OnReady
 | |
| This is called when the queue functions are ready to be used.
 | |
| ```Lua
 | |
|     Queue.OnReady(function() 
 | |
|         print("HI")
 | |
|     end)
 | |
| ```
 | |
| All of the functions below must be called **AFTER** the queue is ready.
 | |
| 
 | |
| ### OnJoin
 | |
| This is called when a player tries to join the server.
 | |
| Calling `allow` with no arguments will let them through.
 | |
| Calling `allow` with a string will prevent them from joining with the given message.
 | |
| `allow` must be called or the player will hang on connecting...
 | |
| ```Lua
 | |
| Queue.OnJoin(function(source, allow)
 | |
|     allow("No, you can't join")
 | |
| end)
 | |
| ```
 | |
| 
 | |
| ## AddPriority
 | |
| Call this to add an identifier to the priority list.
 | |
| The integer is how much power they have over other users with priority.
 | |
| This function can take a table of ids or individually.
 | |
| ```Lua
 | |
| -- individual
 | |
| Queue.AddPriority("STEAM_0:1:33459672", 100)
 | |
| Queue.AddPriority("steam:110000103fd1bb1", 10)
 | |
| Queue.AddPriority("ip:127.0.0.1", 25)
 | |
| 
 | |
| -- table
 | |
| local prioritize = {
 | |
|     ["STEAM_0:1:33459672"] = 100,
 | |
|     ["steam:110000103fd1bb1"] = 10,
 | |
|     ["ip:127.0.0.1"] = 25,
 | |
| }
 | |
| Queue.AddPriority(prioritize)
 | |
| ```
 | |
| 
 | |
| ## RemovePriority
 | |
| Removes priority from a user.
 | |
| ```Lua
 | |
| Queue.RemovePriority("STEAM_0:1:33459672")
 | |
| ```
 | |
| 
 | |
| ## IsReady
 | |
| Will return whether or not the queue's exports are ready to be called.
 | |
| ```Lua
 | |
| print(Queue.IsReady())
 | |
| ```
 | |
| 
 | |
| ## Other Queue Functions
 | |
| You can call every queue function within sh_queue.lua.
 | |
| ```Lua
 | |
| local ids = Queue.Exports:GetIds(src)
 | |
| 
 | |
| -- sets the player to position 1 in queue
 | |
| Queue.Exports:SetPos(ids, 1)
 | |
| -- returns whether or not the player has any priority
 | |
| Queue.Exports:IsPriority(ids)
 | |
| --- returns size of queue
 | |
| Queue.Exports:GetSize()
 | |
| -- plus many more...
 | |
| ``` | 
