AdvancedServerLog.sk

Created by Ayham

Just so you know, we don't know the file format for every file. If it's just a bunch of random characters, it's probably a .zip or .jar.

#--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ 
#--▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ 
#--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ 
#--
#--▒█▀▀▀█ ▒█▀▀█ ▒█▀▀█ ▀█▀ ▒█▀▀█ ▀▀█▀▀   ▒█▀▄▀█ ░█▀▀█ ▒█▀▀▄ ▒█▀▀▀   ▒█▀▀█ ▒█░░▒█ 
#--░▀▀▀▄▄ ▒█░░░ ▒█▄▄▀ ▒█░ ▒█▄▄█ ░▒█░░   ▒█▒█▒█ ▒█▄▄█ ▒█░▒█ ▒█▀▀▀   ▒█▀▀▄ ▒█▄▄▄█ 
#--▒█▄▄▄█ ▒█▄▄█ ▒█░▒█ ▄█▄ ▒█░░░ ░▒█░░   ▒█░░▒█ ▒█░▒█ ▒█▄▄▀ ▒█▄▄▄   ▒█▄▄█ ░░▒█░░ 
#--
#--░█▀▀█ ▒█░░▒█ ▒█░▒█ ░█▀▀█ ▒█▀▄▀█   ░█▀▀█ ▒█░░░ ░█▀▀█ ▒█░░░ ▀█▀ 
#--▒█▄▄█ ▒█▄▄▄█ ▒█▀▀█ ▒█▄▄█ ▒█▒█▒█   ▒█▄▄█ ▒█░░░ ▒█▄▄█ ▒█░░░ ▒█░ 
#--▒█░▒█ ░░▒█░░ ▒█░▒█ ▒█░▒█ ▒█░░▒█   ▒█░▒█ ▒█▄▄█ ▒█░▒█ ▒█▄▄█ ▄█▄ 
#--
#--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ 
#--▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ 
#--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ 
#
#--▒█▀▄▀█ ░█▀▀█ ▒█▀▀▄ ▒█▀▀▀   ▒█▀▀▀ ▒█▀▀▀█ ▒█▀▀█ 
#--▒█▒█▒█ ▒█▄▄█ ▒█░▒█ ▒█▀▀▀   ▒█▀▀▀ ▒█░░▒█ ▒█▄▄▀ 
#--▒█░░▒█ ▒█░▒█ ▒█▄▄▀ ▒█▄▄▄   ▒█░░░ ▒█▄▄▄█ ▒█░▒█ 
#--
#--▒█▀▀▀█ ▒█▀▀█ ▒█▀▀█ ░█▀█░ ▒█▀▄▀█ ▒█▀▀▀ ▒█▀▀█ ▒█▀▀▀█ 
#--▒█░░▒█ ▒█▄▄█ ▒█░▄▄ █▄▄█▄ ▒█▒█▒█ ▒█▀▀▀ ▒█▄▄▀ ░▀▀▀▄▄ 
#--▒█▄▄▄█ ▒█░░░ ▒█▄▄█ ░░░█░ ▒█░░▒█ ▒█▄▄▄ ▒█░▒█ ▒█▄▄▄█ 
#--
#--▒█▀▀▀█ ▒█▀▀▀ ▒█▀▀█ ▒█░░▒█ ▒█▀▀▀ ▒█▀▀█ 
#--░▀▀▀▄▄ ▒█▀▀▀ ▒█▄▄▀ ░▒█▒█░ ▒█▀▀▀ ▒█▄▄▀ 
#--▒█▄▄▄█ ▒█▄▄▄ ▒█░▒█ ░░▀▄▀░ ▒█▄▄▄ ▒█░▒█ 
#--
#--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ 
#--▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ 
#--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ 

# Skript made by Ayham Alali [iTzAyhamHD] YT: ayham5131
# Made for OPG4MERS server by the OWNER Ayham Alali ^_^
# It can be used for other servers as well :)
# please support me if you can by donating: https://www.paypal.me/ayhamalali
# Thank you for Downloading/Using my Skripts ❤
# Advanced Server Log [Custom] :)


