佳丽云

英雄无敌3-WoG中文站

 找回密码
 英雄注册|Register
查看: 1985|回复: 6

修改wog内部运行机制的一点体会

[复制链接]
  • TA的每日心情
    开心
    2024-8-15 19:26
  • 签到天数: 149 天

    连续签到: 1 天

    [LV.7]血污怪

    112

    回帖

    9590

    金币

    1

    精华

    4级 Famous Hero

    Rank: 4

    积分
    1623
    发表于 2015-12-11 07:13:08 来自手机 | 显示全部楼层 |阅读模式
    这段时间一直在做一个脚本,构想中可以实现一回会多次施法,经大神007指点,参看了双C脚本,非常好用,正是我想实现的功能,只有一点和预想中的不同,我预想的是鼠标点击施法图标两次施法。这就要求第一次施法之后,施法图标不能变灰,于是再次在007的指点之下,我开始了wog内部机制修改之旅,修改的目的就是实现施法图标不变灰的功能。
    启运ce,创建进程,调试-运行,让wog运行起来,并进入战斗界面。
    到了这一步,不知怎么下断,然后看了双C脚本,007里面用了一个内部函数,功能是弹出魔法书,于是我就用这个函数下断,函数地址是0x476500,这是我换算后的十六进制地址。右键点击代码窗口-转到地址-输入地址,直接跳到这个地址-下断。
    点施法图标,我满怀希望的断没有出现,当时真没想到内部机制弹出魔法书竟然用的不是这个函数。
    我又试其它操作,结果在怪物移动时,中断了。
    然后,我shift+F8返回,返回,连续返回,然后定到一个函数那里,再也返回不动了,这个就是战场总处理函数,再能返出去,就是退出战斗了。
    就在这个函数下断,不愧为总处理函数,一断下,画面就定格了,按F9看看效果,按一下,动一下,效果很好。
    这时点施法图标,按F7进入总处理函数内部,按F8一步一步执行。
    这个时候就是考验耐心的时候,我因为初时没有耐心,在这一步重复N多次,眼睛看花了,也没有得到有用的结果。
    按一段时间之后,魔法书弹出,把这个函数下断,我当时在想,原来你才是御用的魔法书弹出函数啊。
    这时点选一个魔法,又断,大家注意观察一下,这时EAX的值就是你所选魔法的编号。
    F8继续前进,几步之后,又过一个函数,让你点选施法目标,点选之后,又断下,按F8继续,一会儿之后,魔法书图标变灰,好了,就是这个函数,下断。
    wog的内部施法机制是图标先变灰,再显示法术动画效果。
    F9运行起来了,把前面的断点都删除,等下一回合能施法时,点施法图标弹出魔法书,点选魔法,选择施法目标,中断到刚才施法图标变灰的函数上。
    F7进入,F8继续。这个时候更是考验耐心的时候,因为接下来的函数还有很多,你要判断哪个是环节函数,哪个是底部执行函数。
    我们要做的就是找出最接近底部执行函数的环节函数,因为通常情况下,最接近底部的操作起来更加安全,不会对全局造成影响。
    一般情况下是不能操作底部执行函数的,因为它被调用的太频繁了,改它更容易出错。
    这样找下去之后,我找到一个比较合适的环节函数,然后看它的执行条件,结果就是在0x5A032C这个地址看到一个条件跳转,条件满足时,会跳过环节函数,不进行战场重绘,当然图标也不会变灰了。
    就是它了,立即改成无条件跳转,F9运行,果然跳过,战场显示法术动画,而施法图标却没有变灰。
    最后改成erm语句,就是!!UN:C5899052/4/2206870251;
    这是改成无条件跳转,恢复语句就是!!UN:C5899052/4/2206870132;
    最后感谢贤知有您007的帮助和指点。


    评分

    1

    查看全部评分

  • TA的每日心情
    开心
    2015-12-9 01:09
  • 签到天数: 9 天

    连续签到: 1 天

    [LV.3]火元素使者

    1839

    回帖

    8223

    金币

    8

    精华

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    10799

    社区QQ达人

    发表于 2015-12-11 07:55:12 | 显示全部楼层
    内存直接修改醉无敌
  • TA的每日心情
    郁闷
    2015-6-6 16:12
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]女巫

    4949

    回帖

    3万

    金币

    35

    精华

    超级版主

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

    积分
    34671

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

    发表于 2015-12-11 09:11:59 | 显示全部楼层
    楼主太赞了.立马就想到弹出魔法书函数是切入口.
    其实很多内部操作都是相互关联的,只要有切入口,纵观大部分函数就可以获得很多内部的运行机制信息.
    热切期待楼主新脚本的发布,估计是一个魔法加强(或者魔法师加强)的脚本.

    点评

    好的,我的脚本做的也差不多了,再调试调试就可以放出来了  详情 回复 发表于 2015-12-11 11:11
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2623

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4819

    论坛元老退役版主

    QQ
    发表于 2015-12-11 09:47:08 | 显示全部楼层
    楼主碉堡了,我完全听不懂你在说什么~~~~~~

    点评

    有好多东西没解释清楚,我感觉自己有点相当然了。。  详情 回复 发表于 2015-12-11 11:14
  • TA的每日心情
    开心
    2024-8-15 19:26
  • 签到天数: 149 天

    连续签到: 1 天

    [LV.7]血污怪

    112

    回帖

    9590

    金币

    1

    精华

    4级 Famous Hero

    Rank: 4

    积分
    1623
     楼主| 发表于 2015-12-11 11:11:30 来自手机 | 显示全部楼层
    贤知有您 发表于 2015-12-11 09:11
    楼主太赞了.立马就想到弹出魔法书函数是切入口.
    其实很多内部操作都是相互关联的,只要有切入口,纵观大部分 ...

    好的,我的脚本做的也差不多了,再调试调试就可以放出来了
  • TA的每日心情
    开心
    2024-8-15 19:26
  • 签到天数: 149 天

    连续签到: 1 天

    [LV.7]血污怪

    112

    回帖

    9590

    金币

    1

    精华

    4级 Famous Hero

    Rank: 4

    积分
    1623
     楼主| 发表于 2015-12-11 11:14:15 来自手机 | 显示全部楼层
    克招 发表于 2015-12-11 09:47
    楼主碉堡了,我完全听不懂你在说什么~~~~~~

    有好多东西没解释清楚,我感觉自己有点相当然了。。
  • TA的每日心情
    擦汗
    2016-3-30 00:04
  • 签到天数: 91 天

    连续签到: 3 天

    [LV.6]地狱战马

    113

    回帖

    1万

    金币

    0

    精华

    3级 Known Hero

    Rank: 3Rank: 3

    积分
    715
    发表于 2015-12-11 11:18:18 | 显示全部楼层
    楼主厉害,小白看晕了
    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 英雄注册|Register

    本版积分规则

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

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

    GMT+8, 2024-9-24 03:29 , Processed in 0.959250 second(s), 14 queries , Gzip On, File On.

    Powered by Discuz! X3.4

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

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