青山不改 发表于 2006-1-26 13:41:57

改个标题:WOG自带的script40.erm脚本说明(兼讨论/学习)---见4楼

现正抽空准备对WoG自带的脚本进行ERM教学式说明(让新手对每个语句、代码意义及变量运用有个初步了解,培养他们对ERM的兴趣),但是本人是学文的,对编程是一窍不通。再汗!
先从最简单的做起,script40.erm最短,才20+行代码,意思也明了(初始给钱和资源),但对!#引导的说明部分弄得一头雾水,如下:
!#UN:P40/?v429;
!#TM78&v429=1:S1/1/999/255;

比照接收器用法,第一句是设置WOG选项(编号40),第二句是设置时间函数(编号78,第1天发生不限玩家颜色)。虽然能明白是对人控制的玩家v429起作用,但是?v429和&v429=1,这两个地方不明白在上述语句中的具体含义和作用是什么(帮助文档里没找到对应说明)。我理解这两句的v429是对应WOG选项用的,哪位能指点一下。无尽感激。

[ 本帖最后由 青山不改 于 2006-1-28 08:36 编辑 ]

yunings 发表于 2006-1-26 14:09:38

原帖由 青山不改 于 2006-1-26 13:41 发表
现正抽空准备对WoG自带的脚本进行ERM教学式说明(让新手对每个语句、代码意义及变量运用有个初步了解,培养他们对ERM的兴趣),但是本人是学文的,对编程是一窍不通。再汗!
先从最简单的做起,script40.erm最短 ...

嗯,本想到自己空间下载帮助看看,结果空间服务器太忙,只能按照我的理解先说说,给青山做个参考:

如果我没有理解错的话,那个!#UN:P40/?v429;意思是判断v429的值(0或者1什么的),并写入变量40
!#TM78&v429=1:S1/1/999/255; 则是表示,如果v429判断的结果为1,则执行后面的设定:S1/1/999/255;
后面那个是时间触发器,第一天起作用,第999天结束,255么,不记得是什么了,汗……

查了说明再说,现在不是在自己机器上网:sigh:

匿名生存 发表于 2006-1-26 17:23:28

P40在帮助上是找不到的……个人推测应该是用来启动40号脚本的标志位

!#UN:P40/1;

意思是开启这个脚本(即在“初始资源”处打了钩)

!#UN:P40/0;

意思是关闭这个脚本

那么就要这样来解释:

!#UN:P40/?v429;
询问:40号脚本开启了没有?将结果保存到变量v429
!#TM78&v429=1:S1/1/999/255;
当且仅当v429=1时(即40号脚本开启了)TM78有此定义,否则无效

!#是读取地图时触发的接收器,但也是从上到下这样读的(不同事件内的!#是按照事件从上到下顺序读的,除非有!#FUxxxx:P;这样的东西强制其跳到另一函数上去)。。。所以第二句中v429才会因第一句而有意义

青山不改 发表于 2006-1-26 17:48:14

感谢云斯和小黑热心帮助。
刚才的回复居然出错(刚开完会出来才看到),哭~~~~~辛苦我打了这么多字。
多余的话就不说了,就把结果放上来吧。
为ERM讨论学习尽点力。

青山不改 发表于 2006-1-26 17:49:26

script40.erm 脚本分析(兼讨论/学习)
    该脚本作用是在游戏开始时给玩家钱和资源,并在WOG选项菜单中对应一个选项。
ZVSE         ERM的起始标志,没有它脚本就不能执行。
作者对脚本进行些简要介绍(想看就找脚本原文)。
以下内容都要跟在ZVSE之后。       
       
!?TM78;         !?TM 时间触发器编号78
!!OW:C?v429;         !!表示接收器,!!OW检查当前玩家值并存于v429
!!OW:Rv429/6/?v428;         !!OW:R 检查v429的当前玩家/ 6 表示黄金/数量v428
!!VRv428:+12000;         !!VR 给v428赋值+12000 (注:第一次赋值)
!!OW:Rv429/6/v428;         !!OW:R 给予v429的当前玩家/ 6 表示黄金/数量v428
!!OW:Rv429/0/?v428;         检查木头0的数量
!!VRv428:+20;         v428 +20 (第二次赋值,替换上次赋值,否则会延用上次的v428值)。
!!OW:Rv429/0/v428;         给予木头
!!OW:Rv429/1/?v428;         检查水银1的数量
!!VRv428:+10;         数量+10
!!OW:Rv429/1/v428;         给予水银
!!OW:Rv429/2/?v428;         检查矿石2的数量
!!VRv428:+20;         数量+20
!!OW:Rv429/2/v428;         给予矿石
!!OW:Rv429/3/?v428;         检查硫磺3的数量
!!VRv428:+10;         数量+10
!!OW:Rv429/3/v428;         给予硫磺
!!OW:Rv429/4/?v428;         检查水晶4的数量
!!VRv428:+10;         数量+10
!!OW:Rv429/4/v428;         给予水晶
!!OW:Rv429/5/?v428;         检查宝石5的数量
!!VRv428:+10;         数量+10
!!OW:Rv429/5/v428;         给予宝石
        密银代码是7,可以比照上面语句自行扩展。但下面两句才是重点。
--------------------------Init----------------------------        
!#UN:P40/?v429;         !# 脚本说明部分,游戏开始时首先运行这个(仅此一次),优先权最高;用法类似接收器。 !#UN:P40 表示设置WOG选项(编号40),后面的/?v429 表示判断该选项是否选中(其结果一般为0或1)。
!#TM78&v429=1:S1/1/999/255;        !#TM78 设置计时器(编号78),&表示and,&v429=1 是根据上句的值来判断,若是已选择(为1)则执行,S及后面数字意思为:开始天1/结束天1/时间间隔999/玩家颜色255;表示只在第一天发生,适用于全部颜色玩家(255是全部玩家颜色值之和)。

总结:本脚本简短精干,1个时间触发器、2个变量、2个接收器(其中!!OW:R是重点)。
初学者注意检查和给予之间的语句区别;此外,要注意v变量是一旦设定就不会变,要变只有重新赋值。
!#脚本说明只要建立一个印象即可。

[ 本帖最后由 青山不改 于 2006-1-26 18:16 编辑 ]

逝者如斯夫 发表于 2006-1-26 22:32:09

顶下支持…………虽然不打算开里面的内容

yunings 发表于 2006-1-29 12:52:02

青山辛苦了!
页: [1]
查看完整版本: 改个标题:WOG自带的script40.erm脚本说明(兼讨论/学习)---见4楼

捐赠