# ------
# Todo ->
#  Create folder, and folder for each player -> contains file for each event √
#  Create events:
#  - command √
#  - break √
#  - place √
#  - kill √ 
#  - death √
#  - teleport √ X (disabled by default because of teleport spam (will try to make it better))
#  - chest (store, unstore) √
#  - chat √
#  - first join √
#  - join √
#  - quit √
#  - drop √
#  - respawn √ v1.1
#  - vote √ v1.1
#  - ban (-) (Not possible atm) X
#  - kick √ v1.1
#  - enchant √ v1.1
#  - portal √ v1.1
#  - Remove Logs command (by Player) √ v1.1 (Currently disabled [v1.2])
#  - Remove Logs command (Players) √ v1.1 (Currently disabled [v1.2])
#  - Remove Logs command (Server) √ v1.1 (Currently disabled [v1.2])
#  - Remove Logs command (All) √ v1.1 (Currently disabled [v1.2])
#  ?
#  ?
# ------

# Updates:
#  v1.1:
#   - Added command /serverlog
#    - /serverlog help
#    - /serverlog clear [all/server/players/player name]
#   - Fixed Console error (when a mob die and the killer is not a player..)
#   - Fixed Console error (when using /kill command) [no more known console errors (if you found any please PM me :))]
#   - Added:
#    - Respawn event
#    - Vote event (include server file)
#    - Kick event (include server file)
#    - Enchant event
#    - Portal event (include server file)
#   - New Requirements
#    - TuSKe
#    - SkRayFall
#    - Votifier (Vote event)
#  v1.2:
#    - Removed Command Serverlog, because it's looks like "wildskript" addon has a bug with folders, it can't remove folders that have files inside! i will see if there is any alternative way.
#    - Fixed Update Message.



options:
	
	# DO NOT CHANGE (NOT CHANGABLE!)
	ver: 1.2
	console: &d&l&oServerLog&7>
	folder: plugins/AdvancedServerLog

	# Configurations (Changable)
	p: &d&l&oServerLog&7»
	CheckUpdate: true
	UpdateCheckPerm: casl.updatecheck

	# Enable/Disable Logs (Changable)
	TFcmd: true
	TFbreak: true
	TFplace: true
	TFteleport: false
	TFPLkill: true
	TFMOkill: true
	TFdeath: true
	TFchat: true
	TFfirstjoin: true
	TFjoin: true
	TFquit: true
	TFstore: true
	TFunstore: true
	TFdrop: true
	# v1.1
	TFportal: true
	TFenchant: true
	TFkick: true
	TFvote: true
	TFrespawn: true

	# Files (Changable)
	 # Players Folders
	cmdfile: plugins/AdvancedServerLog/Players/%player% %player's uuid%/commands.log
	breakfile: plugins/AdvancedServerLog/Players/%player% %player's uuid%/blocks break.log
	placefile: plugins/AdvancedServerLog/Players/%player% %player's uuid%/blocks place.log
	teleportfile: plugins/AdvancedServerLog/Players/%player% %player's uuid%/teleports.log
	deathfile: plugins/AdvancedServerLog/Players/%player% %player's uuid%/deaths.log
	PLkillfile: plugins/AdvancedServerLog/Players/%attacker% %attacker's uuid%/kills (players).log
	MOkillfile: plugins/AdvancedServerLog/Players/%attacker% %attacker's uuid%/kills (mobs).log
	chatfile: plugins/AdvancedServerLog/Players/%player% %player's uuid%/chat.log
	joinfile: plugins/AdvancedServerLog/Players/%player% %player's uuid%/joins.log
	quitfile: plugins/AdvancedServerLog/Players/%player% %player's uuid%/quits.log
	storefile: plugins/AdvancedServerLog/Players/%player% %player's uuid%/store.log
	unstorefile: plugins/AdvancedServerLog/Players/%player% %player's uuid%/unstore.log
	dropfile: plugins/AdvancedServerLog/Players/%player% %player's uuid%/drop.log
	# v1.1
	respawnfile: plugins/AdvancedServerLog/Players/%player% %player's uuid%/respawn.log
	votefile: plugins/AdvancedServerLog/Players/%player% %player's uuid%/vote.log
	portalfile: plugins/AdvancedServerLog/Players/%player% %player's uuid%/portal.log
	kickfile: plugins/AdvancedServerLog/Players/%player% %player's uuid%/kick.log
	enchantfile: plugins/AdvancedServerLog/Players/%player% %player's uuid%/enchant.log
	 # Server Folders
	Sjoinfile: plugins/AdvancedServerLog/Server/joins.log
	Squitfile: plugins/AdvancedServerLog/Server/quits.log
	Scmdfile: plugins/AdvancedServerLog/Server/commands.log
	Schatfile: plugins/AdvancedServerLog/Server/chat.log
	SPLkillfile: plugins/AdvancedServerLog/Server/kills (players).log
	SMOkillfile: plugins/AdvancedServerLog/Server/kills (mobs).log
	Sdeathfile: plugins/AdvancedServerLog/Server/deaths.log
	Steleportfile: plugins/AdvancedServerLog/Server/teleports.log
	# v1.1
	Svotefile: plugins/AdvancedServerLog/Server/votes.log
	Sportalfile: plugins/AdvancedServerLog/Server/portals.log
	Skickfile: plugins/AdvancedServerLog/Server/kicks.log
	#Sfile: plugins/AdvancedServerLog/Server/.log

	# Currently disabled (v1.2)
	# Command Configurations (Changable)
	#CmdName: serverlog # the command
	#CmdDesc: &aClear server/players logs. # Command description
	#CmdPerm: serverlog.cmd.serverlog # Command permission
	#CmdAliases: sl, serverl, slog # syntax: cm1, cmd2, cmd3 ...
	# Messages (Changable)
	#NoPerm: &cDon't have enough permissions!
	#ClearAllFiles: &aYou have cleared all the logs files &7(&aserver&7/&aplayers&7).
	#ClearServerFiles: &aYou have cleared server logs.
	#ClearPlayersFiles: &aYou have cleared Players logs.
	#ClearPlayerFiles: &aYou have cleared %arg-2%'s logs. # Variables: %arg-2% = player name

