佳丽云

英雄无敌3-WoG中文站

 找回密码
 英雄注册|Register
查看: 3703|回复: 9

战场上生物攻击/伤害施法检查函数的地址及其调用形式

[复制链接]

该用户从未签到

152

回帖

7319

金币

6

精华

论坛嘉宾

Rank: 9Rank: 9Rank: 9

积分
759

退役版主

发表于 2013-11-13 14:51:35 | 显示全部楼层 |阅读模式
本帖最后由 sakuya452 于 2013-12-15 01:47 编辑

生物攻击或造成伤害施法时经由5A8950地址进行有效性检查,然后用返回值表示当次检查是否可以接受该魔法

5A8950转换为十进制为5933392

该函数是个thiscall,调用形式为

!!SN:E5933392/2/战场结构地址/魔法编号(0-80)/施法者(堆栈)所属边(左0,右1)/被施法堆栈地址/1/1;      

虽然ERM帮助里魔法编号范围是0-80,但是用蛮牛打黑龙可以出死亡凝视啊,感觉应该不算魔法,同理编号76,78,80的也一样,个人推测,如有错误,希望对WOG了解多的人能帮助指正

一个调用示例:
  1. ZVSE
  2. **检查21号堆栈对0-80号大部分魔法的接受情况,这原本是一个生物攻击/伤害施法时用于检查的函数,最好不要用于检查被英雄相关参数限制施放的魔法的接受情况
  3. **调用5933392函数检查有抗魔技能的堆栈时自动检查几率,得出几率在抗魔几率内则返回0,否则其它条件通过的返回1

  4. !?CM4&1000;     右键信息栏触发
  5. !!CM:F?y1 I?y2 S?y3;
  6. !!FU|y1<>512/y2<>2005/y3<>14:E;    不是右键信息栏则退出
  7. !!UN:C6919200/4/?y1;   获取战场结构地址
  8. !!VRy2:Sy1+21708;    0号堆栈地址
  9. !!VRy3:S21*1352+y2;  21号堆栈地址
  10. !!VRy4:S0;              施法者所属边,0为左边,1为右边,影响一些判定结果,比如谁有永恒之球
  11. !!DO50000/0/80/1:Py1/y3/y4;

  12. !?FU50000;   x16为魔法编号
  13. !!FU&x16=77:E;           排除空魔法编号
  14. !!FU&x16>=0/x16<15|x16=64/x16=66/x16=67/x16=68/x16=69:E;    排除冒险及非受身非伤害性魔法,虽然这些也能获取一个返回值,但不知道是根据什么来得出的,有兴趣的可以测试看看。排除是因为这类魔法的接受情况没有用处,也不一定正确
  15. !!FU|x16=35/x16=38/x16=39/x16=40:E;             排除需要检查英雄相关参数才能决定是否可接受的魔法,这类的魔法接受情况似乎是按左边的英雄的相关参数来决定的,比如英雄有中级水系魔法技能,则检查21号堆栈(要求有魔法状态)对35号魔法的接受情况在其它检查条件通过时便会返回真值(1),有兴趣的可以测试看看到底由什么决定的。排除掉是因为结果不可预知
  16. !!FU|x16=76/x16=79/x16=80:E;                    排除似乎不算是魔法的编号,检查这些编号应该也不能获取正确的值,78例外,检查结果正确,予以保留
  17. !!SN:E5933392/2/x1/x16/x3/x2/1/1;              调用生物施法检查函数来检查21号堆栈对相关魔法的接受情况,调用后v1存储返回值
  18. !!IF:M^魔法编号x16=%X16,v1=%V1(1表示可接受,0表示不接受)^;                        显示目标堆栈对相应编号魔法的接受情况,可以正确检查出束缚(即缠绕)的接受情况,但是要怎么用对束缚的检查结果是另一个需要研究的问题了(或者干脆不靠该函数来检查束缚)
复制代码


感谢 超级版主 @沧海一粟  提供测试数据(我个人觉得,禁魔球只管得到英雄施法函数的检查,管不到生物施法函数的检查,永恒之球应该也可以检查出来:D),以下为该数据:     

生物自带特技有效;(火免、精神免疫、亡灵、生命体、免疫N级魔法...)
生物经验特技有效;(自动检查等级,4系免疫、精神免疫、魔法免疫...)
生物抗魔技能有效;(自动检查机率)
生物减少魔法伤害有效;(这个应该原本就有效)
抗魔大法有效;(自动检查等级)
英雄宝物技能有效;(我的毁灭之球啊!禁魔球应该属于特殊检查范围故无效)

