メインコンテンツまでスキップ

RPG Core

ステータス、装備ボーナス、職業、アイテム、バックパック、オークションハウス、トレード、移動。

プライベートv0.1.1RPG と成長
必要TypeWriter0.9.0-beta-177 (BTC build)GUIVaultUiCore任意BTCMobs任意Profiles任意Party任意

BornToCraft ネットワーク向けに作られた拡張機能です。参照用にドキュメント化されており、配布されていません。

概要​

RPG Core は、BTC サーバーの成長システムの層です。ステータスシステム、セットとジェムを持つカスタムアイテムカタログ、レベルのある職業、グローバルレベル、バックパックとワードローブ、オークションハウス、安全なプレイヤー間トレード、カスタムクラフトステーション、カスタム釣り、移動アビリティ(匍匐、飛び越え、よじ登り)、イーサーコラプションゾーンをまとめた、1 つの大きなエクステンションです(RPGBundle という名前でビルドされています)。

ほぼすべてが1 つのエントリー、RPG Core Configuration で設定され、システムごとにセクションがあります。その他のエントリーは小さな構成要素です。アイテムを渡したりステータスを変更したりするアクション、それらを読み取るファクト、開くメニュー、プレイヤーデータを保存するアーティファクトです。

中心となる考え方は、以下で説明するステータスモデルです。すべてのプレイヤーは数値のステータス(筋力、体力、クリティカル率、速度など)を持ち、装備がそれに加算され、その結果が、戦闘、採集、バニラのアトリビュートを動かします。

機能​

  • ステータスモデル — プレイヤーごとの基本値、装備中のアイテムによるボーナス、名前付きの制約を持つ 77 種類のステータス。
  • アイテムカタログ — ステータス、レアリティ、レベル要件を持つカスタムアイテムのカテゴリーと、セットボーナス付きの装備セット。
  • 職業 — レベル、経験値曲線、レベル報酬(永続ステータスとトリガー)、ブースト、コンペティション、職業メニュー。
  • グローバルレベル — 職業とクエストから計算される加重レベル。移動アビリティなどの制限に使われます。
  • ストレージ — アーティファクトに保存される、個人用バックパックとワードローブ(アクセサリーとエリトラ)。
  • エコノミー — オークションハウスと、24 時間のローリング通貨上限を持つ、安全なプレイヤー間トレード。
  • クラフト — カスタムレシピ、金床、砥石、織機、錬金術、コンポスター、地図作成、レベル制限付きの作業台。
  • 移動 — ダブルスニークによる匍匐、自動の飛び越えと壁のよじ登り。任意で BetterModel のアニメーションに対応します。
  • コラプション — 広がり、浄化でき、汚染されたモブを出現させる、イーサーコラプションのゾーン。
  • コマンド — ステータス、職業、アイテム、ブースト、インベントリの管理ツールと、オークション、トレード、リサイクル、スタック解除のプレイヤー向けコマンド。

インストール​

  1. GUI エクステンションをインストールします。メニュー(職業、バックパック、ワードローブ、オークション、トレード)は、これを使って描画されます。
  2. オークションハウスやトレードでデフォルトのエコノミーを使う場合は、Vault 互換のエコノミープラグイン(Vault)をインストールします。
  3. 任意で、UiCore(メニューと成長 HUD)、BTCMobs(汚染されたモブ、モブグループ)、Profiles、Party、BTC Sky を、それらを読み取る連携のためにインストールします。
  4. RPG Core の JAR を plugins/Typewriter/extensions/ に配置し、サーバーを再起動します。

はじめに​

  1. TypeWriter の Web パネルでスタティックページを開き、Player State アーティファクトを追加します。これは、各プレイヤーの基本ステータスとエフェクトを保存します。
  2. 職業を使う場合は、Profession Data アーティファクトを追加します。
  3. RPG Core Configuration エントリーを追加します。stats で、artifact に Player State アーティファクトを設定します。stats.stats を空のままにすると、組み込みのデフォルトが読み込まれ、項目を追加すると、ステータスの表示名、デフォルト値、minValue、maxValue、displayFormat を上書きできます。professions では、artifact に Profession Data アーティファクトを設定し、職業を追加します。
  4. items に、カテゴリーと、STRENGTH や HEALTH などの stats と rarity を持つカタログアイテムを追加します。
  5. Publish します。/rpgitem give でアイテムを手に入れて装備し、/rpgstat info <player> STRENGTH で値を確認します。
  6. クエストや NPC から、Give BTC Item、Add Stat、Profession Grant XP などのアクションをトリガーします。
