
临时床位
放置并使用床,无需工作台,也无需屋顶。作为交换,这样的床会在可配置的时间后自行腐烂,默认15分钟,剩余时间会在悬停文本中显示。之后在旁边建造一个工作台,它就会永久保留。
查看大图[b]TempBed[/b]
无工作台、无屋顶的床——但带有腐烂/过期时间。
在 Valheim 中,床是设置重生点的唯一方式,而游戏要求床必须靠近工作台且处于屋顶之下。在长途旅行中,这意味着要么每次都得搭建一个小营地,要么每次死亡后从家里重新跑一趟。两者都很烦人。
这个模组允许床在没有工作台、且暴露在露天的情况下建造。为了不让它变成随意乱放,这样的床会在可配置的时间后自动消失。所以它是一个临时营地,而不是正经基地的替代品。
[b]玩法体验[/b]
把床随便放在哪里,设置重生点,继续前进。15 分钟后(默认值)它就消失了。只要计时器还在运行,剩余时间会以红色显示在悬停文本中,所以不会有人在毫无征兆的情况下突然失去床。
如果之后有人在旁边建造了工作台,床就会变成永久的——这通常是将临时营地变成固定前哨站的方式。
[b]设置[/b]
| 选项 | 含义 |
|---|---|
| AllowPlacementWithoutStation | 床可以在没有工作台在范围内的情况下建造。 |
| DecayMinutes | 没有工作台的床能存活多久。默认 15。 |
| OnlyBedsPlacedWithoutStation | 默认开启。只有没有工作台时放置的床才会消失。 |
| PermanentWhenStationBuilt | 之后添加工作台后,床将不再消失。 |
| DropResources | 床消失时是否掉落材料。默认关闭。 |
| AnyCraftingStation / StationNames | 哪些工作站可以支撑床。默认仅工作台。 |
| IgnoreRoofRequirement | 床可以在露天使用。 |
| IgnoreWetRequirement | 潮湿不再阻止睡觉。 |
| IgnoreFireRequirement | 仅当其他模组需要火时才有意义。默认关闭。 |
| ShowTimerInHoverText / TimerText | 剩余时间显示。 |
有两件事我是特意这样设计的:
计时器基于世界时间运行,而不是床被加载的时间。 服务器重启或离开都不会延长它。二十分钟后回到该区域,床会立刻消失,而不是再等十五分钟。
只有没有工作台时放置的床才会消失。 如果所有没有工作台支撑的床都会消失,那么在运行中的服务器上会有一大批床因为工作台被拆除而被误伤。想要严格规则的话,把 OnlyBedsPlacedWithoutStation 设为 false。
IgnoreWetRequirement 默认开启,因为否则整个功能就无法运作:没有屋顶,下雨时你会立刻变湿,而潮湿本身就会阻止睡觉。没有这个开关,你会在露天有一张床,但下雨时它仍然会拒绝你。
附近的敌人仍然会阻止睡觉。我特意保留了这个设定,否则森林里的床就成了每个夜晚的通行证。
[b]服务器与客户端[/b]
DLL 需要放在服务器和每个玩家那里。服务器会将配置发送给所有连接的人,本地文件会被忽略,ConfigurationManager 中的字段会被锁定。
在 adminlist.txt 中的人可以在游戏中通过 ConfigurationManager 修改数值。修改会发送到服务器,服务器会自行检查是谁发送的,将其保存到自己的配置中并分发。被拒绝的尝试会记录在日志中。
单人游戏或作为主机时,使用自己的文件。
[b]安装[/b]
需要 BepInEx:
1. 将 TempBed.dll 放入 BepInEx\plugins\
2. 启动一次,BepInEx\config\flo.tempbed.cfg 就会出现
3. 调整数值
[b]兼容性[/b]
该模组适用于任何带有 Bed 组件的对象,因此内容模组中的床也能兼容。它挂载了 ZNetScene.Awake、Piece.OnPlaced 以及 Bed 上的检查方法。
启动后日志会显示调整了多少个床的预制体。如果数字为 0,说明某个环节没有生效——这一行在报告问题时很有用。
[b]已知限制[/b]
- 消失由当前拥有该床的客户端检查。如果床位于无人访问的角落,暂时不会发生任何事。一旦有人到达,经过的时间会被补算,床会立刻消失。
- 没有安装 DLL 的人无法在没有工作台的情况下放置床,也看不到剩余时间。
发现 Bug?请在评论中反馈,最好附上 LogOutput.log 中的相关片段。
---
床是 Valheim 中设置重生点的唯一方式,而游戏要求床必须靠近工作台且处于屋顶之下。在长途旅行中,这意味着要么每次都得搭建一个小营地,要么每次死亡后从家里重新跑一趟。两者都很烦人。
这个模组允许床在没有工作台、且暴露在露天的情况下建造。为了不让它变成随意乱放,这样的床会在可配置的时间后自动消失。所以它是一个临时营地,而不是正经基地的替代品。
[b]玩法体验[/b]
把床随便放在哪里,设置重生点,继续前进。15 分钟后(默认值)它就消失了。只要计时器还在运行,剩余时间会以红色显示在悬停文本中,所以不会有人在毫无征兆的情况下突然失去床。
如果之后有人在旁边建造了工作台,床就会变成永久的——这通常是将临时营地变成固定前哨站的方式。
[b]设置[/b]
| 选项 | 作用 |
|---|---|
| AllowPlacementWithoutStation | 床可以在没有工作台在范围内的情况下建造。 |
| DecayMinutes | 没有工作台的床能存活多久。默认 15。 |
| OnlyBedsPlacedWithoutStation | 默认开启。只有没有工作台时放置的床才会消失。 |
| PermanentWhenStationBuilt | 之后添加的工作台会永久阻止消失。 |
| DropResources | 床消失时是否掉落材料。默认关闭。 |
| AnyCraftingStation / StationNames | 哪些工作站可以支撑床。默认仅工作台。 |
| IgnoreRoofRequirement | 床可以在露天使用。 |
| IgnoreWetRequirement | 潮湿不再阻止睡觉。 |
| IgnoreFireRequirement | 仅当其他模组需要火时才有意义。默认关闭。 |
| ShowTimerInHoverText / TimerText | 剩余时间显示。 |
有两件事我是特意这样设计的:
计时器基于世界时间运行,而不是床被加载的时间。 服务器重启或离开都不会延长它。二十分钟后回到该区域,床会立刻消失,而不是再等十五分钟。
只有没有工作台时放置的床才会消失。 如果所有没有工作台支撑的床都会消失,那么在运行中的服务器上会有一大批床因为工作台被拆除而被误伤。想要严格规则的话,把 OnlyBedsPlacedWithoutStation 设为 false。
IgnoreWetRequirement 默认开启,因为否则整个功能就无法运作:没有屋顶,下雨时你会立刻变湿,而潮湿本身就会阻止睡觉。没有这个开关,你会在露天有一张床,但下雨时它仍然会拒绝你。
附近的敌人仍然会阻止睡觉。我特意保留了这个设定,否则森林里的床就成了每个夜晚的通行证。
[b]服务器与客户端[/b]
DLL 需要放在服务器和每个玩家那里。服务器会将配置发送给所有连接的人,本地文件会被忽略,ConfigurationManager 中的字段会被锁定。
在 adminlist.txt 中的人可以在游戏中通过 ConfigurationManager 修改数值。修改会发送到服务器,服务器会自行检查是谁发送的,将其保存到自己的配置中并分发。被拒绝的尝试会记录在日志中。
单人游戏或作为主机时,使用自己的文件。
[b]安装[/b]
需要 BepInEx:
1. 将 TempBed.dll 放入 BepInEx\plugins\
2. 启动一次,BepInEx\config\flo.tempbed.cfg 就会出现
3. 调整数值
[b]兼容性[/b]
该模组适用于任何带有 Bed 组件的对象,因此内容模组中的床也能兼容。它挂载了 ZNetScene.Awake、Piece.OnPlaced 以及 Bed 上的检查方法。
启动后日志会显示调整了多少个床的预制体。如果数字为 0,说明某个环节没有生效——这一行在报告问题时很有用。
[b]已知限制[/b]
- 消失由当前拥有该床的客户端检查。如果床位于无人访问的角落,暂时不会发生任何事。一旦有人到达,经过的时间会被补算,床会立刻消失。
- 没有安装 DLL 的人无法在没有工作台的情况下放置床,也看不到剩余时间。
发现 Bug?请在评论中反馈,最好附上 LogOutput.log 中的相关片段。
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。