· 6 years ago · Jul 24, 2019, 11:28 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, `cookies` INT(10) 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, 0)"
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% cookies"
117 set {cookies.%player%} to {result}
118
119 make console execute command "/dbget %player's uuid% knockbackffadeathmessages"
120 set {knockbackffadeathmessages} to {result}
121
122 if {knockbackffadeathmessages} is "1":
123
124 set {knockbackffadeathmessages.%player%} to true
125
126 else:
127
128 set {knockbackffadeathmessages.%player%} to false
129
130 make console execute command "/dbget %player's uuid% receive"
131 set {receive} to {result}
132
133 if {receive} is "1":
134
135 set {receive.%player%} to true
136
137 else:
138
139 set {receive.%player%} to false
140
141 make console execute command "/dbget %player's uuid% language"
142 if {result} is "0":
143 set {language.%player%} to "german"
144 else:
145 set {language.%player%} to "english"
146
147#------------------------------------------------------------------------------------
148# MYSQL END |
149# MYSQL END |
150# MYSQL END |
151#------------------------------------------------------------------------------------
152command /language [<text>]:
153 trigger:
154 if server name is "Lobby-1", "Lobby-2" or "Fallback-1":
155 if argument 1 is not set:
156 message ""
157 message ""
158 message ""
159 message "&8» &cPlease select your language with:"
160 message "&8» &e/language &3english"
161 message "&8» &e/language &6german"
162 stop
163 else:
164 if argument 1 is "english":
165 make console execute command "/dbupdate %player's uuid% language 1"
166 wait 1 tick
167 loop 10 times:
168 skungee kick player from bungee due to "&cNew language selected. Please rejoin!"
169 stop
170 if argument 1 is "german":
171 make console execute command "/dbupdate %player's uuid% language 0"
172 wait 1 tick
173 loop 30 times:
174 skungee kick player from bungee due to "&cNeue Sprache ausgewählt. Bitte neu verbinden!"
175 stop
176 else:
177 message ""
178 message ""
179 message ""
180 message "&8» &cPlease select your language with:"
181 message "&8» &e/language &3english"
182 message "&8» &e/language &6german"
183 stop
184 else:
185 message "&8» &cThis command is only available in the lobby"
186
187on join:
188 wait 1 tick
189 while player is online:
190 set {_amount::*} to all of the bungeecord players
191 wait 1 tick
192 set {_players} to size of {_amount::*}
193 wait 3 ticks
194 if server name isn't "SkyPvP" or "CB-1":
195 if network variable {language.%player%} is "english":
196 if network variable {rang.%player%} is "Spieler":
197 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
198 else:
199 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
200 else:
201 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
202 wait 5 seconds
203
204#------------------------------------------------------------------------------------
205# RANG |
206# RANG |
207# RANG |
208#------------------------------------------------------------------------------------
209
210command /rang [<text>] [<text>]:
211 permission: rang.set
212 permission message: &8» &cDazu hast du keine Rechte!
213 trigger:
214 if argument 1 is not set:
215 message "&cSyntax &8» &e/rang <Spieler> <Rang>"
216 stop
217 if argument 1 is set:
218 if argument 2 is set:
219 if player has permission "rang.set.all":
220 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":
221 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"
222 else:
223 execute console command "/pex user %arg 1% group set %arg 2%"
224 broadcast ""
225 broadcast "&e&lRang &8┃ &a&l%arg 1% &7hat den Rang &f%arg 2% &7erhalten!"
226 broadcast ""
227 make console execute command "/dbupdate %{uuid.%arg 1%}% rang %arg 2%"
228 wait 1 tick
229 loop 30 times:
230 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%"
231 stop
232
233 else:
234 message "&8» &cDazu hast du keine Rechte!"
235 if player has permission "rang.set.donator":
236 if argument 2 isn't "YT", "Titan", "Ultra", "JrYT", "Premium" or "Spieler":
237 message "&8» &cDiesen Rang darfst du nicht verteilen, oder er ist nicht vorhanden."
238 else:
239 execute console command "/pex user %arg 1% group set %arg 2%"
240 broadcast ""
241 broadcast "&e&lRang &8┃ &a&l%arg 1% &7hat den Rang &f%arg 2% &7erhalten!"
242 broadcast ""
243 make console execute command "/dbupdate %{uuid.%arg 1%}% rang %arg 2%"
244 wait 1 tick
245 loop 30 times:
246 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%"
247 stop
248 else:
249 message "&8» &cDazu hast du keine Rechte!"
250
251on join:
252 wait 1 second
253 if {rang.%player%} is "Owner":
254 execute console command "/pex user %player% group set Owner"
255 stop
256 if {rang.%player%} is "Admin":
257 execute console command "/pex user %player% group set Admin"
258 stop
259 if {rang.%player%} is "Dev":
260 execute console command "/pex user %player% group set Dev"
261 stop
262 if {rang.%player%} is "SrMod":
263 execute console command "/pex user %player% group set SrMod"
264 stop
265 if {rang.%player%} is "Mod":
266 execute console command "/pex user %player% group set Mod"
267 stop
268 if {rang.%player%} is "BauLeitung":
269 execute console command "/pex user %player% group set BauLeitung"
270 stop
271 if {rang.%player%} is "SupPlus":
272 execute console command "/pex user %player% group set SupPlus"
273 stop
274 if {rang.%player%} is "Sup":
275 execute console command "/pex user %player% group set Sup"
276 stop
277 if {rang.%player%} is "TestSup":
278 execute console command "/pex user %player% group set TestSup"
279 stop
280 if {rang.%player%} is "BauTeam":
281 execute console command "/pex user %player% group set BauTeam"
282 stop
283 if {rang.%player%} is "Legende":
284 execute console command "/pex user %player% group set Legende"
285 stop
286 if {rang.%player%} is "Builder":
287 execute console command "/pex user %player% group set Builder"
288 stop
289 if {rang.%player%} is "YT":
290 execute console command "/pex user %player% group set YT"
291 stop
292 if {rang.%player%} is "Elite":
293 execute console command "/pex user %player% group set Elite"
294 stop
295 if {rang.%player%} is "Titan":
296 execute console command "/pex user %player% group set Titan"
297 stop
298 if {rang.%player%} is "Ultra":
299 execute console command "/pex user %player% group set Ultra"
300 stop
301 if {rang.%player%} is "JrYT":
302 execute console command "/pex user %player% group set JrYT"
303 stop
304 if {rang.%player%} is "Premium":
305 execute console command "/pex user %player% group set Premium"
306 stop
307 if {rang.%player%} is "Spieler":
308 execute console command "/pex user %player% group set Spieler"
309 stop
310
311#------------------------------------------------------------------------------------
312# MESSAGE |
313# MESSAGE |
314# MESSAGE |
315#------------------------------------------------------------------------------------
316command /message [<Player>] [<Text>]:
317 aliases: /msg,/tell
318 trigger:
319 if argument 1 is not set:
320 message "&8» &cDu musst einen &4gültigen &cSpieler eingeben!"
321 message "&8» &e/message <Spieler> <Nachricht>"
322 stop
323 else:
324 if argument 2 is not set:
325 message "&8» &cDu musst eine Nachricht eingeben!"
326 message "&8» &e/message <Spieler> <Nachricht>"
327 stop
328 else:
329 if argument 1 = player:
330 stop
331 else:
332 if {receive.%arg 1%} is false:
333 message "&7[&4MSG&7] &cDieser Spieler möchte keine Nachrichten erhalten."
334 stop
335 else:
336 message "&7[&4MSG&7] &e%player% &8➜ &eDir&8: &7%arg 2%" to argument 1
337 message "&7[&4MSG&7] &eMir &8➜ &e%arg 1%&8: &7%arg 2%" to player
338 execute console command "/playsound random.pop %arg 1% ~ ~ ~ 1 2 1"
339 stop
340command /msgtoggle:
341 trigger:
342 if {receive.%player%} is not set:
343 set {receive.%player%} to true
344 make console execute command "/dbupdate %{uuid.%player%}% receive 1"
345 message "&7[&4MSG&7] &7Du erhälst nun &awieder &7priate Nachrichten."
346 exit
347 if {receive.%player%} is false:
348 set {receive.%player%} to true
349 make console execute command "/dbupdate %{uuid.%player%}% receive 1"
350 message "&7[&4MSG&7] &7Du erhälst nun &awieder &7priate Nachrichten."
351 exit
352 if {receive.%player%} is true:
353 set {receive.%player%} to false
354 make console execute command "/dbupdate %{uuid.%player%}% receive 0"
355 message "&7[&4MSG&7] &7Du erhälst nun &ckeine &7priate Nachrichten mehr."
356
357
358
359command /deleteallbanentrys <text>:
360 permission: "*"
361 trigger:
362 delete {mlgrushban.%arg 1%}
363 message "&a%arg 1% kann nun wieder spielen."
364 stop