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
View the code of the script directly in your browser without downloading anything.
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."