[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