Démarrer une zone depuis un message
Votre plugin d’événements annonce déjà ses lancements dans le chat :
KoTH • Le KoTH Japon vient de commencer !SomaHider sait lire cette annonce et démarrer la zone tout seul. Il n’y a rien à relier entre les deux plugins : SomaHider regarde simplement passer le chat, et quand un message ressemble à celui que vous lui avez montré, il démarre ou arrête la zone.
Chaque zone accepte deux déclencheurs :
| Réglage | Ce qu’il fait |
|---|---|
start_on_chat | Le message qui démarre la zone. |
stop_on_chat | Celui qui l’arrête. |
Vous n’avez pas à les écrire à la main : SomaHider peut les construire à partir d’un vrai message.
Capturer un message et en faire un déclencheur
Section intitulée « Capturer un message et en faire un déclencheur »-
Lancez l’écoute.
/sh captureSomaHider note maintenant chaque message du chat pendant 60 secondes. Coupez plus tôt avec
/sh capture stopsi vous avez fini. -
Faites apparaître le message.
Lancez votre événement, ou attendez qu’il démarre de lui-même. Tout ce qui passe dans le chat pendant les 60 secondes est capturé.
-
Regardez ce qui a été attrapé.
/sh capture listChaque message est listé avec un numéro devant. En jeu, vous pouvez cliquer directement sur une ligne et sauter l’étape suivante.
-
Choisissez la ligne et la zone.
/sh capture use 3 kothjapon startÇa se lit ainsi : prends le message numéro 3, et fais-en ce qui démarre la zone
kothjapon. Mettezstopà la fin plutôt questartpour le message de fin.
Et c’est tout. La zone démarre désormais dès que ce message apparaît.
Le faire marcher à chaque fois, pas qu’une seule
Section intitulée « Le faire marcher à chaque fois, pas qu’une seule »Il y a un piège. SomaHider a enregistré le message tel quel, or une annonce d’événement contient presque toujours une partie qui change d’une fois sur l’autre.
Prenons le message de fin :
KoTH • Le KoTH Japon est terminé. La faction Fate remporte l'événement.La semaine prochaine, le vainqueur ne sera pas Fate. Le message sera donc légèrement différent et la zone ne s’arrêtera pas. Il faut indiquer à SomaHider que cette partie peut être n’importe quoi.
Ouvrez zones.yml, trouvez votre zone, et remplacez la partie qui change par .* :
zones: kothjapon: triggers: start_on_chat: '&6&lKoTH &f• Le KoTH &7Japon &fvient de commencer !' stop_on_chat: '&6&lKoTH &f• Le KoTH &7Japon &fest terminé\. La faction &6.* &fremporte l''événement\.'.* signifie « n’importe quoi peut se trouver ici ». Le nom de la faction est devenu &6.*,
n’importe quel vainqueur correspond donc maintenant.
Appliquez ensuite :
/sh reloadVérifier que ça a marché
Section intitulée « Vérifier que ça a marché »/sh info kothjaponLe détail de la zone affiche les déclencheurs enregistrés. S’il en manque un, c’est que SomaHider n’a pas réussi à le lire, et la raison se trouve dans les logs du serveur.
Empêcher les joueurs de démarrer vos zones
Section intitulée « Empêcher les joueurs de démarrer vos zones »Un déclencheur est comparé à tous les messages du chat, y compris ceux que les joueurs tapent eux-mêmes.
Autrement dit, si votre déclencheur est une phrase toute simple sans la moindre couleur, n’importe quel joueur peut la recopier dans le chat et démarrer ou arrêter votre zone quand ça lui chante.
SomaHider vous prévient quand c’est le cas :
zones.yml: zones.arena: triggers.start_on_chat has no color codes, any player could fire it from chatLe correctif prend une seconde : gardez au moins un code couleur de l’annonce d’origine dans votre
déclencheur. Dans l’exemple plus haut, &6&lKoTH et &f sont des codes couleur. Les joueurs ne
peuvent pas taper de couleurs dans le chat, un déclencheur qui en contient est donc infalsifiable.
Si vous les avez supprimés en éditant le fichier, recapturez le message et gardez-en davantage cette fois.
Un cas où ça ne marchera pas
Section intitulée « Un cas où ça ne marchera pas »Une zone avec always_on: true tourne en permanence, il n’y a donc rien à démarrer ni à arrêter.
SomaHider ignore les déclencheurs sur ce type de zone, le signale dans les logs, et
/sh capture use la refuse.