#Server Selector #Made with <3 by Joshua Roy (WheezyGold7931) #INSERT INTO `lobbydata` (`name`, `display`, `restricted`, `enabled`) VALUES ('Lobby-1', 'Lobby 1', 'false', 'true') #Config script options: $ db url jdbc:mysql://localhost:3306/lobby $ db username root $ db password password $ use permissions on load: broadcast "&9Server Selector> &7Server Selector Loaded!" update "CREATE TABLE IF NOT EXISTS `lobbyData` ( `id` INT NULL DEFAULT NULL AUTO_INCREMENT , `name` VARCHAR(30) NOT NULL , `display` VARCHAR(30) NOT NULL , `restricted` VARCHAR(30) NOT NULL , `enabled` VARCHAR(30) NOT NULL , UNIQUE (`id`)) ENGINE = InnoDB;" command /servers: trigger: open chest with 6 rows named " &nServer Selector" to player set {_serverdis::*} to objects in column "display" from result of query "SELECT * FROM `lobbydata`" set {_servername::*} to objects in column "name" from result of query "SELECT * FROM `lobbydata`" set {_serverallow::*} to objects in column "restricted" from result of query "SELECT * FROM `lobbydata`" set {_serverenabled::*} to objects in column "enabled" from result of query "SELECT * FROM `lobbydata`" set {_s} to 0 wait 2 ticks loop {_serverdis::*}: loop {_servername::*}: loop {_serverenabled::*}: loop {_serverallow::*}: if loop-value-3 is "true": if {_done.%loop-index-1%} is not set: if {_done.%loop-index-2%} is not set: if {_done.%loop-index-3%} is not set: if {_done.%loop-index-4%} is not set: set {_online.%loop-index-2%} to size of all players on bungeecord server "%loop-value-2%" set {_max.%loop-index-2%} to the maximum amount of players for bungeecord server "%loop-value-2%" if {_max.%loop-index-2%} is not set: set {_max.%loop-index-2%} to 0 if {_online.%loop-index-2%} is not set: set {_online.%loop-index-2%} to 0 set {_current} to bungeecord current server of player "%player%" if {_current} is loop-value-2: set slot {_s} of player's current inventory to emerald block named "&f%loop-value-1%" with lore " ||&ePlayers: &f%{_online.%loop-index-2%}%/%{_max.%loop-index-2%}%|| ||&f&nClick to join!" else: set slot {_s} of player's current inventory to iron block named "&f%loop-value-1%" with lore " ||&ePlayers: &f%{_online.%loop-index-2%}%/%{_max.%loop-index-2%}%|| ||&f&nClick to join!" set {last.gui.click.%player%.%{_s}%} to loop-value-2 if loop-value-4 is "true": set {last.gui.click.ris.%player%.%{_s}%} to true else if loop-value-4 is "false": set {last.gui.click.ris.%player%.%{_s}%} to false set {_done.%loop-index-1%} to true set {_done.%loop-index-2%} to true set {_done.%loop-index-3%} to true set {_done.%loop-index-4%} to true add 1 to {_s} on inventory click: if inventory name of player's current inventory is " &nServer Selector": cancel event if "%clicked item%" is "iron block": close the player's inventory set {_s} to clicked slot if {last.gui.click.ris.%player%.%{_s}%} is true: if player does not have permission "serverselector.restricted": send "&9Server Selector> &c&lYou don't have permission to join this server!" stop set {_current} to bungeecord current server of player "%player%" if {_current} is {last.gui.click.%player%.%{_s}%}: send "&9Server Selector> &7You are already on &6%{_current}%&7!" stop send "&9Server Selector> &7You have been sent from &6%{_current}% &7to &6%{last.gui.click.%player%.%{_s}%}%" send "%player%" to bungeecord server "%{last.gui.click.%player%.%{_s}%}%" send "§b[Server Selector] §e%player% §awas sent to §e%{last.gui.click.%player%.%{_s}%}%§a!" to the console command /serverselector [] [] [] [] []: aliases: /ss, /servers, /selector permission: serverselector.admin permission message: &9Server Selector> &7You need: [&eserverselector.admin&7]! trigger: if arg 1 is not set: send "&9Server Selector> &7Listing Command Usage:" send "&e/serverselector list" send "&e/serverselector create (server name) (restricted [true/false]) (enabled [true/false]) (display name)" send "&e/serverselector remove (server name)" send "&e/serverselector enable (server name)" send "&e/serverselector disable (server name)" else: if arg 1 is "list": set {_servern::*} to objects in column "display" from result of query "SELECT * FROM `lobbydata`" set {_servera::*} to objects in column "name" from result of query "SELECT * FROM `lobbydata`" set {_serverr::*} to objects in column "restricted" from result of query "SELECT * FROM `lobbydata`" set {_servere::*} to objects in column "enabled" from result of query "SELECT * FROM `lobbydata`" loop {_servern::*}: loop {_servera::*}: loop {_serverr::*}: loop {_servere::*}: if {_done.%loop-index-1%} is not set: if {_done.%loop-index-2%} is not set: if {_done.%loop-index-3%} is not set: if {_done.%loop-index-4%} is not set: send "" send "&3---=+&c%loop-value-1%&3+=---" send "&dDisplay Name: &e%loop-value-1%" send "&dAddress: &e%loop-value-2%" send "&dRestricted: &e%loop-value-3%" send "&dEnabled: &e%loop-value-4%" send "&3---=+&c%loop-value-1%&3+=---" send "" set {_done.%loop-index-1%} to true set {_done.%loop-index-2%} to true set {_done.%loop-index-3%} to true set {_done.%loop-index-4%} to true else if arg 1 is "create": if arg 2 and arg 3 and arg 4 and arg 5 is set: set {_address} to arg 2 set {_restricted} to arg 3 set {_enabled} to arg 4 set {_display} to arg 5 update "INSERT INTO `lobbydata` (`name`, `display`, `restricted`, `enabled`) VALUES ('%{_address}%', '%{_display}%', '%{_restricted}%', '%{_enabled}%')" send "&9Server Selector> &7Created and parsed the following server:" send "&3---=+&c%{_display}%&3+=---" send "&dDisplay Name: &e%{_display}%" send "&dAddress: &e%{_address}%" send "&dRestricted: &e%{_restricted}%" send "&dEnabled: &e%{_enabled}%" send "&3---=+&c%{_display}%&3+=---" send "" else: send "&e/serverselector create (server name) (restricted [true/false]) (enabled [true/false]) (display name)" else if arg 1 is "remove": if arg 2 is set: update "DELETE FROM `lobbydata` WHERE `lobbydata`.`name` = '%arg-2%'" send "&9Server Selector> &7Removed all servers using &a%arg-2% &7as thier address!" else: send "&e/serverselector remove (server name)" else if arg 1 is "enable": if arg 2 is set: update "UPDATE `lobbydata` SET `enabled` = 'true' WHERE `lobbydata`.`name` = '%arg-2%'" send "&9Server Selector> &7Enabled all servers using &a%arg-2% &7as thier address!" else: send "&e/serverselector enable (server name)" else if arg 1 is "disable": if arg 2 is set: update "UPDATE `lobbydata` SET `enabled` = 'false' WHERE `lobbydata`.`name` = '%arg-2%'" send "&9Server Selector> &7Disabled all servers using &a%arg-2% &7as thier address!" else: send "&e/serverselector disable (server name)"