生日快乐

创作者: Omegasis
已更新:2025-07-22 15:12:28
83KB

关于此 MOD

在Stardew Valley添加玩家生日的模组。
有没有想过为什么你在星露谷没有生日?不用再担心了!

这个模组可以让你选择生日日期。生日那天,你会收到父母的来信,村民们也会送你礼物并祝你生日快乐。

已更新至 SDV 1.6+!
需要 SMAPI 4.0 或更高版本。

安装
  • 安装最新版本的 SMAPI.
  • 下载此 mod 的生日快乐文件并将其解压缩到星露谷/模组.
  • 下载生日快乐翻译内容包。英文内容包可以在单独的模组下载页面找到。这里。这是为了确保 Vortex 可以正确处理下载内容包,因为它在与 mod 捆绑时不起作用。
  • 安装 3.0.0+ 版本星尘核心也一样。
  • 使用 SMAPI 运行游戏。

用法
早上醒来时,系统会弹出选择生日的菜单。生日当天,像往常一样与NPC对话,他们会祝你生日快乐并送你礼物。礼物会根据你和他们的好感度而变化。查看邮箱,看看有没有父母的来信。

常问问题
1.救命!刘易斯没有来问我生日,我的配偶也没有问我最喜欢的礼物!
- 您是否至少安装了一个 HappyBirthday 内容包?我支持并创建的主要内容包可以在以下网址找到:https://www.nexusmods.com/stardewvalley/mods/11148.
-你在安卓/iOS 上玩吗?目前不支持,因为我需要进行更大规模的重写才能支持这些平台。
- HappyBirthday mod文件夹下是否有一个包含玩家生日的数据文件夹?如果有,删除它能解决问题吗?
-您能在控制台中运行 SMAPI 命令(不带引号)来重置询问生日的提示吗?“Omegasis.Happy_Birthday.reset_birthday”

2. 这个模组可以在移动设备上运行吗?(安卓/IOS)
目前还没有,但我考虑过升级它来实现这一点。最大的限制在于找时间并搭建开发环境。
3. 您能支持这个模块以使其与(XYZ)模块兼容吗?
-市面上有很多模组会对 NPC、地图等进行修改,这使得兼容所有模组变得非常困难。虽然我很想让这个模组兼容所有模组,但很遗憾我没有时间。可能会有一些大型模组提供不同程度的兼容性支持(例如《星露谷物语》扩展版),但具体情况将视具体情况而定。
4. 我可以为这个模组制作一个内容包并自己上传吗?
-当然可以,请一定要这样做!


3.0.0 版新功能


    重大变化
  • 如果玩家生日当天村民没有送出礼物/生日祝福,他们将会寄来一封信,上面写着迟来的祝福和礼物。不用再四处追杀村民了!
  • 游戏开始时不再询问玩家生日。取而代之的是,刘易斯会在农舍外举办活动,届时询问你生日。
  • 玩家在游戏开始时不再被询问最喜欢的礼物。取而代之的是,当玩家结婚时,配偶会与他们一起参加活动,并询问他们最喜欢的礼物,这更符合配偶作为玩家最喜欢的礼物的初衷。
    添加了新的生日活动。
  • 社区生日聚会:当你与所有村民的心数达到 5 颗以上时,去酒吧会有一个惊喜。:)
  • 配偶专属生日活动:所有配偶都会有一个特别的生日活动,他们会祝你生日快乐,并送你最喜欢的礼物!除了原始对话外,还包含额外对话。
  • Joja 也承认其会员的生日,但只有当他们仍在城里时才可以。
  • 生日事件现在保存到 .json 文件中,以便在发生某些类型的随机冲突时可以进行修改(例如,npc 卡在修改过的地图上)
    细微变化
  • 无论社区中心是否完工,祝尼魔都会在社区中心为玩家举办生日派对。千万别成为祝尼魔的会员!
  • 现在可以在模块的配置文件中调整爸爸妈妈的生日礼物。
  • 爸爸在第一年给的钱较少,在第二年及以后给的钱为 5000 美元。
  • 添加了对 Leo 的生日祝福。
    生活质量
  • 在礼品选择器菜单中添加了搜索框。
  • 在礼品选择器菜单中添加了工具提示悬停框。
    改装
  • 重写了礼物和生日祝福系统,使其使用内容包格式来表达“生日快乐”。这意味着通过内容包添加自定义NPC会更加容易,因为只需添加他们的礼物和对话条目即可。更多详情请见下文
    错误修复:
  • 农场工人重启游戏时不再需要重新选择生日。(我知道这是一个很大的bug报告)
  • 阻止用户在节日期间选择生日。此功能原本存在,但在更新模块时不知何故失效了。如果有人要求,我们愿意移除此功能,因为现在玩家可以在第二天收到邮件中的生日祝福了。:)



高级:内容包
随着“生日快乐”重写至 V3.0,我想为用户提供一种方式,让他们能够自行添加内容,而无需联系我。因此,解决方案是编写一些可以实现以下功能的内容包。

1.增加自定义NPC对话支持。
1.1. 自定义对话是通过创建/编辑 <ContentPackMainFolder>/Content/Strings/BirthdayWishes.json 来实现的。如果您要为自定义 NPC 创建新的内容包,请删除所有条目,只需添加您自己的 NPC 名称以及您希望他们说的生日祝福即可。例如,如果您有一个名为 Joshua 的自定义 NPC,您只需在 BirthdayWishes.json 文件中添加类似这样的内容即可。
“Joshua”:“嘿@,很高兴在你生日那天见到你!希望你今天过得愉快!”
1.1.1 配偶也可以通过编辑 SpouseBirthdayWishes 来实现(如果您的模组添加了自定义结婚候选人)。请注意,一些特殊关键词,例如 {TimeOfDay} 或 {AffectionateSpouseWord},会分别翻译成相应的时间文本,例如“早上好”和“南瓜、甜心等等”,以便进行修改。

