Comment récupérer les pièces
Pour que les pièces soient récupérables, le moteur Roblox avertit lorsque quelque chose touche une pièce, mais tu avs le programmer dans un script. Pour créer un script :
Dans la fenêtre de l’Explorateur , sélectionne avec la souris
ServerScriptService et clique sur le bouton ⊕ . Un menu contextuel s’affiche :


Renomme le script :

Un nouvel onglet est ouvert, remplace le code par défaut par le code suivant :


Désormais, chaque fois qu’un joueur touche une pièce, le journal de sortie affiche « Pièce collectée par le joueur ».
Pour afficher le journal de sortie :

Attraper les pièces
Essaye maintenant d’attraper des pièces :


Tu constates le résultat dans la console de sortie.
Maintenant, chaque fois que le joueur touche une pièce, la pièce disparaît :


Stockage de la collecte des pièces
Pour gérer le stockage et la gestion des données de collection de pièces de chaque joueur, tu dois créer un objet ModuleScript contenant une structure de données et des fonctions qui accèdent aux données de collection de pièces de chaque joueur. Les scripts de module sont du code réutilisable dont d’autres scripts peuvent avoir besoin. Dans ce cas, CoinService a besoin de ce script de module pour pouvoir mettre à jour les données de collection de pièces lorsque les joueurs touchent des pièces.
Pour créer un script de module :
- Dans la fenêtre de l’Explorateur , passez la souris sur ServerStorage et cliquez sur le bouton ⊕ . Un menu contextuel s’affiche.
- Dans le menu contextuel, sélectionnez ModuleScript . Un nouveau script de module s’affiche sous ServerStorage. Renomme le en PlayerData :



Remplacez le code par défaut par le code suivant :

Une fois le script PlayerData terminé, appelle ce dernier dans le script CoinService pour mettre à jour le nombre de pièces récoltées :
- Dans la fenêtre de l’Explorateur , ouvrez le script CoinService .
- Modifie le code existant par le code suivant :

Les modifications apportées au script CoinService d’origine incluent :
- Importation des modules PlayerData avec la fonction require() .
- Déclarer COIN_AMOUNT_TO_ADD comme le nombre de pièces à ajouter lorsqu’un joueur collecte une pièce, et COIN_KEY_NAME comme le nom de clé défini dans PlayerData .
- Création de la fonction updatePlayerCoins() pour mettre à jour le nombre de pièces récoltées par le joueur.
- Remplacement de l’ instruction print() dans onCoinTouched() par un appel à updatePlayerCoins() .
La table playerData contient des commentaires qui décrivent la structure de la table, ce qui facilite la compréhension du code. Dans ce cas, une
table playerData contient un userId et un champ correspondant nommé
Coins qui représente le montant des pièces collectées pour ce joueur.
Lance le jeu pour vérifier le comptage des pièces récoltées :


Affichage de la collecte des pièces
Maintenant, tu peux représenter visuellement les données de collecte de pièces avec un classement à l’écran. Roblox comprend un système intégré qui génère automatiquement un classement à l’aide d’une interface utilisateur par défaut.
Pour créer le classement :
Dans la fenêtre de l’Explorateur , crée un ModuleScript dans ServerStorage puis renommez le script du module en Leaderboard .


Remplacez le code par défaut par le code suivant :

Une fois le script PlayerData terminé, appelle ce dernier dans le script CoinService pour mettre à jour le nombre de pièces récoltées :
- Dans la fenêtre de l’Explorateur , ouvrez le script CoinService .
- Modifie le code existant par le code suivant :

Lance le jeu pour vérifier l’affichage du score du joueur :

