_CCC_大智 发表于 2005-6-28 11:29:31

[分享]再提数字效果

数字效果的历史大概不止两三年了吧,不过既然一直是个比较热门的问题,就再开专帖来个一劳永逸好了。哼哈,不废话,下面开始……
数字效果,就是输入数字达成效果的简称,由于触发中没有“输入数字”这一条件(状况、“反对”……),而AI正好有检测数字语音嘲弄的功能,将两者结合起来,既是数字效果系统了。而其中分为两种——循环和不循环,原理各不相同,请看下面:

不循环的数字效果:
这个比较简单,AI中有“发送触发信号”的功能,当AI检测到语音嘲弄时,就回馈一个触发信号,当触发收到信号就会有相应的效果产生了。
AI可以这么写(分号后面的为注释):

(defrule
(taunt-detected 1 XXX);检测到玩家1(也就是玩家啦)输入的数字XXX(好象是1~255之间的任意整数都行)
=>
(set-signal XXX);回馈一个信号XXX给触发系统
(acknowledge-taunt 1 XXX);注销掉玩家1的发送的嘲弄数字XXX,这条可要可不要
(disable-self);关闭规则,可要可不要。
)
(defrule;这个指令是保证触发不会因为很久以前输入的数字而莫名其妙地激活的
(taunt-detected 1 XXX);收到玩家输入的数字XXX
=>
(acknowledge-taunt 1 XXX);注销这个数字信号,也就是不再保留它
)

触发:
不循环
条件:AI信号 XXX (就是刚才AI中回馈的信号)
其他条件\效果自定


循环数字效果:
先说明一下,这里说的不是输入一次数字就让效果不停触发(这只需要把触发弄成循环就可以了),而是每输入一次数字,效果就激活一次。
这就不能光把触发设置成循环来实现了,如果只把触发设置成循环,AI不变的话,只要一输入指定的数字,触发就会不停地循环触发,达不到预期效果。这是因为触发中又缺少了“注销AI信号”的效果,也就是如果AI发送了一个AI信号,那么它就永远存在无法消除了(这里暂不讨论S/L后的情况),于是触发的条件就永远会达成,效果就不断触发了。
那么怎样才能让触发听玩家的话,叫一声应一声,不叫就不应呢?
AI信号不能用触发消除,就得用别的东西代替了,其中资源和单位是比较好的东西:

资源法:
AI:

(defrule
(taunt-detected 1 XXX);接受到玩家输入的数字XXX
=>
(acknowledge-taunt 1 XXX);注销输入的数字XXX,一定要注销,否则AI规则会不停地循环
(cc-add-resource gold 1);作弊增加黄金1,也可改为其他资源:木材(wood)食物(food)石头(stone)
)

触发1: 循环
条件 堆积属性 AI所属玩家 1单位黄金(或其他,与AI中的对应)
效果 进贡 将AI所属玩家的 999999黄金 进贡给 盖亚
触发2:
条件同上
其他条件\效果自定

建筑/单位法:
让触发检查AI造出来的兵或建筑,再移除掉可能是个办法,但是响应时间慢不说,造出来的位置也难控制。。。所以太麻烦,就别用了吧`~~
但毕竟最多7个电脑玩家28个资源栏,如果用完的话,就得考虑建筑单位了,当然不是用AI造,而是用AI……对,DELETE!
这里以 炮塔 为例子。
AI:

(defrule
(taunt-detected 1 XXX);接受到玩家输入的数字XXX
=>
(acknowledge-taunt 1 XXX);注销输入的数字XXX,一定要注销
(delete-building bombard-tower);删除火炮塔,如果是单位要用delete-unit
)

触发1:循环
拥有较少物件 建筑 火炮塔 0
建立火炮塔
触发2:循环
条件同上
其他条件\效果自定


写了这么多,真是累死了,不知道有没有什么纰漏……

帝国 发表于 2005-6-29 15:57:10

天,看不懂!!!

小狐 发表于 2005-7-3 08:16:13

支持,写的挺大众的。不过……AI怎么用你没说...

come0002 发表于 2005-7-3 12:47:22

少少看得懂太久沒玩aoc看不懂

_CCC_大智 发表于 2005-7-14 11:25:04

这个...其他地方有吧,总不能再把帝国是什么、地图编辑器在哪里、10个选项卡、触发怎么用……都写出来吧,又不是战役宝典……汗……

闲闲 发表于 2005-9-2 11:00:20

我的战役"江湖"里AI与触发的通迅信号已经超过200个了.

wyu 发表于 2005-9-3 09:47:21

有些战役S/L后数字效果无效,这是何故?PS:我用自己的剧本没试出来.

_CCC_大智 发表于 2005-9-3 10:45:13

星星的提示里有这么一句:      注意:如果你在读取存档后发现输入数字没有反应,那么请打开屏幕右上方的小喇叭(快捷键Alt+T),选择“所有人”就可以了。

wyu 发表于 2005-9-3 10:52:51

就这么简单!我原先以为有多么复杂呢.

xxxx 发表于 2005-9-23 18:02:38

(cc-add-resource gold 1);什么意思呀,对象玩家在哪里设?

尼克 发表于 2005-9-23 18:41:36

是作弊語法,可看AI區的置頂帖子<a href="https://www.hawkaoe.net/bbs/viewthread.php?tid=7865" target="_blank" >https://www.hawkaoe.net/bbs/viewthread.php?tid=7865</A>

wyu 发表于 2005-9-23 18:42:45

对象玩家不就是使用这个AI的玩家嘛.

毁灭之王 发表于 2005-10-4 18:14:09

????难~~~~~~懂~~~~~~我们又不是博士!

阔比多华 发表于 2006-5-4 06:47:20

作一些战役很有用的效果

龙族神魔 发表于 2006-5-5 08:17:03

各位我能不能把数字换成文字啊?英文之类的

_CCC_大智 发表于 2006-5-5 18:34:18

不大可能,除非是秘籍...

海贼王 发表于 2006-5-14 11:40:22

下载不起

lei200401 发表于 2006-12-26 16:02:10

非常钦佩版主的成就,很想学这个,明白这个过程的意思,就是细节还不懂,因为我一点编程的基础都没有,能不能把步骤说的再细一点,很希望拜你为师少走些弯路.那个示例也下载不了

③G志 发表于 2006-12-27 11:18:46

好。

CONAN帝国 发表于 2007-2-4 15:29:53

   偶语文不好,能不能简单的说或一步一步的说       总之:偶看不懂耶................
页: [1] 2 3
查看完整版本: [分享]再提数字效果