Saltar al contenido principal

RPG Core

Estadísticas, bonificaciones de equipo, profesiones, objetos, mochila, casa de subastas, comercio y movimiento.

Privadasv0.1.1RPG y progresión
RequiereTypeWriter0.9.0-beta-177 (BTC build)GUIVaultUiCoreopcionalBTCMobsopcionalProfilesopcionalPartyopcional

Creada para la red BornToCraft. Esta extensión está documentada como referencia y no se distribuye.

Descripción general​

RPG Core es la capa de progresión de un servidor BTC. Es una gran extensión (compilada con el nombre RPGBundle) que agrupa el sistema de estadísticas, un catálogo de objetos personalizados con conjuntos y gemas, profesiones con niveles, un nivel global, mochilas y armario, una casa de subastas, comercio seguro entre jugadores, estaciones de fabricación personalizadas, pesca personalizada, habilidades de movimiento (gatear, saltar obstáculos, trepar) y zonas de corrupción de Ether.

Casi todo se configura en una sola entrada, RPG Core Configuration, que tiene una sección por sistema. Las demás entradas son pequeños bloques de construcción: acciones para dar objetos o cambiar estadísticas, hechos para leerlas, menús que abrir y artefactos para almacenar los datos de los jugadores.

La idea central es el modelo de estadísticas que se describe más abajo: cada jugador tiene estadísticas numéricas (fuerza, salud, probabilidad de crítico, velocidad...), el equipo suma a ellas y el resultado determina el combate, la recolección y los atributos vanilla.

Características​

  • Modelo de estadísticas: 77 estadísticas con un valor base por jugador, bonificaciones de los objetos equipados y restricciones con nombre.
  • Catálogo de objetos: categorías de objetos personalizados con estadísticas, rareza, requisitos de nivel y conjuntos de equipo con bonificaciones de conjunto.
  • Profesiones: niveles, curvas de XP, recompensas por nivel (estadísticas permanentes y disparadores), potenciadores, competiciones y un menú de profesiones.
  • Nivel global: un nivel ponderado calculado a partir de las profesiones y las misiones, usado para restringir habilidades de movimiento y más.
  • Almacenamiento: mochilas personales y un armario (accesorios y élitros) guardados en artefactos.
  • Economía: una casa de subastas y un comercio seguro de jugador a jugador con un límite de moneda móvil de 24 horas.
  • Fabricación: recetas personalizadas, yunque, piedra de afilar, telar, alquimia, compostador, cartografía y estaciones de trabajo con restricciones por nivel.
  • Movimiento: gatear con un doble agachado, salto automático de obstáculos y trepa de paredes, con animaciones opcionales de BetterModel.
  • Corrupción: zonas de corrupción de Ether que se extienden, se pueden purificar y generan mobs corruptos.
  • Comandos: herramientas de administración para estadísticas, profesiones, objetos, potenciadores e inventarios, además de comandos de jugador para subastas, comercio, reciclaje y desatascarse.

Instalación​

  1. Instala la extensión GUI: los menús (profesiones, mochila, armario, subasta, comercio) se renderizan con ella.
  2. Instala un plugin de economía compatible con Vault (Vault) si usas la casa de subastas o el comercio con la economía por defecto.
  3. Opcionalmente, instala UiCore (menús y HUD de progresión), BTCMobs (mobs corruptos, grupos de mobs), Profiles, Party y BTC Sky para las integraciones que los leen.
  4. Coloca el JAR de RPG Core en plugins/Typewriter/extensions/ y reinicia el servidor.

Primeros pasos​

  1. En el panel web de TypeWriter, abre una página estática y añade un artefacto Player State: almacena las estadísticas base y los efectos de cada jugador.
  2. Añade un artefacto Profession Data si usas profesiones.
  3. Añade la entrada RPG Core Configuration. En stats, establece artifact en el artefacto Player State. Deja stats.stats vacío para cargar los valores por defecto integrados, o añade elementos para sobrescribir el nombre visible, el valor por defecto, minValue, maxValue o displayFormat de una estadística. En professions, establece artifact en el artefacto Profession Data y añade una profesión.
  4. En items, añade una categoría y un objeto del catálogo con stats como STRENGTH y HEALTH y una rarity.
  5. Publica. Date el objeto con /rpgitem give, equípatelo y comprueba el valor con /rpgstat info <player> STRENGTH.
  6. Activa acciones como Give BTC Item, Add Stat o Profession Grant XP desde misiones y NPC.
