贤知有您 发表于 2013-10-24 17:05:49

可指定堆栈的群体魔法动画效果

本帖最后由 贤知有您 于 2013-10-25 13:04 编辑

2013-10-25 简化代码和调用方法,修改一个BUG语法
-------------------------------------------------------
大概写过脚本的朋友都知道,BM:V 显示魔法动画是单体的。比如,一般的群体复活,用BM:V都逐一使用动画的
如果既能指定堆栈个体,又能实现在这些个体上同时播放动画就爽了。
HC论坛上的OxFEA大师给出了一个相关的例子。


<P> **first argument - main battle struct
!!UN:C6919200/4/?y10;
**second argument - pointer to fourty byte array: one byte for array. Let's take y20-y28 for it.
!!VRy20:S1 +256*1; --first two stacks at attacker's side
!!VRy25:S1; --first one at the side of defender
**third argument - animation ID (5 - antimagic)
**fourth argument - is damage animation required (0 - no, 1 - yes)
!!SN:E5925584/2/y10/?y20/5/1;</P>但这个例子信息量小,而且涉及到内存操作,显得苦涩难明。也好像没见过其他人讨论。
于是我根据这些提示做了一个通用的脚本,希望对大家有帮助。
只要在FU9999998函数指定一个v变量起始索引,以及你想要同时播放动画的堆栈号作为参数,就能实现群体动画的效果。

以下是主要函数和示例。直接复制到地图事件中即可进行测试,主要左方堆栈的个数。
右键点击信息栏触发,0,2,4,6,21 堆栈同时接受动画。
如果不了解内存结构,大可不必理会原理。直接调用函数就可以了。
忘了说,只适用于ERA。 ZVSE
**指定堆栈的群体魔法动画示例**

!#UN:C8088808/4/1;[死亡之云V72可任意放置]
!?GM0;
!!UN:C8088808/4/1;[死亡之云V72可任意放置]

!?CM4&1000; [战场场景]
!!CM:F?y1 I?y2 S?y3;
!!FU|y1<>512/y2<>2005/y3<>14:E; [右键点信息栏按钮触发测试]
!!CM:R0;
!!VRv600:C0/0/0/0/0/0/0/0/0/0;
!!FU9999997:P600/0; [填入600和堆栈号]
!!FU9999997:P600/2;
!!FU9999997:P600/4;
!!FU9999997:P600/6;
!!FU9999997:P600/21; [函数可多次使用]0,2,4,6,21号堆栈同时动画
!!FU9999998:P600/50/0; [群体复活动画效果]x1=v索引,x2=动画编号,x3=堆栈是否带伤害动画
!!FU9999998:P600/71/1; [群体衰老]

*****************以下是脚本调用的函数,可以忽视************************
!?FU9999997; [将堆栈号按约定压入v变量索引开始的10个位置内]
**函数可多次使用,但确保同一索引(By007)
**x1=起始v变量索引
**x2=一个堆栈号(0-19,21-40)
!!FU|x2<0/x2>40/x2=20:E; [排除错误堆栈,也排除左右方最后堆栈]
!!VRy3:Sx2 :21 *5 +x1;[左方为0+x1,右方为5+x1]
!!VRy4:Sx2 %21 :4 +y3;[得到(0-4)位置,+y3得到实际v变量索引]
!!VRy5:Sx2 %21 %4; [得到(0-3)位移]
!!VRy6&y5=0:S1;
!!VRy6&y5=1:S256;
!!VRy6&y5=2:S65536;
!!VRy6&y5=3:S16777216;[不同位移对应不同的值(256的N次方)]
!!VRvy4&y6>0:|y6; [对应v变量上增加数值(并关系)]

!?FU9999998; [群体魔法动画函数By007(参照OxFEA语句)]
**x1 v变量起始索引号(连续10个变量)
**x2 魔法动画
**x3 是否有伤害动作(0否,1是)
!!UN:V?y1/?y2; [判断版本]
!!FU&y1<359:E;
!!VRy3:Sx1 *4 +8943204;
!!UN:C6919200/4/?y4; [战场内存地址]
!!SN:E5925584/2/y4/y3/x2/x3;[调用内部函数]
!!BU:R;
*****************群体动画函数脚本完毕************************