on load:
	send "&d<-&5----&d-> &a&l&oAdvanced Server Log&d <-&5----&d->" to console
	send " " to console
	send "{@console} &aRunning on version &c{@ver}" to console
	send "{@console} &bThank you for downloading/using my skripts :)" to console
	send "{@console} &eSkript made by &aAyham Alali &cYT&7:&a@ayham5131" to console
	send " " to console
	send "&d<-&5----&d-> &a&l&oAdvanced Server Log&d <-&5----&d->" to console
	set {_NewVer} to text from "http://pastebin.com/raw/vEB0JHT4"
	set {_UpdateInfo} to text from url "http://pastebin.com/raw/ewZq2bcB"
	if "{@CheckUpdate}" = "true":
		send "{@console} &eChecking for update..." to console
	if "{@CheckUpdate}" = "true":
		if "%{_NewVer}%" is not "{@ver}":
			replace all "[nl]" with new line in {_UpdateInfo}
			replace all "[p]" with "{@p}" in {_UpdateInfo}
			send "&7[&d&l&o*&7]&5&m----&d&l*&5&m----&7&7[&d&l&o*&7]" to console
			send "{@console} &aThere is a new update for &dAdavanced Server Log&7, &aYou are using version &c{@ver}&7, &aNew version&7 > &c%{_NewVer}%" to console
			send "{@console} &aUpdate info: %colored {_UpdateInfo}%" to console
			send "&7[&d&l&o*&7]&5&m----&d&l*&5&m----&7&7[&d&l&o*&7]" to console
		else if "%{_NewVer}%" = "{@ver}":
			send "{@console}&a is up to date&7, &aNo new updates." to console

		loop all players:
			if loop-player has permission "{@UpdateCheckPerm}":
				if "%{_NewVer}%" is not "{@ver}":
					replace all "[nl]" with new line in {_UpdateInfo}
					replace all "[p]" with "{@p}" in {_UpdateInfo}
					send "&7[&d&l&o*&7]&5&m----&d&l*&5&m----&7&7[&d&l&o*&7]" to loop-player
					send "{@p} &aThere is a new update for &dAdavanced Server Log&7, &aYou are using version &c{@ver}&7, &aNew version&7 > &c%{_NewVer}%" to loop-player
					send "{@p} &aUpdate info: &c%colored {_UpdateInfo}%" to loop-player
					send "&7[&d&l&o*&7]&5&m----&d&l*&5&m----&7&7[&d&l&o*&7]" to loop-player
				else if "%{_NewVer}%" = "{@ver}":
					send "{@p}&a is up to date&7, &aNo new updates." to loop-player
	send "{@console} &eChecking files..." to console
	if folder "{@folder}" doesn't exists:
		create folder "{@folder}"
		send "{@console} &bFile &c{@folder}&b has been created." to console
	else if folder "{@folder}" exists:
		send "{@console} &aFile &c{@folder}&a exists." to console
	wait 1 ticks
	send "{@console} &ahas been loaded successfully." to console

