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...
 | 
						|
``` |