· 6 years ago · Jul 24, 2019, 11:24 AM
1#------------------------------------------------------------------------------------
2# MYSQL |
3# MYSQL |
4# MYSQL |
5#------------------------------------------------------------------------------------
6script options:
7 $ db url jdbc:mysql://193.37.152.198:3306/matrixmc
8 $ db username exonip
9 $ db password z!4AZAzr8jm6Taxvv6^Z$N_Tf&J7G6L5GcGaE@NecVsdFc-QeUYG!2YEJrAnk=RREceEy9VZSt
10
11options:
12 debug: true
13
14#------------------------------------------------------------------------------------
15# CREATE DATABASE |
16# CREATE DATABASE |
17# CREATE DATABASE |
18#------------------------------------------------------------------------------------
19On script load:
20 update "CREATE TABLE IF NOT EXISTS `players` (`uuid` VARCHAR(100) NOT NULL,`name` VARCHAR(255) NOT NULL,`rang` VARCHAR(255) NOT NULL,`coins` INT(20) NOT NULL,`language` INT(1) NOT NULL, `receive` INT(1) NOT NULL, `knockbackffadeathmessages` INT(1) NOT NULL, UNIQUE INDEX `uuid` (`uuid`))"
21 send "[MYSQL] Das Mysql System wurde erfolgreich geladen" to console
22
23#------------------------------------------------------------------------------------
24# INSERT FUNCTION |
25# INSERT FUNCTION |
26# INSERT FUNCTION |
27#------------------------------------------------------------------------------------
28command /dbinsert [<text>] [<text>] [<text>] [<text>] [<text>]:
29 permission: "*"
30 trigger:
31 set {query} to "INSERT INTO `players` (`uuid`,`name`, `rang`,`coins`,`language`, `receive`, `knockbackffadeathmessages`) VALUES ('%arg 1%', '%arg 2%', '%arg 3%', '%arg 4%', '%arg 5%', 1, 1)"
32 update {query}
33 if {@debug} is true:
34 send "[MYSQL] Query: %{query}%" to console
35
36#------------------------------------------------------------------------------------
37# DELETE FUNCTION |
38# DELETE FUNCTION |
39# DELETE FUNCTION |
40#------------------------------------------------------------------------------------
41command /dbdelete [<text>]:
42 permission: "*"
43 trigger:
44 set {query} to "DELETE FROM `players` WHERE `uuid` = '%arg 1%'"
45 update {query}
46 if {@debug} is true:
47 send "[MYSQL] Query: %{query}%" to console
48#------------------------------------------------------------------------------------
49# UPDATE FUNCTION |
50# UPDATE FUNCTION |
51# UPDATE FUNCTION |
52#------------------------------------------------------------------------------------
53
54command /dbupdate [<text>] [<text>] [<text>]:
55 permission: "*"
56 trigger:
57 set {query} to "UPDATE `players` SET `%arg 2%` = '%arg 3%' WHERE `uuid` = '%arg 1%'"
58 update {query}
59 if {@debug} is true:
60 send "[MYSQL] Query: %{query}%" to console
61
62
63
64#------------------------------------------------------------------------------------
65# GET FUNCTION |
66# GET FUNCTION |
67# GET FUNCTION |
68#------------------------------------------------------------------------------------
69command /dbget [<text>] [<text>]:
70 permission: "*"
71 trigger:
72 set {_uuid} to arg 1
73 set {_name} to arg 2
74 set {query} to "SELECT %{_name}% FROM players WHERE uuid = '%{_uuid}%'"
75 if {@debug} is true:
76 send "[MYSQL] Query: %{query}%" to console
77 set {_SetResult::*} to objects in column {_name} from result of query {query}
78 delete {_GetResult}
79 loop {_SetResult::*}:
80 If loop-value is set:
81 set {_GetResult} to loop-value
82 If {_GetResult} is set:
83 delete {result}
84 set {result} to {_GetResult}
85 send {_GetResult}
86 else:
87 delete {result}
88 set {result} to "ERROR"
89 send "ERROR"
90
91#------------------------------------------------------------------------------------
92# DB JOIN EVENT |
93# DB JOIN EVENT |
94# DB JOIN EVENT |
95#------------------------------------------------------------------------------------
96on join:
97 make console execute command "/dbget %player's uuid% name"
98 set {uuid} to player's uuid
99 set {name} to player's name
100 if {result} is not {name}:
101 if {result} is "ERROR":
102 make console execute command "/dbinsert %{uuid}% %{name}% Spieler 100 0"
103 else:
104 make console execute command "/dbupdate %{uuid}% name %{name}%"
105
106on join:
107 wait 5 ticks
108 set {uuid.%player%} to player's uuid
109
110 make console execute command "/dbget %player's uuid% rang"
111 set {rang.%player%} to {result}
112
113 make console execute command "/dbget %player's uuid% coins"
114 set {coins.%player%} to {result}
115
116 make console execute command "/dbget %player's uuid% knockbackffadeathmessages"
117 set {knockbackffadeathmessages} to {result}
118
119 if {knockbackffadeathmessages} is "1":
120
121 set {knockbackffadeathmessages.%player%} to true
122
123 else:
124
125 set {knockbackffadeathmessages.%player%} to false
126
127 make console execute command "/dbget %player's uuid% receive"
128 set {receive} to {result}
129
130 if {receive} is "1":
131
132 set {receive.%player%} to true
133
134 else:
135
136 set {receive.%player%} to false
137
138 make console execute command "/dbget %player's uuid% language"
139 if {result} is "0":
140 set {language.%player%} to "german"
141 else:
142 set {language.%player%} to "english"
143
144#------------------------------------------------------------------------------------
145# MYSQL END |
146# MYSQL END |
147# MYSQL END |
148#------------------------------------------------------------------------------------
149command /language [<text>]:
150 trigger:
151 if server name is "Lobby-1", "Lobby-2" or "Fallback-1":
152 if argument 1 is not set:
153 message ""
154 message ""
155 message ""
156 message "&8» &cPlease select your language with:"
157 message "&8» &e/language &3english"
158 message "&8» &e/language &6german"
159 stop
160 else:
161 if argument 1 is "english":
162 make console execute command "/dbupdate %player's uuid% language 1"
163 wait 1 tick
164 loop 10 times:
165 skungee kick player from bungee due to "&cNew language selected. Please rejoin!"
166 stop
167 if argument 1 is "german":
168 make console execute command "/dbupdate %player's uuid% language 0"
169 wait 1 tick
170 loop 30 times:
171 skungee kick player from bungee due to "&cNeue Sprache ausgewählt. Bitte neu verbinden!"
172 stop
173 else:
174 message ""
175 message ""
176 message ""
177 message "&8» &cPlease select your language with:"
178 message "&8» &e/language &3english"
179 message "&8» &e/language &6german"
180 stop
181 else:
182 message "&8» &cThis command is only available in the lobby"
183
184on join:
185 wait 1 tick
186 while player is online:
187 set {_amount::*} to all of the bungeecord players
188 wait 1 tick
189 set {_players} to size of {_amount::*}
190 wait 3 ticks
191 if server name isn't "SkyPvP" or "CB-1":
192 if network variable {language.%player%} is "english":
193 if network variable {rang.%player%} is "Spieler":
194 set tab header to " &2&lMatrixMC&8.&a&lDE &7» &e%server name%%nl%&8➥ &7Name&8: &e%player% &8┃ &7Global Coins&8: &e&o%{coins.%player%}%%nl%&7Your rank&8: &7default%nl%&7 &2 &1 &8 &2 " and footer to "&7%nl% &8» &eTeamSpeak &8● &7ts.MatrixMC.de%nl%&8» &eForum &8● &7forum.MatrixMC.de%nl%&a%{_players}% &8➜ &7100" for player
195 else:
196 set tab header to " &2&lMatrixMC&8.&a&lDE &7» &e%server name%%nl%&8➥ &7Name&8: &e%player% &8┃ &7Global Coins&8: &e&o%{coins.%player%}%%nl%&7Your rank&8: &7%{rang.%player%}%%nl%&7 &2 &1 &8 &2 " and footer to "&7%nl% &8» &eTeamSpeak &8● &7ts.MatrixMC.de%nl%&8» &eForum &8● &7forum.MatrixMC.de%nl%&a%{_players}% &8➜ &7100" for player
197 else:
198 set tab header to " &2&lMatrixMC&8.&a&lDE &7» &e%server name%%nl%&8➥ &7Name&8: &e%player% &8┃ &7Global Coins&8: &e&o%{coins.%player%}%%nl%&7Dein Rang&8: &7%{rang.%player%}%%nl%&7 &2 &1 &8 &2 " and footer to "&7%nl% &8» &eTeamSpeak &8● &7ts.MatrixMC.de%nl%&8» &eForum &8● &7forum.MatrixMC.de%nl%&a%{_players}% &8➜ &7100" for player
199 wait 5 seconds
200
201#------------------------------------------------------------------------------------
202# RANG |
203# RANG |
204# RANG |
205#------------------------------------------------------------------------------------
206
207command /rang [<text>] [<text>]:
208 permission: rang.set
209 permission message: &8» &cDazu hast du keine Rechte!
210 trigger:
211 if argument 1 is not set:
212 message "&cSyntax &8» &e/rang <Spieler> <Rang>"
213 stop
214 if argument 1 is set:
215 if argument 2 is set:
216 if player has permission "rang.set.all":
217 if argument 2 isn't "Owner", "Admin", "Dev", "SrMod", "Mod", "BauLeitung", "SupPlus", "Sup", "TestSup", "BauTeam", "Legende", "Builder", "YT", "Elite", "Titan", "Ultra", "JrYT", "Premium" or "Spieler":
218 message "&8» &7Verfügbare Ränge&8: &7Spieler&8, &6Premium&8, &dJrYT&8, &2Ultra&8, &bTitan&8, &eElite&8, &5YT&8, &eBuilder&8, &3Legende&8, &eBauTeam&8, &aTestSup&8, &9Sup&8, &1SupPlus&8, &6BauLeitung&8, &cMod&8, &cSrMod&8, &3Dev&8, &4Admin &8oder &4Owner"
219 else:
220 execute console command "/pex user %arg 1% group set %arg 2%"
221 broadcast ""
222 broadcast "&e&lRang &8┃ &a&l%arg 1% &7hat den Rang &f%arg 2% &7erhalten!"
223 broadcast ""
224 make console execute command "/dbupdate %{uuid.%arg 1%}% rang %arg 2%"
225 wait 1 tick
226 loop 30 times:
227 skungee kick argument 1 from bungee due to "&8« &2&lMatrixMC&7.&a&lDE &8»%nl%%nl%&aDu hast einen neuen Rang erhalten!%nl%&8» &e&l%arg 2%"
228 stop
229
230 else:
231 message "&8» &cDazu hast du keine Rechte!"
232 if player has permission "rang.set.donator":
233 if argument 2 isn't "YT", "Titan", "Ultra", "JrYT", "Premium" or "Spieler":
234 message "&8» &cDiesen Rang darfst du nicht verteilen, oder er ist nicht vorhanden."
235 else:
236 execute console command "/pex user %arg 1% group set %arg 2%"
237 broadcast ""
238 broadcast "&e&lRang &8┃ &a&l%arg 1% &7hat den Rang &f%arg 2% &7erhalten!"
239 broadcast ""
240 make console execute command "/dbupdate %{uuid.%arg 1%}% rang %arg 2%"
241 wait 1 tick
242 loop 30 times:
243 skungee kick argument 1 from bungee due to "&8« &2&lMatrixMC&7.&a&lDE &8»%nl%%nl%&aDu hast einen neuen Rang erhalten!%nl%&8» &e&l%arg 2%"
244 stop
245 else:
246 message "&8» &cDazu hast du keine Rechte!"
247
248on join:
249 wait 1 second
250 if {rang.%player%} is "Owner":
251 execute console command "/pex user %player% group set Owner"
252 stop
253 if {rang.%player%} is "Admin":
254 execute console command "/pex user %player% group set Admin"
255 stop
256 if {rang.%player%} is "Dev":
257 execute console command "/pex user %player% group set Dev"
258 stop
259 if {rang.%player%} is "SrMod":
260 execute console command "/pex user %player% group set SrMod"
261 stop
262 if {rang.%player%} is "Mod":
263 execute console command "/pex user %player% group set Mod"
264 stop
265 if {rang.%player%} is "BauLeitung":
266 execute console command "/pex user %player% group set BauLeitung"
267 stop
268 if {rang.%player%} is "SupPlus":
269 execute console command "/pex user %player% group set SupPlus"
270 stop
271 if {rang.%player%} is "Sup":
272 execute console command "/pex user %player% group set Sup"
273 stop
274 if {rang.%player%} is "TestSup":
275 execute console command "/pex user %player% group set TestSup"
276 stop
277 if {rang.%player%} is "BauTeam":
278 execute console command "/pex user %player% group set BauTeam"
279 stop
280 if {rang.%player%} is "Legende":
281 execute console command "/pex user %player% group set Legende"
282 stop
283 if {rang.%player%} is "Builder":
284 execute console command "/pex user %player% group set Builder"
285 stop
286 if {rang.%player%} is "YT":
287 execute console command "/pex user %player% group set YT"
288 stop
289 if {rang.%player%} is "Elite":
290 execute console command "/pex user %player% group set Elite"
291 stop
292 if {rang.%player%} is "Titan":
293 execute console command "/pex user %player% group set Titan"
294 stop
295 if {rang.%player%} is "Ultra":
296 execute console command "/pex user %player% group set Ultra"
297 stop
298 if {rang.%player%} is "JrYT":
299 execute console command "/pex user %player% group set JrYT"
300 stop
301 if {rang.%player%} is "Premium":
302 execute console command "/pex user %player% group set Premium"
303 stop
304 if {rang.%player%} is "Spieler":
305 execute console command "/pex user %player% group set Spieler"
306 stop
307
308#------------------------------------------------------------------------------------
309# MESSAGE |
310# MESSAGE |
311# MESSAGE |
312#------------------------------------------------------------------------------------
313command /message [<Player>] [<Text>]:
314 aliases: /msg,/tell
315 trigger:
316 if argument 1 is not set:
317 message "&8» &cDu musst einen &4gültigen &cSpieler eingeben!"
318 message "&8» &e/message <Spieler> <Nachricht>"
319 stop
320 else:
321 if argument 2 is not set:
322 message "&8» &cDu musst eine Nachricht eingeben!"
323 message "&8» &e/message <Spieler> <Nachricht>"
324 stop
325 else:
326 if argument 1 = player:
327 stop
328 else:
329 if {receive.%arg 1%} is false:
330 message "&7[&4MSG&7] &cDieser Spieler möchte keine Nachrichten erhalten."
331 stop
332 else:
333 message "&7[&4MSG&7] &e%player% &8➜ &eDir&8: &7%arg 2%" to argument 1
334 message "&7[&4MSG&7] &eMir &8➜ &e%arg 1%&8: &7%arg 2%" to player
335 execute console command "/playsound random.pop %arg 1% ~ ~ ~ 1 2 1"
336 stop
337command /msgtoggle:
338 trigger:
339 if {receive.%player%} is not set:
340 set {receive.%player%} to true
341 make console execute command "/dbupdate %{uuid.%player%}% receive 1"
342 message "&7[&4MSG&7] &7Du erhälst nun &awieder &7priate Nachrichten."
343 exit
344 if {receive.%player%} is false:
345 set {receive.%player%} to true
346 make console execute command "/dbupdate %{uuid.%player%}% receive 1"
347 message "&7[&4MSG&7] &7Du erhälst nun &awieder &7priate Nachrichten."
348 exit
349 if {receive.%player%} is true:
350 set {receive.%player%} to false
351 make console execute command "/dbupdate %{uuid.%player%}% receive 0"
352 message "&7[&4MSG&7] &7Du erhälst nun &ckeine &7priate Nachrichten mehr."
353
354
355
356command /deleteallbanentrys <text>:
357 permission: "*"
358 trigger:
359 delete {mlgrushban.%arg 1%}
360 message "&a%arg 1% kann nun wieder spielen."
361 stop