on unload:
	send "{@console} &chas been unloaded successfully." to console


on command:
	if "{@TFcmd}" = "true":
		if sender is a player:
			if file "{@cmdfile}" doesn't exists:
				create file "{@cmdfile}"
				wf "syntax: [date][world][player name]" to "{@cmdfile}"
				wf "Created at: %now%" to "{@cmdfile}"
				wf "" to "{@cmdfile}"
				wf "" to "{@cmdfile}"
				wf "<> Let's begin <>" to "{@cmdfile}"

			if file "{@Scmdfile}" doesn't exists:
				create file "{@Scmdfile}"
				wf "syntax > players: [date][world][player name]" to "{@Scmdfile}"
				wf "syntax > Console: [date][console]" to "{@Scmdfile}"
				wf "Created at: %now%" to "{@Scmdfile}"
				wf "" to "{@Scmdfile}"
				wf "" to "{@Scmdfile}"
				wf "<> Let's begin <>" to "{@Scmdfile}"

			wf "[%now%][%world%][%player%]: /%full command%" to "{@cmdfile}"
			wf "[%now%][%world%][%player%]: /%full command%" to "{@Scmdfile}"
		else:
			if file "{@Scmdfile}" doesn't exists:
				create file "{@Scmdfile}"
				wf "syntax > players: [date][world][player name]" to "{@Scmdfile}"
				wf "syntax > Console: [date][console]" to "{@Scmdfile}"
				wf "Created at: %now%" to "{@Scmdfile}"
				wf "" to "{@Scmdfile}"
				wf "" to "{@Scmdfile}"
				wf "<> Let's begin <>" to "{@Scmdfile}"

			wf "[%now%][CONSOLE]: /%full command%" to "{@Scmdfile}"
	

on break:
	if "{@TFbreak}" = "true":
		if file "{@breakfile}" doesn't exists:
			create file "{@cmdfile}"
			wf "syntax: [date][world][block location][player name]" to "{@breakfile}"
			wf "Created at: %now%" to "{@breakfile}"
			wf "" to "{@breakfile}"
			wf "" to "{@breakfile}"
			wf "<> Let's begin <>" to "{@breakfile}"

		wf "[%now%][%world%][%location of event-block%][%player%]: broke -> %event-block%" to "{@breakfile}"
	


on place:
	if "{@TFplace}" = "true":
		if file "{@placefile}" doesn't exists:
			create file "{@placefile}"
			wf "syntax: [date][world][block location][player name]" to "{@placefile}"
			wf "Created at: %now%" to "{@placefile}"
			wf "" to "{@placefile}"
			wf "" to "{@placefile}"
			wf "<> Let's begin <>" to "{@placefile}"

	wf "[%now%][%world%][%location of event-block%][%player%]: Placed %event-block%" to "{@placefile}"
	


on teleport:
	if "{@TFteleport}" = "true":
		if file "{@teleportfile}" doesn't exists:
			create file "{@teleportfile}"
			wf "syntax: [date][teleported to world][player new location][player name]" to "{@teleportfile}"
			wf "Created at: %now%" to "{@teleportfile}"
			wf "" to "{@teleportfile}"
			wf "" to "{@teleportfile}"
			wf "<> Let's begin <>" to "{@teleportfile}"

		if file "{@Steleportfile}" doesn't exists:
			create file "{@Steleportfile}"
			wf "syntax: [date][teleported to world][player new location][player name]" to "{@Steleportfile}"
			wf "Created at: %now%" to "{@Steleportfile}"
			wf "" to "{@Steleportfile}"
			wf "" to "{@Steleportfile}"
			wf "<> Let's begin <>" to "{@Steleportfile}"

		wf "[%now%][%world%][%player's location%][%player%]: teleported to %world%" to "{@teleportfile}"
		wf "[%now%][%world%][%player's location%][%player%]: teleported to %world%" to "{@Steleportfile}"
	


