qq420533851 发表于 2014-1-20 23:22:01

求助 更改魔法伤害出错

因为生物的魔法攻击是固定值,所以自己模仿论坛的某位大大更改了魔法伤害,不过在某个函数(下面蓝色处有疑问)处总是有问题,请各位大大帮忙看看解决一下


!?MR0&1000;
!!FU7057:P210;这里再加个函数去触发临时y变量,应该可以保证任何y变量都不会冲突了(原文)       这两行加上触发魔攻时就黑屏跳出,修改210为其它数值则不黑屏但无效
!?FU7057&x1=210;
!!BG:A?y40 N?y41 E?y42 Q?y43; 取得动作种类y40 堆栈编号y41 怪物的堆栈y42 攻击方y43;      如果不加入上面两行(我在前面用*号取消了),则下面的代码有效,但游戏时间长了就很容易在这里出错
!!MR:F?y44 M?y45 N?y46 S?y47 D?y48; ?取得战斗值到y44 最小伤害到y45 箭数到y46 速度到y47 防御到y48
!!BMy41&y41>-1:T?y49 N?y50; y49怪物类型 y50怪物数量

!!FU7057&y40=10/y49=173/y47=16:P210/y49/y50/3; *173 Santa Gremlin 圣侏儒   16冰箭   倍数3
!!FU7057&y40=6/y49=152/y47=17:P210/y49/y50/30;*152 Lord of Thunder 雷神领主   闪电17   倍数30
……


!?FU7057&x1=210;x1应该指210/y49/y50/30中的210,x2指y49,x3指y50,x4指10,20,30吧?(原文)
!!UN:N3/-2/x2/1; 获得怪物名称
!!VRy10:Sx3*x4;   这杀伤值为怪物数量乘以倍数
!!MR:Dy10;
*!VRz-9:S^GetProtection.wav ^; 音效
*!SN:Pz-9;
!!VRz-10:S^{生物施法} %Z-2施放魔法造成%Y10点魔法伤害。^;
!!BU:Mz-10 R;

qq420533851 发表于 2014-1-20 23:44:06

翻了个老帖

以下为引用 打算等一会试试看


!?MR0&1000;
!!FU4443:P-1;
!?FU4443&x1=-1;
!!BG:A?y40 N?y41 E?y42 Q?y43;
!!MR:F?y44 M?y45 N?y46 S?y47 D?y48;~沧海附加注释:把这两判断删除,不然会有可能引起堆栈错误,寻梦人发现
!!BMy41&y41>-1:T?y49 N?y50;
!!BMy42&y42>-1:T?y59 N?y60;
!!FU4443&y40=6/y49=129/y47=21:P-2/y50/24;雷神闪电伤害为数量*100
!!FU4443&y40=6/y59=129/y47=21:P-2/y60/24;
!!FU4443&y40=6/y49=121/y47=60:P-2/y50/40;雷鸟闪电伤害为数量*50
!!FU4443&y40=6/y59=121/y47=60:P-2/y60/40;
!!FU4443&y40=6/y49=127/y47=17:P-2/y50/32;雷元素闪电伤害为数量*40~这个就是用经验特技添加的
!!FU4443&y40=7/y49=127/y47=17:P-2/y50/32; ~动作前远程也有效果
*!FU4443&y40=6/y59=127/y47=17:P-2/y60/32;   ~用经验特技攻击前施法反击貌似没效果
!!FU4443&y40=6/y49=123/y47=16:P-2/y50/28;   雷元素闪电伤害为数量*40~这个就是用经验特技添加的
!!FU4443&y40=7/y49=123/y47=16:P-2/y50/28;   ~动作前远程也有效果
*!FU4443&y40=6/y59=123/y47=16:P-2/y60/28;   ~用经验特技攻击前施法反击貌似没效果
!!FU4443&y40=6/y49=158/y47=22:P-2/y50/180;雷神闪电伤害为数量*100
!!FU4443&y40=6/y59=158/y47=22:P-2/y60/180;

!?FU4443&x1=-2;
!!VRx4:Sx2*x3;
!!MR:Dx4;
这是沧海以前写的改变闪电威力的脚本,改威力就是这个原理

qq420533851 发表于 2014-1-20 23:58:23

已经将变量精简为
!!BG:A?y40 N?y41
!!MR:S?y47

保留了要用的y40 y41和y47
简单测试了一下没有问题 不知道运行久了这里会不会再起冲突

沧海一粟 发表于 2014-1-21 00:16:25

qq420533851 发表于 2014-1-20 23:58
已经将变量精简为
!!BG:A?y40 N?y41
!!MR:S?y47


呵呵,楼主如果不是想改经验特技的魔法威力,比如说在BG触发器里直接添加BM:C来添加生物施法而又想完全地控制魔法伤害的话,建议还是不要用MR触发器来实现了,MR触发器并不稳定,就像上面讲到的MR:M和MR:N两个命令的问题,而且MR触发器内部本身检查的东西太多,使用过后容易造成卡机等。
记得当时之所以这样写,是因为以前的ERM是不支持SS格式的命令,所以当时没办法一定要用MR,但现在最新的ERA已经可以使用SS命令了,改魔法用这个非常强大的。但涉及到经验特技的攻前施法或者类似雷鸟自带的闪电之类暂时就没办法用SS了,还得用MR。

贤知有您 发表于 2014-1-21 06:53:37

正如沧海大师讲法,还是少用mr的好。用ss可以改威力和影响力,但精确度控制不好。雷鸟的闪电伤害可以用内存改,但影响所有生物闪电魔法。总之各有各的优缺点。适当的用MR应该还是没多大问题的。
页: [1]
查看完整版本: 求助 更改魔法伤害出错

捐赠