佳丽云

英雄无敌3-WoG中文站

 找回密码
 英雄注册|Register
楼主: 克招

新概念ERM扫盲课程

[复制链接]
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2623

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4827

    论坛元老退役版主

    QQ
     楼主| 发表于 2009-8-31 13:57:41 | 显示全部楼层
    新概念ERM扫盲课程只剩两节了,因为我觉得对于扫盲来说,会编辑HE命令、VR命令和MA命令已经可以做很多事情了。
    但是我会开ERM中级课程,不开新贴,仍然在原帖。

    该用户从未签到

    1819

    回帖

    1万

    金币

    3

    精华

    6级 Legendary Hero

    Rank: 6Rank: 6

    积分
    9577

    退役版主

    发表于 2009-8-31 14:26:27 | 显示全部楼层
    嗯嗯
    似乎也没那么难
    就是代码查询...
    汪汪
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2623

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4827

    论坛元老退役版主

    QQ
     楼主| 发表于 2009-8-31 14:51:09 | 显示全部楼层

    第十五课:查看ERM帮助的一些要索

    这节课讲的是查看ERM帮助的一些要索,因为这节课是扫盲课的最后一节,接下来我会继续讲中级课程,
    如果有兴趣的话可以继续来捧场,不过如果你不做地图,没有很多时间写ERM,对WOG的兴趣也不是很大的话,
    最好还是不要继续往下学了,因为那对于你已经没有任何意义了。
    废话不多说,我们看看如何看ERM帮助吧,其实学习到现在,当你明白变量之后,ERM帮助会好理解很多。
    ERM帮助是本天书没错,就这个帮助我看了4遍,现在还在看第5遍作为复习。
    书读百遍,其义自现。温故而知新,可以为师矣!

    下面我讲将我看ERM帮助的经验:(不想看就不要看了,都是废话)
    第一遍是在很多年以前,大概是2005年吧,那一年的第一场雪比以往来得都晚一些。
    我看的是英文版,那个时候我的读鸟语水平还比较差,我基本上是以便翻字典一边看。
    虽然说效率很低,但是我起码看懂了一些,一些很基本的东西,比如说基本格式、英雄修改等。

    第二次我看的是中文版,这一次我明白很多不明白的东西,包括变量、标志。

    第三次我看的时候发现轻松了很多,大部分的内容我都明白了。

    第三次看完以后,我以为我就能做脚本了,没想到我还是要经常性的翻看ERM帮助才能完成简单的脚本,并且错漏百出。
    于是我看了第四遍,有一段时间,我对那些命令很熟悉。

    但是这么久了,我一直都没写过ERM,所以又开始生素了,所以我看第五遍。

    即使看了这么多遍,我的ERM技术其实还很平庸,其实重在实践。

    其实ERM帮助也不是那么的难读,至少你看完我的扫盲教程之后,你能很好的理解很多内容。
    看ERM帮助是会头痛的,但是在你有一定ERM基础后(比如看完这个教程),
    你顶住头痛,就会看懂一些东西。

    好了,废话不多说,我讲将怎么看ERM帮助吧,首先你可以在ERM帮助的顶部找到这一栏:
    1.jpg
    其中最左边的两列是基础教程,先看这些,这些都是比较容易懂的。
    中间这些两个字母的是各种接受器的详细解释。最后一列有一个ERM FORMATS,
    这是比较重要的,是ERM的一些编号(生物编号、英雄编号之类的),做ERM的时候就去查。
    然后ERM FORMATS下面的几个是比较难的东西,大家看看也无妨。
    然后有几个接收器是比较难的,我们可以最后才看,它们是:
    FU\GE\IF(我说的是特殊对话框)\CE\MC\TM\VC
    我们先不看这些,等对其他内容比较熟悉了再看。
    ——————————————————
    然后我们在看帮助的时候,会看到一些特殊代数符号,比如说#、$、@
    #:比如说#1,这个是一个代数符号,比如说我们可以在MA命令中看到这样的显示:
    !!MA:A#1/$2;
    #1的意思是编号为1的#代数,这个数字可以被设置(输入),而不能被获取(输出)
    也就是说:
    !!MA:A?y1/50;是错误的语法命令(?是获取符号)
    但是
    !!MA:A50/?y1;是正确的。
    而$的意思就是一个可以被设置也可以被获取的代数。
    当我们在ERM帮助看到它们的时候要知道它们的意义。
    而@是一个代数,而这个代数只能是变量。
    比如说
    !!VR@:S#1;
    这个应该明白吧?
    ——————————————————————
    写ERM脚本的好习惯:
    1、这一条比较难做到,但是很多ERM高手都是是这么做的:
    在电脑上编辑ERM之前,把ERM先手写在纸上。
    2、如果你做不到第一条的话,你可以尝试做这一条:
    在写ERM之前,把整个ERM的过程写在纸上(也就是注释部分)
    3、如果你做不到第二条,那么第三条你必须做到,这是必须的:
    每设置一个V或Z变量后,将变量的使用情况(变量的初始值、作用、后续改变、改变方式)手写下来。
    如果这一点都做不到的话,你一定不是一个好的ERM写手。
    ——————————————————————
    学习ERM的捷径:
    1、多写ERM
    2、多看别人的ERM。

    [ 本帖最后由 da3338280 于 2009-8-31 14:56 编辑 ]
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2623

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4827

    论坛元老退役版主

    QQ
     楼主| 发表于 2009-8-31 15:00:13 | 显示全部楼层
    新概念ERM扫盲课程完,请看新概念ERM中级课程。
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2623

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4827

    论坛元老退役版主

    QQ
     楼主| 发表于 2009-8-31 15:31:07 | 显示全部楼层
    我把整个课程的内容做成了WORD文档,在1楼的附件中。
  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 475 天

    连续签到: 2 天

    [LV.9]龙巫妖

    1251

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    5453
    发表于 2009-9-1 08:14:49 | 显示全部楼层
    看的头直冒烟啊!
  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 475 天

    连续签到: 2 天

    [LV.9]龙巫妖

    1251

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    5453
    发表于 2009-9-1 08:17:46 | 显示全部楼层
    看来光看不行啊,还得一步一步实践啊。
    佩服克招老师,也敬仰克招老师,以后有什么问题得多问问克老师了!

    该用户从未签到

    20

    回帖

    7935

    金币

    0

    精华

    1级 Hired Hero

    Rank: 1

    积分
    62
    发表于 2009-9-4 16:11:09 | 显示全部楼层
    强烈支持!

    该用户从未签到

    37

    回帖

    8468

    金币

    0

    精华

    1级 Hired Hero

    Rank: 1

    积分
    101
    发表于 2009-9-5 15:48:54 | 显示全部楼层
    继续关注
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2623

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4827

    论坛元老退役版主

    QQ
     楼主| 发表于 2009-9-6 10:52:00 | 显示全部楼层

    继续历程:新概念ERM中级课程

    终于挤出了时间来讲ERM,希望大家继续来学习,学海无涯回头是岸!。。。。
    第一课:一些关于ERM的东西和专业术语

    ERM是一门精密的科学(可以这样说吧),如果出现了一点小错误就会导致脚本错误,游戏错误,严重的话甚至直接退出游戏。
    所以ERM容不得半的错误。如果是语法错误还好,系统会提示,如果是变量冲突错误、变量纠结错误、函数错误的话那是很难弄的!
    这是题外话

    ERM是这样的:入门难,入门之后,一切都很简单!是真的,前面你会看到头痛,学到后面的话你就觉得很简单了。

    进入中级课程,我会经常用专业术语,这个很重要。
    那么我就开始讲一些专业术语:
    条件:在ERM语句中在符号&和:之间的语句都是条件,条件可以存在,也可以不存在,
    像我们前面使用的&y1=0之类的就是条件,这种条件叫做变量条件,还有另一种条件叫做标志条件(这个很快就会将到)
    条件在我们的中级课程中是很重要的内容!

    变量的索引:这个词在ERM帮助中出现几率很高,它的意思是:变量的编号
    比如说V1的索引就是1,Z255的索引就是255,W14的索引就是14。
    我们在以后的课程中也会用到这个词语。

    类型:这个不用讲了吧,建筑、图标等都有不同的类型

    子类型:有一些物件除了有类型之外,还有子类型,比如说矿井,类型是53,而金矿的子类型是6,所以金矿的总类型就是53/6。

    事件:事件分为很多种,有:时间事件(就是在详细资料的事件框的事件)、城堡事件(在城堡的事件框中的事件)
    地面事件(地面上出现的事件)、物件事件(就是捡起资源等物件的时候出现的事件)等等

    参数:在:与;之间的语句称为参数(也就是主体部分的内容),参数我们一般用XXXX表示,比如说:
    !!IF:XXXX;
    然后我会再详细讲XXXX中可能的情况。

    第一课完
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2623

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4827

    论坛元老退役版主

    QQ
     楼主| 发表于 2009-9-6 11:44:22 | 显示全部楼层

    第二课:变量的扩展内容

    在这里我要申明一点:
    如果我在中级课程中讲的内容与扫盲课程的内容有矛盾的话,请忘了以前的吧,那只是为了使你更好的理解。
    其实变量还有很多值得我们去探索,首先我详细讲一下各个变量:

    a 无此变量   
    b
    无此变量

    c 这个变量很特殊,也很重要,这个变量每天都在改变,它储存着游戏的天数,在第一天,C=1,到了第90天,C=90。
    d
    我们说过d用来表示增加与减少值,
    比如说:!!HE-1:Fd1/d2/d3/d0;
    但是实际上它是一个变量名,也就是说上面的d1就是一个变量。
    其实这个没有多大关系,你也可以不把它看做变量,因为这不影响你的编程。
    (如果这几句话使你头晕的话,请忘了它吧)
    e1~e100 小数点临时变量
    它和y变量一样,是临时变量,一般来说:
    !!VRy1:S1:3;
    这样的话,Y1=0而不等于1/3,也就是说:5除3=1,1除3=0,在ERM普通变量中,是没有小数点的,一般是9舍10入。
    也就是说:
    !!VRy1:S1;[y1=1]
    !!VRy1::3;[y1=0]
    !!VRy1:*3;[y1=0]
    最后结果是y1=0。
    但是e变量是有小数点的:
    !!VRe1:S1;[e1=1]
    !!VRe1::3;[e1=1/3]
    !!VRe1:*3[e1=1]
    明白么?
    f~t  快捷变量:
    这些变量不像带其他变量一样带数字,它们没有带任何数字,也就是说j就是j,s就是s,没有j1或是s5之类的。
    因为他们不带数字,所以它们使用输入起来比较方便,所以叫快捷变量。它们的使用和V变量是一样的。
    v1~v10000 标准变量,这个不多说。
    w1~w1000 英雄变量,这种变量的使用和V变量几乎一样,它们和V变量的不同是,这种变量每个英雄都有一组。
    什么意思呢?也就是说对于0号英雄来说,W1=0,而对于1号英雄来说,W1不等于0。
    如果还不懂的话也不要紧,我以后还会说到。
    X1~X16 函数变量,先不用了解,以后你会知道的,对于中级ERM制作来说还不需要。
    y1~y100 临时变量,这个也不多说了
    z1~z1000 字符串变量,字符串变量是Z变量的真正名字,记住!
    z-1~z-15 字符串临时变量,顾名思义,他们是字符串变量中的临时变量,和Y变量一样。
    读作:Z负1~Z负15。


    ——————————————————————————————
    如何在对话框中显示快捷变量的值?
    我们都知道可以用%V1显示出V1的值,那怎么显示快捷变量的值呢?
    我们可以用%Vj来显示j的值,其他也一样。
    ——————————————————————————————
    特殊变量:
    在WOG中,有几个特殊的变量,它们用作特殊的用途,我们一般不使用它。
    v1 这个变量经常性的用于储存一些系统处理的值,一般来说我们不使用它。
    z1 这个变量用于接收玩家输入的信息,比如说WWP3中让你输入宠物的名字,输入以后就储存到了Z1,所以我们也不使用这个变量。
    V998、V999、V1000,这三个变量非常重要,他们用于储存触发器被英雄触发的时候的位置坐标,比如说触发了!?OB15/15/0;的时候,
    V998=15,V999=15,V1000=0,这个懂吧,任何坐标被触发的时候,此三变量都会被改变。
    所以我们也不用它们。

    另外在ERM公会的公告处有一个变量申报平台,那里记录着什么变量被什么用途使用,为了防止冲突,写脚本之前选几个没被使用的。
    ——————————————————————————————
    用变量表示变量:
    看下这几个命令就可以了:
    !!VRy1:S5;
    !!VRvy1:S3;
    !!IF:M^%v5^;
    此时,显示的内容为3。
    我们可以用变量表示变量,可以重叠很多层,甚至可以是:vvvvvvvvvvvvvvvvvvvvvvyyyyyyyyyyyyyyvvvvvvvvvvvvwwwwwwwwwvvvvvvvv5
    这个变量同样有效。




    [ 本帖最后由 da3338280 于 2009-9-6 11:57 编辑 ]
  • TA的每日心情
    开心
    2019-1-31 14:25
  • 签到天数: 130 天

    连续签到: 1 天

    [LV.7]血污怪

    2778

    回帖

    2万

    金币

    14

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    14801

    退役版主社区QQ达人魅力之星

    发表于 2009-9-6 21:02:37 | 显示全部楼层
    都跑到这里来啦,好帖啊,强力支持。
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2623

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4827

    论坛元老退役版主

    QQ
     楼主| 发表于 2009-9-7 18:57:34 | 显示全部楼层

    第三课:标志

    说到标志,也许对于新手来说是最难的了,你去看ERM帮助的话,呵呵,自己想想后果。
    里面写住什么真啊假啊,设置啊,未设置啊,至少我以前看标志这个部分的时候很头晕!
    以上都是废话啊,下面讲正题。
    标志,又称标志位、条件标志、标志条件等等,在ERM帮助文档中,它的真实名字是:标志(FLAG)!
    1、什么是标志?
    标志是一种类似变量的东西,但是他们有一点和变量不一样:他们只能被设置2个值:0和1。
    也就是说,它们是二进制,并且只有一位。
    标志有1000个,使用方法和变量V一样,是可多次变换,并永久储存的,所以使用标志一样要和使用变量一样小心,一样会导致标志冲突。
    我们可以把标志看作开关,它们只有两种状态(打开或关闭),并且永久储存。
    在游戏开始的时候,读取!#命令之前,所有标志都是0,也就是关闭的。
    我们可以用命令来使他们打开,变成1。
    因为所有标志在游戏开始前都是0,所以使用标志前,我们也没有必要去专门把标志置0(也就是把开关关上)
    但是我一般会在使用某标志前将它置0,为什么这样做呢?说出来你们很难理解,反正就是一句命令而已。
    ————————————————————————————————————————
    2、标志的表示
    我们都知道变量用字母加数字(或者单字母)来表示,那么标志呢?它们直接用它们的编号来表示。
    比如说5,就是标志5。300,就是标志300。
    那么我们怎么将它们和普通数字区别开来呢?
    不用区别,因为标志只有在特定情况下使用,也就是说:
    能使用标志的地方,一定不能使用变量和普通数字
    能使用变量和普通数字的地方,一定不能使用标志!
    ————————————————————————————————————————
    3、标志的作用
    标志的作用主要是用来做条件(也就是&和:之间的部分)
    我们都知道可以用&变量名(比较符号>,<,=)普通数字,来表示一个条件,比如说:
    !!IF&v1<>0:M^v1不等于0。^;
    我们可以同样用标志来表示一个条件,怎么用呢?
    难道是标志名=(0或者1)?
    当然不是,如果你将一句话写成这样的话,你看上去都会发笑:
    !!IF&50=1:M^标志50为1^;
    50=1是不可能发生的事情,所以会出现语法错误,但是我们如何表示一个标志当前的值呢?
    一般来说,当标志为0的时候,我们一般用标志索引的负数(比如-50)来表示条件;
    如果标志为1的时候,我们一般用标志索引的正数(比如50)来表示条件。
    所以上面这句话就可以是:
    !!IF&50:M^标志50为1^;
    !!IF&-50:M^标志50为0^;
    这个明白吗?
    ——————————————————————————————————
    4、关于设置、获取标志的命令
    这个命令还是比较多的,这里我只讲1个最最最最最主要的命令:
    !!IF:V#/$;
    这个能看懂吗?
    #是表示一个只能被设置不能被获取的数字,$是表示一个能被设置与获取的数字。
    在这条命令中,#用来表示一个标志的索引,而$用来表示标志的值(0或1)。
    比如说:
    !!IF:V50/1;
    那么标志50就被设置为1了。
    比如说:
    !!IF:V50/?y1;
    那么y1就获取了V50的值。
    (IF这个命令是一个很复杂的命令,而M、V这两个命令还算是简单的。)
    我没有试过用这个命令将标志设置为非1和0的值,但是如果你这样做的话,肯定是会出错或无效的。
    ——————————————————————————
    5、为了以后我打字方便,我以后就将标志n简写为Fn(形如F50),但是在ERM命令中是不支持这样写的。
    ——————————————————————————
    6、一段例子:
    在做剧情地图或脚本的时候,我们经常用到变量,比如说这样:
    ZVSE
    !#IF:V50/0;
    !?OB16/24/0;一间小屋子
    !!IF&-50:M^孩子,我要水,水,水。。。。^;
    !!IF&50:M^太好了,水~咕咚咕咚咕咚咕咚^;

    !?OB45/33/0;魔井
    !!IF:V50/1;
    !!IF:M^你取了一点水放进包袱里,希望那个老人还没有渴死。^;

    如果你看懂了这段ERM说明你已经学懂了!

    [ 本帖最后由 da3338280 于 2009-9-13 16:59 编辑 ]
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2623

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4827

    论坛元老退役版主

    QQ
     楼主| 发表于 2009-9-7 19:28:00 | 显示全部楼层

    第四课:关于标志的扩展内容

    这节课主要讲标志的一些特殊用法和习惯。
    1、标志在游戏初始的时候,F0~F500会被置为0,而F500~F1000则不改变,所以我们通常用这些标志用来在战役各地图间传播信息。
    2、很久以前有人问到&1000是什么意思,现在我可以回答你了:
    F1000是一个特殊的F,一般我们不使用F1000,它是系统自动调用的F,
    当触发器被人类玩家触发的时候,F1000=1,否则为0,所以说&1000的意思就是当触发者为人类玩家的时候才执行命令。
    因此F1000不要使用!

    另外还有两个特殊的标志也是不能使用的:F999
    这个F表示的是是否为玩家回合,如果是玩家回合的话F999=1,否则为0。有人会问了,有了F1000还要F999来干吗?
    这个你以后自然会知道!所以F999同样不能使用。

    F1也是一个特殊的标志,它被某些命令用来储存临时的标志信息,所以我们一般也不使用它。
    3、讲到这里你已经知道了为什么在写脚本之前要将用到的F置0了,原因有两个:
    (1)减少标志冲突的可能性
    (2)防止F500~F1000标志未被置0,导致标志使用错误。

    当然这是一个好习惯,是否这样做全取决于你们。

    4、标志与变量之间的联系
    它们是没有任何联系的!

    5、如何在对话框中表示出F的值?
    我们都知道可以用%V1来表示V1的值,那么F的值怎么表示呢?
    很简单,就是%Fn,比如说%F50。
    举例:
    ZVSE
    !#IF:V50/1;
    !#IF:M^%F50^;
    这个时候,显示为1。
    6、我们都知道可以用变量表示变量(如Vy1)。
    而F是不能用变量来表示的。

    该用户从未签到

    1819

    回帖

    1万

    金币

    3

    精华

    6级 Legendary Hero

    Rank: 6Rank: 6

    积分
    9577

    退役版主

    发表于 2009-9-7 22:17:21 | 显示全部楼层
    严重支持!!!虽然这几天学业忙,没时间看...
    汪汪
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2623

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4827

    论坛元老退役版主

    QQ
     楼主| 发表于 2009-9-7 22:29:05 | 显示全部楼层
    你看懂了么?

    该用户从未签到

    2134

    回帖

    9786

    金币

    3

    精华

    4级 Famous Hero

    水客帝国炽天使

    Rank: 4

    积分
    2701

    退役版主

    发表于 2009-9-7 23:15:36 | 显示全部楼层
    来学习一下,这个东东的确让人头晕

    该用户从未签到

    4

    回帖

    14

    金币

    0

    精华

    1级 Hired Hero

    Rank: 1

    积分
    8
    发表于 2009-9-8 12:34:14 | 显示全部楼层
    很好,就是还没有看懂。琢磨
  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 475 天

    连续签到: 2 天

    [LV.9]龙巫妖

    1251

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    5453
    发表于 2009-9-12 17:11:25 | 显示全部楼层
    到第七个都明白,从第八课开始术语太多,看不明白,应该多举例啊。
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2623

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4827

    论坛元老退役版主

    QQ
     楼主| 发表于 2009-9-13 17:23:55 | 显示全部楼层

    第五课:普通多用对话框(IF:Q命令)

    非常重要!!!
    我们都知道使用IF:M命令,这是一个简单的命令,用于显示普通对话框。
    IF:Q命令和IF:M一样,也是用来显示对话框。
    我们用IF:M命令的时候,对话框显示的时候,对话框的下面只有一个勾勾(确定)的按扭,也就是说玩家无法选择确定还是否定,而我们使用IF:Q命令就会达到我们想要的效果:
    IFQ5.gif
    比如说这样。
    ——————————————————————————————
    Q命令的使用格式是:
    !!IF:Q#^对话框内容^;
    #表示一个标志的索引(或者叫做标志的编号),在这条命令中,只能使用1~10这十个标志。
    为什么要输入标志的名称呢?因为这个标志将用来储存玩家选择的结果。
    如果玩家选择了勾勾(也就是确定),那么标志的值就会变成1,如果玩家选择了圆圈(也就是否定)标志的值就为0。
    举个例子:
    !?OB15/24/0;
    !!IF:Q2^是否要打开箱子?^;
    !!IF&2:M^你真是不知深浅,现在遭到攻击了!^;
    !!IF&-2:M^嗯,还是不要打开为好。^;
    明白了吗?
    ——————————————————————————————
    这个内容的确比较难理解,如果理解了的话我们继续看下面的:
    IF:Q对话框我们称为普通多用对话框,之所以这么称呼它,是因为它属于普通对话框,
    所谓普通对话框就是我们可以在原版SOD中所能看到的一切对话框。
    相对于普通对话框,还有一种特殊对话框,这种对话框是WOG特有的,使用的是粗体字,它的用途比普通对话框广泛地多!
    说句题外话,在WOG英文时代,当年WOG中文论坛的先辈,偶然发现了可以用特殊对话框来显示中文字,那件事情在当时是很轰动的。
    好了,废话少说,我们主要讲讲为什么又称IF:Q对话框为多用对话框,因为它的用途真的很多。
    它不单只可以使用上面那幅图片中的选择对话框,还可以用来H3内置显示图片,比如这样:
    IFQ.gif
    IFQ7.gif

    上面的那幅图是显示一张图片的单选择对话框,下面那张图片是一个显示两张图片的,要求玩家从两张图片中选择一张的对话框。
    ——————————————————————————————————————
    如何显示图片呢?
    如果要显示图片的话,我们可以使用这个命令:
    !!IF:Q#1/#2/#3/#4^Text^;

    #1 - 标志的编号
    #2 - 图片的类型

    #3 - 图片的子类型
    #4 - 消息的类型
        =1 - 普通消息文本 (标志FLAG #1 不变动
    !!!)
        =2 -
    请求是/否的对话框(是=1,否=0)

    注意:你必须使用^文本内容^,不然没有效果。如果你不想有文本,则使用^^。
    ——————————————————————————————————————————
    如果是显示两张图片的话:
    !!IF:Q#1/#2/#3/#4/#5/#6^Text^ ;
    #1 - 标志位编号
    #2 - 1的类型

    #3 - 1的子类型
    #4 - 2的类型
    #5 - 2的的子类型
    #6 - 消息的类型
       =1 -
    普通文本消息 (标志位FLAG #1 不进行设置!!!)
       =2 -
    请求是/否的对话框(是=1,否=0)

       =7 - 选择一个图片的对话框 (=1, =0) (玩家选择左边标志为1,右边为0)
    注意:你必须使用^文本内容^,不然没有效果。如果你不想有文本,则使用^^。
    ——————————————————————————————————
    用这个命令最多可以显示四张图片,只需要在标志的后面和消息类型的前面用#/#的格式加上图片的类型和子类型就可以了。
    值得注意的是:
    {选择一个图片的对话框}只能在带两张图片的时候使用。
    ————————————————————————————
    内置图片的类型和子类型表:
    内置图片的类型和子类型表
    类型
    子类型
    资源
    0~7,参见资源编号资源的数量
    宝物
    8宝物的编号
    魔法9魔法的编号
    旗帜10玩家颜色的编号
    幸运(幸运的)11幸运的点数
    幸运(一般的)120
    幸运(运的)13恶运的点数
    士气 (高涨的)14士气的点数
    士气 (一般的)150
    士气 (低落的)16士气的点数
    经验图标17经验数量
    辅助技能图标20辅助技能编号+技能等级(1~3)
    怪物21[怪物编号
    城镇中的建筑22....30
    城镇类型编号
    建筑编号
    四围31...34点数
    魔法值35点数
    36数量

    以上所有的编号都可以在WOG帮助的ERM FARMATS中找到。


    备注:在资源图标中,如果要表示N/天,则使用负数。

    举例:!!IF:Q2/0/-3/1^{派兵驻守}
    派兵驻守不仅使你的矿井增加产量,而且他们会为矿井与敌人战斗到最后一刻,目前,此矿井的产量为:^;






    [ 本帖最后由 da3338280 于 2009-9-13 17:43 编辑 ]
    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 英雄注册|Register

    本版积分规则

    捐赠
    关注我们,英3Mod一网打尽!

    WoG中文站 ( 辽B2-20210485-10 )|辽公网安备 21128202000228 号

    GMT+8, 2024-12-23 02:31 , Processed in 1.608772 second(s), 31 queries , Gzip On, File On.

    Powered by Discuz! X3.4

    Copyright © 2004-2022, Beijing Second Sight Technology Co., LTD.

    快速回复 返回顶部 返回列表