再附上其的一个应用例子供参考:
  1. ZVSE
  2. **雷神射击前闪电
  3. !?BG0&1000;
  4. !!BG:A?y1 E?y2 N?y3 Q?y4;
  5. !!FU|y2<0/y2>41/y3<0/y3>41:E;
  6. !!BMy2:P?y5;
  7. !!BMy3:T?y6;
  8. !!FU|y1<>7/y6<>152:E;
  9. !!UN:C6919200/4/?y10;
  10. !!VRy11:Sy3 *1352 +21708 +y10;
  11. !!VRy12:Sy2 *1352 +21708 +y10;
  12. !!SN:E5933392/2/y10/17/y4/y12/1/1;     楼主注:检查被攻击单位对17号魔法的接受情况,填正确的边
  13. !!if&v1=1:;        
  14. !!BMy3:C17/y5/1/1/1;
  15. !!el:;
  16. !!BMy2:V78;
  17. !!en:;
复制代码

评分

2

查看全部评分

本帖被以下淘专辑推荐:

  • TA的每日心情

    2015-5-5 18:31
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]野猪

    320

    回帖

    9208

    金币

    0

    精华

    3级 Known Hero

    Rank: 3Rank: 3

    积分
    749
    发表于 2013-11-13 16:49:48 | 显示全部楼层
    牛啊,这个生物检查机制和原来的有区别吗?感觉差不多啊。

    点评

    和原来同时点的检查一致,有了这个,就可以添加任意个几乎等同于原效果的几率或非几率的攻击施法/伤害施法的技能了  详情 回复 发表于 2013-11-13 16:53

    该用户从未签到

    152

    回帖

    7319

    金币

    6

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    759

    退役版主

     楼主| 发表于 2013-11-13 16:53:25 | 显示全部楼层
    本帖最后由 sakuya452 于 2013-11-13 20:27 编辑
    mywog 发表于 2013-11-13 16:49
    牛啊,这个生物检查机制和原来的有区别吗?感觉差不多啊。

    和原来同时点的检查一致,有了这个,配合BM:C就可以添加任意个几乎等同于原效果的几率或非几率的攻击前施法/攻击后施法的技能了
  • TA的每日心情
    无聊
    2017-4-20 23:11
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]火元素使者

    26

    回帖

    4664

    金币

    0

    精华

    1级 Hired Hero

    Rank: 1

    积分
    172

    社区QQ达人

    发表于 2013-11-13 17:06:25 | 显示全部楼层
    赶脚好深奥啊  其实我游戏的执着不在这里啊
  • TA的每日心情
    郁闷
    2015-6-6 16:12
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]女巫

    4947

    回帖

    3万

    金币

    35

    精华

    超级版主

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    34628

    论坛守望者论坛元老杰出贡献

    发表于 2013-11-13 21:25:37 | 显示全部楼层
    本帖最后由 贤知有您 于 2013-11-13 21:27 编辑

    我很纠结.
    原来雷鸟出闪电时曾经调用过5A8950,我怎么没认真看呢.
    呵呵, 原来看汇编也并不是那么无法接受的.以前总感觉是天书.
    楼主的出现,让我又明白了不少关于汇编的情况.得感谢楼主,我才对内存和汇编有了更深入的了解.

    点评

    纠结那么多干吗,既然能看懂就多深入学习造福WOG众呗,到时就是我等小白来佩服你了 而且贤知也认识FEA汇编大师,有空多交流交流,回来论坛传授点经验好让多点人也能学会点啊,多点人会总是好的  详情 回复 发表于 2013-11-13 21:38

    评分

    1

    查看全部评分

    该用户从未签到

    152

    回帖

    7319

    金币

    6

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    759

    退役版主

     楼主| 发表于 2013-11-13 21:38:32 | 显示全部楼层
    本帖最后由 sakuya452 于 2013-11-13 23:04 编辑
    贤知有您 发表于 2013-11-13 21:25
    我很纠结.
    原来雷鸟出闪电时曾经调用过5A8950,我怎么没认真看呢.
    呵呵, 原来看汇编也并不是那么无法接受 ...

    汇编程序其实就是甲骨文写的书,但是要在别人的程序里进行修改,添加或删除功能,更需要的是逆向分析能力,逆向分析能力就是在反汇编后(即将程序转换成汇编指令组成的程序后)能逆序阅读甲骨文的书还能理解其意思的能力

    纠结那么多干吗,既然能看懂就多深入学习造福WOG众呗,到时就是我等小白来佩服你了

    而且贤知又认识FEA汇编大师,有空多交流交流,回来论坛传授点经验好让多点人也能学会点啊,多点人会总是好的,而且我也能从中学到点别人在逆向分析中的经验。

    其实我挺好奇贤知怎么不多向FEA大师学习呢,再怎么说人家都比我这个才学不久的人会的多而且经验丰富。怎么都不至于你来感谢我啊,难道是因为我比较好欺负吗?

    点评

    楼主太谦虚了. 我是正在像楼主这等高手学习了.论坛没有你的加入,我想我还不知道汇编这么好玩. 至于FEA大师我不认识,他神龙见首不见尾.只是在HC论坛或者代码上能看到他的一些足迹.况且人家是外国人,沟通不了. 我倒  详情 回复 发表于 2013-11-14 08:51
  • TA的每日心情
    郁闷
    2015-6-6 16:12
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]女巫

    4947

    回帖

    3万

    金币

    35

    精华

    超级版主

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    34628

    论坛守望者论坛元老杰出贡献

    发表于 2013-11-14 08:51:35 | 显示全部楼层
    sakuya452 发表于 2013-11-13 21:38
    汇编程序其实就是甲骨文写的书,但是要在别人的程序里进行修改,添加或删除功能,更需要的是逆向分析能力 ...

    楼主太谦虚了.
    我是正在像楼主这等高手学习了.论坛没有你的加入,我想我还不知道汇编这么好玩.
    至于FEA大师我不认识,他神龙见首不见尾.只是在HC论坛或者代码上能看到他的一些足迹.况且人家是外国人,沟通不了.
    我倒是喜欢什么都研究一下,有楼主带领着我们,我想我又进步了.呵呵.

    点评

    原来评分功能的回复才支持几个字啊。 想说学习研究仅需要认真严谨的态度,其它的会带来一些不必要的麻烦,所以还是希望能普通的交流讨论,互相进步  详情 回复 发表于 2013-11-14 12:22

    评分

    1

    查看全部评分

    该用户从未签到

    152

    回帖

    7319

    金币

    6

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    759

    退役版主

     楼主| 发表于 2013-11-14 12:22:22 | 显示全部楼层
    本帖最后由 sakuya452 于 2013-11-14 12:34 编辑
    贤知有您 发表于 2013-11-14 08:51
    楼主太谦虚了.
    我是正在像楼主这等高手学习了.论坛没有你的加入,我想我还不知道汇编这么好玩.
    至于FEA ...

    原来评分功能的回复才支持几个字啊。

    想说学习研究仅需要认真严谨的态度,其它的会带来一些不必要的麻烦,所以还是希望能普通的交流讨论,互相进步

    其实你之前看到的那个附加效果处理的子程序也是可以调用的,只是调用效果似乎不理想,你试试调用看看
  • TA的每日心情
    开心
    2021-11-2 11:44
  • 签到天数: 754 天

    连续签到: 1 天

    [LV.10]圣龙

    8815

    回帖

    1万

    金币

    17

    精华

    论坛嘉宾

    寄蜉蝣于天地,渺沧海之一粟。

    Rank: 9Rank: 9Rank: 9

    积分
    42459

    退役版主社区QQ达人论坛守望者脚本测试狂论坛元老杰出贡献魅力之星

    发表于 2013-11-15 21:01:17 | 显示全部楼层
    这个功能的战略意义是非常巨大的,非常感谢楼主出手帮忙解决这个代码无法完全解决的问题
    经测试,除了特殊的ERM定制召唤生物会出现小小插曲外,其它没有任何问题,非常实用好用,希望楼主能多多出手啊

    评分

    1

    查看全部评分

    “你看见的,是追随诸神脚步前进的埃拉西亚!”
    封神2.2黄金版 - 决战神之巅,英雄无敌世界的终极幻想
  • TA的每日心情
    开心
    2022-3-29 22:02
  • 签到天数: 15 天

    连续签到: 1 天

    [LV.4]狂狼人

    25

    回帖

    1万

    金币

    0

    精华

    1级 Hired Hero

    Rank: 1

    积分
    83
    发表于 2013-11-15 22:28:35 | 显示全部楼层
    学习了,感谢分享,正在研究中
    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 英雄注册|Register

    本版积分规则

    捐赠
    关注我们,英3Mod一网打尽!

    WoG中文站 ( 辽B2-20210485-10 )|辽公网安备 21128202000228 号

    GMT+8, 2024-3-29 07:43 , Processed in 0.899762 second(s), 14 queries , Gzip On, File On.

    Powered by Discuz! X3.4

    Copyright © 2004-2022, Beijing Second Sight Technology Co., LTD.

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