自定义令牌 封面

自定义令牌

星露谷物语模组工具

创建一些自定义令牌,供 Content Patcher 使用,以扩展可实现的功能。

预览

前置 Mod

详情

自定义令牌

自定义令牌(Custom Tokens)是一个为 Content Patcher 提供一些额外令牌的模组,扩展了可实现的功能。

自定义令牌注册以下令牌:

位置令牌:

  • MineLevel、minelevel:玩家当前所在的矿井层
  • VolcanoFloor、volcanofloor:玩家当前所在的火山层
  • DeepestMineLevel:玩家到达过的最深矿井层,包括骷髅洞穴层
  • DeepestVolcanoFloor:玩家到达过的最深火山层
  • DeepestNormalMineLevel:玩家到达过的最深普通矿井层
  • DeepestSkullCavernMineLevel:到达过的最深骷髅洞穴矿井层

婚姻令牌:

  • 玩家的结婚纪念日,分为两个令牌:AnniversaryDay 和 AnniversarySeason
  • YearsMarried:结婚总年数
  • DaysMarried:结婚总天数

任务令牌:

  • QuestIDsCompleted:玩家已完成的任务 ID 列表
  • QuestsCompleted:已完成任务总数
  • SOIDsCompleted:玩家已完成的特殊订单列表,包括齐先生挑战
  • SOCompleted:已完成的不同特殊订单总数

死亡与力竭令牌:

  • DeathCount:玩家死亡总次数
  • DeathCountMarried:DeathCount 的扩展,记录玩家结婚后死亡次数。
  • DeathCountPK:(在 PlayerKilled 事件中比 DeathCount 令牌提供更准确的值)
  • DeathCountMarriedPK:DeathCountPK 的扩展,记录玩家结婚后死亡次数。
  • PassOutCount:玩家昏倒次数。

高级令牌:

  • Child:保存玩家孩子的信息,需要输入参数才能工作。

有关令牌的更多信息,请参阅 GitHub 上的 README

版本 1.6.0:

  • 更新以兼容 1.6

版本 1.5.1:

  • 此版本为普通矿井、骷髅洞穴和火山的最深层添加了更多位置令牌。

使用自定义令牌:

  • 必须安装 SMAPI 4.0 或更高版本。

  • 确保在你的内容包中将 Custom Tokens 列为依赖项

  • 使用的令牌必须带有该模组的唯一 ID 前缀,例如 TheMightyAmondee.CustomTokens/MineLevel

  • 许多令牌需要更新频率为 OnLocationChange、OnTimeChange 或两者兼有,才能正常工作

Child 令牌:

此令牌正好接受 3 个输入参数。它们不区分大小写。

第一个参数 player 给出玩家类型。它必须是 host(主玩家)或 local(当前玩家,可能是农场帮工)之一。例如 player=host

第二个参数 childindex 获取要取值的孩子的索引。它必须是数字,从 0 开始。0 代表玩家最大的孩子,1 代表第二大的孩子,依此类推。例如 childindex=1

第三个参数给出你想要的值名称。它可以是 birthdayday、birthdayseason、daysold、darkskinned 或 hat。

  • birthdayday 和 birthdayseason 分别获取孩子出生的日期和季节
  • daysold 给出孩子当前的年龄(以天为单位)
  • 如果孩子使用深色皮肤精灵图,darkskinned 为 true,否则为 false
  • hat 给出孩子当前戴的帽子名称。注意:对于所有三种派对帽颜色,这始终是 "Party Hat"。

如果找不到合适的值,令牌将等于 "null"。

带有输入参数的完整令牌示例:TheMightyAmondee.CustomTokens/Child:player=host|childindex=0|birthdayday

此令牌返回主玩家的第一个孩子出生的日期(几号)。

如果需要,GitHub 上的 README 会更详细地介绍此令牌。

让旧存档或当前存档跟上进度(版本 1.3.1 及以下):

旧存档或当前存档需要一些额外设置。这并非严格必需,仅在使用相关令牌时才需要执行,但可能会导致令牌值不正确。

每个存档在当天开始后会生成一个按存档区分的 JSON 文件,以便模组追踪游戏未追踪的值。该文件位于模组文件夹内的 data 文件夹中。这些值可以按需调整,因为它们的初始值为 0,对于旧存档可能不准确。更改值时,请确保将旧追踪器值也更新为与当前追踪器值相同的值。

虽然模组可以确定大多数任务是否已完成,但旧存档中先前已完成任务的一些任务 ID 需要手动添加到该存档 JSON 文件的 AdditionalQuestsCompleted 中。自定义任务 ID 也可以在此处添加。

根据之前已完成的任务,该字段应类似以下内容: "AdditionalQuestsCompleted": [6,16,128,130]

  • 如果你已完成 "Getting Started",添加 6
  • 如果你已进入冒险家公会,添加 16
  • 如果你已完成秘密纸条 25(阿比盖尔),添加 128
  • 如果你已完成秘密纸条 25(卡罗琳),添加 129
  • 如果你已完成 "The Pirate's Wife",添加 130

配置:

  • AllowDebugging 添加一个调试命令,以便可以在 SMAPI 控制台中查看令牌的值。启用后,在控制台中输入 "tracker" 将显示令牌值列表

  • ResetDeathCountMarriedWhenDivorced 会使 DeathCountMarried 令牌在离婚时重置为 0,默认值为 true

源代码