Aller au contenu principal

RPG Core

Statistiques, bonus d'équipement, métiers, objets, sac à dos, hôtel des ventes, échange et déplacement.

Privéesv0.1.1RPG et progression
NécessiteTypeWriter0.9.0-beta-177 (BTC build)GUIVaultUiCorefacultatifBTCMobsfacultatifProfilesfacultatifPartyfacultatif

Conçue pour le réseau BornToCraft. Cette extension est documentée à titre de référence et n'est pas distribuée.

Présentation​

RPG Core est la couche de progression d'un serveur BTC. C'est une grande extension (compilée sous le nom RPGBundle) qui regroupe le système de statistiques, un catalogue d'objets personnalisés avec panoplies et gemmes, des métiers avec niveaux, un niveau global, des sacs à dos et une garde-robe, un hôtel des ventes, des échanges sécurisés entre joueurs, des stations de fabrication personnalisées, une pêche personnalisée, des capacités de déplacement (ramper, enjamber, grimper) et des zones de corruption d'Ether.

Presque tout se configure dans une seule entrée, RPG Core Configuration, qui comporte une section par système. Les autres entrées sont de petites briques : des actions pour donner des objets ou modifier des statistiques, des facts pour les lire, des menus à ouvrir, et des artifacts pour stocker les données des joueurs.

L'idée centrale est le modèle de statistiques décrit plus bas : chaque joueur a des statistiques numériques (force, santé, chance de critique, vitesse...), l'équipement s'y ajoute, et le résultat pilote le combat, la récolte et les attributs vanilla.

Fonctionnalités​

  • Modèle de statistiques — 77 statistiques avec une valeur de base par joueur, des bonus provenant des objets équipés et des contraintes nommées.
  • Catalogue d'objets — catégories d'objets personnalisés avec statistiques, rareté, niveaux requis et panoplies d'équipement avec bonus de panoplie.
  • Métiers — niveaux, courbes d'XP, récompenses de niveau (statistiques permanentes et triggers), boosts, compétitions et un menu des métiers.
  • Niveau global — un niveau pondéré calculé à partir des métiers et des quêtes, utilisé pour conditionner les capacités de déplacement et plus encore.
  • Stockage — sacs à dos personnels et garde-robe (accessoires et élytres) sauvegardés dans des artifacts.
  • Économie — un hôtel des ventes et un échange sécurisé de joueur à joueur avec une limite de monnaie glissante sur 24 heures.
  • Fabrication — recettes personnalisées, enclume, meule, métier à tisser, alchimie, composteur, cartographie et établis avec des seuils de niveau.
  • Déplacements — ramper avec un double appui sur la touche de furtivité, enjambement et escalade de mur automatiques, avec des animations BetterModel facultatives.
  • Corruption — des zones de corruption d'Ether qui se propagent, peuvent être purifiées et font apparaître des mobs corrompus.
  • Commandes — outils d'administration pour les statistiques, les métiers, les objets, les boosts et les inventaires, ainsi que des commandes joueur pour les enchères, les échanges, le recyclage et le déblocage.

Installation​

  1. Installez l'extension GUI : les menus (métiers, sac à dos, garde-robe, enchères, échanges) sont rendus avec elle.
  2. Installez un plugin d'économie compatible Vault (Vault) si vous utilisez l'hôtel des ventes ou les échanges avec l'économie par défaut.
  3. Installez éventuellement UiCore (menus et HUD de progression), BTCMobs (mobs corrompus, groupes de mobs), Profiles, Party et BTC Sky pour les intégrations qui les lisent.
  4. Placez le JAR de RPG Core dans plugins/Typewriter/extensions/ et redémarrez le serveur.

Premiers pas​

  1. Dans le panneau web de TypeWriter, ouvrez une page statique et ajoutez un artifact Player State : il stocke les statistiques de base et les effets de chaque joueur.
  2. Ajoutez un artifact Profession Data si vous utilisez des métiers.
  3. Ajoutez l'entrée RPG Core Configuration. Dans stats, définissez artifact sur l'artifact Player State. Laissez stats.stats vide pour charger les valeurs par défaut intégrées, ou ajoutez des éléments pour remplacer le nom d'affichage, la valeur par défaut, minValue, maxValue ou displayFormat d'une statistique. Dans professions, définissez artifact sur l'artifact Profession Data et ajoutez un métier.
  4. Dans items, ajoutez une catégorie et un objet de catalogue avec des stats telles que STRENGTH et HEALTH et une rarity.
  5. Publiez. Donnez-vous l'objet avec /rpgitem give, équipez-le, et vérifiez la valeur avec /rpgstat info <player> STRENGTH.
  6. Déclenchez des actions telles que Give BTC Item, Add Stat ou Profession Grant XP depuis des quêtes et des PNJ.
