From a51623a78b67be54721ca3a38d36d930d51b4cb6 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Mon, 28 Jun 2021 11:56:53 +0200 Subject: [PATCH] =?UTF-8?q?s=C3=A9paration=20des=20commandes=20dans=20plus?= =?UTF-8?q?ieurs=20fichiers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chat.sk | 53 +++++++++++++ deacoudre.sk | 46 +++++++++++ functions.sk | 12 +++ homes.sk | 68 ++++++++++++++++ main.sk | 214 +++++---------------------------------------------- 5 files changed, 197 insertions(+), 196 deletions(-) create mode 100644 chat.sk create mode 100644 deacoudre.sk create mode 100644 functions.sk create mode 100644 homes.sk diff --git a/chat.sk b/chat.sk new file mode 100644 index 0000000..e991c38 --- /dev/null +++ b/chat.sk @@ -0,0 +1,53 @@ +on chat: # chat + cancel event + if {nick.%uuid of player%} is set: + set {_player} to {nick.%uuid of player%} + else: + set {_player} to player's name + broadcast "<%{_player}%&r> %colored message%" in world of player + +command nickname [] : # changement de pseudo + executable by: players + aliases: nick + description: Change ton nom ou celui d'un autre joueur. (max 15 charactères) + trigger: + if player is op: + set {_playerUUID} to uuid of player + set {_player} to player + set {_playerNAME} to player + if player-arg is set: + set {_playerUUID} to uuid of player-arg + set {_player} to player-arg + if player is {_player}: + set {_playerNAME} to "vous" + if text-arg is "off": + delete {nick.%{_playerUUID}%} + send "&6Tu n'as plus de surnom. (changé par %player%&6)" to {_player} + else: + if length of text-arg is greater than 15: + send "&4Ce surnom est trop long." + else: + set {nick.%{_playerUUID}%} to colored text-arg + send "&6Ton surnom est désormais &r%{nick.%{_playerUUID}%}%&6. (changé par %{_playerNAME}%&6)" to {_player} + else: + send option("errorMessage") + +command msg : # DM + executable by: players + aliases: whisper, w, tell, t + description: Envoie un message privé à un joueur. + trigger: + send "&8[Moi -> %arg-1%&8]&7 %colored text-arg%" to player + send "&8[%player%&8 -> Moi] &b%colored text-arg%" to arg-1 + set {dmReply.%uuid of player%} to arg-1 + set {dmReply.%uuid of arg-1%} to player + +command reponse : # réponse à un DM + executable by: players + aliases: rep, r + description: Envoie un réponse à un joueur. + trigger: + if {dmReply.%uuid of player%} is set: + execute player command "msg %{dmReply.%uuid of player%}% %arg-1%" + else: + send "&4Tu n'as personne a qui répondre." diff --git a/deacoudre.sk b/deacoudre.sk new file mode 100644 index 0000000..6cfff59 --- /dev/null +++ b/deacoudre.sk @@ -0,0 +1,46 @@ +command deacoudre: # dé à coudre + executable by: players + description: Lance une partie de dé à coudre. + trigger: + if player is op: + if {thimble} is true: + delete {thimble} + teleport player to location at 101.5, 83, -314 in world "world" + execute player command "fill 103 57 -313 99 57 -305 water" + broadcast "&cPartie de dé à coudre terminée." + set gamemode of all players to creative + else: + set {thimble} to true + broadcast "&aDémarrage de la partie de dé à coudre !" + loop all players: + teleport loop-player to location at 101.5, 83, -314 in world "world" + set gamemode of loop-player to adventure + feed loop-player + heal loop-player + cure loop-player + else: + send option("errorMessage") + +every 0.5 second in "world": # dé à coudre + if {thimble} is not true: + stop + loop all players: + set action bar of loop-player to "&dEn partie de &lDé à coudre&r&d." + if block at loop-player is water: + set {_xLocationBlock1} to difference between X-location of block at loop-player and 103.5 + set {_xLocationBlock2} to difference between X-location of block at loop-player and 99.5 + set {_zLocationBlock1} to difference between Z-location of block at loop-player and -312.5 + set {_zLocationBlock2} to difference between Z-location of block at loop-player and -304.5 + set {_yLocationBlock} to difference between Y-location of block at loop-player and 57.5 + if {_xLocationBlock1} and {_xLocationBlock2} and {_zLocationBlock1} and {_zLocationBlock2} <= 0: + continue + if {_xLocationBlock1} and {_xLocationBlock2} >= 4: + continue + if {_yLocationBlock} != 0: + continue + if {_zLocationBlock1} and {_zLocationBlock2} >= 8: + continue + set block at loop-player to wool + teleport loop-player to location at 101.5, 83, -314 in world "world" + feed loop-player + heal loop-player diff --git a/functions.sk b/functions.sk new file mode 100644 index 0000000..d7620ab --- /dev/null +++ b/functions.sk @@ -0,0 +1,12 @@ +function sendToOperators(player: player, message: text): + loop all players: + if loop-player is a op: + if loop-player is not {_player}: + send {_message} to loop-player + +function option(option: text) :: text: + if {_option} is "serverName": + set {_resultat} to "Serveur d'Anri" + if {_option} is "errorMessage": + set {_resultat} to "&4Tu n'as pas la permission d'utiliser cette commande." + return {_resultat} diff --git a/homes.sk b/homes.sk new file mode 100644 index 0000000..aaa98a9 --- /dev/null +++ b/homes.sk @@ -0,0 +1,68 @@ +command sethome []: # défni un home + executable by: players + description: Défini un point de téléportation. + trigger: + if arg-1 isn't set: + set {_name} to "maison" + else: + set {_name} to arg-1 + if {home.%player's uuid%.%{_name}%} is set: + if arg-1 isn't set: + set {_name} to "" + else: + set {_name} to "%{_name}% " + send "&4Cette maison existe déjà, &8/delhome %{_name}%&4pour la supprimer." + else: + remove {_name} from {home.%player's uuid%::*} + add {_name} to {home.%player's uuid%::*} + set {home.%player's uuid%.%{_name}%} to player's location + send "Ta maison ""&a%{_name}%&r"" est maintenant définie aux coordonnées &7%player's location%&r !" + +command delhome []: # supprime un home + executable by: players + description: Supprime un point de téléportation. + trigger: + if arg-1 isn't set: + set {_name} to "maison" + else: + set {_name} to arg-1 + if {home.%player's uuid%.%{_name}%} is set: + remove {_name} from {home.%player's uuid%::*} + clear {home.%player's uuid%.%{_name}%} + send "Maison ""&a%{_name}%&r"" supprimée." + else: + send "&4Cette maison n'existe pas." + make player execute command "listhome" + +command home []: # téléportation vers home + executable by: players + description: Te téléportes vers un point de téléportation. + trigger: + if arg-1 isn't set: + set {_name} to "maison" + else: + set {_name} to arg-1 + if {home.%player's uuid%.%{_name}%} is set: + send "&aTéléportation vers &9%{_name}% &a!" + teleport player to {home.%player's uuid%.%{_name}%} + else: + send "&4Le home ""&c%{_name}%"" &4n'existe pas." + make player execute command "listhome" + +on tab complete for "home" and "delhome": # autocompletion des homes + if {home.%player's uuid%::*} is set: + set tab completions for position 1 to the first element of {home.%player's uuid%::*} + loop {home.%player's uuid%::*}: + add loop-value to tab completions + +command listhome: # liste tes homes + executable by: players + description: Liste des tes points de téléportations. + trigger: + if {home.%player's uuid%::*} isn't set: + send "&4Vous n'avez pas de maisons." + else: + set {_maisons} to "%{home.%player's uuid%::*}%" + replace all "and" with "&7et&3" in {_maisons} + replace all "," with "&7,&3" in {_maisons} + send "&aListe des tes maisons : &3%{_maisons}%&7." diff --git a/main.sk b/main.sk index 53ecf76..ed4476e 100644 --- a/main.sk +++ b/main.sk @@ -1,13 +1,3 @@ -options: - serverName: "Serveur d'Anri" - errorMessage: "&4Tu n'as pas la permission d'utiliser cette commande." - -function sendToOperators(player: player, message: text): - loop all players: - if loop-player is a op: - if loop-player is not {_player}: - send {_message} to loop-player - command skr []: # recharge ce skript executable by: players, console description: Reload de skripts. @@ -15,7 +5,8 @@ command skr []: # recharge ce skript if arg-1 is set: execute player command "sk reload %arg-1%" else if arg-1 isn't set: - execute player command "sk reload main" # sk reload all pour tout reload + execute player command "sk reload functions" # pour être sûr que functions est bien chargé en premier + execute player command "sk reload scripts" command broadcast []: # annonce executable by: players, console @@ -32,7 +23,7 @@ command broadcast []: # annonce send "&4Vous n'avez pas spécifier de texte." else: cancel command cooldown - send {@errorMessage} + send option("errorMessage") command skull []: # récupère la tête d'un joueur executable by: players @@ -46,7 +37,7 @@ command skull []: # récupère la tête d'un joueur give {_player}'s skull to player send "&7Vous avez reçu la tête de : &6%{_player}%" else: - send {@errorMessage} + send option("errorMessage") command clearchat: # supprime l'historique du tchat executable by: players, console @@ -62,7 +53,7 @@ command clearchat: # supprime l'historique du tchat broadcast " " in world of player else: cancel command cooldown - send {@errorMessage} + send option("errorMessage") command forceexecute : # force un joueur à éxécuter une commande executable by: players, console @@ -72,80 +63,11 @@ command forceexecute : # force un joueur à éxécuter une comman if player is op: execute arg-1 command arg-2 else: - send {@errorMessage} + send option("errorMessage") on weather change to rain or thunder: # soleil pour toujours cancel event -command sethome []: # défni un home - executable by: players - description: Défini un point de téléportation. - trigger: - if arg-1 isn't set: - set {_name} to "maison" - else: - set {_name} to arg-1 - if {home.%player's uuid%.%{_name}%} is set: - if arg-1 isn't set: - set {_name} to "" - else: - set {_name} to "%{_name}% " - send "&4Cette maison existe déjà, &8/delhome %{_name}%&4pour la supprimer." - else: - remove {_name} from {home.%player's uuid%::*} - add {_name} to {home.%player's uuid%::*} - set {home.%player's uuid%.%{_name}%} to player's location - send "Ta maison ""&a%{_name}%&r"" est maintenant définie aux coordonnées &7%player's location%&r !" - -command delhome []: # supprime un home - executable by: players - description: Supprime un point de téléportation. - trigger: - if arg-1 isn't set: - set {_name} to "maison" - else: - set {_name} to arg-1 - if {home.%player's uuid%.%{_name}%} is set: - remove {_name} from {home.%player's uuid%::*} - clear {home.%player's uuid%.%{_name}%} - send "Maison ""&a%{_name}%&r"" supprimée." - else: - send "&4Cette maison n'existe pas." - make player execute command "listhome" - -command home []: # téléportation vers home - executable by: players - description: Te téléportes vers un point de téléportation. - trigger: - if arg-1 isn't set: - set {_name} to "maison" - else: - set {_name} to arg-1 - if {home.%player's uuid%.%{_name}%} is set: - send "&aTéléportation vers &9%{_name}% &a!" - teleport player to {home.%player's uuid%.%{_name}%} - else: - send "&4Le home ""&c%{_name}%"" &4n'existe pas." - make player execute command "listhome" - -on tab complete for "home" and "delhome": # autocompletion des homes - if {home.%player's uuid%::*} is set: - set tab completions for position 1 to the first element of {home.%player's uuid%::*} - loop {home.%player's uuid%::*}: - add loop-value to tab completions - -command listhome: # liste tes homes - executable by: players - description: Liste des tes points de téléportations. - trigger: - if {home.%player's uuid%::*} isn't set: - send "&4Vous n'avez pas de maisons." - else: - set {_maisons} to "%{home.%player's uuid%::*}%" - replace all "and" with "&7et&3" in {_maisons} - replace all "," with "&7,&3" in {_maisons} - send "&aListe des tes maisons : &3%{_maisons}%&7." - command rename : # renomme un item executable by: players description: Renomme l'item que tu as dans ta main. @@ -159,7 +81,7 @@ command rename : # renomme un item send "&eL'item &r%player's tool%&e est renommé en ""&r%{_name}%&e""." set the name of the player's tool to "§r%{_name}%" else: - send {@errorMessage} + send option("errorMessage") command afk: # annonce d'afk executable by: players @@ -182,7 +104,7 @@ command gmc []: # met un joueur en créatif send "%player% a changé ton mode de jeu en créatif." to {_player} sendToOperators({_player}, "&7&o%player%&7&o a changé le mode de jeu de %{_player}%&7&o en créatif.") else: - send {@errorMessage} + send option("errorMessage") command gms []: # met un joueur en spectateur executable by: players @@ -199,7 +121,7 @@ command gms []: # met un joueur en spectateur send "%player% a changé ton mode de jeu en spectateur." to {_player} sendToOperators({_player}, "&7&o%player%&7&o a changé le mode de jeu de %{_player}%&7&o en spectateur.") else: - send {@errorMessage} + send option("errorMessage") command top: # téléporte un joueur tout en haut executable by: players @@ -208,7 +130,7 @@ command top: # téléporte un joueur tout en haut if player is op: teleport player to location of highest block at location else: - send {@errorMessage} + send option("errorMessage") on first join: # premiere fois que le joueur rejoins le serveur set join message to "&aC'est la première fois que l'on te vois &r%player%, &abienvenue !" @@ -250,7 +172,7 @@ command killall: # tue toutes les entités send "Tu as tué %{_count}% entités." sendToOperators(player, "&7%player%&7 as tué %{_count}%&7 entités.") else: - send {@errorMessage} + send option("errorMessage") command feed []: # remplie barre de nourriture executable by: players @@ -268,67 +190,13 @@ command feed []: # remplie barre de nourriture feed {_player} send "Tu as été nourris. (par %{_playerNAME}%)" to {_player} else: - send {@errorMessage} - -on chat: # chat - cancel event - if {nick.%uuid of player%} is set: - set {_player} to {nick.%uuid of player%} - else: - set {_player} to player's name - broadcast "<%{_player}%&r> %colored message%" in world of player - -command nickname [] : # changement de pseudo - executable by: players - aliases: nick - description: Change ton nom ou celui d'un autre joueur. (max 15 charactères) - trigger: - if player is op: - set {_playerUUID} to uuid of player - set {_player} to player - set {_playerNAME} to player - if player-arg is set: - set {_playerUUID} to uuid of player-arg - set {_player} to player-arg - if player is {_player}: - set {_playerNAME} to "vous" - if text-arg is "off": - delete {nick.%{_playerUUID}%} - send "&6Tu n'as plus de surnom. (changé par %player%&6)" to {_player} - else: - if length of text-arg is greater than 15: - send "&4Ce surnom est trop long." - else: - set {nick.%{_playerUUID}%} to colored text-arg - send "&6Ton surnom est désormais &r%{nick.%{_playerUUID}%}%&6. (changé par %{_playerNAME}%&6)" to {_player} - else: - send {@errorMessage} - -command msg : # DM - executable by: players - aliases: whisper, w, tell, t - description: Envoie un message privé à un joueur. - trigger: - send "&8[Moi -> %arg-1%&8]&7 %colored text-arg%" to player - send "&8[%player%&8 -> Moi] &b%colored text-arg%" to arg-1 - set {dmReply.%uuid of player%} to arg-1 - set {dmReply.%uuid of arg-1%} to player - -command reponse : # réponse à un DM - executable by: players - aliases: rep, r - description: Envoie un réponse à un joueur. - trigger: - if {dmReply.%uuid of player%} is set: - execute player command "msg %{dmReply.%uuid of player%}% %arg-1%" - else: - send "&4Tu n'as personne a qui répondre." + send option("errorMessage") on server list ping: # motd if {playerIP.%ip%} is set: set motd to "&e&k||| &cSalut &a%{playerIP.%ip%}%&c, reconnecte-toi ! &e&k|||" else: - set {_serverName} to {@serverName} + set {_serverName} to option("serverName") set motd to "&e&k||| &c%{_serverName}% &e&k|||" set max players count to (number of all players + 1) if max players count > {_playerCount}: @@ -340,7 +208,7 @@ every 1 second in "world": loop all blocks in radius 3 of loop-player: if loop-block is target block of loop-player: set action bar of loop-player to "&a%target block of loop-player%" - set {_serverName} to {@serverName} + set {_serverName} to option("serverName") set tab header to "&a%{_serverName}%" and footer to "&e%number of all players% joueurs connectés\n&9%ping of loop-player% ms de latence" for loop-player command quelbloc: # commande pour activer ou désactiver l'affiche du bloc proche de toi @@ -354,53 +222,6 @@ command quelbloc: # commande pour activer ou désactiver l'affiche du bloc proch set {blockNear.%uuid of player%} to true send "&aTu verras désormais le nom du bloc proche de toi." -command deacoudre: # dé à coudre - executable by: players - description: Lance une partie de dé à coudre. - trigger: - if player is op: - if {thimble} is true: - delete {thimble} - teleport player to location at 101.5, 83, -314 in world "world" - execute player command "fill 103 57 -313 99 57 -305 water" - broadcast "&cPartie de dé à coudre terminée." - set gamemode of all players to creative - else: - set {thimble} to true - broadcast "&aDémarrage de la partie de dé à coudre !" - loop all players: - teleport loop-player to location at 101.5, 83, -314 in world "world" - set gamemode of loop-player to adventure - feed loop-player - heal loop-player - cure loop-player - else: - send {@errorMessage} - -every 0.5 second in "world": # dé à coudre - if {thimble} is not true: - stop - loop all players: - set action bar of loop-player to "&dEn partie de &lDé à coudre&r&d." - if block at loop-player is water: - set {_xLocationBlock1} to difference between X-location of block at loop-player and 103.5 - set {_xLocationBlock2} to difference between X-location of block at loop-player and 99.5 - set {_zLocationBlock1} to difference between Z-location of block at loop-player and -312.5 - set {_zLocationBlock2} to difference between Z-location of block at loop-player and -304.5 - set {_yLocationBlock} to difference between Y-location of block at loop-player and 57.5 - if {_xLocationBlock1} and {_xLocationBlock2} and {_zLocationBlock1} and {_zLocationBlock2} <= 0: - continue - if {_xLocationBlock1} and {_xLocationBlock2} >= 4: - continue - if {_yLocationBlock} != 0: - continue - if {_zLocationBlock1} and {_zLocationBlock2} >= 8: - continue - set block at loop-player to wool - teleport loop-player to location at 101.5, 83, -314 in world "world" - feed loop-player - heal loop-player - command casque: executable by: players aliases: hat @@ -421,7 +242,7 @@ command casque: if helmet of player is not air: send "&aItem équippé !" else: - send {@errorMessage} + send option("errorMessage") command clear []: executable by: players @@ -449,10 +270,11 @@ command clear []: else: send "&aTu as clear ton inventaire." else: - send {@errorMessage} + send option("errorMessage") command clearall []: executable by: players + aliases: fullclear description: Clear tout l'inventaire d'un joueur. trigger: if player is op: @@ -469,4 +291,4 @@ command clearall []: else: send "&aTu as clear ton inventaire." else: - send {@errorMessage} + send option("errorMessage")