瓦尔海姆市场

创作者: Creaton
已更新:2026-09-26 20:07:06
69KB

关于此 MOD

在玩家摊位交易,寻找区域武装NPC商人,他们收购材料并出售补给品。

英灵神殿市场

瓦尔海姆的市场。建造一个 市集摊位 与其他玩家交易,并在探索时找到Edda的地区贸易摊位,出售收集的货物换取金币并购买补给。该模组是BepInEx插件,不需要Jötunn。

安装

  1. 为主机或专用服务器安装兼容的 BepInEx 5 版本(适用于英灵神殿),并 每个客户端.
  2. 复制 Valheim市场.dll 进入 BepInEx/plugins/ValheimMarket/ 在每次安装时。
  3. 启用BepInEx后开始游戏。从锤子的家具分类中建造一个玩家市场摊位。Edda的摊位会自动出现在世界中合适的地方。

服务器与所有客户端必须使用相同的模组版本。服务器会拒绝协议版本不同的市场请求。

商店机制

  • 玩家商店属于建造其摊位的角色。只有该角色才能在这些摊位发布或取消商品。只有建造者才能拆除玩家摊位;摊位不会受到损坏。
  • 属于同一角色的所有摊位显示相同的上架物品、报价和未领取的货物。这些记录保存在服务器的市场存档中,而不是实体摊位里。
  • 每个摊位都会显示可用商店的目录。你可以从任意摊位浏览,但必须前往 属于卖方的一个摊位 购买、出价或从该卖家的商店收取。
  • 上架物品或对物品出价时,所选的物品堆将从背包中移出并暂存于市场托管中。购买会扣除标价金币。卖方之后可以接受或拒绝出价,即使买方已离线。
  • 成功的交易、取消的挂单和退回的报价会在你处于卖家摊位时送达你的库存。如果配送被中断或你的库存已满,物品将保留在 收集 在该卖家的任意摊位处。如果所有玩家摊位都被拆除,该商店将从目录中消失;当该角色再建造一个摊位时,所有记录都会恢复。
  • 上架无费用、不过期。一个商店最多可有20个有效上架物品;一个上架物品最多可有10个待处理报价。此版本适用于受信任的私人群组和原版物品。

商人埃达

埃达默认启用。要禁用她,请设置 [NPC商人] 启用 = false 在服务器的 BepInEx/config/dev.monokaijs.valheimmarket.cfg现有的地区摊位仍然保留,但埃达会消失,交易也会停止,直到重新启用该设置。

服务器目标 每个世界20个永久贸易站 横跨大型地图的内外区域,并在距离起始石800米范围内设有一名专属商人。它利用世界种子、地形高度和生物群系来寻找平坦地表的陆地,并将每个货摊和角色与世界一同保存。商人出现在草地、黑森林、沼泽、山地、平原和迷雾之地。在货摊90米范围内探索会在地图上添加一个具名商人标记,在可用时使用游戏的商人图标。已保存的商人标记和已探索区域可通过制图台共享。市场目录还会显示每个区域最近的货摊位置。Edda是一个真正的武装矮人角色,会在她的货摊附近巡逻、与敌对生物战斗,并在玩家攻击她时进行反击。她在四级时拥有2,200点生命值,并造成源生物武器伤害的2.5倍。她在敌对状态下拒绝交易。击败她大约掉落15–30枚硬币。她会在之后返回 两个完整的游戏内昼夜在此之前,购买和销售会暂停,但之前获得的物品仍可在摊位领取。与她交谈和战斗时会产生简短的对话。

与艾达或她的摊位互动并打开 埃达 标签。她购买什么取决于生物群系:草甸商人想要木材、石头、燧石、浆果和早期作物;平原商人还想要大麦和亚麻。她只购买整捆。例如, 5木材或石头支付1金币,而在接受胡萝卜的地方,5根胡萝卜支付2枚硬币。出售按钮会在存放货物前显示确切的收益。当你的物品栏有空间时,硬币会直接进入物品栏;否则它们会留在 收集 在那个地区的摊位上。

她的存货也取决于生物群系,并且每次都会变化 游戏内天数。草甸商人出售昂贵的种子和树木用品;黑森林及之后的商人会提供铜矿和锡矿以及种子和农作物。购买后若有空间则直接进入你的库存;被打断的交付会留在 收集 在同一个地区的摊位上。艾达不做讨价还价。她的售价远高于她的材料收购价。

服务器为每个世界存储一个市场文件,位于 BepInEx/config/ValheimMarket/<世界ID>.market 以及一个备用方案在 <世界ID>.市场.备份备份或移动世界时,请包含这些文件。客户端会在同一目录下保留待处理操作日志和收集收据,以便在普通连接中断后恢复。

