先知请进,关于Era请教下。
ZVSE!?PI;
!!SN:M-1/624/0/1 W^Fly123^/v1; [申请 156*4=624元素的数值型数组(存于游戏中),数组名为Fly123]
-------------------------------------------------------------------------------------------
存储英雄四维
!!SN:W^Fly123^/?y99;
!!HEx16:N?j;
!!VRy1&j>-1:Sj;
!!VRy10:Sy1 *4 +0;
!!VRy11:Sy1 *4 +1;
!!VRy12:Sy1 *4 +2;
!!VRy13:Sy1 *4 +3;
!!HEj:F?v1/?v2/?v3/?v4/1;
!!SN:My99/y10/v1; [分别设置索引位置的值]
!!SN:My99/y11/v2;
!!SN:My99/y12/v3;
!!SN:My99/y13/v4;
读取英雄四维
!!SN:W^Fly123^/?y99; [获得数组名在数组层的索引](注意这个索引跟数组元素的索引类似)
!!HEx16:N?j;
!!VRy1&j>-1:Sj;
!!VRy10:Sy1 *4 +0;
!!VRy11:Sy1 *4 +1;
!!VRy12:Sy1 *4 +2;
!!VRy13:Sy1 *4 +3;
!!SN:My99/y10/?y20;
!!SN:My99/y11/?y21;
!!SN:My99/y12/?y22;
!!SN:My99/y13/?y23; [获取编号为y99的数组中,索引号为 y10-y13 的值,返回到y20-y23中,就是英雄ADPK]
[ 本帖最后由 fly123 于 2013-5-17 13:40 编辑 ] 干脆,先知兄弟,你就写个完整的版本吧。写出来加详细注释,应该可以加精。而且,现在咱论坛Era第一人非你莫属,我看Era新增指令你基本已经掌握啦。沧海,寻梦,离弦箭,我,都不懂Era使用,需要兄弟你给我们开荒啊,普及下Era知识吧。别你一个人,偷着乐啊。;orz; 读取数组中某元素的值
!!SN:W^Fly123^/?y99; [获得数组名在数组层的索引](注意这个索引跟数组元素的索引类似)
!!SN:My99/y-6/?y10; [这里就是获取编号为y99的数组中,索引号为 y-6 的值,返回到y10中]
这个y-6就是要获取的数值的地方。
下面有例子:
!!VRy10:Sy1 *4 +0;
这里的y10就是计算这个索引的位置(就是上面对应的y-6)
我再说明一下这句:
!!SN:My99/y13/?y23;
y99是这个数组的编号(由ERA定义的值,在最开始时存储在Fly123中,以方便获取)
y13是你想要得到这个数组里面哪个值(也就是索引位置)
y23这个不用说是获取的,不加?就是设置
------------------------------
来个通俗点的类比,克招也提到。
平常用到的 y1-y100就是一个大数组Y
这个1-100就是一个索引位置 我以为之前写的一个ERA新变量的主题已经说明清楚了。
我再换个写法,容易明白点。
ZVSE
!?PI;
!!SN:M-1/624/0/1; [申请 156*4=624元素的数值型数组(存于游戏中),这个数组的内存编号暂存于v1中]
!!VRv9999:Sv1; [把临时存储的数组编号记录于v9999中(之前的W^Fly123^跟这个其实一个道理)]
**数组的索引号从0开始,624个元素的索引号分别为0-623**
**数组元素的初始值是0,如果不是你所要的初始值,就要手动设置一次**
**由于156个英雄,每个英雄需要4个索引**
**比如0#英雄需要0-3的索引号,1#英雄需要4-7的索引号...155#英雄需要620-623的索引号**
**假设把10号英雄的附加ADPL设为: 10-20-30-40
!!VRy1:S10;
!!VRy10:Sy1 *4 +0;
!!VRy11:Sy1 *4 +1;
!!VRy12:Sy1 *4 +2;
!!VRy13:Sy1 *4 +3;
!!SN:Mv9999/y10/10; [分别设置索引位置的值为 10-20-30-40]
!!SN:Mv9999/y11/20;
!!SN:Mv9999/y12/30;
!!SN:Mv9999/y13/40;
**下面反过来读取数组某索引位置的值**
!!SN:Mv9999/y10/?y20;
!!SN:Mv9999/y11/?y21;
!!SN:Mv9999/y12/?y22;
!!SN:Mv9999/y13/?y23;
!!IF:M^%Y1号英雄的附加四维分别是
%Y20 - %Y21 - %Y22 - %Y23^;
[ 本帖最后由 贤知有您 于 2013-5-17 12:42 编辑 ]
回复 我回帖我光荣 4# 的帖子
一看,就明白怎么用了,我会试着学习下怎么使用SN。先知兄弟,多谢啦。;orz; ;orz; ZVSE!?PI;
!!SN:M-1/624/0/1 W^Fly123^/v1; [申请 156*4=624元素的数值型数组(存于游戏中),数组名为Fly123]
-------------------------------------------------------------------------------------------
存储英雄四维
!!SN:W^Fly123^/?y99;
!!HEx16:N?j;
!!VRy1&j>-1:Sj;
!!VRy10:Sy1 *4 +0;
!!VRy11:Sy1 *4 +1;
!!VRy12:Sy1 *4 +2;
!!VRy13:Sy1 *4 +3;
!!HEj:F?v1/?v2/?v3/?v4/1;
!!SN:My99/y10/v1; [分别设置索引位置的值]
!!SN:My99/y11/v2;
!!SN:My99/y12/v3;
!!SN:My99/y13/v4;
!!SN:W^Fly123^/?y99; [获得数组名在数组层的索引](注意这个索引跟数组元素的索引类似)
!!HEx16:N?j;
!!VRy1&j>-1:Sj;
!!VRy10:Sy1 *4 +0;
!!VRy11:Sy1 *4 +1;
!!VRy12:Sy1 *4 +2;
!!VRy13:Sy1 *4 +3;
!!SN:My99/y10/?y20;
!!SN:My99/y11/?y21;
!!SN:My99/y12/?y22;
!!SN:My99/y13/?y23; [获取编号为y99的数组中,索引号为 y10-y13 的值,返回到y20-y23中,就是英雄ADPK]
[ 本帖最后由 fly123 于 2013-5-17 13:35 编辑 ] 先知兄弟,帮我看看我写的对不对,没加上Fu。;orz; 加上Fu就可以用啦。;orz;
回复 发帖回帖人人有责 6# 的帖子
应该没啥问题了.直接把HEx16换个HE0在地图上测试下就知道结果正确与否.
;hi;
回复 9# 的帖子
现在终于明白怎么用了,其实很简单,多谢兄弟赐教。;orz; ;orz; 这只是个开始,SN还有很多指令,还有Dl对话框,这些都不是短期就可以搞明白的。;han;回复 11# 的帖子
只有ERA关于内存操作的部分比较难搞.其它的命令试过就知道其实比较简单的.
希望 FLY123 接力到 ERA359上来,呵呵.
;kx;
页:
[1]