on death:
	if "{@TFdeath}" = "true":
		if victim is a player:
			if attacker is a hostile: # (TuSKe)
				if file "{@deathfile}" doesn't exists:
					create file "{@deathfile}"
					wf "syntax: [date][world][killed by][used item][player name]" to "{@deathfile}"
					wf "Created at: %now%" to "{@deathfile}"
					wf "" to "{@deathfile}"
					wf "" to "{@deathfile}"
					wf "<> Let's begin <>" to "{@deathfile}"

				if file "{@Sdeathfile}" doesn't exists:
					create file "{@Sdeathfile}"
					wf "syntax: [date][world][killed by][used item][player name]" to "{@Sdeathfile}"
					wf "Created at: %now%" to "{@Sdeathfile}"
					wf "" to "{@Sdeathfile}"
					wf "" to "{@Sdeathfile}"
					wf "<> Let's begin <>" to "{@Sdeathfile}"
				wf "[%now%][%attacker's world%][%attacker%][%attacker's tool%][%player%]: killed by %attacker% with %attacker's tool%" to "{@deathfile}"
				wf "[%now%][%attacker's world%][%attacker%][%attacker's tool%][%player%]: %victim% killed by %attacker% with %attacker's tool%" to "{@Sdeathfile}"

			

	if "{@TFPLkill}" = "true":
		if victim is a player:
			if attacker is a player:
				if file "{@PLkillfile}" doesn't exists:
					create file "{@PLkillfile}"
					wf "syntax: [date][world][killed player][used item][player name]" to "{@PLkillfile}"
					wf "Created at: %now%" to "{@PLkillfile}"
					wf "" to "{@PLkillfile}"
					wf "" to "{@PLkillfile}"
					wf "<> Let's begin <>" to "{@PLkillfile}"
					
				if file "{@SPLkillfile}" doesn't exists:
					create file "{@SPLkillfile}"
					wf "syntax: [date][world][killed player][used item][player name]" to "{@SPLkillfile}"
					wf "Created at: %now%" to "{@SPLkillfile}"
					wf "" to "{@SPLkillfile}"
					wf "" to "{@SPLkillfile}"
					wf "<> Let's begin <>" to "{@SPLkillfile}"

				wf "[%now%][%attacker's world%][%victim%][%attacker's tool%][%attacker%]: killed %victim% with %attacker's tool%" to "{@PLkillfile}"
				wf "[%now%][%attacker's world%][%victim%][%attacker's tool%][%attacker%]: %attacker% killed %victim% with %attacker's tool%" to "{@SPLkillfile}"

	if "{@TFMOkill}" = "true":
		if victim is not a player:
			if attacker is a player:
				if file "{@MOkillfile}" doesn't exists:
					create file "{@MOkillfile}"
					wf "syntax: [date][world][killed mob][used item][player name]" to "{@MOkillfile}"
					wf "Created at: %now%" to "{@MOkillfile}"
					wf "" to "{@MOkillfile}"
					wf "" to "{@MOkillfile}"
					wf "<> Let's begin <>" to "{@MOkillfile}"
					
				if file "{@SMOkillfile}" doesn't exists:
					create file "{@SMOkillfile}"
					wf "syntax: [date][world][killed mob][used item][player name]" to "{@SMOkillfile}"
					wf "Created at: %now%" to "{@SMOkillfile}"
					wf "" to "{@SMOkillfile}"
					wf "" to "{@SMOkillfile}"
					wf "<> Let's begin <>" to "{@SMOkillfile}"

				wf "[%now%][%attacker's world%][%victim%][%attacker's tool%][%attacker%]: killed %victim% with %attacker's tool%" to "{@MOkillfile}"
				wf "[%now%][%attacker's world%][%victim%][%attacker's tool%][%attacker%]: %attacker% killed %victim% with %attacker's tool%" to "{@SMOkillfile}"

	



