Système de Boutique
EliteMobs est livré avec un système de boutique intégré qui permet aux joueurs de dépenser et de gagner des Elite Coins (la monnaie d'EliteMobs) sur de l'équipement et des flèches EliteMobs. Les boutiques sont normalement accessibles via les PNJ Forgeron et marchands dans la Guilde des Aventuriers, mais elles peuvent aussi être ouvertes par des commandes.
Gardez enableEconomy: true dans EconomySettings.yml pour l'utilisation normale des boutiques. Les menus d'entrée des boutiques dynamique et personnalisée vérifient ce réglage, mais les commandes administratives directes et les PNJ de vente et de flèches n'appliquent pas la même vérification. Ce n'est pas un contrôle d'accès universel. Avec une intégration Vault fonctionnelle, les soldes passent par le fournisseur Vault au lieu de la base de données d'EliteMobs.
Monnaie
La monnaie par défaut s'appelle les Elite Coins (currencyName dans EconomySettings.yml). Les joueurs la gagnent principalement en tuant des élites (pluies de monnaie) et en vendant du butin EliteMobs. Les soldes peuvent être consultés et payés à l'aide des commandes de monnaie standard :
/em money check– consulter votre solde (la commande/em walletn'existe pas ; certains commentaires de configuration emploient encore cet ancien nom)/em pay <player> <amount>– payer un autre joueur (soumis àplayerToPlayerPaymentTaxes)
Les administrateurs peuvent gérer les soldes avec /em money add|remove|set et compagnie.
Les boutiques
Boutique dynamique (équipement généré procéduralement)
Utilisez /em shop dynamic ou parlez au PNJ Forgeron (elitemobs.shop.dynamic.npc). La commande du joueur redirige vers la Guilde si agTeleport est activé, si la Guilde est installée et si le joueur possède elitemobs.adventurersguild.teleport ; sinon, elle ouvre le menu acheter-ou-vendre. Le PNJ ouvre ce menu directement.
La Boutique Dynamique utilise les emplacements de stock configurés d'un menu de 54 emplacements pour proposer des armes et armures procédurales EliteMobs. Les niveaux suivent votre niveau de compétence pour ce type d'objet : chaque objet est tiré entre (skillLevel - 5) et skillLevel, dans la plage 1–100. À partir du niveau de compétence 105, toutes les offres de cette compétence sont de niveau 100. Les matériaux sans compétence correspondante utilisent le niveau dérivé de votre XP moyenne sur tous les types de compétences.
- Cliquez sur un objet pour l'acheter à sa valeur calculée. Il faut suffisamment de fonds, un emplacement de stockage vide et satisfaire à l'exigence de compétence pour équiper l'objet applicable. Cette vérification respecte le réglage des restrictions d'équipement et ses exceptions, notamment les objets de niveau 20 ou inférieur.
- Utilisez le bouton relancer (reroll) pour rafraîchir le stock proposé (court délai de 2 secondes).
- Un achat renouvelle également le stock.
Boutique personnalisée (objets spéciaux)
Utilisez /em shop custom ou parlez au PNJ Forgeron Spécial (elitemobs.shop.custom.npc). La commande du joueur suit la même règle de redirection vers la Guilde que la Boutique Dynamique ; le PNJ ouvre directement le menu acheter-ou-vendre.
La Boutique Personnalisée tire des entrées aléatoires parmi les Objets Personnalisés admissibles. itemType: CUSTOM est admissible ; UNIQUE, DROPPABLE et CLASS_LOOT sont exclus. Les copies proposées sont liées à l'âme de l'acheteur lorsque cette fonction est activée. Gardez au moins un objet admissible : le sélecteur actuel ne peut pas remplir la boutique à partir d'un ensemble vide.
Les achats nécessitent suffisamment de fonds et un emplacement de stockage vide. Ce menu n'applique pas la vérification de compétence de la Boutique Dynamique : pouvoir acheter un objet ne garantit donc pas de pouvoir l'équiper. Le bouton relancer (reroll) a un délai de 2 secondes ; les achats renouvellent aussi le stock.
Vendre des objets
La vente se fait via l'option Vendre du menu acheter-ou-vendre (après avoir ouvert la Boutique Dynamique ou Personnalisée), ou directement par un administrateur avec /em shop sell <player> (elitemobs.shop.sell.other). Le PNJ Forgeron Vente d'objets utilise la permission elitemobs.shop.sell.npc.
Dans le menu de Vente :
- Cliquez sur les objets EliteMobs de votre inventaire pour déplacer leurs piles vers les emplacements de vente. Les objets vanilla sont refusés. Les objets EliteMobs sans lien d'âme et ceux liés à vous sont acceptés. Les objets liés à un autre joueur sont refusés, sauf si la vérification du lien d'âme est désactivée ou si vous disposez de sa permission de contournement.
- Le bouton de confirmation affiche le total en cours. Cliquez dessus pour tout vendre et recevoir des Elite Coins.
- La valeur de revente est une fraction de la valeur enregistrée de l'objet, ou de sa valeur calculée si aucune valeur n'est enregistrée, définie par
itemResaleValuedansEconomySettings.yml(par défaut 5 %). La taille de la pile multiplie le paiement. - Les recettes remboursent d'abord les dettes de jeu ; seul le reste augmente le solde disponible.
- Chaque pile est créditée séparément. Si le fournisseur d'économie refuse un crédit, cette pile vous est rendue, la vente s'arrête et
shopTransactionFailedMessages'affiche. Les piles créditées avant ce moment restent vendues.
Boutique de Flèches
Ouverte en parlant au PNJ Boutique de Flèches (elitemobs.shop.arrow.npc).
La Boutique de Flèches vend des munitions contre des Elite Coins. Le stock par défaut comprend :
- Des flèches ordinaires (un petit lot et un grand lot)
- Des flèches spectrales
- Des flèches à effet de Poison, Lenteur, Faiblesse, Dégâts et Soin
La quantité et le prix de chaque entrée se configurent dans menus/arrow_shop_menu.yml. Cliquez sur une flèche pour l'acheter ; il faut suffisamment de fonds et un emplacement vide, même si les flèches pourraient s'empiler ailleurs. Les emplacements du stock sont fixes dans l'implémentation. Redémarrez après avoir changé les prix, quantités ou noms des articles : le catalogue est mis en cache au premier chargement de la classe du menu.
Commandes et permissions
| Commande | Permission | Par défaut | Description |
|---|---|---|---|
/em shop dynamic | elitemobs.shop.dynamic | true | Ouvre le menu d'entrée de la boutique dynamique ou demande une téléportation vers la Guilde |
/em shop procedural <player> | elitemobs.* | op | Ouvre la boutique dynamique (procédurale) pour un autre joueur |
/em shop custom | elitemobs.shop.command | dans le code uniquement | Ouvre le menu d'entrée de la boutique personnalisée ou demande une téléportation vers la Guilde ; accordez ce nœud réel si nécessaire, plutôt que le nœud déclaré mais inutilisé elitemobs.shop.custom |
/em shop custom <player> | elitemobs.shop.custom.other | op | Ouvre la boutique personnalisée pour un autre joueur |
/em shop sell <player> | elitemobs.shop.sell.other | op | Ouvre le menu de vente pour un autre joueur |
Permissions d'interaction avec les PNJ (accordées aux joueurs par défaut via le bundle elitemobs.user) :
| Permission | PNJ |
|---|---|
elitemobs.shop.dynamic.npc | Forgeron (boutique dynamique) |
elitemobs.shop.custom.npc | Forgeron Spécial (boutique personnalisée) |
elitemobs.shop.sell.npc | Vente d'objets |
elitemobs.shop.arrow.npc | Boutique de Flèches |
Configuration
L'économie de la boutique est configurée dans EconomySettings.yml. Clés notables :
| Clé | Par défaut | Effet |
|---|---|---|
enableEconomy | true | Active les entrées normales de l'économie ; ne bloque pas tous les accès directs aux boutiques |
currencyName | Elite Coins | Nom d'affichage de la monnaie |
useVault | false | Acheminer les soldes via Vault au lieu de la base de données d'EliteMobs |
itemResaleValue | 5 | Pourcentage de la valeur totale de l'objet payé lors de la vente |
playerToPlayerPaymentTaxes | 0.2 | Taux de taxe (0.0–1.0) appliqué aux transferts /em pay (0.2 = 20 %) |
enableCurrencyShower | true | Détermine si les élites laissent tomber des pièces à leur mort |
currencyShowerTierMultiplier | 1.0 | Multiplicateur de la monnaie lâchée (2.0 = double) |
materialWorth.defaultMaterialWorth | 1 | Valeur utilisée pour tout matériau sans entrée materialWorth.<MATERIAL> propre |
Les entrées materialWorth.<MATERIAL> utilisent des valeurs fixes issues des paliers de matériaux du plugin : netherite 18, diamant et trident 17, fer 16, pierre et mailles 15, et or, bois et cuir 13. Ces paliers sont des constantes du code, pas des paramètres de configuration. Modifiez les entrées individuelles de materialWorth dans EconomySettings.yml pour fixer les prix de la boutique.
Les agencements de menu (emplacements, icônes d'objet, noms et messages) de chaque boutique se trouvent dans les fichiers de configuration de menu d'EliteMobs (par exemple les configs de menu acheter-ou-vendre, boutique personnalisée, boutique procédurale, vente et boutique de flèches).
La valeur d'achat calculée combine matériau, enchantements et effets de potion, avec une valeur de base de 1. Les valeurs de revente déjà enregistrées peuvent donc différer des nouveaux prix calculés après une modification des réglages de prix.
Chaque achat retire d'abord le prix et ne remet l'objet qu'une fois le paiement accepté par le fournisseur d'économie. Si le fournisseur refuse le paiement, le joueur reçoit le message de fonds insuffisants et rien n'est remis. Si la transaction échoue en cours de route, le joueur voit shopTransactionFailedMessage et le journal du serveur enregistre le prix, si le débit a été accepté et l'objet, afin qu'un administrateur puisse régulariser la situation.
Pages associées
- Monde de la Guilde des Aventuriers — où résident les PNJ de boutique
- Lien d'Âme — vérification du propriétaire et exceptions
- Système de Compétences — comment les niveaux de compétence verrouillent l'équipement et mettent à l'échelle la boutique dynamique
- Intégration Vault — utiliser une économie à l'échelle du serveur
- Créer des Objets — ajouter des objets personnalisés à la boutique personnalisée