
更好的物品描述
显示增幅/物品的效果值(包括特殊效果)。可自定义且可扩展。
查看大图展示物品与强化技能的效果数值。可自定义且可扩展。
此模组与 Better Item Description 功能相似,但远比其优秀,因此我将其命名为 Better Better Item Description。
所有 DD2 模组源码均可在 GitHub 上获取。
注意 / 说明
1. 默认完全支持 [color=#00ff00]英文与中文[/color]。其他语言用户将看到英文的详细说明。 但 [size=4]您可以轻松地在 30 分钟内添加一种新语言的翻译。[/size]
用户添加的内置翻译: [color=#00ff00][size=4]阿拉伯语[/size][/color] v0.1(由 DiNaSoR,又名 dragonarab 提供,目前不包括物品常规状态翻译)
用户添加的语言包(需安装模组): [color=#00ff00][size=4]德语[/size][/color] (模组链接,作者:Pyr0blad3) [color=#00ff00][size=4]法语[/size][/color] (模组链接,作者:Mascano)
1.5. 繁体中文/英文版本由我翻译,但我对其信心不足。如果您发现翻译不佳之处,请告知我。
2. 显示物品(包括武器/护甲/戒指)和强化技能的详细说明,包括恢复量/增益效果/特殊效果/露营效果数值等。 您可以在配置中禁用武器/护甲的额外细节。 它将在物品/仓库/职业/状态指南菜单中为物品/强化技能显示额外说明。
3. 如果物品有额外细节,新描述将默认替换旧文本。您可以在配置中禁用此功能,以同时显示新描述和旧描述。
当物品有许多细节时,它们将自动换行。您可以配置长度来控制换行方式。
自动选择与您游戏相同的语言。如果不支持您的语言,则使用英文。
您可以在配置中设置 Force using language,以强制模组使用所选语言。
4. 这是一个 Lua 脚本模组,它在运行时读取游戏内数值并生成详细文本。
因此,它几乎不会与所有 pak 模组冲突。
因此它很有可能与新游戏版本兼容。如果新游戏版本中效果数值发生变化,它也会反映新的效果值。
(只能反映“数值”,不能反映“效果”)。
它也能显示未来物品的细节,除非该物品具有新型效果。
(只有少数物品使用手写值而非动态生成值。它们的文本以 ** 开头)
5. 可配置设置 newlinewidth:(仅对物品有效)换行长度 Ignore Status of Armor&Weapon: 设为 true 时不显示护甲/武器的 攻击/防御/击倒/...数值 Ignore Special Effect of Armor&Weapon: 设为 true 时不显示护甲/武器的特殊效果数值 removeOriginalText: 设为 true 时将移除原始描述 Force using this language: 设置为任何非空值时使用选定的翻译文件 NewLineWidthAlsoAffectOriginalText: 字面意思
如何安装?
1. 安装 Reframework 1.5. 安装 _XYZApi(可选。仅在您需要通过 UI 修改设置时需要)
2. 您可以通过 Fluffy Mod Manager 或手动安装
3.1. 通过 Fluffy Mod Manager 安装: 下载此模组并拖入模组管理器。然后在模组管理器中启用它。
3.2. 手动安装:
下载此模组并解压。将 reframework 文件夹复制到游戏文件夹中。如果游戏文件夹中已存在 reframework,则将两个文件夹合并。
如何添加新翻译?
例如,我们制作一个德语翻译。
1. 在 "reframework/data" 中找到一个内置翻译文件,例如:"BetterBetterItemDescription.English.json"。 复制此文件并重命名为 "BetterBetterItemDescription.German.json"。 如果您从以下候选语言名称中选择,此模组可以自动选择语言:
"Japanese","English","French","Italian","German","Spanish","Russian","Polish","Dutch","Portuguese","PortugueseBr","Korean","TransitionalChinese","SimplelifiedChinese","Finnish","Swedish","Danish","Norwegian","Czech","Hungarian","Slovak","Arabic","Turkish","Bulgarian","Greek","Romanian","Thai","Ukrainian","Vietnamese","Indonesian","Fiction","Hindi","LatinAmericanSpanish"
2. 使用记事本或任何软件编辑此文件。将英文翻译替换为您的翻译。
记住不要更改符号。 (如果您无法判断哪些文本需要翻译,可以打开其他翻译文件查看哪些部分已被翻译。)
此文件包含三个部分: AbilityFormat: 强化技能的翻译。只需翻译 "format" 后面的文本。 例如,英文版为:
"AbilityFormat": { "10": { "format": "+{v1} Max Stamina", "hint": "固定値(150.000000,0.000000)" },
您需要将其改为:
"AbilityFormat": { "10": { "format": "sadasds21312313aa +{v1} dadasdjnsdioasd(This is german)", "hint": "固定値(150.000000,0.000000)" },
"{v1}" 和 "{v2}" 将被实际效果值替换。请保留它们。 "hint" 包含开发者的提示。您可以忽略它。
RingSpecialFormat: 戒指增益的翻译。与 AbilityFormat 类似,只需翻译 "format" 部分。 "hint" 包含具有此增益的戒指。 例如:
"RingSpecialFormat": { "1": { "enable": true, "format": "+{v1} MaxHP", "hint": "(3502,Ring of Acclamation,200,0,0)(3501,Ring of Exultation,100,0,0)" },
应翻译为:
"RingSpecialFormat": { "1": { "enable": true, "format": "+{v1} asdasdyh0128diowqdhsa09hio(This is german)", "hint": "(3502,Ring of Acclamation,200,0,0)(3501,Ring of Exultation,100,0,0)" },
FieldFormat: 常见属性的翻译。"format"/"map" 后面的文本以及直接跟在 "_XXX" 后面的文本需要翻译。 例如:
"_BuyPrice": { "enable": false, "format": "BuyPrice %s.", "type": "String" }, "_Category": { "enable": false, "format": "Cat %s", "map": [ "Material", "Other", "Equip" ], "type": "Enum" }, "_DarkDefence": "%s%% Dark Debuff Resist", "_FireDefence": "%s%% Fire Damage Reduce",
应该是:
"_BuyPrice": { "enable": false, "format": "asdsa09dh12ods(this is really german) %s.", "type": "String" }, "_Category": { "enable": false, "format": "asdsa09dh12ods(this is really german) %s", "map": [ "dsagjy(this is really german)", "7687yiuhj(this is really german)", "gfdh(this is really german)" ], "type": "Enum" }, "_DarkDefence": "%s%% zxczxc(this is really german)", "_FireDefence": "%s%% bbbb(this is really german)",
"%s" 将被实际效果值替换。%% 用于表示单个 "%"。不要更改它们。
3. 使用网页 JSON 格式化工具验证您的文件(您可以通过谷歌轻松找到许多此类工具)
4. 将您的文件放入 reframework/data/ 文件夹中。
如果文件名正确命名为 "BetterBetterItemDescription.{您的语言}.json",并且此语言在第 1 步提到的语言列表中,则新语言将在您启动游戏后显示。
您也可以将 "Force using this language" 配置设置为您的语言名称(不是完整文件名。在此示例中,您应将其设置为 "German")。然后此模组将忽略游戏语言并选择所选语言文件。
如何自定义物品详情?
自定义过程比 1+1 稍微复杂一些。 这并非旨在让每个人都能做到。而是为了让某人找到一个好的预设并分享他的成果。
1. 在 reframework/data 中找到翻译文件。对于英文用户,它是 "BetterBetterItemDescription.English.json"。
2. 对于常见属性,您需要编辑 "FieldFormat" 下的内容。 以苹果为例,默认的额外消息是(安装了 AppleRestoreMaxHP mod):
Heal 80 HP./Heal 500 MAXHP.
因为苹果的 _HealWhiteHp 和 _HealBlackHp 是 80/500。根据文件中的以下几行:
"_HealBlackHp": "Heal %s MAXHP.", "_HealWhiteHp": "Heal %s HP.",
这两个属性就生成了。
如果您想显示 itemID,您需要在翻译文件中找到它:
"_Id": { "enable": false, "format": "Id %s.", "type": "String" },
您会发现我已经为物品 ID 添加了一些内容。您只需启用它。 因此,如果您将其打开(将 "false" 修改为 "true"),您可以得到:
Id 1./Heal 80 HP./Heal 500 MAXHP.
如果您想要另一种格式,您可以编辑格式为:
"_Id": { "enable": true, "format": "This has an id of %s and lalala.", "type": "String" },
然后您会得到:
This has an id of 1 and lalala./Heal 80 HP./Heal 500 MAXHP.
3. 如果您在翻译文件中找不到它,您需要手动将其添加到翻译文件中。 所有可能的属性如下:
--以下是通用参数 _Id _SortNo _Category _Attr _ModelId _FieldModelId _IconNo _ItemDropId _Weight _BuyPrice _SellPrice _StackNum _Material _Worth _Favor _FavoriteAttr _AutoSellPrio _StolenPrio --以下是消耗品 _SubCategory _UseEffect _Decay _DecayedItemId _HealWhiteHp _HealBlackHp _HealStamina _UseAttr _AddStatus _RemoveStatus _FakePrice _FakeItemId --以下是装备(武器/护甲/戒指共用) _EquipCategory _Lv _Series _Job --以下是武器 _WeaponName _WeaponId _PhysicalAttack _SlashRate _StrikeRate _StrikeStore _MagicAttack _Element _ElementStore _Shake _Blow _StaminaReduce _ShakeGuard _BlowGuard _PoisonStore _SleepStore _SilentStore _StoneStore _WaterStore _OilStore --以下是护甲/戒指 _StyleNo _PhysicalDefence _SlashDefenceRate _StrikeDefenceRate _MagicDefence _FireDefence _FireResist _IceDefence _IceResist _ThunderDefence _ThunderResist _LightDefence _DarkDefence _ShakeResistRate _BlowResistRate _PoisonResist _SleepResist _SilentResist _StoneResist _WaterResist _OilResist
如果您想为每个物品显示 "_StackNum",您可以添加以下文本:
"_StackNum": { "enable": true, "format": "This item's stack num is %s", "type": "String" },
或者您可以使用简写格式:
"_StackNum": "This item's stack num is %s",
然后您可以得到:
This has an id of 1 and lalala./This item's stack num is 99/Heal 80 HP./Heal 500 MAXHP.
4. 一些特殊属性,例如 _SubCategory。 它基本上是指物品类别的数字。但我们想显示真实的类别名称而不是数字。 然后您需要在文件中为每个数字设置正确的名称,例如:
_SubCategory={enable=false,type="Enum",format="Cat %s", map={[1]="Buff", [2]="Material", [3]="Special", [4]="Quest", [5]="Book", [6]="Arrow", [7]="CustomSkill", [8]="PawnSkill", [9]="MagicBook", [10]="Online"} },
这意味着如果 _SubCategory 等于 1,则显示 "Cat Buff"。如果 _SubCategory 等于 2,则显示 "Cat Material",依此类推。
显示 1-12 条,共 12 条
以上为资源接口提供的文件记录。安装时请在客户端确认文件、游戏版本及依赖。
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。