Repository navigation
Releases: shizzhang0/dota2-game-helper2
Release list
v1.4.0
从 1.3.x 升级:这一版开始有安装包。下载 dota2-game-helper2-setup.exe 安装一次,再删掉原来的 exe 即可,设置会保留;之后的版本可以在设置里一键更新。不想安装的话,zip 便携版照旧。
改动
- 显示改为贴着 Dota 自己的界面画,自动对准,换分辨率也跟着走;不再支持拖动摆位
- 买活冷却显示在每个人的头像底下,十个人都有(包括队友)
- 敌方塔防移到顶栏敌方一端,冷却中写剩余秒数
- 倒计时移到计时牌正下方,顺序同 Dota Plus
- 净资产移到左上角击杀数旁边,比赛结束后定格
- 眼位直接画在小地图上:敌方眼离开视野后接着显示,我方眼被排画叉,快到期标秒数;自动读取 Dota 的小地图位置和大小
- 对局中一直显示,去掉「按住 Alt 才显示」;
Ctrl+Alt+F11改为临时收起 - 设置卡片改成一页;卡片打开时,卡片以外照样能点到游戏
- 新增安装包和一键更新,托盘有新版本时会提示
修复
- 赏金符刷新间隔改为 4 分钟(7.38 起的规则,之前按 3 分钟算)
- 敌方眼死后不再在地图上残留几分钟
v1.3.6
▶ 先在浏览器里试试 — 页面上跑的就是这个覆盖层本身。
解压即用,没有安装程序。首次运行会自动写入 GSI 配置,记得给 Dota 2 的启动项加上 -gamestateintegration,并用无边框窗口模式。
从旧版本升级:先在通知区图标上右键「退出」,再用新的 exe 覆盖旧的即可,设置和摆位都会保留。详见 README 的「升级」一节。1.3.5 启动时会在开发页的版本号旁边显示 NEW。
净资产:三处修正
传送途中买的 TP 多算 100。 传送时买的 TP 先进储藏处、再由信使送到身上,原先在"进储藏处"和"送到身上"各记了一次。
飞鞋送的 TP 当成了买的。 飞鞋第一次进物品栏会送一张 TP(一级、二级各送一次,直接买二级也是两张),这张不花钱,现在不再计入。
眼架里的真眼漏算。 同一包里既买了真眼、又买了别的东西,真眼进了眼架却没被认出来,净资产一直少这一截。辅助带眼架时最明显,已在实战里核对过终值。
另外收紧了一条旧规则:"东西消失后过一两秒才退款到账"的判定,现在只认原价退款、且金额不低于 200。逐次核查发现它原先 64 次触发里有 54 次是把补刀收入误当成了退款。
十一局观战 / 回放录制全量对账,全部变好,没有一局变差:
| 对局 | 面板完全准 | 平均绝对偏差 |
|---|---|---|
| 1 | 73.6% → 77.0% | 26 → 23 |
| 2 | 77.8% → 81.5% | 26 → 22 |
| 3 | 61.4% → 74.4% | 46 → 26 |
| 4 | 79.2% → 82.5% | 22 → 16 |
| 5 | 71.0% → 76.0% | 43 → 37 |
| 6 | 85.1% → 87.8% | 19 → 16 |
| 7 | 80.1% → 86.1% | 17 → 10 |
| 8 | 79.1% → 86.6% | 19 → 10 |
| 9 | 75.9% → 85.5% | 27 → 14 |
| 10 | 80.2% → 82.6% | 35 → 17 |
| 11 | 75.9% → 80.1% | 36 → 32 |
断流后净资产不再归零
Dota 关掉或崩掉 5 秒后面板会藏起来,这一点不变。但原先同时把净资产换成了 0,而倒计时、眼位等其余部分还停在最后一刻——进编辑态看到的是半份 0、半份旧值。现在全部停在最后一刻。
录制:打完回到主菜单就结束(开发者功能)
自己打完一局回到主菜单,录制文件马上结束,不再一直开着等下一局。只在 settings.json 里开了 "devTools": true 时才有录制,普通使用不受影响。
v1.3.5
▶ 先在浏览器里试试 — 页面上跑的就是这个覆盖层本身。
解压即用,没有安装程序。首次运行会自动写入 GSI 配置,记得给 Dota 2 的启动项加上 -gamestateintegration,并用无边框窗口模式。
从旧版本升级:先在通知区图标上右键「退出」,再用新的 exe 覆盖旧的即可,设置和摆位都会保留。详见 README 的「升级」一节。
新增:检查更新
设置卡片「开发」页的版本号旁边,有新版本时会出现 NEW;下面是「检查更新」和「打开下载页」两个按钮。
- 程序启动时自动查一次,点「检查更新」再查一次。不弹窗、不打扰正在打的游戏
- 只向 GitHub 查询最新版本号,不带任何个人数据;连不上就显示"连不上更新服务器",不影响其他功能
- 请求走系统代理,浏览器能打开 GitHub,这里就能查到
这是这个程序唯一会联网的地方。之前的版本完全不联网;README 和项目主页的说明已同步更新。
用快捷键切换「始终显示」后,设置卡片不再把它改回去
用 Ctrl+Alt+F11 或通知区菜单切换「始终显示」之后,设置卡片上的勾不会跟着变。这时打开设置随便调一下别的(比如缩放),就会把旧的勾选状态一起存回去——刚切换的状态被悄悄改回。
已修复,现在三处入口和卡片上的勾始终一致。
「打开数据目录」「打开下载页」打开的窗口点不到
设置卡片打开时,覆盖层会拦截鼠标。点这两个按钮打开的资源管理器、浏览器被压在覆盖层下面,看得见却点不到。现在点按钮会先关掉设置卡片,再打开窗口。
净资产:两处修正
直接买下的阿哈利姆祝福少算 1600。 祝福买下当场就吃掉,物品栏里一件神杖类物品都不会出现,原先被当成"炼金术士送的神杖"按 4200 计,而它值 5800,这 1600 会一直少到终局。
从储藏处卖东西,偶尔会被当成"被信使取走"。 东西消失和退款到账不一定在同一时刻,差了一两个数据包,就会误记成在路上,净资产虚高一阵子(最长 90 秒,一件羊刀就是 5200)。
九局观战录制全量对账,全部变好或持平,没有一局变差:
| 对局 | 面板完全准 | 平均绝对偏差 |
|---|---|---|
| 1 | 73.3% → 73.6% | 27 → 26 |
| 2 | 77.0% → 77.8% | 27 → 26 |
| 3 | 60.5% → 61.4% | 46 |
| 4 | 76.6% → 79.2% | 27 → 22 |
| 5 | 70.7% → 71.0% | 46 → 43 |
| 6 | 83.2% → 85.1% | 21 → 19 |
| 7 | 78.7% → 80.1% | 18 → 17 |
| 8 | 78.8% → 79.1% | 20 → 19 |
| 9 | 65.5% → 66.6% | 73 → 49 |
常数表不再复制到数据目录
以前首次运行会把时间常数表和界面文字复制一份到 %APPDATA%\dev.dota2helper2.app\constants\,方便手改。但这份副本升级时只会补上新增的项,改过的数值送不到——Dota 一更新,老用户的倒计时就可能一直停在旧值,而且不会有任何提示。
现在程序只用自带的那一份,更新了就是更新了。代价是不能再自己改这些数值(比如上一版提到的 wardKilledShow)。
从 1.3.4 及更早版本升级:数据目录里的
constants\文件夹新版已经不读了,可以删掉。
「记录对局数据」改为开发者功能
这个开关是用来对账净资产的,一局会占 4~90 MB,普通使用用不上,所以默认不再显示在设置卡片里。需要的话在 settings.json 里手动加一行 "devTools": true,重启后开发页会出现。
录制本身也修了两处:游戏暂停超过 20 秒不再把一局切成两个文件;看完回放不关游戏,也不再每 30 秒冒出一个空文件。
v1.3.4
▶ 先在浏览器里试试 — 页面上跑的就是这个覆盖层本身。
解压即用,没有安装程序。首次运行会自动写入 GSI 配置,记得给 Dota 2 的启动项加上 -gamestateintegration,并用无边框窗口模式。
这一版的主线是净资产:把八局观战录制逐包和官方数字对了一整天,修掉七类系统性偏差。另外补了两个交互上的窟窿,其中一个是「始终显示」终于能在对局中途开关了。
「始终显示」现在有快捷键了:Ctrl+Alt+F11
上一版这个开关只能在设置卡片里拨,这版补上了快捷键。
原因是:想在对局中途拨它,原本做不到。唯一的入口是设置卡片,而打开设置会抢焦点、取消鼠标穿透,那一刻你没法继续玩。于是它事实上退化成了"开局前设好就别动",而它最有价值的用法恰恰是中途切换——对线打钱时开着,团战时关掉免得挡视野。
键位用带两个修饰键的 F 区组合,不会和游戏里的按键冲突。
现在三处都能拨,状态共用:设置卡片 · 通知区菜单(带勾)· Ctrl+Alt+F11。
按住 Alt 有时会变成"切换键"
有人报告:开了「始终显示」再关掉之后,Alt 偶尔会变成按一下显示、再按一下消失。
已修复。原因是 Alt 状态只在变化时发给界面,那次发送万一失败,状态机却已经往前走了——这一个边沿就永远补不回来,之后界面比实际慢半拍,表现出来正是"按住显示、松开却不消失,再按一次才消失"。
现在发送失败不再推进状态,另外每秒无条件重发一次,不管什么原因造成的失步最多一秒自愈。
Dota 关掉之后,面板不再显示冻结的旧数据
游戏崩了或退了之后不会有任何通知,覆盖层原先会一直留着最后收到的那一帧——按住 Alt 仍然显示一份看起来完全正常、实际全是旧值的面板:倒计时不动、净资产不动。这比不显示更坏。
现在 5 秒收不到数据就退回待机(暂停时放宽到 40 秒,因为暂停期间游戏本来就只发心跳)。
被排掉的眼:叉停留 20 秒,并逐渐淡出
原先只闪 3 秒。面板默认按住 Alt 才出现,3 秒意味着你那一眼没正好按下去就彻底错过。
改成 20 秒,而且这段时间里逐渐变淡——新排掉的扎眼、快过期的几乎看不见,一眼就能分出哪个是刚发生的。这个数字可以在常数表里自己调(wardKilledShow)。
定 20 不是拍的:八局录制共 230 次排眼,相邻两次间隔中位 64 秒,"两个叉同屏"的比例 3 秒 11% / 20 秒 31% / 45 秒 42%,20 往后就平了。没选 30 是因为"敌人刚在那儿"到那时已经不太可信。
净资产:七类系统性偏差
眼架里的眼一直在少算。 买真眼进眼架不发购买事件(实测一整局一条都没有),原先那条判据是死代码;辅助一次买两个也整个漏掉;散装眼并进已有的架子不算数。另外散装眼被信使取走时会被记两遍账——八局里 45 次、涉及 3500 金,比真正的并进架子还多。
队友代拿的真视宝石。 官方按"谁买的"算钱,东西在谁手上不影响。辅助买宝石让核心背着是常规操作,而我们 90 秒之后就把这 900 丢了。有一局的辅助因此整整 15 分钟一直低 900。
雨滴按充能折价。 它没被标成消耗品,所以一直按全价 225 算,而官方是按剩余充能折的。(瓶子、圣洁吊坠、夜叉同样有充能却确实不折价,所以这条只能一个个实测出来。)
还有四类:买 TP 会被误判成买了两个真眼;边卖边买会凭空记出一笔假账;时钟倒流时状态没清干净,会让整局的记账失效;买活事件被重复推送几十包,把记账压制了几十秒。
八局观战录制全量对账,每一局都改善:
| 对局 | 面板完全准 | 平均绝对偏差 |
|---|---|---|
| 1 | 76.9% → 83.2% | 41 → 21 |
| 2 | 75.7% → 78.8% | 29 → 20 |
| 3 | 77.7% → 78.7% | 24 → 18 |
| 4 | 71.0% → 76.6% | 49 → 27 |
| 5 | 72.5% → 77.0% | 35 → 27 |
| 6 | 70.9% → 73.3% | 41 → 27 |
| 7 | 64.9% → 70.7% | 105 → 46 |
| 8 | 56.7% → 60.5% | 55 → 46 |
剩下的大头是 GSI 的盲区,不是算错:眼架里装了什么它一个字不说;东西在信使身上的那几十秒在数据里就是不存在;掉在地上的装备看不见。
顺带:项目主页上的 demo 数据一直是错的
主页那个能跑的 demo,数据是从真实录制里裁出来的,而裁剪用的字段白名单落后于代码三次改动——少了判断"这张 TP 是白送的还是自己买的"所需的字段,于是页面上的净资产一直偏高。已经重新生成并加了一道逐包对账的闸门。
v1.3.3
▶ 先在浏览器里试试 — 页面上跑的就是这个覆盖层本身。
解压即用,没有安装程序。首次运行会自动写入 GSI 配置,记得给 Dota 2 的启动项加上 -gamestateintegration,并用无边框窗口模式。
这一版修掉了一个藏了很久、但从来没人报的交互 bug,堵掉了净资产上两类系统性的偏差,另外加了「始终显示」。
托盘左键单击一直是坏的
单击托盘图标应该进编辑态——但它从来没工作过。
Windows 的托盘在按下和抬起时各发一条点击事件,而我们没有区分,于是 toggle 被调了两次:
| 操作 | 收到的消息 | toggle 次数 | 表现 |
|---|---|---|---|
| 单击 | 按下, 抬起 | 2 | 开了又关,看起来没反应 |
| 双击 | 按下, 抬起, 双击, 抬起 | 3 | 停在"开" |
这个 bug 藏得住是因为它不报错也不崩:单击没反应的人会默认"大概本来就没这个功能",改用右键菜单,于是没人报。现在单击恰好一次,双击也保持一致的表现。
顺带菜单上标出了 Ctrl+Alt+F10。在此之前这个热键只在 README 里出现过,产品本身一个字没提——而它是「三条退出路径」里的最后一条兜底,被编辑态困住时最需要它的人,正是最没机会去翻 README 的人。
新增「始终显示」
设置卡片「面板」页第一项,勾上之后对局中一直显示,不用按 Alt。
它只去掉"按住 Alt"这个条件,回主菜单照样消失,不会杵在桌面上。刻意不配快捷键——游戏内按键本来就挤,而这是个低频的一次性设置。
净资产:两类系统性偏差
钱花出去了,东西还在路上。 在外面买东西时物品先进信使的物品栏,而 GSI 完全没有信使物品栏这个数据——那段时间东西在 GSI 里就是不存在。实测有一次整整 57 秒面板比实际少 2000。现在这笔钱会先记着,等东西出现再冲销。
买飞鞋送的那张 TP 不是自己买的。 合飞鞋、升二级飞鞋各白送一张,赠品和鞋同一包到手,原先被判成自购。实测有个玩家整局没买过 TP,终值却一直多 200。
六局观战录制全量对账,各档命中率全部改善或持平:平均绝对偏差最多降了 31%。
录制:一局一个文件
以前只要 Dota 开着、开关也开着,一局打完接着下一局全写进同一个文件。现在换局就换文件,收尾时把对局号补进名字:
raw_1789914324_m9008173445.jsonl.gz
顺带堵掉两个坑:主菜单的心跳包不再建出只有 114 字节的空壳文件;开发区那行「N 个 · X MB」以前显示的是程序启动那一刻的值,现在打开卡片时重拉。
日志时间戳改成本地时间
1789828406 [INFO] … → 2026-09-19 22:33:26 [INFO] …。查"那局录制怎么没了"的时候,这类排查全靠在时间线上把事件对起来。
完整对比:v1.3.2...v1.3.3
v1.3.2
▶ 先在浏览器里试试 — 页面上跑的就是这个覆盖层本身。
解压即用,没有安装程序。首次运行会自动写入 GSI 配置,记得给 Dota 2 的启动项加上 -gamestateintegration,并用无边框窗口模式。
这一版的主线是净资产的归属口径:拿一局有官方「财产总和」的观战录制逐包对账,三处口径被打穿,修完十个人的终值偏差全部归零。另外堵掉了一个会静默丢掉整局录制的口子。
录制不会再静默丢了
"我明明开了录制,打完却什么都没有" 这个最坏形态的第四条路径:你在资源管理器里删掉正在录的那个文件,程序毫不知情地继续写。 实测这么丢过 26 分钟。
能这样是因为 Rust 的 File::create 在 Windows 上默认带 FILE_SHARE_DELETE——删除成功,文件进入"删除挂起",而我们的句柄照样可写,write 和 flush 全都返回成功。没有任何一层会报错。
现在看门狗每 2 秒顺便确认文件还在不在,不在就打错误日志并换新文件继续,这一局剩下的部分照样录得到。
刻意不去挡住删除:那只会让资源管理器弹"文件正在使用",而你并不知道哪个才是正在录的那个。让删除成功、但别让它静默。
净资产:归属完全按 purchaser 算
一件东西只算在 purchaser 那个人头上。原先判错了两种:
| 情况 | 原先 | 官方 |
|---|---|---|
purchaser = -1(刚从地上捡起的肉山掉落物) |
照计 | 不算 |
敌方 purchaser(捡了对面掉的东西) |
照计(只排除同队) | 不算 |
最硬的证据是同一件物品只有归属变了:slot0 捡起肉山掉的刷新球碎片后 purchaser 一直是 -1,官方一分不算;等它变成 0(他自己),官方净资产同一包 +1000。物品没变、人没变、金币没变。
净资产:魔晶不再重复计 1400
买来的魔晶先在物品栏里待十几到二十秒,吃掉时从物品栏消失而金币不动——这正是"被信使取走"的形状,于是被记成在途;同时魔晶标志翻真又加一次 1400。重复计,直到在途账 90 秒过期。
三例的起止精确到秒(物品消失 + 90 秒 = 虚高结束)。顺带解开了一个悬了三天的谜:某局两个玩家终值一直差 +1500,真相是 1400 的在途幽灵加 100 的传送卷轴基线,不是之前以为的"白送的魔晶多算"。
顺带验完的三件事
- 白送的魔晶官方也算。打掉痛苦魔方直接赠送的那份,不花钱、不进物品栏,但官方净资产照算——所以无条件计 1400 是对的,这里反而不用改。
- 队友代拿的东西官方不算在持有者头上,和我们的行为一致。
- 肉山的奶酪和刷新球碎片按表价正常计(各 1000)。阿哈利姆祝福还没撞上——要肉山第三次死在天辉侧才掉。
日志时间戳改成本地时间
1789828406 [INFO] ... → 2026-09-19 22:33:26 [INFO] ...。查"那局录制怎么没了"的时候每一行都要手动换算,而这类排查恰恰全靠在时间线上把事件对起来。
完整对比:v1.3.1...v1.3.2
v1.3.1
▶ 先在浏览器里试试 — 页面上跑的就是这个覆盖层本身。
解压即用,没有安装程序。首次运行会自动写入 GSI 配置,记得给 Dota 2 的启动项加上 -gamestateintegration,并用无边框窗口模式。
这是一次修正版:两个判据被实测打穿了,都换成了有数据支撑的新判据。
塔防的三处错
- 开局塔防不在冷却。原先一开局就显示冷却中。实际是快速模式 1:00、普通模式 1:30 开始倒数,两种模式第一次可用都在 4:30。
- 三塔不刷新塔防。塔防的冷却只被第一座一塔、第一座二塔、第一座近战兵营重置。原先把三塔也算进去,会凭空多给对手一次"塔防已刷新"。
- 冷却环的总长写死了 300,开局那一段用的不是 300,环的比例因此是错的。
判据来自录像:每一次 GLYPH_USED 都是"那一刻塔防确实可用"的铁证,而两次使用间隔短于冷却,就证明中间发生过刷新。去掉三塔之后,全部 7 个间隔仍然都能被解释。
TP 的自购判据
净资产里"自己买的 TP 才算钱"。原先的判据是充能增加时人是活的——但免费 TP 是在被英雄击杀的那一刻发放的,而 hero.alive 比发放晚一包的情况有 14/142 次(约 10%)。那一包我们看到的还是"活着",于是把白送的判成自购,每次多算 100。
换成 player.deaths 这一包涨没涨,它一次都不晚。四局观战录制全量对账四局全部改善:
| 录像 | 一致率 | 平均绝对偏差 |
|---|---|---|
| A | 50.3% → 59.5% | 106 → 97 |
| B | 45.3% → 53.2% | 135 → 117 |
| C | 56.6% → 60.2% | 99 → 95 |
| D | 55.7% → 60.7% | 120 → 115 |
顺带:死着的时候去买 TP 原先会被判成白送(少算 100),现在也对了。
我方排掉的敌方眼会立刻消失
收到排眼事件时,如果当前只记着一个同类型的敌方眼,就直接把它从地图上抹掉。
这条能成立是因为排眼需要真视——能被排掉的眼必然正被我们看见。这比"离我方英雄最近"那种猜法硬得多:事件本身不带坐标,猜错的代价是把一个还活着的眼从地图上抹掉,你会以为那儿安全。
站点中英切换
演示页加了中英切换,不再靠跳转 README 来换语言。README 里设置面板的四张截图也出了中英两套,各自的 README 用各自的。
文档
更正了一条自己写错的结论:早先判定"四局 23 个魔晶里有 2 例是白送的",实际上那两例也是买的——买来的魔晶会先在物品栏里待十几到二十秒才被吃掉,我只看了标志翻转那一包附近的金币,把二十秒前那笔扣钱当成了别的物品。白送魔晶的样本数其实是 0,这条口径还没被真正考验过。
完整对比:v1.3.0...v1.3.1
v1.3.0
▶ 先在浏览器里试试 — 页面上跑的就是这个覆盖层本身。
解压即用,没有安装程序。首次运行会自动写入 GSI 配置,记得给 Dota 2 的启动项加上 -gamestateintegration,并用无边框窗口模式。
眼位地图换了配色
颜色说归属,形状说状态 —— 两条互不干扰的通道:
| 通道 | 取值 |
|---|---|
| 颜色 | 青 = 我方 · 红 = 敌方 · 琥珀 = 60 秒内到期 |
| 形状 | 实心圆 = 假眼 · 空心圈 = 真眼 · 叉 = 刚被排掉 |
敌方眼从紫改成红 —— 红=威胁是不用学的,紫是个任意约定。原先"刚被排掉"占着红色,现在挪到形状上(青色的叉),红整个让给敌方。夜魇塔跟着去饱和压暗,免得和敌方眼撞。
设置卡片改成四页
原先四节竖着堆成一条,默认 475px、全展开 754px;现在四页一律 316px。页签只有图标,名字显示在下面 —— 中英文卡片因此完全一样宽。
「完成」按钮在页签之外,四页里位置固定不动。
修了一个会静默丢数据的问题
"我明明开了录制,打完却什么都没有" —— 这是最坏的失败形态:没有任何提示,而对局不可再生。
原因是录制器的开关挂在 GSI 收包循环上,没开游戏时拨动开关完全失灵,连"关掉"都停不下来;而收尾(finish())只在"设置从开变关"那一条路径上发生,托盘退出、Dota 关掉、断流都不收尾,不足 50 包的那一局整个消失。
现在三条路都能收尾:拨开关立刻生效 · 程序退出时收尾 · 断流 20 秒自动封口。文件也改成第一包数据到来时才建,不会再留下 0 字节的空壳。
开发区
- 显示程序版本和价格表对齐的 Dota 版本 —— 价格表旧了的症状是净资产看起来正常但偏低,没有任何报错;现在报问题时能直接念出版本号
- 录制文件的体积与一键清空 —— 刻意不做自动清理(自动删掉的很可能正是你还没回看的那一局),正在录的那个会跳过
- 「打开常数表目录」改成**「打开数据目录」**,一次通向常数、日志和录制三处
文档
README 重写:按使用场景分节、每节配图,加了支持矩阵和模块关系图,安全那节改成逐项可核对的清单。同时上线了 项目主页,首页那个 demo 跑的是同一份前端代码 + 真实录制的对局数据。
SHA256
EA25063B3140D1E66FC617480302A71709EF6E14084D02A5943E3A490127DB2C dota2-game-helper2-v1.3.0-windows-x64.zip
v1.2.2
变更
跟随 Dota 7.41f 更新物品价格
octarine_core 4900 -> 5100 greater_crit 5100 -> 5200
dragon_lance 1900 -> 2000 hurricane_pike 4450 -> 4550
heart 5200 -> 5300 heavens_halberd 3400 -> 3300
recipe_hydras_breath 1100 -> 1000 (另有 5 个合成卷轴跟着变)
这一条有时效性:7.41f 已经上线,用旧版本算出来的净资产会偏。
敌方眼位不再长时间残留
原先一个敌方眼被反复看见时,保留时间会一路往后顺延,最长能在地图上挂五分钟——
而它可能早就被排掉了。据此绕路或多买真眼,是实实在在的损失。
现在加了个物理上界:眼不可能活过「第一次看见 + 寿命」。用三局观战录制验证,
其中两局的残留完全消失。
第三局还剩几处,成因不同:那几个眼插下没多久就在我方真视之外被排掉了,
这种情况没有任何数据能告诉我们,只能等它名义上到期。
敌方眼现在还会按新旧淡化:刚在真视里确认过的实心,久未确认的淡下去。
淡到最低也不会消失——宁可让你多小心一点,也不能把真还在的眼藏起来。
自己的眼不淡化,它们有确切的倒计时。
升级方式
换掉 exe 就行,设置和摆位都保留。
校验
dota2-game-helper2-v1.2.2-windows-x64.zip
SHA256 3FD73FD65DAE005F6948D0DB701C22BAD72A953E4E02A6C6DE98F20D4E053047
v1.2.1
变更
三个净资产算错的修复。没有新功能,也没有移除任何能力。
| 修了什么 | 原先偏差 |
|---|---|
| 炼金术士送的神杖没算进去 | 受赠方少算 4200 |
| 神杖在储藏处就地升级成阿哈利姆祝福,按神杖价记 | 少算 1600,而且不会自己回落 |
| 从储藏处直接卖东西 | 虚高一个物品全价,持续 90 秒 |
前两条的共同点是:判断依据挂在一件可能根本不出现的物品上——炼金送的那根,
GSI 给的修饰符名尾巴上带来源后缀;储藏处里就地合成的那次,祝福卷轴压根没在
物品栏里露过面。「没见到」不等于「没发生」。
第三条是「卖出」和「被信使取走」在数据里长得一模一样,都是"储藏处少了、装备栏没多",
于是卖掉的东西被当成在途货继续算着,而卖得的钱同时也算进金钱——同一件东西算两遍。
另外把净资产与眼位地图的默认位置下移了一行。只影响全新安装或按过「重置」的人,
老用户自己摆好的位置不受影响。
这一版是怎么验的
用观战回放对账:观战时 GSI 会推一个自己打时根本不存在的字段 net_worth,
那就是官方的「财产总和」。三局录像、十个玩家、每局两三万个逐包取样点,
逐包比对我们算的和官方给的。
平均绝对偏差:
录像 A 98 -> 90 录像 B 168 -> 112 录像 C 199 -> 126
每处修复都确认过「目标玩家改善、对照组一字不差」,没有一处回退。
升级方式
换掉 exe 就行,设置和摆位都保留。
校验
dota2-game-helper2-v1.2.1-windows-x64.zip
SHA256 F3AA03DF4F5FA6CCE80D370125A85878629ED0160CCCBF2260DBFAEB64D73F40