找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: arong

86JP修复进度搬运

 火... [复制链接]
发表于 昨天 15:05 | 显示全部楼层
在哪里可以看进度下载源码
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 昨天 23:03 | 显示全部楼层
2026-8-30追加更新
2.移除硬编码默认设置数据,新账号不下发00AD/01C7并直接放行登录
3.修复技能类型扩展状态在 USERINFO 各处被写死 0xFF 导致客户端误判未购买
问题
购买技能类型扩展券(PVF item 821)后客户端仍提示需要购买,重复购买报"物品栏空间不足"(实为服务端拒绝重复扣费的事务回滚);用第二技能页通关回城后技能栏图标变灰、进副本技能不可用。
根因
A21 适配把技能类型扩展状态(SkillTreeIndex)在 USERINFO 多处写死为 0xFF(未购买):
UserInfoSubtype1Builder:登录 subtype1 的技能树字节被改成 LockedWireValue 常量(原为 a.SkillTreeIndex)。
UserInfoSubtype0Builder:A21 64B 尾换成抓包常量 blob 后丢弃了 SkillTreeIndex 字段。偏移 +61 的依据:旧 104B 尾字段序(UserInfoMinimumTailSnapshot.FromBytes t[79])与 blob 已知锚点(ExpertJobType 41→23、ProgressA 57→39、UserStateBits 65→47、WriteByte(100) 70→52)恒定 -18 平移,旧 79→61,且常量 blob 该位恰为 0xFF。
SqliteSubtype0FieldsRepository.Load:不填充 SkillTreeIndex(该字段在 character_subtype1_fields 表),回城/任务/派对等 subtype0 广播重建的尾部回落默认 0xFF,把客户端当前技能页打丢——技能栏变灰的直接原因。
StrikerSupportTagCharacterPacketBuilder:支援兵技能页字节同样写死 0xFF。
修改
subtype1 / subtype0(+61) / 支援兵三处恢复写真实快照值
SqliteSubtype0FieldsRepository.Load 联表带出 skill_tree_index,单点覆盖全部广播入口
未购买角色各处仍发 0xFF,行为不变;无 schema 变化,无新写入路径
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 9 小时前 | 显示全部楼层
2026-8-31
1.修正:补充角色限购词条
''修复 PVF 使用 作为每日限购范围时,服务端无法识别的问题。character
原服务端只识别:
charac``现在同时兼容:`charac,character`
2.补齐魔王契约服务状态与核心权益
变更概述
修复魔王契约已经激活,但客户端未稳定收到服务状态、部分权益没有进入实际业务流程、每日使用次数也没有统一记录的问题。
本次修改恢复 A21 客户端进号阶段的魔王契约主动同步,并把需要服务端结算的契约权益接入对应事务。账号有效期继续存储在 account_premiums,每日次数统一复用 character_daily_counters,不新增数据库迁移,也不修改 PVF。
问题说明
购买或配置魔王契约后,服务端虽然能够保存 8 项服务的到期时间,但实际游戏中存在以下问题:
A21 客户端进号后不保证主动查询魔王契约,导致服务状态和剩余次数没有下发;
黄金卡牌、免费解除虚弱和自动修理没有完整执行每日次数限制;
每日次数只覆盖双倍开罐,其他有限次服务没有统一账本;
任务助手没有提升任务物品掉落,也没有发放每日 APC 助手道具;
契约状态变化后,客户端没有及时收到刷新数据;
7 种 Buff 等客户端执行的权益因缺少正确的状态投影而无法正常启用。
问题原因
原有实现主要完成了魔王契约的购买、到期时间保存和客户端查询响应,但缺少两类关键连接:
进号初始化序列没有主动发送 A21 NOTI_PREMIUM_SERVICE (0x032F),而客户端不会在每次进号后固定发送查询命令;
契约槽位、每日次数和实际业务事务没有形成统一策略,免费翻牌、恢复、修理、任务掉落等路径无法可靠地校验、消费和回传使用次数。
修复方案1. 恢复进号阶段的契约状态同步
在角色初始化快照中生成完整的 8 槽魔王契约状态;
在 A21 进号初始化序列中主动发送 NOTI_PREMIUM_SERVICE (0x032F);
新增对应 Init Body Builder,复用现有 A21 Premium Service 封包布局;
保留客户端主动查询响应,并统一由同一份状态投影生成数据;
权益被实际消费后主动刷新 Premium Service 状态。
2. 统一每日使用次数策略
新增 DevilContractUsagePolicy,集中维护槽位、每日上限、计数键和消费逻辑。
每日次数按角色记录;
按北京时间每天 06:00 重置;
契约有效性按账号校验;
有限次权益只能在契约有效且次数未用完时消费;
支持与翻牌、恢复和修理业务放进同一 SQLite 事务;
统一向客户端投影当前已使用次数。
当前有限次服务:
槽位 服务 每日上限 服务端行为
0 黄金卡牌免费翻 10 次 付费牌费用置零,奖励提交时原子消费次数
1 双倍开罐 8 次 复用现有双倍奖励逻辑并纳入统一次数投影
3 7 种 Buff 10 次 普通副本成功激活后记录使用次数,战斗 Buff 由客户端执行
5 免费解除虚弱 10 次 恢复体力时费用置零并原子消费次数
6 自动修理 6 次 自动修理事务内免除金币并原子消费次数
3. 黄金卡牌免费翻牌
生成结算卡牌时检查黄金卡牌契约及当日剩余次数;
有可用次数时将付费牌金币成本设为 0;
将“发放卡牌奖励”和“消费契约次数”放进同一个持久化 Effect 事务;
事务失败时不会单独扣除次数;
成功后立即刷新客户端契约状态。
4. 免费解除虚弱与自动修理
解除虚弱时在同一事务中检查并消费契约次数,再决定金币费用;
自动修理只处理客户端明确标记为自动触发的请求;
自动修理、耐久恢复和次数消费在同一背包事务中完成;
成功使用免费权益后主动同步剩余次数。
5. 任务助手
任务栏自动掉落在基础掉落数量上按保守下限增加 50% 的期望数量;
奇数数量采用 50% 随机进位,避免整数截断长期少发;
奖励仍受任务所需数量和最大持有数量限制;
进入角色时每天发送一封系统邮件,附带 4 种 PVF 中已有的 APC 助手道具;
邮件和每日领取标记使用同一事务及幂等键,重复登录不会重复发放;
邮件及附件在下一次北京时间 06:00 重置时到期。
每日发放的 APC 道具:
阿甘左:2681925
死亡之纳特亚:2681923
希苏拉:2681922
娜塔莉娅·休勒:2681924
6. 客户端执行的契约权益
HP/MP 自动恢复、7 种 Buff 的实际战斗表现和高效开罐仍由 A21 客户端依据契约状态执行。服务端负责下发有效期及使用次数,并在对应服务端业务入口记录有限次数,不重复实现客户端已有的表现逻辑。
数据一致性与失败处理
黄金卡牌次数与持久化卡牌奖励同事务提交;
免费解除虚弱次数与金币/状态更新同事务提交;
自动修理次数与耐久度/金币更新同事务提交;
任务助手邮件与每日发放标记同事务提交,并使用幂等键防重;
契约过期、次数耗尽或账号/角色不匹配时不会消费次数;
客户端显示的使用次数由统一策略生成,避免不同业务分别计算。
兼容性
本次修改保持以下行为不变:
魔王契约仍使用 premium_type=580-587 表示 8 个服务槽位;
到期时间仍使用 account_premiums;
每日次数复用现有 character_daily_counters;
双倍开罐原有计数键和每日 8 次限制保持不变;
普通付费翻牌、普通金币解除虚弱、手动/快捷修理行为不变;
未激活契约的角色不会获得任务助手加成或每日邮件;
不修改 A21 封包结构,只补回已有 0x032F 通知;
无数据库 Schema 变更,无 PVF 变更。
自动测试
扩展 PremiumContractProtocolSelfTest,覆盖:
A21 进号初始化序列主动发送 Premium Service 状态;
Init Builder 使用正确的 A21 NOTI_PREMIUM_SERVICE Body 布局;
黄金卡牌有效时具有每日可用次数;
前 10 次消费成功,第 11 次被拒绝;
客户端状态正确投影黄金卡牌已使用次数;
任务助手按 +50% 期望数量追加任务物品;
奇数基础数量使用随机进位;
加成不会突破任务持有上限;
每日 APC 邮件只发送一次;
邮件包含 4 种正确的 APC 道具;
每日发放标记能够持久化并防止重复领取。
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 5 小时前 | 显示全部楼层
好样的,魔王修了挺好的。
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 4 小时前 | 显示全部楼层
有下载地址吗[表情:呵呵]
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 2 小时前 | 显示全部楼层
佬,爱丽丝的镇魂每日任务不刷新[表情:乖][表情:乖]
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

5592

主题

4万

回帖

17万

积分

神功绝世

积分
170077
发表于 2 小时前 | 显示全部楼层
[表情:阴险]今天女漫做觉醒任务,打死亡之塔4层的圣职者必闪退,换其他职业可以正常打上去,看来BUG还是很多
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 1 小时前 | 显示全部楼层
大佬,黑钻啥时候修
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表