Tu as de bonnes bases en wired mais tu cherches à en savoir plus ? Ce tutoriel t'explique comment réaliser un système anti-AFK !
Supposons que si je reste plus de 5 secondes sur une dalle rouge, alors je suis téléporté ailleurs. Comment faire avec des wireds ?
Les points
Pour commencer, il nous faut quelque chose qui nous permettra de compter le temps passé par une personne sur la dalle. Pour cela, nous allons utiliser les points, qui se révèlent très utiles lorsque nous avons besoin de variables cachées pour un joueur. Dans un futur tutoriel, je vous expliquerai les différentes manières d'attribuer une variable secrète à un joueur.
Les points sont donc une variable unique pour chaque joueur et elle peut être affichée avec %points% dans n'importe quel wired message (cette balise sera remplacée par le nombre de points de la personne qui a déclenché le wired).
Grâce au superwired, il est possible d'effectuer différentes opérations avec les points :
- forcer le nombre de points à une valeur (commande setpoint)
- ajouter un certain nombre de points (commande addpoint)
- retirer un certain nombre de points (commande removepoint)
- comparer le nombre de points avec un autre nombre, comme supérieur à, inférieur à, égal ou différent (commandes pointgreater, pointless, pointequal, pointnoequal)
Nous allons donc utiliser les points pour compter chaque seconde passée par une personne sur la dalle rouge. Quand la personne aura 5 points, il faudra alors la téléporter.
La barre de KEB
Pour notre système, nous voulons vérifier que le joueur à 5 points immédiatement après lui avoir ajouté un point et non une seconde après (sinon on passerait d'un anti-AFK de 5 secondes à un anti-AFK de 6 secondes). Pour cela, nous allons utiliser une barre de KEB.
Ces objets ont un comportement bien particulier : ils permettent de déclencher les piles qui sont déposées dessus mais dans un ordre bien particulier. En effet, les piles sont exécutées de gauche à droite le long de la barre, avec quelques milisecondes d'intervalle.
Nous voulons d'abord ajouter des points avant de vérifier le nombre de points d'un joueur, alors nous avons le système suivant (le wired effet qui téléporte le joueur a été configuré pour téléporté sur la dalle rosace) :
Exécution de la pile
Pour exécuter notre système à chaque seconde, il n'est pas possible d'utiliser un déclencheur "l'effet se répète". En effet, si certains déclencheurs se rapportent à l'utilisateur (et permettent donc d'appliquer un effet à un utilisateur), ce n'est pas le cas de celui-ci, qui agit plutôt sur les mobis. Il existe même certains déclencheurs agissant sur les mobis et le joueur en même temps.
Ainsi, pour contrer ce problème, nous allons utiliser des collisions. En effet, les collisions permettent de savoir quel utilisateur est à l'origine de celle-ci et il est donc possible de lui ajouter des points.
Nous allons alors déclencher une collision toutes les secondes sur la dalle rouge et lorsqu'il y a une collision, nous exécuterons le reste du système (en sélectionnant la barre de KEB avec un wired "exécuter pile").
On obtient alors le système suivant :
Conclusion
Nous avons ainsi un système anti-AFK qui fonctionne de la manière suivante :
Lorsqu'il y a un joueur sur la dalle rouge, il gagne 1 point par seconde, jusqu'au moment où il se retrouve à 5 points. À ce moment-là, il est immédiatement téléporté sur la dalle rosace.
Améliorons légèrement notre système : lorsque le joueur quitte la dalle rouge, il convient de remettre son nombre de points à 0. Sinon, le compteur reprendra là où il en était la prochaine fois que le joueur marchera sur la dalle rouge.
Dans un jeu automatique, plusieurs collisions peuvent avoir lieu à différents endroits. Il est donc important de protéger les collisions avec la condition "le mobi est à l'origine de la collision" qui permet de savoir de quelle collision on parle.
On obtient alors le système final, qu'on peut configurer pour durer autant de secondes que nécessaire (pour cela, il faut remplacer 5 par le nombre souhaité) :
Si vous avez des questions, des remarques ou même des suggestions pour un futur tutoriel, n'hésitez pas à laisser un commentaire sous cet article. À bientôt pour un nouveau tutoriel wired !
-
Baaalou05-03-2022Très utile !
-
Hypure17-02-2022ça sera utile à tout le monde, merci !