Aller au contenu
Invité

[Optimisation] Filtre SkQuery

Messages recommandés

Invité

Bonjour tout le monde.
On se retrouve pour un nouveau tutoriel, ça faisait longtemps d'ailleurs... Aujourd'hui on va parler d'optimisation !

C'est une fonctionnalité franchement sympa provenant du plugin "SkQuery", on ne le présente plus, il est tellement utile et utilisé... Menus, cacher les joueurs, jouer des sons midi, etc, il peut être très souvent utilisé!


Cependant, nous allons utiliser une fonctionnalité de SkQuery pour optimiser nos plugins.
Voici un exemple de code à jeter

command /helpop <text>:
  	trigger:
  		loop all players:
  			if loop-player is op:
  				send "&7[&e%player%&7] &b%arg-1%" to loop-player


Sauf si vous, ça ne vous choque pas, moi je trouve que c'est franchement très peu optimisé.
Et c'est là qu'intervient SkQuery !

Je vous donne le code et après je vous explique ligne par ligne 😉

 

command /helpop <text>:
  	trigger:
  		set {_op::*} to all players where [player input is op]
  		send "&7[&e%player%&7] &b%arg-1%" to {_op::*}

 

"where" est un filtre, et le résultat sera beaucoup plus optimisé que si nous aurions été restés avec un "loop all players".

set {_op::*} to all players where [player input is op]

set {_op::*} : nous créons une variable liste temporaire pour pouvoir stocker tout les pseudos des joueurs que nous allons filtrer.
to all players where : tout les joueurs qui...
[player input is op] : si le joueur est op

 

pourquoi "player input" et pas "loop-player input" > nous ne faisons pas de "loop all players", nous n'avons donc pas besoin de mettre de loop derrière player.



Si vous voulez d'autres exemples de l'utilité des where, j'ai un autre exemple

command /hgstart:
	trigger:
		set {_playerLive} to all players where [gamemode of player input is survival]
		set {_playerDead} to all players where [gamemode of player input is spectator]
		broadcast "&cDébut de la partie, il reste %{_playerLive}% personnes en vie et %{_playerDead}% spectateurs !"

Une fois de plus, ça nous as bien évité de faire tout un code un peu compliqué juste pour avoir le nombre de survivants et de spectateurs.

Si vous avez des questions, des suggestions ou autre à faire, mettez-les dans les commentaires, j'y répondrai au plus vite!

 

En attendant, j'espère vous avoir appris quelque chose aujourd'hui !
Bonne journée 🙂

Partager ce message


Lien à poster
Partager sur d’autres sites

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.