fly123 发表于 2013-5-17 11:44:41

先知请进,关于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 编辑 ]

fly123 发表于 2013-5-17 11:50:06

干脆,先知兄弟,你就写个完整的版本吧。写出来加详细注释,应该可以加精。而且,现在咱论坛Era第一人非你莫属,我看Era新增指令你基本已经掌握啦。沧海,寻梦,离弦箭,我,都不懂Era使用,需要兄弟你给我们开荒啊,普及下Era知识吧。别你一个人,偷着乐啊。;orz;

贤知有您 发表于 2013-5-17 12:26:11

读取数组中某元素的值
!!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就是一个索引位置

贤知有您 发表于 2013-5-17 12:40:28

我以为之前写的一个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 编辑 ]

fly123 发表于 2013-5-17 13:10:12

回复 我回帖我光荣 4# 的帖子

一看,就明白怎么用了,我会试着学习下怎么使用SN。先知兄弟,多谢啦。;orz; ;orz;

fly123 发表于 2013-5-17 13:33:58

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 编辑 ]

fly123 发表于 2013-5-17 13:34:51

先知兄弟,帮我看看我写的对不对,没加上Fu。;orz;

fly123 发表于 2013-5-17 13:40:46

加上Fu就可以用啦。;orz;

贤知有您 发表于 2013-5-17 13:42:24

回复 发帖回帖人人有责 6# 的帖子

应该没啥问题了.
直接把HEx16换个HE0在地图上测试下就知道结果正确与否.
;hi;

fly123 发表于 2013-5-17 13:43:27

回复 9# 的帖子

现在终于明白怎么用了,其实很简单,多谢兄弟赐教。;orz; ;orz;

fly123 发表于 2013-5-17 13:47:18

这只是个开始,SN还有很多指令,还有Dl对话框,这些都不是短期就可以搞明白的。;han;

贤知有您 发表于 2013-5-17 14:06:34

回复 11# 的帖子

只有ERA关于内存操作的部分比较难搞.
其它的命令试过就知道其实比较简单的.
希望 FLY123 接力到 ERA359上来,呵呵.
;kx;
页: [1]
查看完整版本: 先知请进,关于Era请教下。

捐赠