Una sola entrada de configuración

Crea una única entrada RPG Core Configuration y mantén una sola fuente de verdad para todas las secciones.

Cómo funciona​

El modelo de estadísticas tiene cuatro capas.

  1. Definición. Cada estadística es un identificador fijo (STRENGTH, HEALTH, CRIT_CHANCE, SPEED, MINING_EFFICIENCY...). Cada una tiene un ámbito (PLAYER: solo la estadística base del jugador puede contenerla; ITEM: solo las bonificaciones del equipo; BOTH) y una unidad que indica cómo se almacena: unidades vanilla absolutas (puntos de salud, armadura), un porcentaje de la base vanilla (velocidad, 100 = vanilla), una fracción de 0 a 1 (probabilidad de crítico, resistencias), un multiplicador en el que 1 es neutro, puntos porcentuales aditivos o puntos simples. La unidad es intrínseca a la estadística; la configuración no puede cambiarla.
  2. Valor base. Cada jugador tiene un valor base persistente por estadística, que empieza en el defaultValue de la estadística y se guarda en el artefacto Player State. Cambia mediante Add Stat, Remove Stat, las recompensas por nivel de profesión (stats) y /rpgstat. Se redondea a 2 decimales (enteros para las estadísticas INTEGER) y se limita entre minValue y maxValue.
  3. Bonificaciones de equipo. Cada vez que cambia el equipo, la extensión recalcula las bonificaciones del casco, la pechera, los pantalones, las botas, la mano principal, la mano secundaria y la página activa del armario. Por cada objeto que se lleva, suma las estadísticas de su definición en el catálogo, el componente de estadísticas almacenado en el objeto y los encantamientos vanilla asignados a estadísticas. Los objetos cuyos requisitos de nivel de profesión no se cumplen no dan nada. Las estadísticas con ámbito PLAYER ignoran el equipo. Estas bonificaciones son temporales y nunca se guardan.
  4. Restricciones. Constrain Stat mantiene una estadística entre un min y un max bajo un source con nombre hasta que Release Stat Constraint la levanta: una arena de duelos que limita el ataque, una sala maldita que reduce la defensa. Varias restricciones se estrechan entre sí (el suelo más alto, el techo más bajo; en caso de conflicto prevalece el techo).

El valor total es base + equipment, limitado y después restringido. Las estadísticas que coinciden con un atributo vanilla (salud, armadura, velocidad, daño de ataque, fuerza de salto, alcance...) se envían a ese atributo con la conversión de unidad; las demás las leen los códigos que las necesitan: probabilidad y daño de crítico, robo de vida, esquiva, bloqueo, doble botín, eficiencia de minería y de tala, fuerza de pesca, potenciador de XP de profesión, etc.

Temporary Stat añade una estadística durante un tiempo (pociones, mejoras). Lee una estadística en una condición con Player Stat, que devuelve el valor multiplicado por scale y redondeado.

Configuración​

Todo lo siguiente es una sección de RPG Core Configuration.

SecciónQué configura
itemsCatálogo de objetos (categorías, objetos, rareza, requisitos), conjuntos de equipo y gemas.
statsEl artefacto Player State, sobrescrituras por estadística, opciones globales (regeneración, crítico, robo de vida, eficiencia, grupos de mobs, botín adicional) y mensajes de comandos.
professionsLa lista de profesiones, niveles, curva de XP y recompensas, el menú de profesiones y los mensajes.
inventoryLayouts y almacenamiento de la mochila y del armario.
auctionImpuestos, duraciones, economía y menús de la casa de subastas.
tradeComercio seguro: distancia, duración de las solicitudes, límite de pila, límite de moneda de 24 horas, artefacto del libro de registro, economía y menú.
movementNiveles de gateo, salto de obstáculos y trepa, restricciones por nivel global, animaciones de BetterModel.
crafting, specialRecipes, anvil, enchantment, alchemy, grindstone, loom, cartography, cartographyCrafting, composter, workstations, industrialRecetas y estaciones de trabajo personalizadas, cada una restringida por niveles o retrasos.
fishing, gathering, mobTrapPesca personalizada (incluidas la lava y el vacío), recolección unificada de recursos (XP, botín, restricciones) y captura de mobs.
boosts, globalLevel, respawn, recycling, divers, beaconPotenciadores temporales, la fórmula del nivel global, reaparición condicional, reciclaje, resina y la baliza de isla.
etherCorruptionZonas de corrupción de Ether.
combatFeedback, vanillaTooltipNúmeros de daño, barras de salud y tooltips vanilla ocultos.