Une seule entrée de configuration

Créez une seule entrée RPG Core Configuration et gardez une source de vérité unique pour toutes les sections.

Fonctionnement​

Le modèle de statistiques comporte quatre couches.

  1. Définition. Chaque statistique est un identifiant fixe (STRENGTH, HEALTH, CRIT_CHANCE, SPEED, MINING_EFFICIENCY...). Chacune a une portée (PLAYER : seule la statistique de base du joueur peut la porter ; ITEM : uniquement les bonus d'équipement ; BOTH) et une unité qui indique comment elle est stockée : unités vanilla absolues (points de vie, armure), un pourcentage de la base vanilla (vitesse, 100 = vanilla), une fraction de 0 à 1 (chance de critique, résistances), un multiplicateur où 1 est neutre, des points de pourcentage additifs, ou de simples points. L'unité est intrinsèque à la statistique ; la configuration ne peut pas la modifier.
  2. Valeur de base. Chaque joueur a une valeur de base persistante par statistique, qui part de la defaultValue de la statistique et est sauvegardée dans l'artifact Player State. Elle change via Add Stat, Remove Stat, les récompenses de niveau de métier (stats) et /rpgstat. Elle est arrondie à 2 décimales (entiers pour les statistiques INTEGER) et bornée entre minValue et maxValue.
  3. Bonus d'équipement. Chaque fois que l'équipement change, l'extension recalcule les bonus du casque, du plastron, des jambières, des bottes, de la main principale, de la seconde main et de la page de garde-robe active. Pour chaque objet porté, elle ajoute les statistiques de sa définition de catalogue, le composant de statistiques stocké sur l'objet, et les enchantements vanilla associés à des statistiques. Les objets dont les niveaux de métier requis ne sont pas atteints ne donnent rien. Les statistiques de portée PLAYER ignorent l'équipement. Ces bonus sont temporaires et jamais sauvegardés.
  4. Contraintes. Constrain Stat maintient une statistique entre un min et un max sous une source nommée jusqu'à ce que Release Stat Constraint la lève : une arène de duel qui plafonne l'attaque, une salle maudite qui réduit la défense. Plusieurs contraintes se resserrent mutuellement (plancher le plus haut, plafond le plus bas ; le plafond l'emporte en cas de conflit).

La valeur totale est base + equipment, bornée, puis contrainte. Les statistiques qui correspondent à un attribut vanilla (santé, armure, vitesse, dégâts d'attaque, force de saut, allonge...) sont poussées vers cet attribut avec la conversion d'unité ; les autres sont lues par le code qui en a besoin : chance et dégâts de critique, vol de vie, esquive, blocage, doubles drops, efficacité de minage et de bûcheronnage, force de pêche, boost d'XP de métier, etc.

Temporary Stat ajoute une statistique pour une durée (potions, buffs). Lisez une statistique dans une condition avec Player Stat, qui renvoie la valeur multipliée par scale et arrondie.

Configuration​

Tout ce qui suit est une section de RPG Core Configuration.

SectionCe qu'elle configure
itemsCatalogue d'objets (catégories, objets, rareté, prérequis), panoplies d'équipement et gemmes.
statsL'artifact Player State, les surcharges par statistique, les options globales (régénération, critique, vol de vie, efficacité, groupes de mobs, butin bonus) et les messages de commande.
professionsLa liste des métiers, les niveaux, la courbe d'XP et les récompenses, le menu des métiers et les messages.
inventoryDispositions et stockage du sac à dos et de la garde-robe.
auctionTaxes, durées, économie et menus de l'hôtel des ventes.
tradeÉchange sécurisé : distance, durée de vie des demandes, limite de pile, limite de monnaie sur 24 heures, artifact de registre, économie et menu.
movementPaliers de ramper, d'enjambement et d'escalade, seuils de niveau global, animations BetterModel.
crafting, specialRecipes, anvil, enchantment, alchemy, grindstone, loom, cartography, cartographyCrafting, composter, workstations, industrialRecettes et établis personnalisés, chacun conditionné par des niveaux ou des délais.
fishing, gathering, mobTrapPêche personnalisée (y compris dans la lave et le vide), récolte de ressources unifiée (XP, butin, seuils) et capture de mobs.
boosts, globalLevel, respawn, recycling, divers, beaconBoosts temporaires, formule du niveau global, réapparition conditionnelle, recyclage, résine et balise d'île.
etherCorruptionZones de corruption d'Ether.
combatFeedback, vanillaTooltipNombres de dégâts, barres de vie et infobulles vanilla masquées.

Commandes​

Toutes les commandes sont enregistrées au démarrage avec leurs alias. Les commandes d'administration nécessitent borntocraft.rpg.admin.

Commande (alias)PermissionDescription
/rpgstat (statadmin, btcstat)borntocraft.rpg.adminlist, info <player> <stat>, set, add, remove <player> <stat> <value>, reset <player> <stat>. Les statistiques de portée ITEM ne peuvent pas être modifiées directement.
/rpgadmin (rpgadm)borntocraft.rpg.adminstat <player> <stat> <get|set|reset> [value], profession <player> <profession> <get|setlevel|reset> [value], boost <player> <stat> <amount> <seconds>, corruption <create|remove|list>, mana <player> <set|give|get>, reload (réapplique les statistiques des joueurs en ligne), debug <player>.
/rpgprofession (profes, prof)borntocraft.rpg.adminaddxp, removexp, setxp, addlevel, setlevel, reset, info, list, menu.
/rpgitem (btcitem, customitem)borntocraft.rpg.admingive, remove, list, info, menu.
/rpgcraft (craftadmin, btccraft)borntocraft.rpg.adminlist, inspect, preview, menu pour les recettes.
/rpginventory (btcinv, inventoryadmin)borntocraft.rpg.adminbackpack <list|open|reset>, wardrobe <open|info>, list.
/rpgboost (boost, xpboost)borntocraft.rpg.admingive, clear, list des boosts d'XP de métier.
/questrewardreset (qrr, resetquestreward)btc.admin.questrewardreset<menuId> <player|all> : réinitialise les réclamations d'un Quest Reward Menu.
/rpgauction (ah, auction)aucunebrowse, management, sellmenu, collection, list <price> <minutes> [buyout], bid <id> <amount>, buy <id>, cancel <id>, claim, finalize (admin).
/rpgtrade (trade, p2ptrade)aucune<player> ouvre une demande ; accept <id>, deny <id>, money <amount>, confirm, cancel.
/rpgrecycling (recycling, recycle)aucuneOuvre le menu de recyclage.
/unstick (rollback)aucuneDéclenche l'entrée dont l'identifiant est action:system_unstick ; elle répond par une erreur si cette entrée n'existe pas.

Permissions​

PermissionAutorise
borntocraft.rpg.adminToutes les commandes d'administration ci-dessus.
btc.admin.questrewardreset/questrewardreset.

Placeholders​

RPG Core enregistre l'expansion MiniPlaceholders btc. Voir Placeholders pour la liste complète.

Entrées​

42 entrées, générées depuis la source de l'extension.

Actions24
Événements4
Faits6
Audiences1
Artefacts6
Manifestes1
  • BTC Rpgcore ConfigurationConfigure BornToCraft RPG core systems (Items, Stats, Professions, Inventory, Crafting, Commands, Fishing, Auction, Movement, Trade)

Dépannage​

No btc_rpgcore_configuration entry found! Create one in TypeWriter UI. Rien n'est chargé sans l'entrée de configuration. Ajoutez-en une et publiez.

Les statistiques se réinitialisent ou ne sont pas sauvegardées. stats.artifact est vide ou pointe vers un artifact manquant : les statistiques de base ne sont alors conservées qu'en mémoire. Liez un artifact Player State. Il en va de même pour professions.artifact pour la progression des métiers.

Un objet ne donne aucune statistique. Vérifiez l'identifiant de la statistique (des alias tels que ATTACK_DAMAGE ou MAX_HEALTH sont acceptés), que l'objet est porté dans un emplacement d'armure, de main ou de garde-robe active, que le joueur remplit ses requirements de métier, et que la portée de la statistique n'est pas PLAYER. Une statistique listée dans la configuration avec un displayFormat doit contenir {value}, et un minValue ne doit pas dépasser maxValue, sinon la configuration échoue au chargement.

percentageMultiplier must be ... au chargement. Pour les statistiques dont l'unité est fixe (par exemple les fractions et les multiplicateurs utilisent 100, les statistiques en pourcentage du vanilla utilisent 1), le multiplicateur d'affichage est vérifié. Retirez la surcharge ou utilisez la valeur indiquée dans l'erreur.

/rpgstat set refuse une statistique. Il indique que la statistique est réservée aux objets : sa portée est ITEM, donc seul l'équipement peut la porter. Utilisez un objet ou une statistique temporaire.

/unstick indique que l'action n'est pas configurée. Créez une entrée déclenchable avec l'identifiant action:system_unstick.

L'hôtel des ventes ou l'échange ne peut pas déplacer d'argent. L'économie par défaut est Vault : installez Vault et un fournisseur d'économie, ou configurez l'adaptateur d'économie de la section.

Extensions associées​

  • UiCore — affiche les panneaux de progression, de garde-robe et de stockage.
  • Profiles et Party — changement de profil et partage d'XP de groupe.
  • BTC Sky — mécaniques adaptées aux îles.