建造

该项目面向.NET Framework 4.6.2,并基于您自己的英灵神殿安装进行编译。在macOS上,如果英灵神殿位于默认的Steam路径中:

生成版本 dotnet build src/ValheimMarket/ValheimMarket.csproj -c Release dotnet tool install --global tcli --version 0.2.4 ./scripts/package.sh 1.0.0 Creaton

在其他安装环境中,请传递 游戏管理 (游戏的 已管理 程序集目录)并且 BepInEx核心 到 MSBuild。例如:

dotnet build src/ValheimMarket/ValheimMarket.csproj -c Release \ -p:GameManaged=/path/to/Valheim/valheim_Data/Managed \ -p:BepInExCore=/path/to/Valheim/BepInEx/core

编译好的DLL位于 src/ValheimMarket/bin/Release/net462/. 打包脚本会创建 dist/Creaton-ValheimMarket-1.0.0.zip 使用Thunderstore的manifest、图标、README和插件DLL。不包含游戏程序集或BepInEx二进制文件。通过 -p:市场版本=1.2.3 到 dotnet build 构建不同插件版本时,请将相同版本传递给 package.sh.

用以下命令运行市场账本测试 dotnet run --project tests/MarketDomainTests/MarketDomainTests.csproj -c Release.

发布到 Thunderstore

将此项目添加到GitHub仓库,然后配置其Actions设置:

  • 仓库密钥 雷霆商店令牌:拥有该包的团队的Thunderstore服务账户密钥。
  • 仓库变量 雷暴商店_命名空间:那个团队在Thunderstore上的确切命名空间。

奔跑 操作 → 发布到 Thunderstore → 运行工作流 在默认分支上并选择 补丁, 次要或 主要工作流使用可达到的最高 主版本号.次版本号.修订号 以Git标签为基础;如果没有发布标签,则基础为 0.0.0它下载 Valheim 的专用服务器程序集和固定版本的 BepInEx 包,构建并测试插件,将包发布到 Valheim 社区,然后创建 GitHub 发布和标签。首个主要版本是 1.0.0.

服务账号密钥只能放在GitHub机密中。在开始发布之前,必须配置仓库变量和机密。

验证

该项目针对本地安装的 Valheim 和 BepInEx 程序集进行构建,账本测试已通过。BepInEx 在不含 Jötunn 的隔离配置中加载了插件。批处理模式运行未进入世界,因此区域生成、战斗、角色装备与掉落、UI 布局以及双人交易仍需在游戏内验证。

建议手动检查:

  1. 放置一个摊位并确认其柜台显示 打开市场 提示及其自带锤子图标。打开它,点击每个标签页,在搜索和列表字段中输入内容,并滚动两个列表。确认鼠标移动、点击和滚轮输入不会移动游戏镜头或进行攻击。用按钮和 Escape 键关闭它。
  2. 在起始石附近找到商人。接近到90米以内,确认她的标记出现在地图上,将地图写入制图台,并用第二个角色读取以确认标记能够传递。比较草地和黑森林的购买列表与每日库存。出售一捆物品并购买库存;确认两者都进入物品栏,或保持在 收集 如果已满,尝试部分捆绑包和金币不足的购买。
  3. 放置第二个使用相同角色的玩家摊位,在一个摊位中上架物品,并确认另一个摊位中有相同的库存。
  4. 用另一个角色购买,然后在任意卖家拥有的摊位收集物品和金币。
  5. 发出、接受、拒绝和取消物品报价,包括在对方玩家离线时。
  6. 拆除店主的最后一个摊位;确认店铺已隐藏,然后重建并确认所有货物恢复。
  7. 让敌人攻击艾达,然后让玩家攻击她。验证反击、金币掉落、空摊位,并在两个完整游戏日后返回,包括跨服务器重启。
  8. 使用当前已上架的物品和未领取的货物重启服务器。测试背包已满以及重复点击“购买”和“领取”的情况。

由于Valheim角色保留各自的物品栏,服务器无法防御故意修改客户端伪造存款的行为。交易日志和请求ID可防止普通重复请求并帮助应对连接丢失;请将世界存档和市场文件一起备份。

Valheim: 英灵神殿 的热门 MOD

探索适用于 Valheim: 英灵神殿 的最佳MOD,带来新功能、升级画面,以及令人兴奋的方式来改变您的游戏体验。

使用 Xmod 解锁 Valheim: 英灵神殿 的全部潜力 — 今天就探索这些顶级 MOD!