Comandos​

Todos los comandos se registran al arrancar con sus alias. Los comandos de administración necesitan borntocraft.rpg.admin.

Comando (alias)PermisoDescripción
/rpgstat (statadmin, btcstat)borntocraft.rpg.adminlist, info <player> <stat>, set, add, remove <player> <stat> <value>, reset <player> <stat>. Las estadísticas con ámbito ITEM no se pueden cambiar directamente.
/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 (vuelve a aplicar las estadísticas de los jugadores conectados), 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 para recetas.
/rpginventory (btcinv, inventoryadmin)borntocraft.rpg.adminbackpack <list|open|reset>, wardrobe <open|info>, list.
/rpgboost (boost, xpboost)borntocraft.rpg.admingive, clear, list de los potenciadores de XP de profesión.
/questrewardreset (qrr, resetquestreward)btc.admin.questrewardreset<menuId> <player|all>: restablece las reclamaciones de un Quest Reward Menu.
/rpgauction (ah, auction)ningunobrowse, management, sellmenu, collection, list <price> <minutes> [buyout], bid <id> <amount>, buy <id>, cancel <id>, claim, finalize (administración).
/rpgtrade (trade, p2ptrade)ninguno<player> abre una solicitud; accept <id>, deny <id>, money <amount>, confirm, cancel.
/rpgrecycling (recycling, recycle)ningunoAbre el menú de reciclaje.
/unstick (rollback)ningunoActiva la entrada cuyo id es action:system_unstick; responde con un error si esa entrada no existe.

Permisos​

PermisoConcede
borntocraft.rpg.adminTodos los comandos de administración anteriores.
btc.admin.questrewardreset/questrewardreset.

Placeholders​

RPG Core registra la expansión de MiniPlaceholders btc. Consulta Placeholders para ver la lista completa.

Entradas​

42 entradas, generadas a partir del código fuente de la extensión.

Acciones24
Eventos4
Hechos6
Audiencias1
Artefactos6
Manifiestos1
  • BTC Rpgcore ConfigurationConfigure BornToCraft RPG core systems (Items, Stats, Professions, Inventory, Crafting, Commands, Fishing, Auction, Movement, Trade)

Resolución de problemas​

No btc_rpgcore_configuration entry found! Create one in TypeWriter UI. No se carga nada sin la entrada de configuración. Añade una y publica.

Las estadísticas se restablecen o no se guardan. stats.artifact está vacío o apunta a un artefacto inexistente: las estadísticas base solo se conservan entonces en memoria. Enlaza un artefacto Player State. Lo mismo se aplica a professions.artifact para el progreso de las profesiones.

Un objeto no da estadísticas. Comprueba el id de la estadística (se aceptan alias como ATTACK_DAMAGE o MAX_HEALTH), que el objeto se lleva en una ranura de armadura, de mano o del armario activo, que el jugador cumple los requirements de profesión del objeto y que el ámbito de la estadística no es PLAYER. Una estadística enumerada en la configuración con un displayFormat debe contener {value}, y un minValue no debe superar a maxValue; de lo contrario la configuración no se carga.

percentageMultiplier must be ... al cargar. Para las estadísticas cuya unidad es fija (por ejemplo, las fracciones y los multiplicadores usan 100 y las estadísticas de porcentaje de vanilla usan 1), se comprueba el multiplicador de visualización. Elimina la sobrescritura o usa el valor que indica el error.

/rpgstat set rechaza una estadística. Dice que la estadística es solo de objeto: su ámbito es ITEM, por lo que solo el equipo puede contenerla. Usa un objeto o una estadística temporal.

/unstick dice que la acción no está configurada. Crea una entrada activable con el id action:system_unstick.

La casa de subastas o el comercio no pueden mover dinero. La economía por defecto es Vault: instala Vault y un proveedor de economía, o configura el adaptador de economía de la sección.

Extensiones relacionadas​

  • UiCore: renderiza los paneles de progresión, armario y almacenamiento.
  • Profiles y Party: cambio de perfil y reparto de XP en grupo.
  • BTC Sky: mecánicas conscientes de la isla.