· 8 years ago · Aug 24, 2018, 10:28 PM
1#Server Selector
2#Made with <3 by Joshua Roy (WheezyGold7931)
3
4#INSERT INTO `lobbydata` (`name`, `display`, `restricted`, `enabled`) VALUES ('Lobby-1', 'Lobby 1', 'false', 'true')
5
6#Config
7script options:
8 $ db url jdbc:mysql://localhost:3306/lobby
9 $ db username root
10 $ db password password
11 $ use permissions
12
13on load:
14 broadcast "&9Server Selector> &7Server Selector Loaded!"
15 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;"
16
17command /servers:
18 trigger:
19 open chest with 6 rows named " &nServer Selector" to player
20 set {_serverdis::*} to objects in column "display" from result of query "SELECT * FROM `lobbydata`"
21 set {_servername::*} to objects in column "name" from result of query "SELECT * FROM `lobbydata`"
22 set {_serverallow::*} to objects in column "restricted" from result of query "SELECT * FROM `lobbydata`"
23 set {_serverenabled::*} to objects in column "enabled" from result of query "SELECT * FROM `lobbydata`"
24 set {_s} to 0
25 wait 2 ticks
26 loop {_serverdis::*}:
27 loop {_servername::*}:
28 loop {_serverenabled::*}:
29 loop {_serverallow::*}:
30 if loop-value-3 is "true":
31 if {_done.%loop-index-1%} is not set:
32 if {_done.%loop-index-2%} is not set:
33 if {_done.%loop-index-3%} is not set:
34 if {_done.%loop-index-4%} is not set:
35 set {_online.%loop-index-2%} to size of all players on bungeecord server "%loop-value-2%"
36 set {_max.%loop-index-2%} to the maximum amount of players for bungeecord server "%loop-value-2%"
37 if {_max.%loop-index-2%} is not set:
38 set {_max.%loop-index-2%} to 0
39 if {_online.%loop-index-2%} is not set:
40 set {_online.%loop-index-2%} to 0
41 set {_current} to bungeecord current server of player "%player%"
42 if {_current} is loop-value-2:
43 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!"
44 else:
45 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!"
46 set {last.gui.click.%player%.%{_s}%} to loop-value-2
47 if loop-value-4 is "true":
48 set {last.gui.click.ris.%player%.%{_s}%} to true
49 else if loop-value-4 is "false":
50 set {last.gui.click.ris.%player%.%{_s}%} to false
51 set {_done.%loop-index-1%} to true
52 set {_done.%loop-index-2%} to true
53 set {_done.%loop-index-3%} to true
54 set {_done.%loop-index-4%} to true
55 add 1 to {_s}
56
57on inventory click:
58 if inventory name of player's current inventory is " &nServer Selector":
59 cancel event
60 if "%clicked item%" is "iron block":
61 close the player's inventory
62 set {_s} to clicked slot
63 if {last.gui.click.ris.%player%.%{_s}%} is true:
64 if player does not have permission "serverselector.restricted":
65 send "&9Server Selector> &c&lYou don't have permission to join this server!"
66 stop
67 set {_current} to bungeecord current server of player "%player%"
68 if {_current} is {last.gui.click.%player%.%{_s}%}:
69 send "&9Server Selector> &7You are already on &6%{_current}%&7!"
70 stop
71 send "&9Server Selector> &7You have been sent from &6%{_current}% &7to &6%{last.gui.click.%player%.%{_s}%}%"
72 send "%player%" to bungeecord server "%{last.gui.click.%player%.%{_s}%}%"
73 send "§b[Server Selector] §e%player% §awas sent to §e%{last.gui.click.%player%.%{_s}%}%§a!" to the console
74
75command /serverselector [<string>] [<string>] [<string>] [<string>] [<string>]:
76 aliases: /ss, /servers, /selector
77 permission: serverselector.admin
78 permission message: &9Server Selector> &7You need: [&eserverselector.admin&7]!
79 trigger:
80 if arg 1 is not set:
81 send "&9Server Selector> &7Listing Command Usage:"
82 send "&e/serverselector list"
83 send "&e/serverselector create (server name) (restricted [true/false]) (enabled [true/false]) (display name)"
84 send "&e/serverselector remove (server name)"
85 send "&e/serverselector enable (server name)"
86 send "&e/serverselector disable (server name)"
87 else:
88 if arg 1 is "list":
89 set {_servern::*} to objects in column "display" from result of query "SELECT * FROM `lobbydata`"
90 set {_servera::*} to objects in column "name" from result of query "SELECT * FROM `lobbydata`"
91 set {_serverr::*} to objects in column "restricted" from result of query "SELECT * FROM `lobbydata`"
92 set {_servere::*} to objects in column "enabled" from result of query "SELECT * FROM `lobbydata`"
93 loop {_servern::*}:
94 loop {_servera::*}:
95 loop {_serverr::*}:
96 loop {_servere::*}:
97 if {_done.%loop-index-1%} is not set:
98 if {_done.%loop-index-2%} is not set:
99 if {_done.%loop-index-3%} is not set:
100 if {_done.%loop-index-4%} is not set:
101 send ""
102 send "&3---=+&c%loop-value-1%&3+=---"
103 send "&dDisplay Name: &e%loop-value-1%"
104 send "&dAddress: &e%loop-value-2%"
105 send "&dRestricted: &e%loop-value-3%"
106 send "&dEnabled: &e%loop-value-4%"
107 send "&3---=+&c%loop-value-1%&3+=---"
108 send ""
109 set {_done.%loop-index-1%} to true
110 set {_done.%loop-index-2%} to true
111 set {_done.%loop-index-3%} to true
112 set {_done.%loop-index-4%} to true
113 else if arg 1 is "create":
114 if arg 2 and arg 3 and arg 4 and arg 5 is set:
115 set {_address} to arg 2
116 set {_restricted} to arg 3
117 set {_enabled} to arg 4
118 set {_display} to arg 5
119 update "INSERT INTO `lobbydata` (`name`, `display`, `restricted`, `enabled`) VALUES ('%{_address}%', '%{_display}%', '%{_restricted}%', '%{_enabled}%')"
120 send "&9Server Selector> &7Created and parsed the following server:"
121 send "&3---=+&c%{_display}%&3+=---"
122 send "&dDisplay Name: &e%{_display}%"
123 send "&dAddress: &e%{_address}%"
124 send "&dRestricted: &e%{_restricted}%"
125 send "&dEnabled: &e%{_enabled}%"
126 send "&3---=+&c%{_display}%&3+=---"
127 send ""
128 else:
129 send "&e/serverselector create (server name) (restricted [true/false]) (enabled [true/false]) (display name)"
130 else if arg 1 is "remove":
131 if arg 2 is set:
132 update "DELETE FROM `lobbydata` WHERE `lobbydata`.`name` = '%arg-2%'"
133 send "&9Server Selector> &7Removed all servers using &a%arg-2% &7as thier address!"
134 else:
135 send "&e/serverselector remove (server name)"
136 else if arg 1 is "enable":
137 if arg 2 is set:
138 update "UPDATE `lobbydata` SET `enabled` = 'true' WHERE `lobbydata`.`name` = '%arg-2%'"
139 send "&9Server Selector> &7Enabled all servers using &a%arg-2% &7as thier address!"
140 else:
141 send "&e/serverselector enable (server name)"
142 else if arg 1 is "disable":
143 if arg 2 is set:
144 update "UPDATE `lobbydata` SET `enabled` = 'false' WHERE `lobbydata`.`name` = '%arg-2%'"
145 send "&9Server Selector> &7Disabled all servers using &a%arg-2% &7as thier address!"
146 else:
147 send "&e/serverselector disable (server name)"