Jump to content

server queue like 2b2t queue


pikachu_1298

Recommended Posts

Following skript should work, it uses multiverse worlds.

 

options:
    mainworld: YOURMAINWORLDHERE
    queueworld: YOURQUEUEWORLDHERE
    maxamount: MAXAMOUNT (The max amount of player's until the queue should start triggering)
    


on join:
    loop all players:
        set {queue.command} to false
        set {_amount} to size of all players in world("{@mainworld}")
        if {_amount} >= {@maxamount}:
            execute console command "/mvtp %player% {@queueworld}"
            wait 2 seconds
            send "&aDo /queue to queue!" to loop-player
every 60 second in "{@queueworld}":
    if {queue.command} is false:
        loop all players:
            if loop-player's world is "{@queueworld}":
                send "&aDo /queue to queue!" to loop-player
every 50 second in "{@mainworld}":
    loop all players:
        if loop-player's world is "{@queueworld}":
            send "&4-------------------------------------" to loop-player
            send "&cQueue commands" to loop-player
            send "&a/queue Regular queue (free)" to loop-player
            send "&6/pqueue Priority queue (you need to pay for this)" to loop-player
            send "&4--------------------------------------" to loop-player
            
command /queue:
    permission: queue.queue
    permission message: &cno u
    trigger:
        set {queue.command} to true
        if {queue::*} contains player:
            remove player from {queue::*}
            send "&cYou've Left the Queue!"
            stop

        if {queue::*} does not contain player:
            add player to {queue::*}
            send "&aYou've joined the Queue!"
            messenger(player)
            set {_amount} to size of all players in world("{@mainworld}")
            if {_amount} < {@maxamount}:
                loop {queue::*}:
                    set {queue.pass} to true
                    set {_loc} to spawn of world "{@mainworld}"
                    teleport loop-value to location((x-loc of {_loc} + .5), y-loc of {_loc}, (z-loc of {_loc} + .5), world "{@mainworld}")
                    remove player from {queue::*}
                    stop loop
                
function messenger(p: player):
    while {queue::*} contains {_p}:
        set {_i} to -1
        loop {queue::*}:
            set {_i} to loop-index if loop-value is {_p}

        send "&6You are the %{_i}%&6th player in the queue" to {_p}
        if {queue.pass} is true:
            stop loop
        else:
            wait 5 seconds
command /pqueue:
    permission: queue.priority
    trigger:
		send "&6You have joined priority queue"
        execute console command "/mvtp %player% {@mainworld}"

command /unqueue:
    permission: queue.unqueue
    trigger:
        remove player from {Queuebegin::*}
        send "&4You left the queue."

 

If you like what I post or I've helped you please leave a like or upvote my posts! Thanks!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...