Shelk Posté(e) le 7 avril 2018 Posté(e) le 7 avril 2018 Heeeeeeeeeeey ça faisait longtemps qu'il y avait plus eu d'épisodes de la série donc la revoila, aujourd'hui 10 petits exercices pour s'entraîner avec tout ce que vous pouviez apprendre via les tutoriaux ! -------------------------------------------------------------------------| Ces exercices vous donneront au total une note sur 20 ! Pour avoir la totalité des points de l'exercice, il faut le réussir sans regarder aucune documentation ou autres. (L'indice ne compte pas). Si vous avez besoin de chercher sur des sites pour le faire, vous n'aurez que la moitié des points ! Essayez de les faire honnêtement ! -------------------------------------------------------------------------| [spoiler=Exercice 1]Skript de compteur de morts >> Pouvoir afficher son nombre de mort avec une commande. /3 [spoiler=Indice]Les variables voyons ! [spoiler=Solution] on death: add 1 to {nombredemort.%player%} command /viewmort: trigger: send "&aTu es mort %{nombredemort.%player%}% fois !" [spoiler=Exercice 2] Commande pour téléporter quelqu'un à nous. Par exemple /tptome <joueur> /2 [spoiler=Indice]Vous pouvez utiliser "make player execute ..." ou alors utiliser l'effect skript qui commence par "teleport ..." [spoiler=Solution] command /tptome <player>: trigger: teleport argument 1 to player # Ou alors #make player execute "/tp %arg-1% %player%" [spoiler=Exercice 3]Skript qui envoie un message quand on fait clic droit sur un bâton avec une certaine permission. /3 [spoiler=Indice]if player has permission [spoiler=Solution] on rightclick with stick: if player has permission "stick.use": send "test" to player [spoiler=Exercice 4]Skript pour tuer une personne aléatoire sur la map (Très compliqué pour le niveau actuelle des skripts, indice quasi obligatoire) /3 [spoiler=Indice]Il faut ajouter tout les joueurs dans une liste ({commeca::*}) et en choisir un avec "set ... to a random element out of {laliste::*}" [spoiler=Solution] command /randomkill: trigger: loop all players: # On va faire une action précise pour chaque joueur add loop-player to {_maliste::*} # L'action c'est de l'ajouter dans la liste set {_random} to random element out of {maliste::*} # {_random} est forcément un joueur vu que y'as que des joueurs dans la liste kill {_random} # On le tue Cependant on peut aussi mettre en une seule ligne kill random element out of {_maliste::*} [spoiler=Exercice 5]Skript qui tue le joueur qui marche sur de l'obsidienne /1 [spoiler=Indice] T'y as cru ? C'est beaucoup trop simple pour mériter un indice :p [spoiler=Solution] on walk on obsidian: kill player [spoiler=Exercice 6]Skript qui met en gamemode quelqu'un quand on le frappe (Chelou) /2[spoiler=Indice]L'event on damage: doit être utilisé. Faites attention, il n'y a pas de player dans cet event, mais "victim" et "attacker" pour désigner la victime du coup et l'attaquant. [spoiler=Solution] on damage: make victim execute "/gamemode 1" # Pour les débutants # --------------------------- # Pour les normaux: #set victim's gamemode to survival,spectator ... [spoiler=Exercice 7]Skript de grade: Quand on fait /setgrade <joueur> <grade>, ça set une variable sur l'argument 1 pour son grade. Et avec /viewgrade, on peut voir le grade que l'on a. /3 [spoiler=Indice]Ligne pour set le grade: set {grade.%argument 1%} to "%argument 2%" [spoiler=Solution] command /setgrade <player> <text>: trigger: set {graderandom.%arg-1%} to "%arg-2%" send "&avous avez mis le grade %arg-2% à %arg-1% !" command /viewgrade: trigger: #if {graderandom.%player%} is set: (Optionnel et non demandé mais en temps normal il aurait fallu le mettre pour pas avoir de <none> dans le message si le joueur n'avait pas de grade set. send "Ton grade: %{graderandom.%player%}% [spoiler=Exercice 8]Skript pour répertorier le nom de tout les joueurs et de les afficher avec une liste /1 [spoiler=Indice]Code pour savoir si un joueur est déjà dans une liste: loop {liste::*}: if loop-value is player: set {_ok} to true #Et donc la si {_ok} est set ça veut dire que le joueur est présent dans la liste {liste::*}. [spoiler=Solution] on join: # PARTIE DU CODE POUR AJOUTER UN JOUEUR A LA LISTE SI IL N'EST PAS DEDANS loop {liste::*}: if loop-value is player: set {_ok} to true if {_ok} is not set: add player to {liste::*} command /viewplayers: # PARTIE DE LA COMMANDE trigger: send "Liste de tout les joueurs:" # on le met avant pour pas qu'il soit envoyé pleins de fois pendant la boucle loop {liste::*}: send "%loop-value%" # A chaque tour de boucle, ça va envoyer un message avec le nom d'un joueur. C'est un exercice, mais le code est plutôt utile car il permet d'avoir dans une liste tout les joueurs du serveur, même les déconnectés, ce qu'on ne peut pas avoir sans faire cela. [spoiler=Exercice 9]Skript pour connaître le nombre de connexion au total sur le serveur /1 [spoiler=Indice]Pareil, les variables, rien de nouveau [spoiler=Solution] on join: add 1 to {connexion} command /connexion: trigger: if {connexion} > 99: send "&aWouah, il y a %{connexion}% !" else: send "Il y a %{connexion}% au total sur le serveur." # Ce code est un petit bonus ;) [spoiler=Exercice 10]Skript qui remplace les <3 dans le chat par ❤ /1 [spoiler=Indice]replace all ... with ... in ... >> Mais aussi l'évènement "on chat:" [spoiler=Solution] on chat: replace all "<3" with "❤" in message Voili voilou ! C'est terminé pour ce nouvel épisode, il devait sortir hier soir mais comme je suis aller au resto j'ai pas pu le terminer avant ! N'hésitez pas à dire votre note dans les commentaires (Sauf les bons ils ont 20/20 donc ...) A+ ! 1
Blackmine57 Posté(e) le 7 avril 2018 Posté(e) le 7 avril 2018 Heeeeeeeeeeey ça faisait longtemps qu'il y avait plus eu d'épisodes de la série donc la revoila, aujourd'hui 10 petits exercices pour s'entraîner avec tout ce que vous pouviez apprendre via les tutoriaux ! -------------------------------------------------------------------------| Ces exercices vous donneront au total une note sur 20 ! Pour avoir la totalité des points de l'exercice, il faut le réussir sans regarder aucune documentation ou autres. (L'indice ne compte pas). Si vous avez besoin de chercher sur des sites pour le faire, vous n'aurez que la moitié des points ! Essayez de les faire honnêtement ! -------------------------------------------------------------------------| [spoiler=Exercice 1]Skript de compteur de morts >> Pouvoir afficher son nombre de mort avec une commande. /3 [spoiler=Indice]Les variables voyons ! [spoiler=Solution] on death: add 1 to {nombredemort.%player%} command /viewmort: trigger: send "&aTu es mort %{nombredemort.%player%}% fois !" [spoiler=Exercice 2] Commande pour téléporter quelqu'un à nous. Par exemple /tptome <joueur> /2 [spoiler=Indice]Vous pouvez utiliser "make player execute ..." ou alors utiliser l'effect skript qui commence par "teleport ..." [spoiler=Solution] command /tptome <player>: trigger: teleport argument 1 to player # Ou alors #make player execute "/tp %arg-1% %player%" [spoiler=Exercice 3]Skript qui envoie un message quand on fait clic droit sur un bâton avec une certaine permission. /3 [spoiler=Indice]if player has permission [spoiler=Solution] on rightclick with stick: if player has permission "stick.use": send "test" to player [spoiler=Exercice 4]Skript pour tuer une personne aléatoire sur la map (Très compliqué pour le niveau actuelle des skripts, indice quasi obligatoire) /3 [spoiler=Indice]Il faut ajouter tout les joueurs dans une liste ({commeca::*}) et en choisir un avec "set ... to a random element out of {laliste::*}" [spoiler=Solution] command /randomkill: trigger: loop all players: # On va faire une action précise pour chaque joueur add loop-player to {_maliste::*} # L'action c'est de l'ajouter dans la liste set {_random} to random element out of {maliste::*} # {_random} est forcément un joueur vu que y'as que des joueurs dans la liste kill {_random} # On le tue Cependant on peut aussi mettre en une seule ligne kill random element out of {_maliste::*} [spoiler=Exercice 5]Skript qui tue le joueur qui marche sur de l'obsidienne /1 [spoiler=Indice] T'y as cru ? C'est beaucoup trop simple pour mériter un indice :p [spoiler=Solution] on walk on obsidian: kill player [spoiler=Exercice 6]Skript qui met en gamemode quelqu'un quand on le frappe (Chelou) /2[spoiler=Indice]L'event on damage: doit être utilisé. Faites attention, il n'y a pas de player dans cet event, mais "victim" et "attacker" pour désigner la victime du coup et l'attaquant. [spoiler=Solution] on damage: make victim execute "/gamemode 1" # Pour les débutants # --------------------------- # Pour les normaux: #set victim's gamemode to survival,spectator ... [spoiler=Exercice 7]Skript de grade: Quand on fait /setgrade <joueur> <grade>, ça set une variable sur l'argument 1 pour son grade. Et avec /viewgrade, on peut voir le grade que l'on a. /3 [spoiler=Indice]Ligne pour set le grade: set {grade.%argument 1%} to "%argument 2%" [spoiler=Solution] command /setgrade <player> <text>: trigger: set {graderandom.%arg-1%} to "%arg-2%" send "&avous avez mis le grade %arg-2% à %arg-1% !" command /viewgrade: trigger: #if {graderandom.%player%} is set: (Optionnel et non demandé mais en temps normal il aurait fallu le mettre pour pas avoir de <none> dans le message si le joueur n'avait pas de grade set. send "Ton grade: %{graderandom.%player%}% [spoiler=Exercice 8]Skript pour répertorier le nom de tout les joueurs et de les afficher avec une liste /1 [spoiler=Indice]Code pour savoir si un joueur est déjà dans une liste: loop {liste::*}: if loop-value is player: set {_ok} to true #Et donc la si {_ok} est set ça veut dire que le joueur est présent dans la liste {liste::*}. [spoiler=Solution] on join: # PARTIE DU CODE POUR AJOUTER UN JOUEUR A LA LISTE SI IL N'EST PAS DEDANS loop {liste::*}: if loop-value is player: set {_ok} to true if {_ok} is not set: add player to {liste::*} command /viewplayers: # PARTIE DE LA COMMANDE trigger: send "Liste de tout les joueurs:" # on le met avant pour pas qu'il soit envoyé pleins de fois pendant la boucle loop {liste::*}: send "%loop-value%" # A chaque tour de boucle, ça va envoyer un message avec le nom d'un joueur. C'est un exercice, mais le code est plutôt utile car il permet d'avoir dans une liste tout les joueurs du serveur, même les déconnectés, ce qu'on ne peut pas avoir sans faire cela. [spoiler=Exercice 9]Skript pour connaître le nombre de connexion au total sur le serveur /1 [spoiler=Indice]Pareil, les variables, rien de nouveau [spoiler=Solution] on join: add 1 to {connexion} command /connexion: trigger: if {connexion} > 99: send "&aWouah, il y a %{connexion}% !" else: send "Il y a %{connexion}% au total sur le serveur." # Ce code est un petit bonus ;) [spoiler=Exercice 10]Skript qui remplace les <3 dans le chat par ❤ /1 [spoiler=Indice]replace all ... with ... in ... >> Mais aussi l'évènement "on chat:" [spoiler=Solution] on chat: replace all "<3" with "❤" in message Voili voilou ! C'est terminé pour ce nouvel épisode, il devait sortir hier soir mais comme je suis aller au resto j'ai pas pu le terminer avant ! N'hésitez pas à dire votre note dans les commentaires (Sauf les bons ils ont 20/20 donc ...) A+ ! 20/20 xD
McLincoln2 Posté(e) le 7 avril 2018 Posté(e) le 7 avril 2018 Ca te dirait pas de faire un seul exercice plus long et plus dur que tous les exercices réunis ici ?
Shelk Posté(e) le 7 avril 2018 Auteur Posté(e) le 7 avril 2018 Je le ferais au prochain Apprendre le skript où il y aura de la pratique ;)
Maat Posté(e) le 7 avril 2018 Posté(e) le 7 avril 2018 C’est bien, mais dans ton exercice 1 (on death) je crois qu’ya une erreur.
Maat Posté(e) le 7 avril 2018 Posté(e) le 7 avril 2018 Dans le « on death » j’aurais plutôt mis un .%victim% pour éviter que ça beug
Shelk Posté(e) le 7 avril 2018 Auteur Posté(e) le 7 avril 2018 Dans on death y'as pas de attacker ou de victim x)
Maat Posté(e) le 7 avril 2018 Posté(e) le 7 avril 2018 ah zut j’ai cru voir « of player » à la fin autant pour moi haha
asdetrefle Posté(e) le 10 avril 2018 Posté(e) le 10 avril 2018 C’est bien, mais dans ton exercice 1 (on death) je crois qu’ya une erreur. Oui il a oublier le "to player" XD
Shelk Posté(e) le 10 avril 2018 Auteur Posté(e) le 10 avril 2018 Je sais pas si c'est de l'humour ou pas, mais pas besoin de "to player" après un send dans un évènement comme ça, il est utile que si y'as "attacker,victim,loop-player,loop-value" etc ;) 1
LeSkripteurFou Posté(e) le 12 avril 2018 Posté(e) le 12 avril 2018 Excellent tutoriel ! J'approuve totalement l'idée.
Shelk Posté(e) le 12 avril 2018 Auteur Posté(e) le 12 avril 2018 Excellent tutoriel ! J'approuve totalement l'idée. Merci ;)
noftaly Posté(e) le 14 avril 2018 Posté(e) le 14 avril 2018 Moi et skript ca fait longtemps, mais pour l'ex 4 on peut pas plutôt faire "kill a random player out of all players" ou du moins "set {_r} to a random player out of all players" ?
Kezo Posté(e) le 17 septembre 2019 Posté(e) le 17 septembre 2019 17/20 j'attend avec impatience, en espérant que la suite arrive bientôt ! 😉
Shelk Posté(e) le 24 septembre 2019 Auteur Posté(e) le 24 septembre 2019 (modifié) Salut, malheureusement je ne fais plus de skripts donc la suite ne verra probablement jamais le jour 😢 Modifié le 24 septembre 2019 par Shelk
Vengelis_ Posté(e) le 29 septembre 2019 Posté(e) le 29 septembre 2019 Sauf si quelqu'un reprend ton travail 😉 1
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant