翔鹰帝国网|帝国时代论坛|帝国时代系列|神话时代
 找回密码
 注册翔鹰会员(昵称)
搜索
查看: 5482|回复: 56

[教程] [推荐]关于战役编程的术语解释(一)

 关闭 [复制链接]

7

主题

0

精华

36

积分

骑士

耕战
-2
鹰币
0
天龙币
0
回帖
24
附庸关系0
发表于 2003-12-17 15:29:51 | 显示全部楼层 |阅读模式

    征服者战役制作(实质就是战役编程,只不过不用写代码 — 全可视化编程)有很多专门的术语,如果我们理解了这些术语,就会对战役制作原理有所了解,从而对战役制作入门带来重要的帮助。战役剧本制作包括界面制作(创建地图和目标等)和触发设置,其中最核心的部分就是编程,即“触发”(子程序),所以在这里我们专门对触发编程的一些术语作一下解释。

   1、触发(name)。从这几天初次接触战役制作的感觉来看,“触发”的意思大概就是通过一个或多个事件指令(在这里称为“条件”)引起一段战役程序的运作,这段战役程序我们可以称为“战役子程序”或“剧本子程序”,一个或多个战役子程序构成一个完整的战役程序,该程序文件的名称是“*.scx”,我们可以把scx程序文件(又称剧本文件)编译成cpx战役文件。scx程序文件可以在场景地图中运行,而cpx战役文件可以在定制战役中运行。从“触发”的字眼可以看出,战役子程序属于事件(条件)驱动型子程序,即需要有一个或多个条件,才能产生一个子程序,使子程序在一定的动作指令(效果)下运行,即所谓“一触即发”、“不触则不发”。这就是电脑的所谓“智慧”,要人类触动它,它才运行,各种触动方法即所谓“条件”。

    2、条件(when、why)。从对“触发”的解释中可以看出“条件”的含义,意思就是在什么样的情况下,这段子程序会被触发运行,相当于传统编程的“事件”或“消息”、“触发指令”等含义。剧本编辑器里面预设有19种可用的条件放在组合框里供我们选择。
     有些触发表面上不需要条件,但实质上不是这样,为什么?很简单,电脑还没有聪明到能自动运行,任何效果都需要触发及触发条件。AI表面上可以自己控制,但实际上,编制AI时也要用到触发及其条件,只不过AI编程没有“触发”或“条件”等术语,但“消息”、“事件”(实质就是触发)等概念一定要用到;而另外一些没有调用AI的触发好象也没有条件,但这些触发要依靠有条件的触发来触发,没有不依靠条件的触发。

    3、效果(then、how)。“效果”的含义相当于传统编程所说的“命令”、“指令”、“函数”等,所谓“效果”就是一段子程序的具体运行方式,即怎样运行。比如“改变外交态度(起始玩家,对象玩家,外交状态)”、“送出聊天(声音文件,起始玩家,信息)”、“播放声音()”等等。一段战役子程序就是由“触发”、“条件”和“效果”所组成,意思是该段触发型子程序在某“条件”的“触发”下,完成某种程序运行“效果”。“条件”和“效果”都是指令,两者具有因果关系,效果指令由条件指令触发。剧本编辑器里面预设有29种可用的效果放在组合框里供我们选择。

    4、参数(what)。在“条件”和“效果”中需要直接处理或附带的数据我们称为“参数”,不同的指令具有不同的参数。如“改变外交态度”效果包含“起始玩家”、“对象玩家”和“外交状态”等三个参数。理论上指令可以没有参数,但征服者剧本编辑器中的指令(包括条件指令和效果指令)差不多都有参数,如“播放声音”的参数当然是要播放的声音文件,没有声音文件就无法播放声音。在指令中,有些参数是必需的,要设置好的。而有些参数不是必需、可有可无的,我们可以将这两种参数分别称为“必需参数”和“可空参数”。
      打个通俗比方,“吃饭”这个词语中,“吃”是指令,“饭”是“吃”指令的参数,用代码格式表示就是:吃(饭)。进一步添加其他参数就成为:吃(吃什么,吃的方式,......),具体指令如:吃(饭,用手抓着吃)。又如有一个函数叫“相加”,我们需要添加什么参数呢?很明显,“相加”命令需要直接处理的数据是“加数”和“被加数”,这两个参数都是必需的,否则就无法相加,所以“相加”命令我们可以设置为:相加(加数,被加数)。
      巧妇难为无米之炊,如果将指令比喻为“炊”,那参数就是“米”了。如果指令缺少参数会怎样呢,那就是:巧嘴难为无饭之吃、巧算难为无数之加、巧兵难为无敌之杀、巧动难为无物之移了,呵呵。

     5、触发型子程序。子程序又称“触发”,一段战役子程序由“触发名”(即“子程序名称”)、“条件”、“效果”及各种附带参数所组成。如果用代码格式(不过真正能用中文来做代码的只有汉语编程易语言)来表示子程序和整个剧本程序,可以如下面这样表示,用虚线或其他符号将各子程序隔开条理分明一点:

                 地狱战役.scx
                 -------------------------
                 触发名:触发1
                 条件0:把对象带到指定地域(士兵1,BBB地点)
                 效果0:改变外交态度(玩家1,哈哈玩家,敌对状态)
                 效果1:送出聊天(“哈哈玩家:你们不干净的人随意进入我们的圣地,是可忍孰不可忍!愚蠢的人类玩家,等着接受惩罚吧!”)
                 --------------------------
                 触发名:消解仇恨
                 条件0:把对象带到指定地域(美女2,CCC地点)
                 效果0:关闭(触发1)
                 效果1:送出聊天(“哈哈玩家:愚蠢的人类,你们以为送上美女就能消解仇恨吗?送上你们的人头来!”)
                 效果2:吃(饭)


     上面两段子程序的大概意思是:触发1 — 当玩家1把自己的一个士兵(即士兵1)带到BBB地点时,程序会自动改变玩家1跟另一玩家(哈哈玩家)的态度为敌对,假如你不想制造敌对,就不要把对方讨厌的人带到禁区;消解仇恨 — 当把美女2带到CCC地点时,程序会关闭另一程序,并达到一定效果。
     由上面可知,征服者剧本编辑器只为我们预设了19种条件和29种效果,所以我们也不难熟悉。如果想达到更多效果我们可以编制AI文件,至于AI编程方法可参看其他教程。

     下节教程继续解释其他术语,包括一些参数术语,如:命令描述、对象、起始玩家、对象组、对象列表类型、对象列表、对象类型、开启、关闭等。


     附本节教程的小例程下载:https://www.cccamu.net/bbs/viewfile.asp?ID=1244

[此贴子已经被作者于2003-12-20 10:41:27编辑过]

回复

使用道具 举报

7

主题

0

精华

36

积分

骑士

耕战
-2
鹰币
0
天龙币
0
回帖
24
附庸关系0
 楼主| 发表于 2003-12-17 17:32:46 | 显示全部楼层

       试举例?29种效果有哪一种不需要条件就可运行?“载入剧本文件”(编辑器里没有列出)或“定时器”都是条件呀呀呀。归根到底,电脑还没有聪明到能自动运行,任何效果都需要触发。AI效果也要靠触发条件呀呀呀,不过它的名称可能不叫“触发条件”,而叫“驱动条件”之类呀呀呀。可能它不是由自身条件触发,但也要由另一个有条件的触发子程序来触发呀呀呀,M’I 正确否?

[此贴子已经被作者于2003-12-17 17:42:34编辑过]

回复

使用道具 举报

7

主题

0

精华

36

积分

骑士

耕战
-2
鹰币
0
天龙币
0
回帖
24
附庸关系0
 楼主| 发表于 2003-12-17 19:57:22 | 显示全部楼层
附本节教程的小例程下载:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册翔鹰会员(昵称)

x
回复

使用道具 举报

295

主题

6

精华

1万

积分

圣徒

耕战
2467
鹰币
1
天龙币
0
回帖
7091

一级翔鹰勋章二级嘉禾勋章特级帝国勋章第一届火箭筒杯最佳地图雄鹰勋章

附庸关系0
发表于 2003-12-17 21:03:07 | 显示全部楼层
错了很多...
任何触发都可以不加条件


AI可以自己控制,无须触发来触发
天使归来的博客 大家捧场噢
回复

使用道具 举报

295

主题

6

精华

1万

积分

圣徒

耕战
2467
鹰币
1
天龙币
0
回帖
7091

一级翔鹰勋章二级嘉禾勋章特级帝国勋章第一届火箭筒杯最佳地图雄鹰勋章

附庸关系0
发表于 2003-12-18 13:20:09 | 显示全部楼层
而且...写这些实际上没多大用处

阿木已经在他的教程中提过了...
天使归来的博客 大家捧场噢
回复

使用道具 举报

91

主题

5

精华

1万

积分

教皇

耕战
1565
鹰币
41
天龙币
0
回帖
476

一级翔鹰勋章特级嘉禾勋章特级帝国勋章鹰之王者

附庸关系0
发表于 2003-12-18 13:45:29 | 显示全部楼层
天使的头像很有意思
回复

使用道具 举报

295

主题

6

精华

1万

积分

圣徒

耕战
2467
鹰币
1
天龙币
0
回帖
7091

一级翔鹰勋章二级嘉禾勋章特级帝国勋章第一届火箭筒杯最佳地图雄鹰勋章

附庸关系0
发表于 2003-12-18 21:15:11 | 显示全部楼层
3Q夸奖
天使归来的博客 大家捧场噢
回复

使用道具 举报

529

主题

32

精华

3万

积分

教皇

耕战
3121
鹰币
40520
天龙币
0
回帖
8357

二级皇家勋章翔鹰建站十周年纪念章一级翔鹰勋章一级嘉禾勋章特级帝国勋章十字军勋章鹰之智者“翔鹰杀”勋章

附庸关系1
发表于 2003-12-19 16:51:53 | 显示全部楼层
这个比猪好多了……
回复

使用道具 举报

7

主题

0

精华

36

积分

骑士

耕战
-2
鹰币
0
天龙币
0
回帖
24
附庸关系0
 楼主| 发表于 2003-12-19 18:16:48 | 显示全部楼层
以下是引用天使归来在2003-12-17 21:03:07的发言:
错了很多...
任何触发都可以不加条件


AI可以自己控制,无须触发来触发


    AI可以自己控制???要是电脑真有这么聪明,那人类很快就会被AI统治了。AI“规则”(实质即“触发”)中也要有事实(真假形态的条件)和条件,没有不依赖条件的AI。你连触发的真正意思还不知道。是阿木教错了你吧?







[此贴子已经被作者于2003-12-19 19:04:12编辑过]

回复

使用道具 举报

420

主题

8

精华

2万

积分

圣徒

耕战
3097
鹰币
0
天龙币
0
回帖
4331

特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
发表于 2003-12-19 21:20:57 | 显示全部楼层
天使的意思是战役中可以不用触发来启动AI,让某个电脑方配备一个AI就行了

每夜坐禅观水月,有时行醉玩风花。净名事理人难解,身不出家心出家


回复

使用道具 举报

7

主题

0

精华

36

积分

骑士

耕战
-2
鹰币
0
天龙币
0
回帖
24
附庸关系0
 楼主| 发表于 2003-12-20 10:26:24 | 显示全部楼层
以下是引用旧王孙在2003-12-19 21:20:57的发言:
天使的意思是战役中可以不用触发来启动AI,让某个电脑方配备一个AI就行了



    要让电脑方配备AI,还必需要用触发,电脑不会自动配备的,这个触发就是“载入剧本”然后“载入AI”、“读入AI”之类,微软没有提供给大家用。况且AI里面也必需有“规则”(触发)。







[此贴子已经被作者于2003-12-20 10:31:06编辑过]

回复

使用道具 举报

7

主题

0

精华

36

积分

骑士

耕战
-2
鹰币
0
天龙币
0
回帖
24
附庸关系0
 楼主| 发表于 2003-12-20 10:46:57 | 显示全部楼层


        AI的实质也是所谓“触发”,不过要编写代码来完成,不要把AI看成是人工智慧,它还远远不是,它只是一种“非可视化触发”,而剧本编辑器里面的触发只是“可视化触发”,它实质还是写代码,只不过是不要你写,而是微软根据你的设置,等你编译成剧本文件或战役文件后,它再把代码写到文件中,从而使剧本文件的实质跟AI文件一样,都是程序代码文件,或者可以说:AI文件只是剧本文件附带的一种外部功能扩展模块文件,就象在网页中插入另一网页的道理一样。




[此贴子已经被作者于2003-12-20 10:52:07编辑过]

回复

使用道具 举报

295

主题

6

精华

1万

积分

圣徒

耕战
2467
鹰币
1
天龙币
0
回帖
7091

一级翔鹰勋章二级嘉禾勋章特级帝国勋章第一届火箭筒杯最佳地图雄鹰勋章

附庸关系0
发表于 2003-12-20 14:06:06 | 显示全部楼层
    AI可以自己控制???要是电脑真有这么聪明,那人类很快就会被AI统治了。AI“规则”(实质即“触发”)中也要有事实(真假形态的条件)和条件,没有不依赖条件的AI。你连触发的真正意思还不知道。是阿木教错了你吧?








错!
第一点.我的技术是自己练出来的
第二点.没错,AI的确是另类触发,但却用不同字眼表达!
第三点.AI里面不一定需要条件,条件栏可以选无,也就是无条件执行!
天使归来的博客 大家捧场噢
回复

使用道具 举报

7

主题

0

精华

36

积分

骑士

耕战
-2
鹰币
0
天龙币
0
回帖
24
附庸关系0
 楼主| 发表于 2003-12-20 16:10:24 | 显示全部楼层
       所以我已经说过,无条件的触发不会自动执行,一定要被有条件的触发调用。之所以称为“触发”,原因就是征服者战役编程建立在条件驱动型触发子程序基础上,也就是说,还没有真正离开条件的“自发”,目前任何触发都要直接或间接地依赖条件,这没有错吧?
    触发触发,有触(条件)才发(效果)
  
[此贴子已经被作者于2003-12-20 16:24:00编辑过]

回复

使用道具 举报

295

主题

6

精华

1万

积分

圣徒

耕战
2467
鹰币
1
天龙币
0
回帖
7091

一级翔鹰勋章二级嘉禾勋章特级帝国勋章第一届火箭筒杯最佳地图雄鹰勋章

附庸关系0
发表于 2003-12-20 17:01:31 | 显示全部楼层
无条件指:一进去游戏即运行...
天使归来的博客 大家捧场噢
回复

使用道具 举报

7

主题

0

精华

36

积分

骑士

耕战
-2
鹰币
0
天龙币
0
回帖
24
附庸关系0
 楼主| 发表于 2003-12-20 17:47:20 | 显示全部楼层
以下是引用天使归来在2003-12-20 17:01:31的发言:
无条件指:一进去游戏即运行...


     学过编程的都知道,“进入游戏”或“载入游戏”本身就是条件,也就是说:当载入游戏时(因),运行并读取AI文件(果)。连游戏都未打开运行的话,一切触发都不能执行。

[此贴子已经被作者于2003-12-20 18:00:39编辑过]

回复

使用道具 举报

295

主题

6

精华

1万

积分

圣徒

耕战
2467
鹰币
1
天龙币
0
回帖
7091

一级翔鹰勋章二级嘉禾勋章特级帝国勋章第一届火箭筒杯最佳地图雄鹰勋章

附庸关系0
发表于 2003-12-20 21:57:29 | 显示全部楼层
如果这样...
一个母亲生孩子不也叫触发?
还有好几个条件呢
先:结婚
2.做了
3.怀孕
4.接生
果:孩子出来了.............


说的这么远,还说的天花乱坠....



另外....如果把AI说成触发....那么...新手根本不能理解你在放什么P
天使归来的博客 大家捧场噢
回复

使用道具 举报

7

主题

0

精华

36

积分

骑士

耕战
-2
鹰币
0
天龙币
0
回帖
24
附庸关系0
 楼主| 发表于 2003-12-21 12:19:38 | 显示全部楼层
    照你这样理解,男人是男人,man就不是男人了,如果不把MAN看做跟男人的意思一样,那别人更不理解。AI的解释你们原本就混乱了,让别人以为是人工智能,能够使电脑玩家自动运行。现在应该更正解释,AI本来就是跟所谓触发一样的东西,只不过是由于写代码,功能更多一点罢了。你上面自己说过AI是什么另类触发,这本来就是你们的教程里说的,怎么现在又反而说会新手根本不能理解了?那怎样才能理解?难道说AI是人工智能?
   “进入游戏”实质就是触发,它确实直接引起AI的读取,对不对?AI里面有解释,你查查他里面的条件或事实。只有“制作战役”(生孩子之前的恋爱)才不是触发。
    什么电脑方配备AI?难道让电脑方配备AI后它就可以自己运行,不需要任何条件?一切都在说明战役编程就是基于条件驱动的触发编程,这个结论怎么会有错?
    如果照你这样说,那“触发”也不算触发,因为触发跟AI一样可以让电脑方配备,然后在进入游戏的时候,“自动”运行触发程序,呵呵。

[此贴子已经被作者于2003-12-21 0:42:02编辑过]

回复

使用道具 举报

420

主题

8

精华

2万

积分

圣徒

耕战
3097
鹰币
0
天龙币
0
回帖
4331

特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
发表于 2003-12-21 01:08:14 | 显示全部楼层
你太钻牛角尖了。
固然帝国所谓AI是一种允许玩家超越编辑器而自行编写的一种变相触发,但定名于AI是为了和地图编辑器触发更好区别。不然,一个叫自定触发,一个叫地图编辑器触发,也行。名相而已。

不需触发启动AI是指不用在地图编辑器里自己设条件让AI在某处特定场面运行,而是一开始运行游戏就让战役载入设定的AI全程使用(和对战AI的用法差不多)。即AI和地图编辑器里制作者设的触发条件无关。另一种情况则是设计者不想让AI在游戏全程使用,只想在某个用到的地方使用,这就需在地图编辑器里设条件来启动AI,这种情况下,AI就和地图编辑器里制作者制定的触发条件有关

每夜坐禅观水月,有时行醉玩风花。净名事理人难解,身不出家心出家


回复

使用道具 举报

420

主题

8

精华

2万

积分

圣徒

耕战
3097
鹰币
0
天龙币
0
回帖
4331

特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
发表于 2003-12-21 01:22:53 | 显示全部楼层
其实帝国的AI和触发就好比两个平级部门的关系,有时候两个部门不相干涉,没有统属关系,分别直接听命于上级部门,都只向上级负责。
而有时候为了完成特定任务,一个部门则要暂时和另一个部门协作,甚至有暂时的统属关系,听命于另一方

每夜坐禅观水月,有时行醉玩风花。净名事理人难解,身不出家心出家


回复

使用道具 举报

本版积分规则

排行榜|小黑屋|翔鹰帝国

GMT+8, 2024-4-29 22:54 , Processed in 0.188641 second(s), 217 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

Copyright © 2001-2023, Hawkaoe.net All Rights Reserved

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