Welcome to SkriptTools.net!

SkriptTools is now part of the skUnity family! skUnity will keep SkriptTools running, updating and adding new features.


- You can now search scripts by author by doing "author:name". For example: "author:nfell2009"

- Login to SkriptTools using your skUnity account to save your favourite scripts and come back to them

Login

Script Viewer

View the code of the script directly in your browser without downloading anything.

Current File: Sk shematic_V1.0.sk - Download / View on the skUnity Parser

options:
	logo : &d[&bSCHEMATIC&d] #Le prefix du skript

function GiveItemSelect(p: player, t: text): #La fonction donnant l'item de selection ainsi que les messages d'erreurs
	If {_t} is "2":	
		execute {_p} command "/schematic give"
		message "{@logo} &cErreur : Merci de set la seconde position de votre schema." to {_p}
	If {_t} is "1":
		execute {_p} command "/schematic give"
		message "{@logo} &cErreur : Merci de set la première position de votre schema." to {_p}	
	If {_t} is "name":	
		message "{@logo} &cErreur : Merci d'indiquer un nom à votre schema." to {_p}
	If {_t} is "no_exist":
		message "{@logo} &cErreur : Votre schema n'existe pas ou n'a pas été créer." to {_p}




#!NE PAS MODIFIER !!

options:
	logo : &d[&bSCHEMATIC&d] #pareil

command /schematic <text> [<text>] [<player>] [<text>]: #La commande des schemas
	aliases: /schema #Le raccourcis
	trigger:
		If arg 1 is "help": #La commande affichant toutes les commandes.
			send "&6_________&eCommandes&6___________"
			send " "
			send "{@logo} &b/schematic help &7- &fAffiche la liste des commandes." 
			send "{@logo} &b/schematic give &7- &fDonne une houe en bois pour set les positions 1 et 2 du schema."
			send "{@logo} &b/schematic create <name> &7- &fCrée un schema."
			#send "{@logo} &b/schematic option [add/remove] <name> <name_of_option> &7- &fAjoute des options à un de vos schemas."
			send "{@logo} &b/schematic option list_of_all_options &7- &fAffiche toute les options possible."
			send "{@logo} &b/schematic option list <name> &7- &fAffiche toute les options qui ont été ajouté à votre schema."
			send "{@logo} &b/schematic load <name> &7- &fCharge un schema."
			send "{@logo} &b/schematic send <name> <player> &7- &fFait apparaitre une de vos structures à un joueur."
			send "{@logo} &b/schematic delete <name> &7- &fSupprime un schema."
			send "{@logo} &b/schematic createurs &7- &fAffiche le nom des créateurs." 
		If arg 1 is "give": #Donne l'item de selections
			give blaze rod named "&dSchematic &cBlaze" to the player
			set {blazerod.gived} to true
			send "{@logo} &aLa blaze rod des schemas vous a été donné."
		If arg 1 is "create": #créer le schema
			If arg 2 is set:
				If {position.1.%player%} is true: #Vérifie qu'on a bien set les positions 1 et 2
					If {position.2.%player%} is true:	
						if {struc::sel1::x} < {struc::sel2::x}: #Compare les positions pour verifier si la position 1 est inférieur à la position 2
							set {_x1} to {struc::sel1::x} #Set le x de position 1
							set {_x2} to {struc::sel2::x} #Set le x de position 2
						else if {struc::sel1::x} > {struc::sel2::x}: #on vérifie l'inverse
							set {_x1} to {struc::sel2::x}
							set {_x2} to {struc::sel1::x}
						else:
							message "&cErreur : line 231" to {_p} #Message d'erreur
							stop
						if {struc::sel1::y} < {struc::sel2::y}: #Même chose avec y
							set {_y1} to {struc::sel1::y}
							set {_y2} to {struc::sel2::y}
						else if {struc::sel1::y} > {struc::sel2::y}:
							set {_y1} to {struc::sel2::y}
							set {_y2} to {struc::sel1::y}
						else:
							message "&cErreur : line 240" to {_p}
							stop
						if {struc::sel1::z} < {struc::sel2::z}: #Même chose avec z
							set {_z1} to {struc::sel1::z}
							set {_z2} to {struc::sel2::z}
						else if {struc::sel1::z} > {struc::sel2::z}:
							set {_z1} to {struc::sel2::z}
							set {_z2} to {struc::sel1::z}
						else:
							message "&cErreur : line 249" to {_p}
							stop
						clear {struc::location.%player%.%arg-2%::*} #On clear les listes pour pas avoir de blocs en double
						clear {struc::block.%player%.%arg-2%::*}
						loop {_x2} - {_x1} + 1 times: #On récupére toutes les coordonnées des blocs entre la position 1 et 2
							loop {_y2} - {_y1} + 1 times:
								loop {_z2} - {_z1} + 1 times:
									set {_x} to "%loop-value-1%" parsed as number -1 #On modifie les coordonnées pour que ce soit des nombres
									set {_y} to "%loop-value-2%" parsed as number -1
									set {_z} to "%loop-value-3%" parsed as number -1
									add location at {_x}, {_y}, {_z} to {struc::location.%player%.%arg-2%::*} #On ajoute les coodonnées dans la liste
									add type of block at location {_x}+{_x1}, {_y1}+{_y}, {_z1}+{_z} to {struc::block.%player%.%arg-2%::*} #On ajoute les types de blocs
						delete {position.2.%player%} #On clear les positions 1 et 2
						delete {position.1.%player%}
						send "{@logo} &aLe schema &e%arg-2% &aa bien été créer."
						stop
					else:
						GiveItemSelect(player, "2")
				else:
					GiveItemSelect(player, "1")			
			else:
				GiveItemSelect(player, "name")
		If arg 1 is "load":
			If arg 2 is set:
				loop {struc::location.%player%.%arg-2%::*}: #Parmis toutes les localisations enregistrer
					set {_x} to x-coordinate of loop-value + x-coordinate of player #On récupére les coordonnées du joueur
					set {_y} to y-coordinate of loop-value + y-coordinate of player
					set {_z} to z-coordinate of loop-value + z-coordinate of player
					set block at location {_x}, {_y}, {_z} to {struc::block.%player%.%arg-2%::%loop-index%} #On fait spawn la structure
				send "{@logo} &aLe schema &e%arg-2% &aa bien été charger."
				stop
			else:
				send "{@logo} &cErreur : Merci d'indiquer le nom de votre schema."
		If arg 1 is "send":
			If arg 2 is set:	
				If player-argument is set:	#On vérifie que toutes les conditions soient set
					message "&b---&9 %player% &2vous envoie une demande de création de schema&b---" to player-argument #On envoie une demande de génération du schema au joueur demander
					message "&2[ACCEPTER] Utilise la commande suivante pour accepter la demande : /schemaaccept %arg-2% ; &c[REFUSER] Utilise la commande suivante pour refuser la demande : /schemadeny" to player-argument
					message "&aVous avez bien envoyer une demande de création de votre schema &e%arg-2% &aau joueur &d%arg-3%" #On affiche un message de confirmation au joueur demandeur
					set {schema.deny.%player%} to true #On set le refus par defaut 
					set {schema.go.%player-argument%} to the player #On set le demandeur dans cette variable
					set {schema.%arg-3%} to true #On set le nom du schema pour pas que l'on puisse le demander plusieurs fois
				else:
					GiveItemSelect(player, "no_exist")
			else:
				GiveItemSelect(player, "name")
		If arg 1 is "delete":
			If arg 2 is set:
				If {position.1.%arg-2%.%player%} is set: #Verifie les positions
					If {position.2.%arg-2%.%player%} is set:
						delete {struc::location.%player%.%arg-2%::*} #On supprime tout
						delete {struc::block.%player%.%arg-2%::*}
						delete {schema.%arg-2%}
						send "{@logo} &aVotre schema &e%arg-2% &aa bien été supprimer."
						stop
					else:
						send "{@logo} &cErreur : type of blocks."
				else:
					GiveItemSelect(player, "no_exist")
			else:
				GiveItemSelect(player, "name")
		If arg 1 is "createurs":
			send "&3___________&bCréateurs&3__________" #Les créateurs du skript
			send " "
			send "&aAlexLew95 et RebellCraft"