on chat:
	if "{@TFchat}" = "true":
		if file "{@chatfile}" doesn't exists:
			create file "{@chatfile}"
			wf "syntax: [date][world][player name]" to "{@chatfile}"
			wf "Created at: %now%" to "{@chatfile}"
			wf "" to "{@chatfile}"
			wf "" to "{@chatfile}"
			wf "<> Let's begin <>" to "{@chatfile}"

		if file "{@Schatfile}" doesn't exists:
			create file "{@Schatfile}"
			wf "syntax: [date][world][player name]" to "{@Schatfile}"
			wf "Created at: %now%" to "{@Schatfile}"
			wf "" to "{@Schatfile}"
			wf "" to "{@Schatfile}"
			wf "<> Let's begin <>" to "{@Schatfile}"

		wf "[%now%][%world%][%player%]: %message%" to "{@chatfile}"
		wf "[%now%][%world%][%player%]: %message%" to "{@Schatfile}"
	


on first join:
	if "{@TFfirstjoin}" = "true":
		if file "{@joinfile}" doesn't exists:
			create file "{@joinfile}"
			wf "syntax: [date][world][player name]" to "{@joinfile}"
			wf "Created at: %now%" to "{@joinfile}"
			wf "" to "{@joinfile}"
			wf "" to "{@joinfile}"
			wf "<> Let's begin <>" to "{@joinfile}"
		wf "[%now%][%world%][%player%]: First Join :D" to "{@joinfile}"
	


on join:
	if "{@TFjoin}" = "true":
		if file "{@joinfile}" doesn't exists:
			create file "{@joinfile}"
			wf "syntax: [date][world][player name]" to "{@joinfile}"
			wf "Created at: %now%" to "{@joinfile}"
			wf "" to "{@joinfile}"
			wf "" to "{@joinfile}"
			wf "<> Let's begin <>" to "{@joinfile}"

		if file "{@Sjoinfile}" doesn't exists:
			create file "{@Sjoinfile}"
			wf "syntax: [date][world][player name]" to "{@Sjoinfile}"
			wf "Created at: %now%" to "{@Sjoinfile}"
			wf "" to "{@Sjoinfile}"
			wf "" to "{@Sjoinfile}"
			wf "<> Let's begin <>" to "{@Sjoinfile}"

		wf "[%now%][%world%][%player%]: Joined :)" to "{@joinfile}"
		wf "[%now%][%world%][%player%]: Joined" to "{@Sjoinfile}"
	


on quit:
	if "{@TFquit}" = "true":
		if file "{@quitfile}" doesn't exists:
			create file "{@quitfile}"
			wf "syntax: [date][player name]" to "{@quitfile}"
			wf "Created at: %now%" to "{@quitfile}"
			wf "" to "{@quitfile}"
			wf "" to "{@quitfile}"
			wf "<> Let's begin <>" to "{@quitfile}"

		if file "{@Squitfile}" doesn't exists:
			create file "{@Squitfile}"
			wf "syntax: [date][player name]" to "{@Squitfile}"
			wf "Created at: %now%" to "{@Squitfile}"
			wf "" to "{@Squitfile}"
			wf "" to "{@Squitfile}"
			wf "<> Let's begin <>" to "{@Squitfile}"

		wf "[%now%][%player%]: Left :(" to "{@quitfile}"
		wf "[%now%][%player%]: Left" to "{@Squitfile}"
	


on store:
	if "{@TFstore}" = "true":
		if file "{@storefile}" doesn't exists:
			create file "{@storefile}"
			wf "syntax: [date][world][Chest type][stored item][player name]" to "{@storefile}"
			wf "Created at: %now%" to "{@storefile}"
			wf "" to "{@storefile}"
			wf "" to "{@storefile}"
			wf "<> Let's begin <>" to "{@storefile}"
		wf "[%now%][%world%][%event-inventory%][%event-item%][%player%]: Stored %event-item% to %event-inventory%" to "{@storefile}"
	


