Laisser certains joueurs se reconnaître
Une zone masque tout le monde vis-à-vis de tout le monde, ce qui est rarement ce qu’on veut. Dans un événement en factions, les joueurs doivent quand même distinguer leur camp de l’ennemi. Sinon ils passent le combat à taper leurs propres coéquipiers.
Une règle de révélation est une exception au masquage. Elles s’écrivent sous reveal, dans la zone.
Partez de ce que vous voulez obtenir
Section intitulée « Partez de ce que vous voulez obtenir »| Vous voulez | La règle à écrire |
|---|---|
| Que les coéquipiers se reconnaissent | same_placeholder sur un placeholder de faction ou d’équipe |
| Que le staff voie tout le monde | Rien. Donnez-lui soma.hider.bypass et laissez-le utiliser /sh bypass |
| Qu’une faction précise soit visible de tous | match sur un placeholder de faction |
| Que les coéquipiers apparaissent aux couleurs de leur faction | same_placeholder avec un bloc disguise |
Tout sauf le cas du staff réclame PlaceholderAPI. Sans lui, SomaHider inscrit un avertissement dans les logs pour cette zone et les joueurs concernés restent simplement masqués.
Faire en sorte que les coéquipiers se reconnaissent
Section intitulée « Faire en sorte que les coéquipiers se reconnaissent »C’est la règle que vous écrirez le plus souvent.
-
Trouvez un placeholder qui renvoie la même valeur pour deux coéquipiers.
Avec Factions, c’est en général
%factionsuuid_faction_name%. N’importe quel placeholder convient du moment que deux joueurs du même camp obtiennent la même réponse et que deux ennemis non.Testez-le d’abord en jeu avec
/papi parse me %factionsuuid_faction_name%. -
Ajoutez la règle à votre zone.
zones.yml zones:kothjapon:world: eventscenter:x: 1500z: 1500radius: 150reveal:- type: same_placeholderplaceholder: "%factionsuuid_faction_name%" -
Appliquez.
/sh reload
Les membres d’une même faction se voient désormais normalement. Tous les autres continuent de les voir déguisés.
Le point qui surprend
Section intitulée « Le point qui surprend »Une règle n’est pas obligée de montrer le vrai joueur. Elle peut le montrer sous une autre identité.
Ajoutez un bloc disguise à la règle, et les joueurs qu’elle sélectionne apparaissent sous ce second
déguisement au lieu de leur vraie identité :
reveal: - type: same_placeholder placeholder: "%factionsuuid_faction_name%" disguise: name: value: '%factionsuuid_faction_name%' skin: '%factionsuuid_faction_leader%'Les coéquipiers se voient maintenant sous le nom de leur faction, avec le skin de leur chef. Les ennemis, eux, continuent de voir le déguisement normal de la zone. Personne ne voit de vrai pseudo à aucun moment.
Une règle a donc deux issues possibles, et ce qui les départage tient uniquement à la présence ou non
d’un bloc disguise :
| La règle correspond, et | L’observateur voit |
|---|---|
elle n’a pas de disguise | Le vrai joueur. |
elle a un disguise | Ce second déguisement. |
| aucune règle ne correspond | Le déguisement normal de la zone. |
Révéler une faction précise
Section intitulée « Révéler une faction précise »match compare un placeholder à une valeur de votre choix. Cette valeur peut elle-même être un
placeholder, et c’est ce qui lui permet de suivre le jeu :
reveal: - type: match placeholder: "%factionsuuid_faction_name%" equals: "%koth_faction%"Celui qui tient le KoTH à cet instant est révélé à toute la zone, et la révélation se déplace d’elle- même quand le point change de mains.
equals accepte aussi une valeur fixe, ou une liste :
reveal: - type: match placeholder: "%factionsuuid_faction_name%" equals: ["Fate", "Showry"]La casse n’entre pas en compte dans la comparaison.
Donner un passe-droit au staff
Section intitulée « Donner un passe-droit au staff »Vous pouvez écrire une règle permission :
reveal: - type: permission node: myserver.staffmais pour la modération, /sh bypass est en général la meilleure réponse. C’est une bascule que
chaque membre du staff active et désactive lui-même, elle vaut pour toutes les zones à la fois, et
elle ne demande aucune configuration. Accordez soma.hider.bypass et vous avez fini.
Gardez la règle permission pour les cas où un groupe doit toujours voir à travers une zone
particulière, sans avoir à y penser.
Quand vous écrivez plusieurs règles
Section intitulée « Quand vous écrivez plusieurs règles »SomaHider parcourt la liste de haut en bas et s’arrête à la première règle qui correspond. C’est elle qui décide de ce que voit l’observateur, et les suivantes ne sont pas examinées pour ce couple de joueurs.
Placez les règles précises au-dessus des règles générales :
reveal: - type: match placeholder: "%factionsuuid_faction_name%" equals: "%koth_faction%" - type: same_placeholder placeholder: "%factionsuuid_faction_name%"Vérifier que ça a marché
Section intitulée « Vérifier que ça a marché »/sh info kothjaponLes règles effectivement lues apparaissent dans le détail de la zone. Une règle absente de cette liste a été rejetée, et la raison se trouve dans les logs du serveur :
zones.yml: zones.kothjapon: reveal[0] type is required (permission, same_placeholder, relational, match)zones.yml: zones.kothjapon: reveal[1] placeholder must look like %expansion_params%Le nombre entre crochets est la position dans votre liste, en comptant à partir de zéro.