Zum Hauptinhalt springen

RPG Core

Werte, Ausrüstungsboni, Berufe, Items, Rucksack, Auktionshaus, Handel und Bewegung.

Privatv0.1.1RPG & Progression
BenötigtTypeWriter0.9.0-beta-177 (BTC build)GUIVaultUiCoreoptionalBTCMobsoptionalProfilesoptionalPartyoptional

Für das BornToCraft-Netzwerk entwickelt. Diese Erweiterung ist zu Referenzzwecken dokumentiert und wird nicht verteilt.

Überblick​

RPG Core ist die Fortschrittsebene eines BTC-Servers. Es ist eine große Erweiterung (unter dem Namen RPGBundle gebaut), die das Wertesystem, einen benutzerdefinierten Item-Katalog mit Sets und Edelsteinen, Berufe mit Leveln, ein globales Level, Rucksäcke und Garderobe, ein Auktionshaus, sicheren Spielerhandel, eigene Crafting-Stationen, eigenes Angeln, Bewegungsfähigkeiten (Kriechen, Überklettern, Klettern) und Ether-Korruptionszonen bündelt.

Fast alles wird in einem Entry konfiguriert, der RPG Core Configuration, der für jedes System einen Abschnitt hat. Die anderen Entries sind kleine Bausteine: Aktionen, um Items zu geben oder Werte zu ändern, Facts, um sie zu lesen, Menüs zum Öffnen und Artifacts zum Speichern von Spielerdaten.

Die Kernidee ist das unten beschriebene Wertemodell: Jeder Spieler hat numerische Werte (Stärke, Leben, Crit-Chance, Geschwindigkeit ...), Ausrüstung addiert dazu, und das Ergebnis steuert Kampf, Sammeln und Vanilla-Attribute.

Funktionen​

  • Wertemodell — 77 Werte mit einem Basiswert pro Spieler, Boni aus angelegten Items und benannten Beschränkungen.
  • Item-Katalog — Kategorien benutzerdefinierter Items mit Werten, Seltenheit, Level-Anforderungen und Ausrüstungssets mit Set-Boni.
  • Berufe — Level, XP-Kurven, Level-Belohnungen (permanente Werte und Trigger), Boosts, Wettbewerbe und ein Berufsmenü.
  • Globales Level — ein gewichtetes Level, das aus Berufen und Quests berechnet wird und unter anderem Bewegungsfähigkeiten freischaltet.
  • Lager — persönliche Rucksäcke und eine Garderobe (Accessoires und Elytren), in Artifacts gespeichert.
  • Wirtschaft — ein Auktionshaus und ein sicherer Spieler-zu-Spieler-Handel mit einem gleitenden 24-Stunden-Währungslimit.
  • Crafting — eigene Rezepte, Amboss, Schleifstein, Webstuhl, Alchemie, Komposter, Kartografie und Werkstationen mit Level-Sperren.
  • Bewegung — Kriechen mit doppeltem Schleichen, automatisches Überklettern und Wandklettern, mit optionalen BetterModel-Animationen.
  • Korruption — Zonen der Ether-Korruption, die sich ausbreiten, gereinigt werden können und korrumpierte Mobs spawnen.
  • Befehle — Admin-Werkzeuge für Werte, Berufe, Items, Boosts und Inventare sowie Spielerbefehle für Auktion, Handel, Recycling und Unstick.

Installation​

  1. Installiere die Erweiterung GUI: Die Menüs (Berufe, Rucksack, Garderobe, Auktion, Handel) werden damit gerendert.
  2. Installiere ein Vault-kompatibles Wirtschafts-Plugin (Vault), wenn du das Auktionshaus oder den Handel mit der Standardwirtschaft verwendest.
  3. Installiere optional UiCore (Menüs und Fortschritts-HUD), BTCMobs (korrumpierte Mobs, Mob-Gruppen), Profiles, Party und BTC Sky für die Integrationen, die sie auslesen.
  4. Lege die RPG-Core-JAR in plugins/Typewriter/extensions/ ab und starte den Server neu.

Erste Schritte​

  1. Öffne im TypeWriter-Web-Panel eine statische Page und füge ein Player State-Artifact hinzu: Es speichert die Basiswerte und Effekte jedes Spielers.
  2. Füge ein Profession Data-Artifact hinzu, wenn du Berufe verwendest.
  3. Füge den Entry RPG Core Configuration hinzu. Setze in stats das artifact auf das Player-State-Artifact. Lass stats.stats leer, um die eingebauten Standardwerte zu laden, oder füge Elemente hinzu, um Anzeigename, Standardwert, minValue, maxValue oder displayFormat eines Wertes zu überschreiben. Setze in professions das artifact auf das Profession-Data-Artifact und füge einen Beruf hinzu.
  4. Füge in items eine Kategorie und ein Katalog-Item mit stats wie STRENGTH und HEALTH sowie einer rarity hinzu.
  5. Veröffentliche. Gib dir das Item mit /rpgitem give, leg es an und prüfe den Wert mit /rpgstat info <player> STRENGTH.
  6. Löse Aktionen wie Give BTC Item, Add Stat oder Profession Grant XP aus Quests und von NPCs aus aus.
