Guide de création de joueurs bot
Les joueurs bots sont utilisés pour combler les vides lorsqu'il n'y a pas assez de personnes pour commencer un monde multijoueur, ou lorsqu'un joueur quitte pendant un monde.
Le comportement du joueur bot doit être implémenté pour chaque contenu.
Ce guide décrit la méthode générale de création d'un joueur bot.
📘 Le guide de création du joueur Bot est basé sur le guide multijoueur. [Tutoriel Multijoueur]
1-1. Ajoutez une valeur booléenne appelée IsBot au schéma multijoueur.
1-2. Définissez la fonction ci-dessous pour créer un joueur bot dans le script serveur index.ts et appelez-la au point désiré.
👍 Conseils
- L'userId d'un utilisateur spécifique est stocké à l'avance pour que le personnage bot soit créé.
- Vous pouvez vérifier l'UserId d'un utilisateur spécifique en vérifiant l'userId du client se connectant à OnJoin sur le serveur. Après avoir écrit le script ci-dessous dans le script du serveur, connectez-vous depuis le monde concerné.
2-1. Si vous avez le serveur qui crée un joueur Bot à un moment donné, le client le reconnaîtra comme un nouveau joueur dans OnJoinPlayer().
- Créer un projet > Créer > ZEPETO > TypeScript et le renommer en BotPlayerManager.
- Ajouter une logique dans OnAddedPlayer() pour créer chaque joueur, et ajouter une logique pour distinguer les joueurs bots et créer leurs personnages ZEPETO.
2-2. Écrivez la fonction SetBotPlayer pour ajouter des balises et des composants de synchronisation aux joueurs bots et créer des scripts pour les contrôler.
- Définissez _botMapData pour enregistrer les données des joueurs bots au format Map afin de gérer les joueurs bots.
👍 Conseils Vous pouvez ajouter des scripts ou des paramètres supplémentaires à SetBotPlayer() pour contrôler le comportement des joueurs bots.
Pour les mondes qui nécessitent un certain nombre de joueurs pour commencer, il arrive parfois qu'il n'y ait pas assez de joueurs et que vous deviez attendre longtemps que le monde commence.
Dans ce cas, vous pouvez commencer le monde en ajoutant un joueur Bot.
3-1. Enregistrez une fonction pour exécuter CreateBot() lorsque le serveur reçoit un message du client dans index.ts.
3-2. Dans le script client BotPlayerManager.ts, écrivez une fonction pour envoyer le message "CreateBot" au serveur.
- La façon d'exécuter une fonction est d'envoyer un message en appuyant sur un bouton.
- Envoyez l'ID utilisateur du joueur Bot à créer sous forme de chaîne à travers le message.
3-3. Maintenant, lorsque vous exécutez le serveur et le runtime, vous pouvez voir que des joueurs bots sont créés lorsque vous appuyez sur le bouton.
Lorsqu'il n'y a pas assez de joueurs pour démarrer le monde, vous pouvez ajouter des joueurs bots pour initier le monde.
4-1. Dans le script du serveur, ajoutez le code suivant lors de OnJoin pour vérifier le nombre de joueurs et commencer le monde lorsqu'il y a au moins quatre joueurs.
- Ajoutez une fonction pour vérifier le nombre de joueurs dans CreateBot().
- Ajoutez un compteur pour le nombre de jeux dans la fonction StartWorld().
- Sur le serveur, OnJoin est exécuté lorsqu'un vrai joueur rejoint la salle. Donc, lorsqu'un joueur Bot est créé via CreateBot et qu'un joueur entre via OnJoin, checkPlayerNumber() ajoute le nombre de personnes.
4-2. Dans le script client, BotPlayerManager.ts, écrivez StartWorld(), qui est exécuté lorsque le message StartWorld est reçu du serveur.
4-3. Au moment de l'exécution, lorsqu'il y a plus de 4 joueurs, y compris des joueurs Bot, vous pouvez voir un journal appelé Démarrer le monde apparaître sur la console du serveur et sur la console du client.
Ci-dessous un exemple de code qui déplace les joueurs Bot ajoutés à la position du joueur local et synchronise la position de mouvement.
5-1. Tout d'abord, écrivez le code pour déplacer les joueurs Bot lorsque le message MoveBot est reçu du client dans index.ts du serveur.
5-2. Dans le script client, BotPlayerManager.ts, écrivez SendBotPosition() qui envoie la position du joueur local au serveur lorsque buttonCallBot est pressé.
- Ensuite, écrivez du code pour déplacer tous les joueurs Bot vers les informations de localisation incluses dans le message lorsque le message MoveBotToPosition est reçu du serveur.
5-3. Maintenant, si vous créez un joueur Bot à l'exécution et appuyez sur le bouton buttonCallBot, vous devriez voir le joueur Bot créé se déplacer vers la position du personnage du joueur local.