Guest User

Untitled

a guest
Sep 8th, 2018
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.37 KB | None | 0 0
  1. # ============================================================================ #
  2. # = ******************************** Skript ******************************** = #
  3. # ============================================================================ #
  4.  
  5. # ============================================================================ #
  6.  
  7. function logsAction(type: text, p: text, t: text):
  8. set {_player} to {_p} parsed as offline player
  9.  
  10. set {_s} to "%now%"
  11. set {_now::*} to {_s} split at " "
  12. set {_now2::*} to {_now::1} split at "/"
  13. set {_now} to "%{_now2::1}%_%{_now2::2}%_%{_now2::3}%"
  14.  
  15. if file "plugins/BetterLogs/players/%{_player}%/%{_now}%.log" does not exist:
  16. if {_type} is not "console_commands":
  17. create file "plugins/BetterLogs/players/%{_player}%/%{_now}%.log"
  18.  
  19. set {_option.global.%{_type}%} to yaml value "global.join" from file "plugins/BetterLogs/config.yml"
  20. set {_option.players.%{_type}%} to yaml value "players.join" from file "plugins/BetterLogs/config.yml"
  21.  
  22. set {_language.global.%{_type}%} to yaml value "language.global.%{_type}%" from file "plugins/BetterLogs/language.yml"
  23. set {_language.players.%{_type}%} to yaml value "language.players.%{_type}%" from file "plugins/BetterLogs/language.yml"
  24.  
  25. if {_type} is "join" or "quit" or "chat" or "commands" or "console_commands" or "block_break" or "block_place" or "death" or "kill":
  26. replace every "{now}" with "%now%" in {_language.global.%{_type}%}
  27. replace every "{now}" with "%now%" in {_language.players.%{_type}%}
  28. replace every "{player}" with "%{_player}%" in {_language.global.%{_type}%}
  29. replace every "{player}" with "%{_player}%" in {_language.players.%{_type}%}
  30. if {_type} is "join" or "quit" or "chat" or "commands" or "console_commands" or "block_break" or "block_place":
  31. replace every "{ip of player}" with "%ip of {_player}%" in {_language.global.%{_type}%}
  32. replace every "{ip of player}" with "%ip of {_player}%" in {_language.players.%{_type}%}
  33. replace every "{uuid of player}" with "%uuid of {_player}%" in {_language.global.%{_type}%}
  34. replace every "{uuid of player}" with "%uuid of {_player}%" in {_language.players.%{_type}%}
  35. if {_type} is "chat":
  36. replace every "{message}" with "%{_t}%" in {_language.global.%{_type}%}
  37. replace every "{message}" with "%{_t}%" in {_language.players.%{_type}%}
  38. if {_type} is "commands" or "console_commands":
  39. replace every "{complete command}" with "%{_t}%" in {_language.global.%{_type}%}
  40. replace every "{complete command}" with "%{_t}%" in {_language.players.%{_type}%}
  41. if {_type} is "block_break" or "block_place":
  42. set {_block} to {_t} parsed as item
  43. replace every "{location of event-block}" with "%location of {_block}%" in {_language.global.%{_type}%}
  44. replace every "{location of event-block}" with "%location of {_block}%" in {_language.players.%{_type}%}
  45. replace every "{event-block}" with "%{_block}%" in {_language.global.%{_type}%}
  46. replace every "{event-block}" with "%{_block}%" in {_language.players.%{_type}%}
  47. if {_type} is "death":
  48. set {_attacker} to {_t} parsed as player
  49. replace every "{ip of victim}" with "%ip of {_player}%" in {_language.global.%{_type}%}
  50. replace every "{uuid of victim}" with "%uuid of {_player}%" in {_language.global.%{_type}%}
  51. replace every "{ip of attacker}" with "%ip of {_attacker}%" in {_language.global.%{_type}%}
  52. replace every "{uuid of attacker}" with "%uuid of {_attacker}%" in {_language.global.%{_type}%}
  53. replace every "{attacker}" with "%{_attacker}%" in {_language.global.%{_type}%}
  54. replace every "{location of attacker}" with "%location of {_attacker}%" in {_language.global.%{_type}%}
  55. replace every "{victim}" with "%{_player}%" in {_language.global.%{_type}%}
  56. replace every "{location of victim}" with "%location of {_player}%" in {_language.global.%{_type}%}
  57. replace every "{ip of victim}" with "%ip of {_player}%" in {_language.players.%{_type}%}
  58. replace every "{uuid of victim}" with "%uuid of {_player}%" in {_language.players.%{_type}%}
  59. replace every "{ip of attacker}" with "%ip of {_attacker}%" in {_language.players.%{_type}%}
  60. replace every "{uuid of attacker}" with "%uuid of {_attacker}%" in {_language.players.%{_type}%}
  61. replace every "{attacker}" with "%{_attacker}%" in {_language.players.%{_type}%}
  62. replace every "{location of attacker}" with "%location of {_attacker}%" in {_language.players.%{_type}%}
  63. replace every "{victim}" with "%{_player}%" in {_language.players.%{_type}%}
  64. replace every "{location of victim}" with "%location of {_player}%" in {_language.players.%{_type}%}
  65. if {_type} is "kill":
  66. set {_victim} to {_t} parsed as player
  67. replace every "{ip of victim}" with "%ip of {_victim}%" in {_language.global.%{_type}%}
  68. replace every "{uuid of victim}" with "%uuid of {_victim}%" in {_language.global.%{_type}%}
  69. replace every "{ip of attacker}" with "%ip of {_player}%" in {_language.global.%{_type}%}
  70. replace every "{uuid of attacker}" with "%uuid of {_player}%" in {_language.global.%{_type}%}
  71. replace every "{attacker}" with "%{_player}%" in {_language.global.%{_type}%}
  72. replace every "{location of attacker}" with "%location of {_player}%" in {_language.global.%{_type}%}
  73. replace every "{victim}" with "%{_victim}%" in {_language.global.%{_type}%}
  74. replace every "{location of victim}" with "%location of {_victim}%" in {_language.global.%{_type}%}
  75. replace every "{ip of victim}" with "%ip of {_victim}%" in {_language.players.%{_type}%}
  76. replace every "{uuid of victim}" with "%uuid of {_victim}%" in {_language.players.%{_type}%}
  77. replace every "{ip of attacker}" with "%ip of {_player}%" in {_language.players.%{_type}%}
  78. replace every "{uuid of attacker}" with "%uuid of {_player}%" in {_language.players.%{_type}%}
  79. replace every "{attacker}" with "%{_player}%" in {_language.players.%{_type}%}
  80. replace every "{location of attacker}" with "%location of {_player}%" in {_language.players.%{_type}%}
  81. replace every "{victim}" with "%{_victim}%" in {_language.players.%{_type}%}
  82. replace every "{location of victim}" with "%location of {_victim}%" in {_language.players.%{_type}%}
  83.  
  84. if {_type} is "join" or "quit" or "chat" or "commands" or "death" or "kill":
  85. if {_option.global.%{_type}%} is true:
  86. write "%{_language.global.%{_type}%}%" at line (file "plugins/BetterLogs/global/%{_now}%.log"'s line count + 1) to file "plugins/BetterLogs/global/%{_now}%.log"
  87. if {_option.players.%{_type}%} is true:
  88. 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"
  89.  
  90. else if {_type} is "console_commands":
  91. if {_option.global.console_commands} is true:
  92. write "%{_language.global.console_commands}%" at line (file "plugins/BetterLogs/global/%{_now}%.log"'s line count + 1) to file "plugins/BetterLogs/global/%{_now}%.log"
  93. if {_option.players.console_commands} is true:
  94. write "%{_language.players.console_commands}%" at line (file "plugins/BetterLogs/console/%{_now}%.log"'s line count + 1) to file "plugins/BetterLogs/console/%{_now}%.log"
  95.  
  96. # ============================================================================ #
  97.  
  98. function logsPurge(type: text):
  99. if {_type} is "console":
  100. set {_name::*} to directory "plugins/BetterLogs/console/"'s files
  101. else if {_type} is "global":
  102. set {_name::*} to directory "plugins/BetterLogs/global/"'s files
  103. else:
  104. set {_player} to {_type} parsed as offline player
  105. set {_name::*} to directory "plugins/BetterLogs/players/%{_player}%/"'s files
  106. loop {_name::*}:
  107. add 1 to {_size}
  108. if {_low.to.high.list::%loop-value%} is not set:
  109. set {_low.to.high.list::%loop-value%} to loop-index
  110. else:
  111. set {_n} to 0
  112. loop {_size} times:
  113. set {_n} to {_n}+1
  114. {_low.to.high.list::%loop-value-1%.%{_n}%} is not set
  115. set {_low.to.high.list::%loop-value-1%.%{_n}%} to loop-index
  116. stop loop
  117. wait 1 tick
  118. set {_n} to size of {_low.to.high.list::*}
  119. loop {_low.to.high.list::*}:
  120. set {_high.to.low.list::%{_n}%} to loop-value
  121. set {_n} to {_n}-1
  122. wait 1 tick
  123. set {_i} to 0
  124. set {_purge.files} to yaml value "purge.files" from file "plugins/BetterLogs/config.yml"
  125. set {_purge.parsed.files} to {_purge.files} parsed as a number
  126. loop {_high.to.low.list::*}:
  127. add 1 to {_i}
  128. add 1 to {_topnumber}
  129. if {_topnumber} > {_purge.parsed.files}:
  130. delete file "%{_name::%loop-value%}%"
  131. if {_topnumber} > 365:
  132. stop
  133.  
  134. # ============================================================================ #
  135.  
  136. on script load:
  137. set {_s} to "%now%"
  138. set {_now::*} to {_s} split at " "
  139. set {_now2::*} to {_now::1} split at "/"
  140. set {_now} to "%{_now2::1}%_%{_now2::2}%_%{_now2::3}%"
  141.  
  142. if file "plugins/BetterLogs/global/%{_now}%.log" does not exist:
  143. create file "plugins/BetterLogs/global/%{_now}%.log"
  144. send "&7[&b!&7] Le fichier de log global a été généré." to all ops
  145.  
  146. if file "plugins/BetterLogs/console/%{_now}%.log" does not exist:
  147. create file "plugins/BetterLogs/console/%{_now}%.log"
  148. send "&7[&b!&7] Le fichier de log console a été généré." to all ops
  149.  
  150. if file "plugins/BetterLogs/config.yml" does not exist:
  151. create file "plugins/BetterLogs/config.yml"
  152.  
  153. write "## ===================================================== ##" at line 1 to file "plugins/BetterLogs/config.yml"
  154. write "## BetterLogs 2.0 - Lemrigue ##" at line 2 to file "plugins/BetterLogs/config.yml"
  155. write "## https://skript-mc.fr/forum/resources/betterlogs.1149/ ##" at line 3 to file "plugins/BetterLogs/config.yml"
  156. write "## ===================================================== ##" at line 4 to file "plugins/BetterLogs/config.yml"
  157. write "## " at line 5 to file "plugins/BetterLogs/config.yml"
  158. write "## global: Log les actions des joueurs dans un fichier global à la date du jour." at line 6 to file "plugins/BetterLogs/config.yml"
  159. write "## " at line 7 to file "plugins/BetterLogs/config.yml"
  160. write "## players: Log les actions des joueurs dans un fichier à leur nom." at line 8 to file "plugins/BetterLogs/config.yml"
  161. write "## " at line 9 to file "plugins/BetterLogs/config.yml"
  162. 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"
  163.  
  164. set yaml value "global.join" from file "plugins/BetterLogs/config.yml" to true
  165. set yaml value "global.quit" from file "plugins/BetterLogs/config.yml" to true
  166. set yaml value "global.chat" from file "plugins/BetterLogs/config.yml" to true
  167. set yaml value "global.commands" from file "plugins/BetterLogs/config.yml" to true
  168. set yaml value "global.console_commands" from file "plugins/BetterLogs/config.yml" to true
  169. set yaml value "global.block_break" from file "plugins/BetterLogs/config.yml" to false
  170. set yaml value "global.block_place" from file "plugins/BetterLogs/config.yml" to false
  171. set yaml value "global.death" from file "plugins/BetterLogs/config.yml" to true
  172. set yaml value "global.kill" from file "plugins/BetterLogs/config.yml" to true
  173.  
  174. set yaml value "players.join" from file "plugins/BetterLogs/config.yml" to true
  175. set yaml value "players.quit" from file "plugins/BetterLogs/config.yml" to true
  176. set yaml value "players.chat" from file "plugins/BetterLogs/config.yml" to true
  177. set yaml value "players.commands" from file "plugins/BetterLogs/config.yml" to true
  178. set yaml value "players.console_commands" from file "plugins/BetterLogs/config.yml" to true
  179. set yaml value "players.block_break" from file "plugins/BetterLogs/config.yml" to true
  180. set yaml value "players.block_place" from file "plugins/BetterLogs/config.yml" to true
  181. set yaml value "players.death" from file "plugins/BetterLogs/config.yml" to true
  182. set yaml value "players.kill" from file "plugins/BetterLogs/config.yml" to true
  183.  
  184. set yaml value "purge.files" from file "plugins/BetterLogs/config.yml" to "7"
  185. send "&7[&c!&7] Configuration BetterLogs introuvable » fichier créé." to all ops
  186.  
  187. if file "plugins/BetterLogs/language.yml" does not exist:
  188. create file "plugins/BetterLogs/language.yml"
  189. write "## ===================================================== ##" at line 1 to file "plugins/BetterLogs/language.yml"
  190. write "## BetterLogs 2.0 - Lemrigue ##" at line 2 to file "plugins/BetterLogs/language.yml"
  191. write "## https://skript-mc.fr/forum/resources/betterlogs.1149/ ##" at line 3 to file "plugins/BetterLogs/language.yml"
  192. write "## ===================================================== ##" at line 4 to file "plugins/BetterLogs/language.yml"
  193. write "## " at line 5 to file "plugins/BetterLogs/language.yml"
  194. write "## Variables possibles n'importe où : {player} {ip of player} {uuid of player} {now}" at line 6 to file "plugins/BetterLogs/language.yml"
  195. write "## Variables message : {message}" at line 7 to file "plugins/BetterLogs/language.yml"
  196. write "## Variables command : {complete command}" at line 8 to file "plugins/BetterLogs/language.yml"
  197. write "## Variables blocs : {event-block} {location of event-block}" at line 9 to file "plugins/BetterLogs/language.yml"
  198. 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"
  199. write "## " at line 11 to file "plugins/BetterLogs/language.yml"
  200.  
  201. set yaml value "language.players.join" from file "plugins/BetterLogs/language.yml" to "[{now}][CONNEXION]"
  202. set yaml value "language.players.quit" from file "plugins/BetterLogs/language.yml" to "[{now}][DÉCONNEXION]"
  203. set yaml value "language.players.chat" from file "plugins/BetterLogs/language.yml" to "[{now}][CHAT] {message}"
  204. set yaml value "language.players.commands" from file "plugins/BetterLogs/language.yml" to "[{now}][COMMANDE] «/{complete command}»"
  205. set yaml value "language.players.console_commands" from file "plugins/BetterLogs/language.yml" to "[{now}][COMMANDE] «/{complete command}»"
  206. set yaml value "language.players.block_break" from file "plugins/BetterLogs/language.yml" to "[{now}][BLOC CASSÉ] {event-block} ({location of event-block})"
  207. set yaml value "language.players.block_place" from file "plugins/BetterLogs/language.yml" to "[{now}][BLOC PLACÉ] {event-block} ({location of event-block})"
  208. set yaml value "language.players.death" from file "plugins/BetterLogs/language.yml" to "[{now}][MORT] Tueur: {attacker} ({location of victim})"
  209. set yaml value "language.players.kill" from file "plugins/BetterLogs/language.yml" to "[{now}][KILL] Victime: {victim} ({location of attacker})"
  210.  
  211. set yaml value "language.global.join" from file "plugins/BetterLogs/language.yml" to "[{now}] {player} a rejoint la partie."
  212. set yaml value "language.global.quit" from file "plugins/BetterLogs/language.yml" to "[{now}] {player} a quitté la partie."
  213. set yaml value "language.global.chat" from file "plugins/BetterLogs/language.yml" to "[{now}] {player}: {message}"
  214. set yaml value "language.global.commands" from file "plugins/BetterLogs/language.yml" to "[{now}] {player}: «/{complete command}»"
  215. set yaml value "language.global.console_commands" from file "plugins/BetterLogs/language.yml" to "[{now}][CONSOLE] «/{complete command}»"
  216. 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})"
  217. 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})"
  218. set yaml value "language.global.death" from file "plugins/BetterLogs/language.yml" to "[{now}] {victim} a été tué par {attacker} (victime : {location of victim})"
  219. set yaml value "language.global.kill" from file "plugins/BetterLogs/language.yml" to "[{now}] {attacker} a tué {victim} (tueur : {location of attacker})"
  220.  
  221. send "&7[&c!&7] Langage Logs introuvable » fichier créé." to all ops
  222. logsPurge("console")
  223. logsPurge("global")
  224.  
  225. # ============================================================================ #
  226.  
  227. on join:
  228. logsAction("join", "%player%", "none")
  229. wait 2 seconds
  230. logsPurge("%player%")
  231.  
  232. on quit:
  233. logsAction("quit", "%player%", "none")
  234.  
  235. on chat:
  236. logsAction("chat", "%player%", "%message%")
  237.  
  238. on command:
  239. if command sender is the player:
  240. logsAction("commands", "%player%", "%complete command%")
  241. else if command sender is the console:
  242. logsAction("console_commands", "console", "%complete command%")
  243.  
  244. on death of a player:
  245. if victim is the player:
  246. logsAction("death", "%victim%", "%attacker%")
  247. if attacker is the player:
  248. logsAction("kill", "%attacker%", "%victim%")
  249.  
  250.  
  251.  
  252. on break:
  253. set {_option.global.block_break} to yaml value "global.block_break" from file "plugins/BetterLogs/config.yml"
  254. set {_option.players.block_break} to yaml value "players.block_break" from file "plugins/BetterLogs/config.yml"
  255. set {_s} to "%now%"
  256. set {_now::*} to {_s} split at " "
  257. set {_now2::*} to {_now::1} split at "/"
  258. set {_now} to "%{_now2::1}%_%{_now2::2}%_%{_now2::3}%"
  259. if file "plugins/BetterLogs/players/%player%/%{_now}%.log" does not exist:
  260. create file "plugins/BetterLogs/players/%player%/%{_now}%.log"
  261. if {_option.global.block_break} is true:
  262. set {_language.global.block_break} to yaml value "language.global.block_break" from file "plugins/BetterLogs/language.yml"
  263. replace every "{now}" with "%now%" in {_language.global.block_break}
  264. replace every "{player}" with "%player%" in {_language.global.block_break}
  265. replace every "{ip of player}" with "%ip of player%" in {_language.global.block_break}
  266. replace every "{uuid of player}" with "%uuid of player%" in {_language.global.block_break}
  267. replace every "{location of event-block}" with "%location of event-block%" in {_language.global.block_break}
  268. replace every "{event-block}" with "%event-block%" in {_language.global.block_break}
  269. write "%{_language.global.block_break}%" at line (file "plugins/BetterLogs/global/%{_now}%.log"'s line count + 1) to file "plugins/BetterLogs/global/%{_now}%.log"
  270. if {_option.players.block_break} is true:
  271. set {_language.players.block_break} to yaml value "language.players.block_break" from file "plugins/BetterLogs/language.yml"
  272. replace every "{now}" with "%now%" in {_language.players.block_break}
  273. replace every "{player}" with "%player%" in {_language.players.block_break}
  274. replace every "{ip of player}" with "%ip of player%" in {_language.players.block_break}
  275. replace every "{uuid of player}" with "%uuid of player%" in {_language.players.block_break}
  276. replace every "{location of event-block}" with "%location of event-block%" in {_language.players.block_break}
  277. replace every "{event-block}" with "%event-block%" in {_language.players.block_break}
  278. 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"
  279.  
  280. on place:
  281. set {_option.global.block_place} to yaml value "global.block_place" from file "plugins/BetterLogs/config.yml"
  282. set {_option.players.block_place} to yaml value "players.block_place" from file "plugins/BetterLogs/config.yml"
  283. set {_s} to "%now%"
  284. set {_now::*} to {_s} split at " "
  285. set {_now2::*} to {_now::1} split at "/"
  286. set {_now} to "%{_now2::1}%_%{_now2::2}%_%{_now2::3}%"
  287. if file "plugins/BetterLogs/players/%player%/%{_now}%.log" does not exist:
  288. create file "plugins/BetterLogs/players/%player%/%{_now}%.log"
  289. if {_option.global.block_place} is true:
  290. set {_language.global.block_place} to yaml value "language.global.block_place" from file "plugins/BetterLogs/language.yml"
  291. replace every "{now}" with "%now%" in {_language.global.block_place}
  292. replace every "{player}" with "%player%" in {_language.global.block_place}
  293. replace every "{ip of player}" with "%ip of player%" in {_language.global.block_place}
  294. replace every "{uuid of player}" with "%uuid of player%" in {_language.global.block_place}
  295. replace every "{location of event-block}" with "%location of event-block%" in {_language.global.block_place}
  296. replace every "{event-block}" with "%event-block%" in {_language.global.block_place}
  297. write "%{_language.global.block_place}%" at line (file "plugins/BetterLogs/global/%{_now}%.log"'s line count + 1) to file "plugins/BetterLogs/global/%{_now}%.log"
  298. if {_option.players.block_place} is true:
  299. set {_language.players.block_place} to yaml value "language.players.block_place" from file "plugins/BetterLogs/language.yml"
  300. replace every "{now}" with "%now%" in {_language.players.block_place}
  301. replace every "{player}" with "%player%" in {_language.players.block_place}
  302. replace every "{ip of player}" with "%ip of player%" in {_language.players.block_place}
  303. replace every "{uuid of player}" with "%uuid of player%" in {_language.players.block_place}
  304. replace every "{location of event-block}" with "%location of event-block%" in {_language.players.block_place}
  305. replace every "{event-block}" with "%event-block%" in {_language.players.block_place}
  306. 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"
  307.  
  308. # ============================================================================ #
  309. # = ********************* Hope you enjoyed the skript ********************** = #
  310. # ============================================================================ #
Advertisement
Add Comment
Please, Sign In to add comment