Ein Konfigurations-Entry

Erstelle einen einzigen RPG-Core-Configuration-Entry und behalte so eine einzige Quelle der Wahrheit für alle Abschnitte.

Funktionsweise​

Das Wertemodell hat vier Ebenen.

  1. Definition. Jeder Wert ist ein fester Bezeichner (STRENGTH, HEALTH, CRIT_CHANCE, SPEED, MINING_EFFICIENCY ...). Jeder hat einen Geltungsbereich (PLAYER: nur der Basiswert des Spielers kann ihn halten; ITEM: nur Ausrüstungsboni; BOTH) und eine Einheit, die angibt, wie er gespeichert wird: absolute Vanilla-Einheiten (Lebenspunkte, Rüstung), ein Prozentsatz des Vanilla-Basiswerts (Geschwindigkeit, 100 = Vanilla), ein Bruchteil von 0 bis 1 (Crit-Chance, Resistenzen), ein Multiplikator, bei dem 1 neutral ist, additive Prozentpunkte oder einfache Punkte. Die Einheit gehört fest zum Wert; die Konfiguration kann sie nicht ändern.
  2. Basiswert. Jeder Spieler hat pro Wert einen persistenten Basiswert, der beim defaultValue des Wertes beginnt und im Player-State-Artifact gespeichert wird. Er ändert sich durch Add Stat, Remove Stat, Berufs-Level-Belohnungen (stats) und /rpgstat. Er wird auf 2 Dezimalstellen gerundet (ganze Zahlen bei INTEGER-Werten) und zwischen minValue und maxValue begrenzt.
  3. Ausrüstungsboni. Immer wenn sich die Ausrüstung ändert, berechnet die Erweiterung die Boni von Helm, Brustpanzer, Hose, Stiefeln, Haupthand, Nebenhand und der aktiven Garderobenseite neu. Für jedes getragene Item addiert sie die Werte aus seiner Katalogdefinition, die am Item gespeicherte Wertekomponente und auf Werte abgebildete Vanilla-Verzauberungen. Items, deren Berufs-Level-Anforderungen nicht erfüllt sind, geben nichts. Werte mit dem Geltungsbereich PLAYER ignorieren Ausrüstung. Diese Boni sind temporär und werden nie gespeichert.
  4. Beschränkungen. Constrain Stat hält einen Wert unter einer benannten source zwischen einem min und einem max, bis Release Stat Constraint sie aufhebt: eine Duell-Arena, die den Angriff begrenzt, eine verfluchte Halle, die die Verteidigung senkt. Mehrere Beschränkungen verschärfen sich gegenseitig (höchste Untergrenze, niedrigste Obergrenze; bei einem Konflikt gewinnt die Obergrenze).

Der Gesamtwert ist base + equipment (Basiswert plus Ausrüstung), begrenzt und dann beschränkt. Werte, die einem Vanilla-Attribut entsprechen (Leben, Rüstung, Geschwindigkeit, Angriffsschaden, Sprungkraft, Reichweite ...), werden mit der Einheitenumrechnung an dieses Attribut übergeben; die anderen werden vom Code gelesen, der sie braucht: Crit-Chance und -Schaden, Lebensraub, Ausweichen, Blocken, doppelte Drops, Abbau- und Holzfäll-Effizienz, Angelstärke, Berufs-XP-Boost und so weiter.

Temporary Stat addiert einen Wert für eine Dauer (Tränke, Buffs). Lies einen Wert in einer Bedingung mit Player Stat aus, der den mit scale multiplizierten und gerundeten Wert zurückgibt.

Konfiguration​

Alles Folgende sind Abschnitte von RPG Core Configuration.

AbschnittWas er konfiguriert
itemsItem-Katalog (Kategorien, Items, Seltenheit, Anforderungen), Ausrüstungssets und Edelsteine.
statsDas Player-State-Artifact, Überschreibungen pro Wert, globale Optionen (Regeneration, Crit, Lebensraub, Effizienz, Mob-Gruppen, Bonus-Loot) und Befehlsnachrichten.
professionsDie Berufsliste, Level, XP-Kurve und Belohnungen, das Berufsmenü und Nachrichten.
inventoryLayouts und Speicherung von Rucksack und Garderobe.
auctionSteuern, Laufzeiten, Wirtschaft und Menüs des Auktionshauses.
tradeSicherer Handel: Entfernung, Lebensdauer von Anfragen, Stack-Limit, 24-Stunden-Währungslimit, Ledger-Artifact, Wirtschaft und Menü.
movementStufen für Kriechen, Überklettern und Klettern, globale Level-Sperren, BetterModel-Animationen.
crafting, specialRecipes, anvil, enchantment, alchemy, grindstone, loom, cartography, cartographyCrafting, composter, workstations, industrialRezepte und eigene Werkstationen, jeweils durch Level oder Verzögerungen gesperrt.
fishing, gathering, mobTrapEigenes Angeln (einschließlich Lava und Leere), einheitliches Ressourcensammeln (XP, Loot, Sperren) und Mob-Fang.
boosts, globalLevel, respawn, recycling, divers, beaconTemporäre Boosts, die Formel des globalen Levels, bedingter Respawn, Recycling, Harz und das Insel-Leuchtfeuer.
etherCorruptionEther-Korruptionszonen.
combatFeedback, vanillaTooltipSchadenszahlen, Lebensleisten und ausgeblendete Vanilla-Tooltips.

