【ERA】可更改部分生物内部技能的方法
本帖最后由 贤知有您 于 2013-11-11 16:59 编辑如果你是一个ERM作者,肯定想简单拥有像树妖那样的缠绕特技,因为这种内部特技要用模拟法是相当有难度的.
还有不少人都一直问,能不能像吸血鬼伯爵那样吸血,像蛮牛那样死亡凝视.因为模拟出来的效果始终有点差别.
然后,我居然一个不小心找到了这个内存存放点.(纯粹无心之得,因为我不是专业内存修改人员)
闲话休提,但有一点是要说明的,以下两种内部生物技能都有生物编号使用范围.
原因嘛,汇编的那种以数据形式作为开关的写法限制住了.
不管如何,已经有大部分生物能简单直接地应用到这些特殊技能.
先看修改生物内部施法技能的方法:
ZVSE
!?PI;
!!FU8008008:P27/0;[金龙缠绕]
!?GM0;
!!FU8008008:P27/0;[金龙缠绕]
!?FU8008008; [更改部分生物的内部施法技能]
**x1=生物编号(22-196),有且只有一种以下特技
**x2的值包括:
**0 = 缠绕(如树妖)
**1 = 失明(如独角兽,20%几率)
**2 = 疾病(如僵尸,20%几率)
**3 = 诅咒(25%几率)
**4 = 衰老(如鬼龙,20%几率)
**5 = 石化(如蜥蜴,20%几率)
**6 = 麻痹(如蝎狮,20%几率)
**7 = 中毒(如飞龙王,20%几率)
**8 = 酸液(如毒龙)
**9 = 没有技能
!!FU|x1<22/x1>196:E;
!!VRy1:Sx1 +7994570;
!!UN:Cy1/1/x2;
这里的生物编号只能从 22 到 196 ,22树妖之前的生物只能杯具了.
代码很简单,进游戏测试一下吧,金龙能出正常的缠绕了.
由于全局施法几率的影响,也就是说,把失明给某生物,都是20%几率触发的,跟独角兽一样.
为此,如果想修改这些全局几率,可参考以下代码.
!!UN:C4457278/1/100;[独角马失明几率100%]
!!UN:C4457060/1/100;[鬼龙的衰老几率100%]
!!UN:C4457639/1/100;[美杜莎/蜥蜴的石化几率100%]
!!UN:C4457824/1/100;[飞龙的中毒几率100%]
!!UN:C4457937/1/100;[蝎狮的麻痹几率100%]
下面看第二种修改技能方式(与前面那种是独立分开的)
记得有个笑话,大概是说,上帝问魔鬼转世投胎想当什么,魔鬼说既想要吸血的本性,又想拥有天使般的洁白.
结果大家都很清楚.那么现在就来个会吸血的圣天使吧.
顺便加个死亡凝视暗黑龙.
ZVSE
!?PI;
!!FU7007007:P150/0;[吸血的神圣天使]
!!FU7007007:P155/2;[暗黑龙的死亡凝视]
!?GM0;
!!FU7007007:P150/0;[吸血的神圣天使]
!!FU7007007:P155/2;[暗黑龙的死亡凝视]
!?FU7007007;[更改部分生物的特殊内部技能]
**x1=生物编号(63-196),有且只有一种以下特技
**以下特技触发几率与原特技生物相类似
**注意技能都是肉搏时产生的
**x2=0=(吸血鬼)吸血(满足条件即触发)
** =1=(雷鸟)闪电攻击(20%几率)
** =2=(蛮牛)死亡凝视(10%几率,详细请参看宝典说明)
** =3=(龙蝇)驱散攻击(满足条件即触发)
** =4=(毒龙)酸性攻击(20%几率)
** =5=无特技
!!FU|x1<63/x1>196:E;
!!VRy1:Sx1 +7994385;
!!UN:Cy1/1/x2;
这种技能使用生物范围只能从63 到 196.
如果你查看内存会发现,所有指挥官都有2这个标志.也就是说指挥官都能出死亡凝视(但几率问题额外有代码控制).
是不是觉得人族的生物很悲哀,两种特技都没有他们的位置.
继续奉献更改全局几率的一些代码.
!!UN:C4460228/1/100;[雷鸟闪电几率100%]
!!UN:C4459527/1/100;[死亡凝视几率100%]
!!UN:C4461022/1/100;[毒龙毒液几率100%]
聪明的你一定会想到另一个问题.
如果把原生物的对应技能数字换成空白的技能数字,那么就相当于取消了原生物技能.
如 !!FU8008008:P22/9;[取消树妖缠绕]
最后,啰嗦一句,修改内存最好能在适当的地方还原.最好能先记录原有的数据,再还原.
希望对大家有所帮助.
先知v587.这个需要测试下。 本帖最后由 sakuya452 于 2013-11-12 01:09 编辑
厉害,第2个就是那个控制附加效果跳转的字节,改这个更换特技会让原来特技得不到处理,等于"失去"原来的特技,有得有失。原先没有和这个字节相关特技的等于捡了个便宜:deyi:
编号62及62以下的无效是因为程序默认"认定"62以下是无这些列举的特技的,所以对编号做了范围检测
sakuya452 发表于 2013-11-12 01:03
厉害,第2个就是那个控制附加效果跳转的字节,改这个更换特技会让原来特技得不到处理,等于"失去"原来的特 ...
请问楼上汇编高手.
在4字头的内存中也有(吸血/死亡凝视等)63-135 编号部分的内容,但实际上却是跳到了上面的7字头的内存中.
到底是哪个控制这个跳转的呢?不会是DLL操纵的吧. 本帖最后由 sakuya452 于 2013-11-12 15:24 编辑
贤知有您 发表于 2013-11-12 14:06
请问楼上汇编高手.
在4字头的内存中也有(吸血/死亡凝视等)63-135 编号部分的内容,但实际上却是跳到了上 ...
不太明白你说的意思
按我猜测来理解的话,你说的4字头那边应该是处理附加效果(也就是部分生物特技)的子程序,7字头那边是,检测匹配生物编号和几率的,在触发几率范围内时,会由7字头的那边调用4字头的子程序,子程序调用完会跳回相应的位置,一般就是7字头的那边了,子程序是很多单位共用的,里面就是靠单位特技对应的那个字节地址值来控制跳转执行不同的部分
只有在造成伤害时才会调用4字头的子程序,调用情况2种,一种是匹配编号后计算几率来实现几率特技,另一种不匹配编号的剩余单位都会调用这个子程序,然后子程序根据编号范围和特技字节来跳转到不同部分,多数都是跳到结束这个子程序的地方,所以逻辑是其它地址调用这个4字头的子程序,子程序再根据条件执行内部跳转,最后结束,返回调用它的地址处
sakuya452 发表于 2013-11-12 15:17
不太明白你说的意思
按我猜测来理解的话,你说的4字头那边应该是处理附加效果(也就是部分生物特技)的 ...
我想问的正是你回答的.谢谢解答.
看到汇编头都大了,实在很难集中精神.
真佩服楼上你这位汇编达人. 上次看这个帖子提示内容不存在-0 - ,今天终于能看了。。 汗,原来erm是模拟的,我还以为wog和mop一样是可以随意设置的呢。 这个能改出没有的技能或者其他特效吗?把其他游戏里面的东西融入进来,感觉蛮刺激的样子。 我把代码复制过去,好像不好使。这上面说是ERA。我想问下,是不是这代码在原始的WOG3.58f上不能用? liqiang06 发表于 2019-3-30 01:18
我把代码复制过去,好像不好使。这上面说是ERA。我想问下,是不是这代码在原始的WOG3.58f上不能用?
wog358f是不能直接修改硬编码的,并没有修改内存的指令。何不升级到era版本,不加载其它mod的情况下,依然是wog原版。 贤知有您 发表于 2019-3-30 08:29
wog358f是不能直接修改硬编码的,并没有修改内存的指令。何不升级到era版本,不加载其它mod的情况下,依 ...
不会折腾不加载其他mod。下载下来之后。一运行,很多怪的图片就是不同了。还有,ERA的脚本。也是放在地图的事件里面吗?但好像还是提示脚本运行错误呢 贤知有您 发表于 2019-3-30 08:29
wog358f是不能直接修改硬编码的,并没有修改内存的指令。何不升级到era版本,不加载其它mod的情况下,依 ...
下了ERA,把代码加进去。确实可行。但是那个瞪眼和毒液,都是带几率的。有没办法改几率?上面的毒液是降低防御的。下面的是伤害的。伤害的只有20%几率。 这个改好了。原来那个设置几率的脚本。必须放在FU后面才行。现在还有个问题。我玩的ERA,自己随机的地图,必定会在最后一个电脑那卡死在沙漏那。一直过不去。其他图不会。就是自己随机的图是这样的。有什么办法解决吗? LZ,这里面有个BUG。就是如果设置吸血的时候,血量有时候会出现负值。导致基本是挨下打就死。具体什么原因就不清楚了。否则吸血技能确实很强大。 学到了,但是有点难懂
页:
[1]