Aller au contenu

Messages recommandés

Posté(e)

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+ !

  • J'aime 1
Posté(e)
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

Posté(e)

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 ;)

  • J'aime 1
Posté(e)

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" ?

  • 1 an aprè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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.