成就中心 DouJin Terraria! 社区服务 统计排行 帮助
  • 14529阅读
  • 23回复

[其他]th7_init - 东方妖妖梦 游戏初始值修改器 v0.6

发帖
103
信仰
6
蓝点
462
符卡
0
只看该作者 20楼 发表于: 2014-09-03
引用
引用第19楼Kag于2014-08-30 01:45发表的  :
哎呀,忙♂完之后才想起来用一下这插件,抱歉        

有个问题:
关于屏幕弹数这个,程序是怎么判定的?子弹一脱出屏幕(视野上的)就清零了吗?
.......


这个我没有具体研究过,但理论上来讲,应该跟视野无关,要看弹幕怎么设计的。
有些子弹跑出视野外几个像素就消失了。这样敌弹数计数器就减1。
有些可能跑出视野几十个像素后停在那里没有消失,要过段时间才消失,甚至过段时间又钻出来。(红魔乡的红幻就是个例子,我经常被突然从屏幕外面钻出来的大玉砸死233)如果又钻出来当然计数器就不会变。

引用
引用第19楼Kag于2014-08-30 01:45发表的  :
——想问的是,东方stg里所有要考虑关于击破消弹的时候,经常能看到击破要精确到0.3秒这种感觉,击破时刻有一点点不同,击破回收的子弹都不一样了鹅(的样子)...
“东方stg里” - 范围可能太大,如果各作不同的话,请先讲解一下妖妖梦的吧 。
——好像要纠结一下“击破”的判定才对?orz
.......


没看懂……能不能再讲得详细点     

引用
引用第19楼Kag于2014-08-30 01:45发表的  :
另外道具上限似乎不是1024www:
.......


道具数上限……看来的确是 1100 ,感谢指正     

其实我是偷懒猜的,看来我猜错了(你为什么要不懂装懂,为什么不说“上限未知”

为表歉意,这回上OD好好分析了一下,结果就是看来上限的确就是你截图上的 1100 。
上个 OD 的超简单分析



给 623F5C(道具数地址) 下内存断后,会断在 4329E0。断下后的 ECX 目测是固定值 575c70,因为 OD 提示该函数只被一个地方(0x425a8e)调用,而 0x425a8e 在 CALL 这个函数前有个 MOV ECX,575C70 。
当然也可能有OD不能解析的动态指针访问这个函数,那可以给 4329e0 设个条件记录断点,监视一下 ECX 的值(条件设 ECX != 575C70 ,实测程序未断下来过,OD记录窗口里也没任何_新记录出现)。
所以这里的 MOV DWORD PTR DS:[ECX+AE2EC],0 实际和 MOV DWORD PTR DS:[623F5C],0 是一样的。可推测这个函数应该就是专门遍历道具对象的函数(至于遍历后干嘛我就看不懂了)

另外敌弹数上限是 1024 无误,这个给 0x9a9a80(敌弹数地址) 下断后下面也可以看到类似的循环,这里就不说了。

Kag
发帖
784
信仰
2
蓝点
395
符卡
0
只看该作者 21楼 发表于: 2014-09-04
回 20楼(wz520) 的帖子
程序太触了看不懂(嗯其实就没学过嘛)

关于子弹离开屏幕的判定大概是看懂了。

然后关于击破判定,作为不懂程序的玩家我是这么理解的:
射出子弹 - 子弹碰到敌人的判定 - 计算血量 - 作出判定 - 回收道具
猜想在“作出判定 - 回收道具”这个阶段应该有一段时间判定?有具体的时差数值吗?
或者说,在我看到的“击破”和程序真正判定的“击破”有差别吗?
(说得好像更复杂了orz)
发帖
103
信仰
6
蓝点
462
符卡
0
只看该作者 22楼 发表于: 2014-09-12
Re:回 20楼(wz520) 的帖子
引用
引用第21楼Kag于2014-09-04 03:33发表的 回 20楼(wz520) 的帖子 :
程序太触了看不懂(嗯其实就没学过嘛)  

关于子弹离开屏幕的判定大概是看懂了。

然后关于击破判定,作为不懂程序的玩家我是这么理解的:
.......


最近比较忙,没时间研究了
馒馒来吧
Kag
发帖
784
信仰
2
蓝点
395
符卡
0
只看该作者 23楼 发表于: 2015-01-09
如果是在修改的条件下打出来的录像,回放录像时也要用到同样的条件,这样录像就可以正常播放了
描述
快速回复

您目前还是游客,请 登录注册
如果您在写长篇帖子又不马上发表,建议存为草稿
认证码: