DOTA阵容计算器是一款可以通过这个工具来计算出双方随机选择的英雄阵容的辅助游戏。正所谓知己知彼百战不殆,赶快下载体验吧!!
DOTA阵容计算器计算过程
本人也玩过魔兽争霸的地图编辑,懂得一些JASS函数,JASS内存在随机数,既然是联网数据同步主机的游戏,那么随机种子一定是从主机方得到,种子数值就在 “房间” 名称附近的内存中!
就说明每个房间都公开有一个指定的游戏随机数计算的种子,魔兽开始游戏时,在载入游戏过程中会产生一次随机数
0012DB50 0B80C630 ASCII “GetRandomInt”
GetRandomInt(0×0,0xA) ; 该函数是在游戏Game.DLl 模块中
该函数入口地址
“6F3B40A0″
返回随即值
当我们正常进入游戏 -RD的时候 会瞬间 随机选出 22位英雄
当然 现在”炸弹人”是不允许开放在RD模式了!
-RD的时候在 函数入口下断 可以看到 push 的参数
就是最小值 最大值
GetRandomInt(int mix,int max)
函数retn的时候 可以看到edi 中的返回值 就是相关英雄专属的 整型地址!
如果加上SP模式 就必须先算SP模式
过程是这样的
游戏载入进度 随机一次 GetRandomInt(0,0xA)
如果非SP模式 直接-RD 将随机一次GetRandomInt(1,1)
如果SP 并且RD 那么就先得算 SP 十次随机GetRandomInt 并过滤重复 成功返回
RD模式 存在最大最小的 计算过程GetRandomInt(1,2) 从1和2中随机
如果 == 1 则 GetRandomInt(0×1,0x3B) == 2 GetRandomInt(0x3C,0×70)