查看“︁工程参考/配置文件/Public/ItemRecycle.txt”︁的源代码
来自雪舞天龙知识库
←
工程参考/配置文件/Public/ItemRecycle.txt
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:<span style="font-size:24px;line-height:1.4;overflow-wrap:anywhere;">工程参考/配置文件/Public/ItemRecycle.txt</span>}} __NOTOC__ <div class="config-file-reference"> [[首页|首页]] · [[工程参考/回收系统|回收系统]] · [[工程参考/配置文件索引|配置文件索引]] ItemRecycle.txt 是物品回收的价目表:一个物品编号对应一个元宝单价。玩家在回收界面选中背包物品时,服务端按本表取价,再乘格子数量算出本次收益。它不是商店表,不是分解配方,也不决定哪些物品能收——能不能收由物品状态(任务、绑定、加锁、交易中)决定,本表只给价。 [[#文件位置与生效|位置与生效]] · [[#文件格式|文件格式]] · [[#字段详解|字段详解]] · [[#校验与失败后果|校验与失败后果]] · [[#修改实例|修改实例]] == 文件位置与生效 == {| class="wikitable" ! scope="col" style="width:18%" | 项目 ! scope="col" style="width:82%" | 说明 |- | 运行文件 | <code>../Public/Config/ItemRecycle.txt</code>,相对于 Server 工作目录 |- | 读取程序 | GameServer 启动时由 <code>TableInit::Init()</code> 读入,交给 <code>ItemRecycle::Config().Load()</code> |- | 客户端 | 不读取本表。回收界面显示的价格由服务端随报价下发,改表不需要更新客户端 |- | 生效方法 | 停服、替换实际 Public 副本、重启 Server。没有热重载入口 |- | 样本格式 | <code>纯 ASCII</code> 无 BOM、<code>CRLF</code>,Tab 分隔 |} 当前样本 214 条数据,物品编号 20109001 到 50613006,价格 2 到 25000 元宝。 == 文件格式 == 首行是类型行,两列都写 <code>INT</code>;第二行是列名行,程序跳过其内容;从第三行开始读取数据。各列用真实 Tab 分隔,不用空格代替。不足的尾列补空,多余列不参与读取;空值与非法整数在严格整数模式下直接解析失败。 == 字段详解 == {| class="wikitable" ! scope="col" style="width:12%" | 列号 ! scope="col" style="width:24%" | 字段与类型 ! scope="col" style="width:44%" | 含义与修改要点 ! scope="col" | 缺项或特殊值 |- | 第 1 列 | <code>INT</code>:ItemID | 物品模板编号,对应 CommonItem 的编号。必须严格大于上一行,不是背包位置,也不是实例 GUID。 | 空行跳过;小于等于上一行、重复、非正整数都让整表加载失败 |- | 第 2 列 | <code>INT</code>:YuanBao | 该物品每回收一件返还的元宝数。单格收益 = 本列 × 格子数量。 | 必须 1 到 2000000000;写 0 或负数让整表加载失败 |} 价格不是「一口价」:回收按格子数量乘算,10 个堆叠就是 10 份。服务端不做买卖差价、不看杀气、不看等级。 == 校验与失败后果 == <code>ItemRecycle::Config().Load()</code> 会检查: * 两张表都恰好 2 列、两列都是 INT,且物品表至少 1 条记录; * 每条 ItemID 大于 0 且严格大于上一条; * 每条价格在 1 到 2000000000 之间; * 额度表恰好 1 行、第一列为 1、第二列在 1 到 2000000000 之间。 任一条件不满足,价格表被整体清空并返回失败,<code>TableInit::Init()</code> 随之返回 FALSE,<code>Server.cpp</code> 的 <code>Assert(ret)</code> 会让服务端起不来。'''改这张表前先备份,改错不是功能失效,是停服。''' == 修改实例 == === 追加一件可回收物品 === 在文件末尾追加一行。第一列必须是 CommonItem 里真实存在的物品编号,并且大于当前最后一条;第二列填价格: <pre>50613007 500</pre> (50613007 只是格式示例,实际必须换成 CommonItem 里存在的编号。) 重启后新物品出现在回收列表里。插到中间会破坏递增顺序,必须同时重排后面所有行的编号——但编号就是物品编号,不能随意改,所以只能追加。 === 改某件物品的回收价 === 只改第二列,例如把 30308002 的 490 改成 450: <pre>30308002 450</pre> 改价在重启后生效。重启会中断所有会话,重启前的报价自然作废,玩家重新打开界面报价即可。
返回
工程参考/配置文件/Public/ItemRecycle.txt
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
创建账号
登录
导航
首页
最近更改
随机页面
特殊页面
搜索
工具
链入页面
相关更改
页面信息