1.2. 要在邮件中添加/编辑迟到的生日祝福,您需要修改 <ContentPackMainFolder>/Content/Strings/Mail.json 文件,在其中执行相同的操作,但要为迟到的(也就是第二天的)生日祝福添加一条消息。例如,它可能看起来像这样。
“Joshua”:“祝你生日快乐,@!^ 希望今年我们可以有更多时间一起出去玩。^^ - Joshua {0}”
1.2.1:字符串末尾的 {0} 是批判的因为生日礼物就是这样添加到邮件中的。忘记这一点意味着玩家不会由于我添加了邮件动态礼物支持的特性,所以收到了一份迟来的生日礼物。
1.2.2:星露谷物语的邮件文本结构与对话文本不同。我建议你阅读维基百科来了解两者之间的区别,因为我很久没看维基百科了,自己也花了很长时间才弄清楚。

1.3. 自定义礼物支持。通过在 <ContentPackMainFolder>/Content/Data/Gifts 下添加一个包含相应 NPC 名称的文件,您可以指定该 NPC 会赠送给玩家的礼物。我建议您查看 <ContentPackMainFolder>/Content/Data/Gifts/RegisteredGifts.json 文件,其中包含所有原版《星露谷物语》的礼物 ID。

2. 添加一种为事件添加额外对话字符串的方法。虽然不太有趣,但现在允许模组制作者修改文本。

我个人建议使用随附的英文内容包,复制一份,然后修改后制作你自己的内容包。修改时请务必更改 Manifest.json 文件!



高级:添加翻译

现在,模组可以添加自定义翻译,内容包系统也充当了翻译内容系统。在为原版内容添加新翻译时,只需进行少量调整即可。

1.<ContentPackMainFolder>/Content/Strings/ 下的所有文件都需要根据新翻译进行修改。这些文件包括生日祝福、邮件、活动对话等。
2. 需要修改 <ContentPackMainFolder>/TranslationInfo.json 文件中的“LanguageCode”字段,使其反映游戏正在使用的翻译代码。例如,添加西班牙语翻译需要将新内容包中的语言代码更改为“LanguageCode”:“es-ES”。

这样用户就能更轻松地添加自定义翻译或对话变体,无需再向我发送信息。只需创建一个内容包,然后将其拖放到 StardewValley/Mods 文件夹中即可!Happy Birthday 会自动加载!


关于内容包:

请随意在您自己的用户资料下发布内容包。我不会再将翻译内容包放在此模组的下载部分,相反,我很高兴看到其他人的贡献也能获得应有的认可。如果您制作了内容包,请务必注册 Nexus 的模组捐赠积分系统!

关于Mod支持:
我知道大家普遍希望添加对《星露谷物语》扩展版等热门模组的支持。为了实现这一点,我已经添加了很多框架,但我仍然需要调查具体需要做什么,还要为这些新的NPC编写事件/对话等等。我自己还没玩过这个模组,所以近期无法保证什么,但我仍然想做这件事。

目前,如果您对“生日快乐”的扩展模组制作感兴趣,我们提供了一些额外支持,例如添加模组赠送的自定义生日物品、添加自定义活动以及扩展活动功能。如需了解具体功能,请参阅
https://github.com/janavarro95/Stardew_Valley_Mods/blob/DevelopmentModRewrites/GeneralMods/HappyBirthday/Framework/API/HappyBirthdayAPI.cs
和

https://github.com/janavarro95/Stardew_Valley_Mods/tree/DevelopmentModRewrites/GeneralMods/HappyBirthday/Framework/Events
了解更多信息。


关于 Bug:
如果本模组有任何 Bug,请在此模组页面的 Bug 版块中发帖,以便我记录并解决。这有助于我了解哪些地方仍需修复。虽然我已经尽可能多地测试了新版本,但我知道可能还是有一些地方是我在熬夜工作时遗漏的,所以请耐心等待并告知我。

结束语:
距离我发布《生日快乐》已经过去五年多了,这原本是出于业余爱好,为了更好地融入电子游戏设计领域而进行的尝试。虽然我知道自己并非一直都很活跃,但与社区互动、看到大家的反馈以及看到其他人对我作品的喜爱,真的非常开心。我从未想过要变得如此受欢迎,但如果能帮助大家以积极的方式体验《星露谷物语》,我就会感到欣慰。感谢你们一路走来的支持,并一如既往地祝你们一切顺利。:)

欧米伽西斯。

特别感谢以下人士!

nexus 用户:塞雷利查找生日祝福的原始英文对话。
所有 nexus 用户都为该 mod 创建了自己的翻译!
PathosChild 多年来对我进行修改的支持!
Spacechase0 使用了 SpaceCore,它(一度!)帮助模块运行!(SDV 1.5)

难题9999用于通过 stardew-access 添加屏幕阅读器访问。
看https://github.com/janavarro95/Stardew_Valley_Mods/pull/95和https://github.com/khanshoaib3/stardew-access

(LEGACY V 2.0)包含的翻译:
中文:感谢 Nexus 用户艾林扬!
英语:我自己(Omegasis)为 nexus 用户完成的生日活动和生日祝福:塞雷利
意大利菜单字符串:LeecanIt
德语:Nexus 用户纳丁0147
俄语:Nexus 用户帕纳纳埃瓦斯

参见

使用 Xmod 解锁 星露谷物语 的全部潜力 — 今天就探索这些顶级 MOD!