兽哥哥 发表于 2013-10-24 17:15:57

为何007如此低调?高亮都不设置一下?

dadds 发表于 2013-10-24 17:51:09

:good_job:这样在战斗时能节约不少时间吧

552388389 发表于 2013-10-24 17:58:29

看起来很不错!节省时间!:good_job:

songfx 发表于 2013-10-24 18:21:19

已经整体倒下的部队能接受群体复活吗?

wo30490402 发表于 2013-10-24 18:47:47

碉堡了!!!007加油。。继续出好作品。。

贤知有您 发表于 2013-10-24 19:05:21

songfx 发表于 2013-10-24 18:21
已经整体倒下的部队能接受群体复活吗?

风侠没注意看呢。
这是动画效果,不是技能效果.
正如上面说的,能节省时间和看起来炫点而已.

fly123 发表于 2013-10-24 23:23:30

贤知有您老弟厉害啊,越来越Nb啦。呵呵。很哈皮。感谢分享哈。;kl;

神奇的卡片 发表于 2013-10-24 23:39:13

@沧海一粟 这个对沧海版主的怪3有帮助吧.

fenix 发表于 2013-10-25 10:09:09

不错,不用视觉疲劳了!

贤知有您 发表于 2013-10-25 13:08:13

简化了代码, 现在调用起来更加方便了.
原本打算一个函数可以同时输入多个堆栈号,事实上让调用更加麻烦.
现在只让一个函数输入一个堆栈号,在历遍堆栈时更加易于调用.

沧海一粟 发表于 2013-10-25 19:33:14

神奇的卡片 发表于 2013-10-24 23:39
@沧海一粟 这个对沧海版主的怪3有帮助吧.

在贤知版主的指导和帮助下,群体魔法动画已经开始全面应用于怪物强化三,所取得的效果只能用非常震憾来形容:deyi:

dadds 发表于 2013-10-25 20:31:25

沧海一粟 发表于 2013-10-25 19:33
在贤知版主的指导和帮助下,群体魔法动画已经开始全面应用于怪物强化三,所取得的效果只能用非常震憾来形 ...

2.0依然遥遥无期;quq;

无心云 发表于 2013-10-26 19:36:45

007.你真是亮瞎了我的狮鹫眼啊

无心云 发表于 2013-10-26 22:09:50

无心云 发表于 2013-10-26 19:36
007.你真是亮瞎了我的狮鹫眼啊

哈哈,苍老师目前转入地下工作者了,跟你聊天还真不容易
还好贤侄创造了这个机会

兽哥哥 发表于 2013-10-26 23:15:57

无心云 发表于 2013-10-26 22:09
哈哈,苍老师目前转入地下工作者了,跟你聊天还真不容易
还好贤侄创造了这个机会

擦,水鹫,有的白字还是要检查一下,比如你这个帖子

无心云 发表于 2013-10-27 10:45:52

兽哥哥 发表于 2013-10-26 23:15
擦,水鹫,有的白字还是要检查一下,比如你这个帖子

这个特权是你给我的。
有特权不用好像很罪过的样子

兽哥哥 发表于 2013-10-27 11:11:43

无心云 发表于 2013-10-27 10:45
这个特权是你给我的。
有特权不用好像很罪过的样子

你好像还没有发现问题的所在,我晕

无心云 发表于 2013-10-27 11:56:56

兽哥哥 发表于 2013-10-27 11:11
你好像还没有发现问题的所在,我晕

我敢不领会你的意思吗,哈哈,

别人是错别,我是通假啊,论坛不是给我这个权利的嘛,哈哈,这个是注册商标来的。

兽哥哥 发表于 2013-10-27 12:20:34

无心云 发表于 2013-10-27 11:56
我敢不领会你的意思吗,哈哈,

别人是错别,我是通假啊,论坛不是给我这个权利的嘛,哈哈,这个是注 ...

哥,我对你无语了。你好好看看你那个内容
页: [1] 2
查看完整版本: 可指定堆栈的群体魔法动画效果

捐赠