我是谁004 发表于 2016-7-14 23:42:21

进击硬编码——特别的单位技能

本帖最后由 我是谁004 于 2017-2-3 23:38 编辑

我做的触发效果补丁,打算增加一些mod方面的东西。除了经典的建筑翻页键、自杀式攻击等,又做了一些非同一般的功能出来。
在我思索单位界面按钮的时候,想到,能不能把原来的一些功能利用起来,做成新的效果呢?经过我数日对EXE运行的研究,花费了大量的时间和精力,“足迹”遍布数十KB,终有所悟。
我令单位能够具有一个特殊的技能按钮,这个按钮位于右下角,它可以实现以前游戏中未曾显露过的效果。
(欲知详情,请参见补丁https://www.hawkaoe.net/bbs/thread-137261-1-1.html)


那么技能有什么呢?请看:
产生单位
在单位所处的位置上产生另一个单位。可以用来作为布雷、伏兵乃至施放爆炸性伤害的技能。
单位变形
仅凭投石机功能,单位转变虽然可以实现,却会有许多局限——比如,单位类型必须为80,不能巡逻、警戒以及驻扎等。现在好了,单位可以既拥有普通步兵甚至村民、僧侣的特性,又能够实时变为另一种单位。
治疗
曾经治疗是僧侣的专属,其他单位没有权力去做这件事。通过这样一改,军事单位虽然不会主动治疗,但可以手动选择我方单位进行治疗工作。
建造
原先虽然任何单位都可以进行咚咚咚的建造工作,但只有村民类别的单位能放置地基。而且,如果页面类型为4(村民)、9(渔船)的话,就不能使用其他单位特有的功能了。经过修改,我们可以让一个单位的页面右下角的按钮进入类似于村民建造的页面,从而可以放置想要的建筑。
建筑物打包
类似于命令与征服的基地车,帝国原来的设计下,建筑物如果不使用军事页面,就无法收回;但如果使用了,又无法进行训练或研究。而我的解决方案中,只要设置那个属性,就可以令建筑物在右下角显示一个打包键,把它打包为可移动的车辆!

效果:
以下为使用“004时代”为基础所修改的测试效果,请注意它们的控制页面。

图1 博丽灵梦转变为雾雨魔理沙。


图2 莎莎能够打开建筑页面并放置建筑地基。


图3 盟军建造场可以收回为基地车。


图4 左-长矛兵与掷矛兵的互相转变;右-贞德的隐藏治疗能力被激活了。


图5 初音未来能够在自己的位置上释放出镜音铃来。

qs 发表于 2016-7-15 00:02:34

马丹!!!!

可以完全做个新游戏了!!!!!!!!

troytroytroy 发表于 2016-7-15 00:03:32

MOD界將會走向一個更未知的時代。太過強大了,此帖應該精!

这只话唠菜鹰是路人 发表于 2016-7-15 00:38:13

根据004最近的几个帖子,我能肯定地说004是个变态

杀鸡领主 发表于 2016-7-15 08:25:04

啊,开挂的004,把帝国玩成魔兽了{:152:}

Redapple 发表于 2016-7-15 13:39:48

我都不知道要说什么好了……{:146:}

对未来的所思 发表于 2016-7-15 22:26:33

可以,这很004,

cycbobby 发表于 2016-7-17 06:04:58

四爺突破了天際~~

bluetoxic 发表于 2016-7-17 20:37:41

我多么希望楼主能来帝国时代ol帮帮忙…

我是谁004 发表于 2016-7-17 23:56:29

bluetoxic 发表于 2016-7-17 20:37
我多么希望楼主能来帝国时代ol帮帮忙…

但我对ol一窍不通

bluetoxic 发表于 2016-7-18 00:13:31

我是谁004 发表于 2016-7-17 23:56
但我对ol一窍不通

是的 也许向aoe3的modder求助会有效果

卓奎 发表于 2016-7-18 07:16:21

用“帝国数据编辑器”的吗?怎么会多么神奇?{:173:}

timclyde 发表于 2016-7-18 23:15:08

004能不能让普通单位拥有投石车的强制攻击技能?

我是谁004 发表于 2016-7-19 00:04:13

timclyde 发表于 2016-7-18 23:15
004能不能让普通单位拥有投石车的强制攻击技能?

光有一个图标是不够的,还需要在发挥功能的指令中进行修改才行

timclyde 发表于 2016-7-19 11:52:44

我是谁004 发表于 2016-7-19 00:04
光有一个图标是不够的,还需要在发挥功能的指令中进行修改才行

我用ultraedit 将轻型投石车的id修改为轻骑兵的id,轻骑兵就能做到强制攻击。但是轻骑兵的控制面板没有强制攻击按钮,投石车的控制面板有强制攻击按钮,但它却无法强制攻击了。同时选中这两个单位在进行强制攻击,轻骑兵就可以做到强制攻击了。

我是谁004 发表于 2016-7-19 12:34:31

timclyde 发表于 2016-7-19 11:52
我用ultraedit 将轻型投石车的id修改为轻骑兵的id,轻骑兵就能做到强制攻击。但是轻骑兵的控制面板没有强 ...

在0x126120附近有一处判断是否绘制对地攻击图标的,你试试看

timclyde 发表于 2016-7-19 14:30:53

我是谁004 发表于 2016-7-19 12:34
在0x126120附近有一处判断是否绘制对地攻击图标的,你试试看

将0x0067920和x126120的火炮战船id改为轻骑兵后,火炮战船的强制攻击成功的移到了轻骑兵身上了。但是将这个功能移到一般单位上我就不会了。

我是谁004 发表于 2016-7-19 14:40:55

timclyde 发表于 2016-7-19 14:30
将0x0067920和x126120的火炮战船id改为轻骑兵后,火炮战船的强制攻击成功的移到了轻骑兵身上了。但是将这 ...
如果你试着把ID改成FF FF,后面的74改成75,那么所有单位都变成了对地攻击想要更高端的,那只有用反汇编来查看之后酌情修改了

timclyde 发表于 2016-7-19 15:15:03

我是谁004 发表于 2016-7-19 14:40
如果你试着把ID改成FF FF,后面的74改成75,那么所有单位都变成了对地攻击想要更高端的,那只有用反汇编 ...

004你之前不是修改过狂战士回血的功能吗?将强制攻击也这样修改应该也做得到吧。

我是谁004 发表于 2016-7-19 15:34:53

timclyde 发表于 2016-7-19 15:15
004你之前不是修改过狂战士回血的功能吗?将强制攻击也这样修改应该也做得到吧。

是呀,但是要通过反汇编,才能知道如何去改
页: [1] 2
查看完整版本: 进击硬编码——特别的单位技能