on load:
	loop all players: #On reset tout
		set {blazerod.gived} to false
		delete {position.1.%loop-player%}
		delete {position.2.%loop-player%}





on left click with blaze rod: #On set les positions
	If name of player's tool is "&dSchematic &cBlaze":
		if event-block is set:
			cancel event
			set {position.1.%player%} to true #On dit que la première potision a été set
			set {struc::sel1::x} to x-coordinate of event-block #On récupére les coordonnées du bloc/de la position
			set {struc::sel1::y} to y-coordinate of event-block
			set {struc::sel1::z} to z-coordinate of event-block
			send "{@logo} &aPosition 1 set ! (&e%{struc::sel1::x}% %{struc::sel1::y}% %{struc::sel1::z}%&a)"
			stop

on right click with blaze rod: #Pareil que ci-dessus
	If name of player's tool is "&dSchematic &cBlaze":
		If event-block is set:
			cancel event
			set {position.2.%player%} to true
			set {struc::sel2::x} to x-coordinate of event-block
			set {struc::sel2::y} to y-coordinate of event-block
			set {struc::sel2::z} to z-coordinate of event-block
			send "{@logo} &aPosition 2 set ! (&e%{struc::sel2::x}% %{struc::sel2::y}% %{struc::sel2::z}%&a)"
			stop







command /schemaaccept <text>:
	trigger:
		if {schema.go.%player%} is set: #Si le demandeur a été set
			wait 5 seconds
			message "{@logo} &aCréation du schema accepter par &e%player%" to {schema.go.%player%} #On envoie un message au demandeur d'acceptation
			send "{@logo} &aLa création du schema de &e%{schema.go.%player%}% &aa bien été accepter." #On confirme la création du schema
			loop {struc::location.%{schema.go.%player%}%.%arg-1%::*}: #On créer le schema
				set {_x} to x-coordinate of loop-value + x-coordinate of player
				set {_y} to y-coordinate of loop-value + y-coordinate of player
				set {_z} to z-coordinate of loop-value + z-coordinate of player
				set block at location {_x}, {_y}, {_z} to {struc::block.%{schema.go.%player%}%.%arg-1%::%loop-index%}
			send "{@logo} &aLe schema &e%arg-1% &aa bien été charger." #On confirme le chargement du schema
			delete {schema.go.%{schema.go.%player%}%} #On clear toutes les variables 
			delete {schema.go.%player%}
			set {schema.%player%} to false
			stop
		else:
			message "{@logo} &cErreur : Vous n'avez pas reçu de demande de création de schéma."


command /schemadeny: 
	trigger:
		if {schema.%player%} is true: #Pareil que ci-dessus
			message "{@logo} &cCréation du schema décliner par &e%player%" to {schema.go.%player%}
			send "{@logo} &cLa création du schema de &e%{schema.go.%player%}% &ca bien été décliner."
			delete {schema.go.%{schema.go.%player%}%}
			delete {schema.go.%player%}
			set {schema.%player%} to false
		else:
			message "{@logo} &cErreur : Vous n'avez pas reçu de demande de création de schéma."