設定エントリーは 1 つ

RPG Core Configuration エントリーは 1 つだけ作成し、すべてのセクションの情報源を 1 つに保ってください。

仕組み​

ステータスモデルには、4 つの層があります。

  1. デフィニション。 すべてのステータスは、固定の識別子(STRENGTH、HEALTH、CRIT_CHANCE、SPEED、MINING_EFFICIENCY など)です。それぞれに、スコープ(PLAYER: プレイヤーの基本ステータスのみが保持できる、ITEM: 装備ボーナスのみ、BOTH)と、保存のされ方を示す単位があります。単位は、バニラの絶対値(体力ポイント、防御力)、バニラの基本値に対するパーセント(速度、100 = バニラ)、0 から 1 の割合(クリティカル率、耐性)、1 が中立となる乗数、加算するパーセンテージポイント、またはそのままのポイントです。単位はステータス固有のもので、設定で変更することはできません。
  2. 基本値。 各プレイヤーは、ステータスごとに永続的な基本値を持ち、ステータスの defaultValue から始まり、Player State アーティファクトに保存されます。これは、Add Stat、Remove Stat、職業のレベル報酬(stats)、/rpgstat によって変化します。小数点以下 2 桁に丸められ(INTEGER ステータスは整数)、minValue と maxValue の間に制限されます。
  3. 装備ボーナス。 装備が変更されるたびに、エクステンションは、ヘルメット、チェストプレート、レギンス、ブーツ、メインハンド、オフハンド、有効なワードローブのページのボーナスを再計算します。着用中の各アイテムについて、カタログのデフィニションにあるステータス、アイテムに保存されたステータスコンポーネント、ステータスにマッピングされたバニラのエンチャントを加算します。職業レベルの要件を満たしていないアイテムは、何も与えません。スコープが PLAYER のステータスは、装備を無視します。これらのボーナスは一時的なもので、保存されることはありません。
  4. 制約。 Constrain Stat は、Release Stat Constraint が解除するまで、名前付きの source の下で、ステータスを min と max の間に保ちます。攻撃力に上限を設ける決闘アリーナや、防御力を下げる呪われた広間などです。複数の制約は互いを絞り込みます(下限は最も高いもの、上限は最も低いもの。衝突した場合は、上限が優先されます)。

合計値は base + equipment を制限し、さらに制約をかけたものです。バニラのアトリビュート(体力、防御力、速度、攻撃ダメージ、ジャンプ力、リーチなど)に対応するステータスは、単位変換を経て、そのアトリビュートに反映されます。それ以外は、それを必要とするコードが読み取ります。クリティカル率とダメージ、ライフスティール、回避、ブロック、ドロップ倍増、採掘と伐採の効率、釣りの強さ、職業経験値ブーストなどです。

Temporary Stat は、一定時間ステータスを加算します(ポーション、バフ)。条件でステータスを読み取るには、Player Stat を使用します。これは、値に scale を掛けて丸めたものを返します。

設定​

以下はすべて、RPG Core Configuration のセクションです。

セクション設定する内容
itemsアイテムカタログ(カテゴリー、アイテム、レアリティ、要件)、装備セット、ジェム。
statsPlayer State アーティファクト、ステータスごとの上書き、グローバルオプション(回復、クリティカル、ライフスティール、効率、モブグループ、ボーナスルート)、コマンドメッセージ。
professions職業のリスト、レベル、経験値曲線と報酬、職業メニュー、メッセージ。
inventoryバックパックとワードローブのレイアウトとストレージ。
auctionオークションハウスの税、期間、エコノミー、メニュー。
trade安全なトレード: 距離、リクエストの有効期間、スタックの上限、24 時間の通貨上限、台帳アーティファクト、エコノミー、メニュー。
movement匍匐、飛び越え、よじ登りのティア、グローバルレベルの制限、BetterModel のアニメーション。
crafting, specialRecipes, anvil, enchantment, alchemy, grindstone, loom, cartography, cartographyCrafting, composter, workstations, industrialレシピとカスタム作業台。それぞれ、レベルまたは遅延で制限されます。
fishing, gathering, mobTrapカスタム釣り(溶岩とヴォイドを含む)、統合された資源採集(経験値、ルート、制限)、モブの捕獲。
boosts, globalLevel, respawn, recycling, divers, beacon一時的なブースト、グローバルレベルの計算式、条件付きリスポーン、リサイクル、樹脂、アイランドビーコン。
etherCorruptionイーサーコラプションのゾーン。
combatFeedback, vanillaTooltipダメージ数値、ヘルスバー、非表示にするバニラのツールチップ。