on unstore:
	if "{@TFunstore}" = "true":
		if file "{@unstorefile}" doesn't exists:
			create file "{@unstorefile}"
			wf "syntax: [date][world][Chest type][unstored item][player name]" to "{@unstorefile}"
			wf "Created at: %now%" to "{@unstorefile}"
			wf "" to "{@unstorefile}"
			wf "" to "{@unstorefile}"
			wf "<> Let's begin <>" to "{@unstorefile}"
		wf "[%now%][%world%][%event-inventory%][%event-item%][%player%]: Unstored %event-item% to %event-inventory%" to "{@unstorefile}"
	

on drop:
	if "{@TFdrop}" = "true":
		if file "{@dropfile}" doesn't exists:
			create file "{@dropfile}"
			wf "syntax: [date][world][dropped item][player name]" to "{@dropfile}"
			wf "Created at: %now%" to "{@dropfile}"
			wf "" to "{@dropfile}"
			wf "" to "{@dropfile}"
			wf "<> Let's begin <>" to "{@dropfile}"
		wf "[%now%][%world%][%event-item%][%player%]: Dropped %event-item%" to "{@dropfile}"
	

on vote: # √ (SkRayFall) (Votifier)
	if "{@TFvote}" = "true":
		if file "{@votefile}" doesn't exists:
			create file "{@votefile}"
			wf "syntax: [date][world][website name][player name]" to "{@votefile}"
			wf "Created at: %now%" to "{@votefile}"
			wf "" to "{@votefile}"
			wf "" to "{@votefile}"
			wf "<> Let's begin <>" to "{@votefile}"

		if file "{@Svotefile}" doesn't exists:
			create file "{@Svotefile}"
			wf "syntax > players: [date][world][website name][player name]" to "{@Svotefile}"
			wf "Created at: %now%" to "{@Svotefile}"
			wf "" to "{@Svotefile}"
			wf "" to "{@Svotefile}"
			wf "<> Let's begin <>" to "{@Svotefile}"

		wf "[%now%][%world%][%event-string%][%player%]: voted for the server" to "{@votefile}"
		wf "[%now%][%world%][%event-string%][%player%]: voted for the server" to "{@Svotefile}"

on kick: # √
	if "{@TFkick}" = "true":
		if file "{@kickfile}" doesn't exists:
			create file "{@kickfile}"
			wf "syntax: [date][world][location][player name]" to "{@kickfile}"
			wf "Created at: %now%" to "{@kickfile}"
			wf "" to "{@kickfile}"
			wf "" to "{@kickfile}"
			wf "<> Let's begin <>" to "{@kickfile}"

		if file "{@Skickfile}" doesn't exists:
			create file "{@Skickfile}"
			wf "syntax: [date][world][location][player name]" to "{@Skickfile}"
			wf "Created at: %now%" to "{@Skickfile}"
			wf "" to "{@Skickfile}"
			wf "" to "{@Skickfile}"
			wf "<> Let's begin <>" to "{@Skickfile}"

		wf "[%now%][%world%][%player's location%][%player%]: kicked from the server" to "{@kickfile}"
		wf "[%now%][%world%][%player's location%][%player%]: kicked from the server" to "{@Skickfile}"

on respawn: # √
	if "{@TFrespawn}" = "true":
		if file "{@respawnfile}" doesn't exists:
			create file "{@respawnfile}"
			wf "syntax: [date][world][location][player name]" to "{@respawnfile}"
			wf "Created at: %now%" to "{@respawnfile}"
			wf "" to "{@respawnfile}"
			wf "" to "{@respawnfile}"
			wf "<> Let's begin <>" to "{@respawnfile}"
		wf "[%now%][%world%][%player's location%][%player%]: respawned at %player's location%" to "{@respawnfile}"

on enchant: # √
	if "{@TFenchant}" = "true":
		if file "{@enchantfile}" doesn't exists:
			create file "{@enchantfile}"
			wf "syntax: [date][world][enchanted item][player name]" to "{@enchantfile}"
			wf "Created at: %now%" to "{@enchantfile}"
			wf "" to "{@enchantfile}"
			wf "" to "{@enchantfile}"
			wf "<> Let's begin <>" to "{@enchantfile}"
		wf "[%now%][%world%][%event-item%][%player%]: enchanted %event-item%" to "{@enchantfile}"

on portal: # √
	if "{@TFportal}" = "true":
		if file "{@portalfile}" doesn't exists:
			create file "{@portalfile}"
			wf "syntax: [date][world][Location][player name]" to "{@portalfile}"
			wf "Created at: %now%" to "{@portalfile}"
			wf "" to "{@portalfile}"
			wf "" to "{@portalfile}"
			wf "<> Let's begin <>" to "{@portalfile}"

		if file "{@Sportalfile}" doesn't exists:
			create file "{@Sportalfile}"
			wf "syntax: [date][world][Location][player name]" to "{@Sportalfile}"
			wf "Created at: %now%" to "{@Sportalfile}"
			wf "" to "{@Sportalfile}"
			wf "" to "{@Sportalfile}"
			wf "<> Let's begin <>" to "{@Sportalfile}"

		wf "[%now%][%world%][%player's location%][%player%]: used protal at %player's location%" to "{@portalfile}"
		wf "[%now%][%world%][%player's location%][%player%]: used protal at %player's location%" to "{@Sportalfile}"

#command /{@CmdName} [<text>] [<text>]: # /ServerLog
	#permission: {@CmdPerm}
	#permission message: {@NoPerm}
	#description: {@CmdDesc}
	#aliases: {@CmdAliases}
	#trigger:
		#if arg-1  is not set:
			#send "&c&l<&7&m----&b&l&o Server Log &7&m----&c&l>"
			#send ""
			#send "{@p} &a/{@CmdName} &fhelp &7- Show this message."
			#send "{@p} &a/{@CmdName} &fclear &c[all/server/players/player name] &7- Clear all/server/players/player's logs."
			#send ""
			#send "&c&l<&7&m------------&c&l>"
			#stop
		#if arg-1 is "help":
			#send "&c&l<&7&m----&b&l&o Server Log &7&m----&c&l>"
			#send ""
			#send "{@p} &a/{@CmdName} &fhelp &7- Show this message."
			#send "{@p} &a/{@CmdName} &fclear &c[all/server/players/player name] &7- Clear all/server/players/player's logs."
			#send ""
			#send "&c&l<&7&m------------&c&l>"
			#stop
		#if arg-1 is "clear":
			#if arg-2 is not "all" or "server" or "players":
				#set {_t} to "%arg-2%" parsed as offlineplayer
				#if folder "plugins/AdvancedServerLog/Players/%{_t}% %{_t}'s uuid%" exists:
					#send "{@p} {@ClearPlayerFiles}"
					#stop
				#else:
					#send "{@p} &cThis player has no log files!"
					#stop
			#if arg-2 is "all":
				#delete folder "plugins/AdvancedServerLog/Server"
				#delete folder "plugins/AdvancedServerLog/Players"
				#send "{@p} {@ClearAllFiles}"
				#stop
			#if arg-2 is "server":
				#if folder "plugins/AdvancedServerLog/Server" exists:
					#delete folder "plugins/AdvancedServerLog/Server"
					#send "{@p} {@ClearServerFiles}"
					#stop
				#else:
					#send "{@p} &cThere is no log files for the server!"
					#stop
			#if arg-2 is "players":
				#if folder "plugins/AdvancedServerLog/Players" exists:
					#delete folder "plugins/AdvancedServerLog/Players"
					#send "{@p} {@ClearPlayersFiles}"
					#stop
				#else:
					#send "{@p} &cThere is no log files for players!"
					#stop
			#else:
				#send "&c&l<&7&m----&b&l&o Server Log &7&m----&c&l>"
				#send ""
				#send "{@p} &a/{@CmdName} &fhelp &7- Show this message."
				#send "{@p} &a/{@CmdName} &fclear &c[all/server/players/player name] &7- Clear all/server/players/player's logs."
				#send ""
				#send "&c&l<&7&m------------&c&l>"
				#stop
#
		#if arg-1 is not "clear" or "help":
			#send "&c&l<&7&m----&b&l&o Server Log &7&m----&c&l>"
			#send ""
			#send "{@p} &a/{@CmdName} &fhelp &7- Show this message."
			#send "{@p} &a/{@CmdName} &fclear &c[all/server/players/player name] &7- Clear all/server/players/player's logs."
			#send ""
			#send "&c&l<&7&m------------&c&l>"
			#stop