Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # ============================================================================ #
- # = ******************************** Skript ******************************** = #
- # ============================================================================ #
- # ============================================================================ #
- function logsAction(type: text, p: text, t: text):
- set {_player} to {_p} parsed as offline player
- set {_s} to "%now%"
- set {_now} to subtext of {_s} from characters 1 to (the length of {_s} - 6)
- replace every "/" with "_" in {_now}
- if file "plugins/BetterLogs/players/%{_player}%/%{_now}%.log" does not exist:
- if {_type} is not "console_commands":
- create file "plugins/BetterLogs/players/%{_player}%/%{_now}%.log"
- set {_option.global.%{_type}%} to yaml value "global.join" from file "plugins/BetterLogs/config.yml"
- set {_option.players.%{_type}%} to yaml value "players.join" from file "plugins/BetterLogs/config.yml"
- set {_language.global.%{_type}%} to yaml value "language.global.%{_type}%" from file "plugins/BetterLogs/language.yml"
- set {_language.players.%{_type}%} to yaml value "language.players.%{_type}%" from file "plugins/BetterLogs/language.yml"
- if {_type} is "join" or "quit" or "chat" or "commands" or "console_commands" or "block_break" or "block_place" or "death" or "kill":
- replace every "{now}" with "%now%" in {_language.global.%{_type}%}
- replace every "{now}" with "%now%" in {_language.players.%{_type}%}
- replace every "{player}" with "%{_player}%" in {_language.global.%{_type}%}
- replace every "{player}" with "%{_player}%" in {_language.players.%{_type}%}
- if {_type} is "join" or "quit" or "chat" or "commands" or "console_commands" or "block_break" or "block_place":
- replace every "{ip of player}" with "%ip of {_player}%" in {_language.global.%{_type}%}
- replace every "{ip of player}" with "%ip of {_player}%" in {_language.players.%{_type}%}
- replace every "{uuid of player}" with "%uuid of {_player}%" in {_language.global.%{_type}%}
- replace every "{uuid of player}" with "%uuid of {_player}%" in {_language.players.%{_type}%}
- if {_type} is "chat":
- replace every "{message}" with "%{_t}%" in {_language.global.%{_type}%}
- replace every "{message}" with "%{_t}%" in {_language.players.%{_type}%}
- if {_type} is "commands" or "console_commands":
- replace every "{complete command}" with "%{_t}%" in {_language.global.%{_type}%}
- replace every "{complete command}" with "%{_t}%" in {_language.players.%{_type}%}
- if {_type} is "block_break" or "block_place":
- set {_block} to {_t} parsed as item
- replace every "{location of event-block}" with "%location of {_block}%" in {_language.global.%{_type}%}
- replace every "{location of event-block}" with "%location of {_block}%" in {_language.players.%{_type}%}
- replace every "{event-block}" with "%{_block}%" in {_language.global.%{_type}%}
- replace every "{event-block}" with "%{_block}%" in {_language.players.%{_type}%}
- if {_type} is "death":
- set {_attacker} to {_t} parsed as player
- replace every "{ip of victim}" with "%ip of {_player}%" in {_language.global.%{_type}%}
- replace every "{uuid of victim}" with "%uuid of {_player}%" in {_language.global.%{_type}%}
- replace every "{ip of attacker}" with "%ip of {_attacker}%" in {_language.global.%{_type}%}
- replace every "{uuid of attacker}" with "%uuid of {_attacker}%" in {_language.global.%{_type}%}
- replace every "{attacker}" with "%{_attacker}%" in {_language.global.%{_type}%}
- replace every "{location of attacker}" with "%location of {_attacker}%" in {_language.global.%{_type}%}
- replace every "{victim}" with "%{_player}%" in {_language.global.%{_type}%}
- replace every "{location of victim}" with "%location of {_player}%" in {_language.global.%{_type}%}
- replace every "{ip of victim}" with "%ip of {_player}%" in {_language.players.%{_type}%}
- replace every "{uuid of victim}" with "%uuid of {_player}%" in {_language.players.%{_type}%}
- replace every "{ip of attacker}" with "%ip of {_attacker}%" in {_language.players.%{_type}%}
- replace every "{uuid of attacker}" with "%uuid of {_attacker}%" in {_language.players.%{_type}%}
- replace every "{attacker}" with "%{_attacker}%" in {_language.players.%{_type}%}
- replace every "{location of attacker}" with "%location of {_attacker}%" in {_language.players.%{_type}%}
- replace every "{victim}" with "%{_player}%" in {_language.players.%{_type}%}
- replace every "{location of victim}" with "%location of {_player}%" in {_language.players.%{_type}%}
- if {_type} is "kill":
- set {_victim} to {_t} parsed as player
- replace every "{ip of victim}" with "%ip of {_victim}%" in {_language.global.%{_type}%}
- replace every "{uuid of victim}" with "%uuid of {_victim}%" in {_language.global.%{_type}%}
- replace every "{ip of attacker}" with "%ip of {_player}%" in {_language.global.%{_type}%}
- replace every "{uuid of attacker}" with "%uuid of {_player}%" in {_language.global.%{_type}%}
- replace every "{attacker}" with "%{_player}%" in {_language.global.%{_type}%}
- replace every "{location of attacker}" with "%location of {_player}%" in {_language.global.%{_type}%}
- replace every "{victim}" with "%{_victim}%" in {_language.global.%{_type}%}
- replace every "{location of victim}" with "%location of {_victim}%" in {_language.global.%{_type}%}
- replace every "{ip of victim}" with "%ip of {_victim}%" in {_language.players.%{_type}%}
- replace every "{uuid of victim}" with "%uuid of {_victim}%" in {_language.players.%{_type}%}
- replace every "{ip of attacker}" with "%ip of {_player}%" in {_language.players.%{_type}%}
- replace every "{uuid of attacker}" with "%uuid of {_player}%" in {_language.players.%{_type}%}
- replace every "{attacker}" with "%{_player}%" in {_language.players.%{_type}%}
- replace every "{location of attacker}" with "%location of {_player}%" in {_language.players.%{_type}%}
- replace every "{victim}" with "%{_victim}%" in {_language.players.%{_type}%}
- replace every "{location of victim}" with "%location of {_victim}%" in {_language.players.%{_type}%}
- if {_type} is "join" or "quit" or "chat" or "commands" or "death" or "kill":
- if {_option.global.%{_type}%} is true:
- write "%{_language.global.%{_type}%}%" at line (file "plugins/BetterLogs/global/%{_now}%.log"'s line count + 1) to file "plugins/BetterLogs/global/%{_now}%.log"
- if {_option.players.%{_type}%} is true:
- write "%{_language.players.%{_type}%}%" at line (file "plugins/BetterLogs/players/%{_player}%/%{_now}%.log"'s line count + 1) to file "plugins/BetterLogs/players/%{_player}%/%{_now}%.log"
- else if {_type} is "console_commands":
- if {_option.global.console_commands} is true:
- write "%{_language.global.console_commands}%" at line (file "plugins/BetterLogs/global/%{_now}%.log"'s line count + 1) to file "plugins/BetterLogs/global/%{_now}%.log"
- if {_option.players.console_commands} is true:
- write "%{_language.players.console_commands}%" at line (file "plugins/BetterLogs/console/%{_now}%.log"'s line count + 1) to file "plugins/BetterLogs/console/%{_now}%.log"
- # ============================================================================ #
- function logsPurge(type: text):
- if {_type} is "console":
- set {_name::*} to directory "plugins/BetterLogs/console/"'s files
- else if {_type} is "global":
- set {_name::*} to directory "plugins/BetterLogs/global/"'s files
- else:
- set {_player} to {_type} parsed as offline player
- set {_name::*} to directory "plugins/BetterLogs/players/%{_player}%/"'s files
- loop {_name::*}:
- add 1 to {_size}
- if {_low.to.high.list::%loop-value%} is not set:
- set {_low.to.high.list::%loop-value%} to loop-index
- else:
- set {_n} to 0
- loop {_size} times:
- set {_n} to {_n}+1
- {_low.to.high.list::%loop-value-1%.%{_n}%} is not set
- set {_low.to.high.list::%loop-value-1%.%{_n}%} to loop-index
- stop loop
- wait 1 tick
- set {_n} to size of {_low.to.high.list::*}
- loop {_low.to.high.list::*}:
- set {_high.to.low.list::%{_n}%} to loop-value
- set {_n} to {_n}-1
- wait 1 tick
- set {_i} to 0
- set {_purge.files} to yaml value "purge.files" from file "plugins/BetterLogs/config.yml"
- set {_purge.parsed.files} to {_purge.files} parsed as a number
- loop {_high.to.low.list::*}:
- add 1 to {_i}
- add 1 to {_topnumber}
- if {_topnumber} > {_purge.parsed.files}:
- delete file "%{_name::%loop-value%}%"
- if {_topnumber} > 365:
- stop
- # ============================================================================ #
- on script load:
- set {_s} to "%now%"
- set {_now} to subtext of {_s} from characters 1 to (the length of {_s} - 6)
- replace every "/" with "_" in {_now}
- if file "plugins/BetterLogs/global/%{_now}%.log" does not exist:
- create file "plugins/BetterLogs/global/%{_now}%.log"
- send "&7[&b!&7] Le fichier de log global a été généré." to all ops
- if file "plugins/BetterLogs/console/%{_now}%.log" does not exist:
- create file "plugins/BetterLogs/console/%{_now}%.log"
- send "&7[&b!&7] Le fichier de log console a été généré." to all ops
- if file "plugins/BetterLogs/config.yml" does not exist:
- create file "plugins/BetterLogs/config.yml"
- write "## ===================================================== ##" at line 1 to file "plugins/BetterLogs/config.yml"
- write "## BetterLogs 2.0 - Lemrigue ##" at line 2 to file "plugins/BetterLogs/config.yml"
- write "## https://skript-mc.fr/forum/resources/betterlogs.1149/ ##" at line 3 to file "plugins/BetterLogs/config.yml"
- write "## ===================================================== ##" at line 4 to file "plugins/BetterLogs/config.yml"
- write "## " at line 5 to file "plugins/BetterLogs/config.yml"
- write "## global: Log les actions des joueurs dans un fichier global à la date du jour." at line 6 to file "plugins/BetterLogs/config.yml"
- write "## " at line 7 to file "plugins/BetterLogs/config.yml"
- write "## players: Log les actions des joueurs dans un fichier à leur nom." at line 8 to file "plugins/BetterLogs/config.yml"
- write "## " at line 9 to file "plugins/BetterLogs/config.yml"
- write "## purge: Permet de supprimés automatiquement les fichiers les plus anciens après avoir atteint le nombre 'files'." at line 10 to file "plugins/BetterLogs/config.yml"
- set yaml value "global.join" from file "plugins/BetterLogs/config.yml" to true
- set yaml value "global.quit" from file "plugins/BetterLogs/config.yml" to true
- set yaml value "global.chat" from file "plugins/BetterLogs/config.yml" to true
- set yaml value "global.commands" from file "plugins/BetterLogs/config.yml" to true
- set yaml value "global.console_commands" from file "plugins/BetterLogs/config.yml" to true
- set yaml value "global.block_break" from file "plugins/BetterLogs/config.yml" to false
- set yaml value "global.block_place" from file "plugins/BetterLogs/config.yml" to false
- set yaml value "global.death" from file "plugins/BetterLogs/config.yml" to true
- set yaml value "global.kill" from file "plugins/BetterLogs/config.yml" to true
- set yaml value "players.join" from file "plugins/BetterLogs/config.yml" to true
- set yaml value "players.quit" from file "plugins/BetterLogs/config.yml" to true
- set yaml value "players.chat" from file "plugins/BetterLogs/config.yml" to true
- set yaml value "players.commands" from file "plugins/BetterLogs/config.yml" to true
- set yaml value "players.console_commands" from file "plugins/BetterLogs/config.yml" to true
- set yaml value "players.block_break" from file "plugins/BetterLogs/config.yml" to true
- set yaml value "players.block_place" from file "plugins/BetterLogs/config.yml" to true
- set yaml value "players.death" from file "plugins/BetterLogs/config.yml" to true
- set yaml value "players.kill" from file "plugins/BetterLogs/config.yml" to true
- set yaml value "purge.files" from file "plugins/BetterLogs/config.yml" to "7"
- send "&7[&c!&7] Configuration BetterLogs introuvable » fichier créé." to all ops
- if file "plugins/BetterLogs/language.yml" does not exist:
- create file "plugins/BetterLogs/language.yml"
- write "## ===================================================== ##" at line 1 to file "plugins/BetterLogs/language.yml"
- write "## BetterLogs 2.0 - Lemrigue ##" at line 2 to file "plugins/BetterLogs/language.yml"
- write "## https://skript-mc.fr/forum/resources/betterlogs.1149/ ##" at line 3 to file "plugins/BetterLogs/language.yml"
- write "## ===================================================== ##" at line 4 to file "plugins/BetterLogs/language.yml"
- write "## " at line 5 to file "plugins/BetterLogs/language.yml"
- write "## Variables possibles n'importe où : {player} {ip of player} {uuid of player} {now}" at line 6 to file "plugins/BetterLogs/language.yml"
- write "## Variables message : {message}" at line 7 to file "plugins/BetterLogs/language.yml"
- write "## Variables command : {complete command}" at line 8 to file "plugins/BetterLogs/language.yml"
- write "## Variables blocs : {event-block} {location of event-block}" at line 9 to file "plugins/BetterLogs/language.yml"
- write "## Variables kill/mort : {attacker} {location of attacker} {victim} {location of victim} {ip of victim} {uuid of victim} {ip of attacker} {uuid of attacker}" at line 10 to file "plugins/BetterLogs/language.yml"
- write "## " at line 11 to file "plugins/BetterLogs/language.yml"
- set yaml value "language.players.join" from file "plugins/BetterLogs/language.yml" to "[{now}][CONNEXION]"
- set yaml value "language.players.quit" from file "plugins/BetterLogs/language.yml" to "[{now}][DÉCONNEXION]"
- set yaml value "language.players.chat" from file "plugins/BetterLogs/language.yml" to "[{now}][CHAT] {message}"
- set yaml value "language.players.commands" from file "plugins/BetterLogs/language.yml" to "[{now}][COMMANDE] «/{complete command}»"
- set yaml value "language.players.console_commands" from file "plugins/BetterLogs/language.yml" to "[{now}][COMMANDE] «/{complete command}»"
- set yaml value "language.players.block_break" from file "plugins/BetterLogs/language.yml" to "[{now}][BLOC CASSÉ] {event-block} ({location of event-block})"
- set yaml value "language.players.block_place" from file "plugins/BetterLogs/language.yml" to "[{now}][BLOC PLACÉ] {event-block} ({location of event-block})"
- set yaml value "language.players.death" from file "plugins/BetterLogs/language.yml" to "[{now}][MORT] Tueur: {attacker} ({location of victim})"
- set yaml value "language.players.kill" from file "plugins/BetterLogs/language.yml" to "[{now}][KILL] Victime: {victim} ({location of attacker})"
- set yaml value "language.global.join" from file "plugins/BetterLogs/language.yml" to "[{now}] {player} a rejoint la partie."
- set yaml value "language.global.quit" from file "plugins/BetterLogs/language.yml" to "[{now}] {player} a quitté la partie."
- set yaml value "language.global.chat" from file "plugins/BetterLogs/language.yml" to "[{now}] {player}: {message}"
- set yaml value "language.global.commands" from file "plugins/BetterLogs/language.yml" to "[{now}] {player}: «/{complete command}»"
- set yaml value "language.global.console_commands" from file "plugins/BetterLogs/language.yml" to "[{now}][CONSOLE] «/{complete command}»"
- set yaml value "language.global.block_break" from file "plugins/BetterLogs/language.yml" to "[{now}] {player} a cassé le bloc {event-block} ({location of event-block})"
- set yaml value "language.global.block_place" from file "plugins/BetterLogs/language.yml" to "[{now}] {player} a placé le bloc {event-block} ({location of event-block})"
- set yaml value "language.global.death" from file "plugins/BetterLogs/language.yml" to "[{now}] {victim} a été tué par {attacker} (victime : {location of victim})"
- set yaml value "language.global.kill" from file "plugins/BetterLogs/language.yml" to "[{now}] {attacker} a tué {victim} (tueur : {location of attacker})"
- send "&7[&c!&7] Langage Logs introuvable » fichier créé." to all ops
- logsPurge("console")
- logsPurge("global")
- # ============================================================================ #
- on join:
- logsAction("join", "%player%", "none")
- wait 2 seconds
- logsPurge("%player%")
- on quit:
- logsAction("quit", "%player%", "none")
- on chat:
- logsAction("chat", "%player%", "%message%")
- on command:
- if command sender is the player:
- logsAction("commands", "%player%", "%complete command%")
- else if command sender is the console:
- logsAction("console_commands", "console", "%complete command%")
- on death of a player:
- if victim is the player:
- logsAction("death", "%victim%", "%attacker%")
- if attacker is the player:
- logsAction("kill", "%attacker%", "%victim%")
- on break:
- set {_option.global.block_break} to yaml value "global.block_break" from file "plugins/BetterLogs/config.yml"
- set {_option.players.block_break} to yaml value "players.block_break" from file "plugins/BetterLogs/config.yml"
- set {_s} to "%now%"
- set {_now} to subtext of {_s} from characters 1 to (the length of {_s} - 6)
- replace every "/" with "_" in {_now}
- if file "plugins/BetterLogs/players/%player%/%{_now}%.log" does not exist:
- create file "plugins/BetterLogs/players/%player%/%{_now}%.log"
- if {_option.global.block_break} is true:
- set {_language.global.block_break} to yaml value "language.global.block_break" from file "plugins/BetterLogs/language.yml"
- replace every "{now}" with "%now%" in {_language.global.block_break}
- replace every "{player}" with "%player%" in {_language.global.block_break}
- replace every "{ip of player}" with "%ip of player%" in {_language.global.block_break}
- replace every "{uuid of player}" with "%uuid of player%" in {_language.global.block_break}
- replace every "{location of event-block}" with "%location of event-block%" in {_language.global.block_break}
- replace every "{event-block}" with "%event-block%" in {_language.global.block_break}
- write "%{_language.global.block_break}%" at line (file "plugins/BetterLogs/global/%{_now}%.log"'s line count + 1) to file "plugins/BetterLogs/global/%{_now}%.log"
- if {_option.players.block_break} is true:
- set {_language.players.block_break} to yaml value "language.players.block_break" from file "plugins/BetterLogs/language.yml"
- replace every "{now}" with "%now%" in {_language.players.block_break}
- replace every "{player}" with "%player%" in {_language.players.block_break}
- replace every "{ip of player}" with "%ip of player%" in {_language.players.block_break}
- replace every "{uuid of player}" with "%uuid of player%" in {_language.players.block_break}
- replace every "{location of event-block}" with "%location of event-block%" in {_language.players.block_break}
- replace every "{event-block}" with "%event-block%" in {_language.players.block_break}
- write "%{_language.players.block_break}%" at line (file "plugins/BetterLogs/players/%player%/%{_now}%.log"'s line count + 1) to file "plugins/BetterLogs/players/%player%/%{_now}%.log"
- on place:
- set {_option.global.block_place} to yaml value "global.block_place" from file "plugins/BetterLogs/config.yml"
- set {_option.players.block_place} to yaml value "players.block_place" from file "plugins/BetterLogs/config.yml"
- set {_s} to "%now%"
- set {_now} to subtext of {_s} from characters 1 to (the length of {_s} - 6)
- replace every "/" with "_" in {_now}
- if file "plugins/BetterLogs/players/%player%/%{_now}%.log" does not exist:
- create file "plugins/BetterLogs/players/%player%/%{_now}%.log"
- if {_option.global.block_place} is true:
- set {_language.global.block_place} to yaml value "language.global.block_place" from file "plugins/BetterLogs/language.yml"
- replace every "{now}" with "%now%" in {_language.global.block_place}
- replace every "{player}" with "%player%" in {_language.global.block_place}
- replace every "{ip of player}" with "%ip of player%" in {_language.global.block_place}
- replace every "{uuid of player}" with "%uuid of player%" in {_language.global.block_place}
- replace every "{location of event-block}" with "%location of event-block%" in {_language.global.block_place}
- replace every "{event-block}" with "%event-block%" in {_language.global.block_place}
- write "%{_language.global.block_place}%" at line (file "plugins/BetterLogs/global/%{_now}%.log"'s line count + 1) to file "plugins/BetterLogs/global/%{_now}%.log"
- if {_option.players.block_place} is true:
- set {_language.players.block_place} to yaml value "language.players.block_place" from file "plugins/BetterLogs/language.yml"
- replace every "{now}" with "%now%" in {_language.players.block_place}
- replace every "{player}" with "%player%" in {_language.players.block_place}
- replace every "{ip of player}" with "%ip of player%" in {_language.players.block_place}
- replace every "{uuid of player}" with "%uuid of player%" in {_language.players.block_place}
- replace every "{location of event-block}" with "%location of event-block%" in {_language.players.block_place}
- replace every "{event-block}" with "%event-block%" in {_language.players.block_place}
- write "%{_language.players.block_place}%" at line (file "plugins/BetterLogs/players/%player%/%{_now}%.log"'s line count + 1) to file "plugins/BetterLogs/players/%player%/%{_now}%.log"
- # ============================================================================ #
- # = ********************* Hope you enjoyed the skript ********************** = #
- # ============================================================================ #
Advertisement
Add Comment
Please, Sign In to add comment