コマンド​

すべてのコマンドは、エイリアスとともに起動時に登録されます。管理コマンドには borntocraft.rpg.admin が必要です。

コマンド(エイリアス)パーミッション説明
/rpgstat (statadmin, btcstat)borntocraft.rpg.adminlist、info <player> <stat>、set、add、remove <player> <stat> <value>、reset <player> <stat>。スコープが ITEM のステータスは、直接変更できません。
/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(オンラインのプレイヤーのステータスを再適用)、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.adminレシピ用の list、inspect、preview、menu。
/rpginventory (btcinv, inventoryadmin)borntocraft.rpg.adminbackpack <list|open|reset>、wardrobe <open|info>、list。
/rpgboost (boost, xpboost)borntocraft.rpg.admin職業経験値ブーストの give、clear、list。
/questrewardreset (qrr, resetquestreward)btc.admin.questrewardreset<menuId> <player|all>: Quest Reward Menu の受け取り履歴をリセットします。
/rpgauction (ah, auction)なしbrowse、management、sellmenu、collection、list <price> <minutes> [buyout]、bid <id> <amount>、buy <id>、cancel <id>、claim、finalize(管理者)。
/rpgtrade (trade, p2ptrade)なし<player> でリクエストを開きます。accept <id>、deny <id>、money <amount>、confirm、cancel。
/rpgrecycling (recycling, recycle)なしリサイクルメニューを開きます。
/unstick (rollback)なしID が action:system_unstick のエントリーをトリガーします。そのエントリーが存在しない場合は、エラーで応答します。

パーミッション​

パーミッション許可される内容
borntocraft.rpg.admin上記のすべての管理コマンド。
btc.admin.questrewardreset/questrewardreset。

プレースホルダー​

RPG Core は、MiniPlaceholders のエクスパンション btc を登録します。完全な一覧は、プレースホルダーを参照してください。

エントリー​

42 件のエントリー(拡張機能のソースから生成)。

アクション24
イベント4
ファクト6
オーディエンス1
アーティファクト6
マニフェスト1
  • BTC Rpgcore ConfigurationConfigure BornToCraft RPG core systems (Items, Stats, Professions, Inventory, Crafting, Commands, Fishing, Auction, Movement, Trade)

トラブルシューティング​

No btc_rpgcore_configuration entry found! Create one in TypeWriter UI. 設定エントリーがないと、何も読み込まれません。1 つ追加して、Publish してください。

ステータスがリセットされる、または保存されない。 stats.artifact が空か、存在しないアーティファクトを指しています。この場合、基本ステータスはメモリ上にしか保持されません。Player State アーティファクトをリンクしてください。職業の進行状況については、professions.artifact も同様です。

アイテムがステータスを与えない。 ステータス ID(ATTACK_DAMAGE や MAX_HEALTH などのエイリアスも受け付けられます)、アイテムが防具、手、有効なワードローブのスロットに装備されていること、プレイヤーが職業の requirements を満たしていること、ステータスのスコープが PLAYER でないことを確認してください。設定に displayFormat を持つステータスを記載する場合は {value} を含める必要があり、minValue は maxValue を超えてはなりません。そうでないと、設定の読み込みに失敗します。

読み込み時に percentageMultiplier must be ...。 単位が固定されているステータス(たとえば、割合と乗数は 100、バニラに対するパーセントのステータスは 1 を使用)では、表示の乗数が検証されます。上書きを削除するか、エラーに示された値を使用してください。

/rpgstat set がステータスを拒否する。 そのステータスはアイテム専用だと表示されます。スコープが ITEM なので、装備だけが保持できます。アイテムか、一時的なステータスを使用してください。

/unstick がアクションが設定されていないと表示する。 ID が action:system_unstick の、トリガー可能なエントリーを作成してください。

オークションハウスやトレードでお金を移動できない。 デフォルトのエコノミーは Vault です。Vault とエコノミープロバイダーをインストールするか、そのセクションのエコノミーアダプターを設定してください。

関連エクステンション​

  • UiCore — 成長、ワードローブ、ストレージのパネルを描画します。
  • Profiles と Party — プロファイルの切り替えと、パーティー内での経験値の共有。
  • BTC Sky — アイランドを考慮したメカニクス。