Befehle​

Alle Befehle werden beim Start mit ihren Aliasen registriert. Admin-Befehle benötigen borntocraft.rpg.admin.

Befehl (Aliase)BerechtigungBeschreibung
/rpgstat (statadmin, btcstat)borntocraft.rpg.adminlist, info <player> <stat>, set, add, remove <player> <stat> <value>, reset <player> <stat>. Werte mit dem Geltungsbereich ITEM können nicht direkt geändert werden.
/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 (wendet die Werte von Online-Spielern erneut an), 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 für Rezepte.
/rpginventory (btcinv, inventoryadmin)borntocraft.rpg.adminbackpack <list|open|reset>, wardrobe <open|info>, list.
/rpgboost (boost, xpboost)borntocraft.rpg.admingive, clear, list für Berufs-XP-Boosts.
/questrewardreset (qrr, resetquestreward)btc.admin.questrewardreset<menuId> <player|all>: setzt die Abholungen eines Quest Reward Menu zurück.
/rpgauction (ah, auction)keinebrowse, management, sellmenu, collection, list <price> <minutes> [buyout], bid <id> <amount>, buy <id>, cancel <id>, claim, finalize (Admin).
/rpgtrade (trade, p2ptrade)keine<player> öffnet eine Anfrage; accept <id>, deny <id>, money <amount>, confirm, cancel.
/rpgrecycling (recycling, recycle)keineÖffnet das Recycling-Menü.
/unstick (rollback)keineLöst den Entry mit der ID action:system_unstick aus; er antwortet mit einem Fehler, wenn dieser Entry nicht existiert.

Berechtigungen​

BerechtigungGewährt
borntocraft.rpg.adminAlle oben genannten Admin-Befehle.
btc.admin.questrewardreset/questrewardreset.

Platzhalter​

RPG Core registriert die MiniPlaceholders-Expansion btc. Die vollständige Liste findest du unter Platzhalter.

Entries​

42 Einträge, aus dem Quellcode der Erweiterung generiert.

Aktionen24
Ereignisse4
Fakten6
Zielgruppen1
Artefakte6
Manifeste1
  • BTC Rpgcore ConfigurationConfigure BornToCraft RPG core systems (Items, Stats, Professions, Inventory, Crafting, Commands, Fishing, Auction, Movement, Trade)

Fehlerbehebung​

No btc_rpgcore_configuration entry found! Create one in TypeWriter UI. Ohne den Konfigurations-Entry wird nichts geladen. Füge einen hinzu und veröffentliche.

Werte werden zurückgesetzt oder nicht gespeichert. stats.artifact ist leer oder verweist auf ein fehlendes Artifact: Die Basiswerte werden dann nur im Speicher gehalten. Verknüpfe ein Player-State-Artifact. Dasselbe gilt für professions.artifact beim Berufsfortschritt.

Ein Item gibt keine Werte. Prüfe die Wert-ID (Aliase wie ATTACK_DAMAGE oder MAX_HEALTH werden akzeptiert), dass das Item in einem Rüstungs-, Hand- oder aktiven Garderoben-Slot getragen wird, dass der Spieler seine Berufs-requirements erfüllt und dass der Geltungsbereich des Wertes nicht PLAYER ist. Ein in der Konfiguration aufgeführter Wert mit einem displayFormat muss {value} enthalten, und ein minValue darf maxValue nicht überschreiten, sonst schlägt das Laden der Konfiguration fehl.

percentageMultiplier must be ... beim Laden. Bei Werten mit fester Einheit (zum Beispiel verwenden Bruchteile und Multiplikatoren 100, Prozent-vom-Vanilla-Werte 1) wird der Anzeige-Multiplikator geprüft. Entferne die Überschreibung oder verwende den Wert aus dem Fehler.

/rpgstat set lehnt einen Wert ab. Es heißt, der Wert sei nur für Items: Sein Geltungsbereich ist ITEM, nur Ausrüstung kann ihn halten. Verwende ein Item oder einen temporären Wert.

/unstick meldet, die Aktion sei nicht konfiguriert. Erstelle einen auslösbaren Entry mit der ID action:system_unstick.

Das Auktionshaus oder der Handel kann kein Geld bewegen. Die Standardwirtschaft ist Vault: Installiere Vault und einen Wirtschafts-Provider oder konfiguriere den Wirtschaftsadapter des Abschnitts.

Verwandte Erweiterungen​

  • UiCore — rendert die Fortschritts-, Garderoben- und Lagerpanels.
  • Profiles und Party — Profilwechsel und XP-Teilung in der Party.
  • BTC Sky — inselbezogene Mechaniken.