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

[交流] 我的AI教程

 关闭 [复制链接]

39

主题

0

精华

87

积分

骑士

耕战
0
鹰币
0
天龙币
0
回帖
144
附庸关系0
发表于 2006-9-25 18:38:50 | 显示全部楼层 |阅读模式
有很多玩家被单位动弹而苦恼,可以用AI来冻结单位
只要把这个打到AI编辑器里面就可以了
(defrule
(true)
=>
(set-strategic-number sn-maximum-food-drop-distance 0)
(set-strategic-number sn-maximum-wood-drop-distance 0)
(set-strategic-number sn-maximum-gold-drop-distance 0)
(set-strategic-number sn-maximum-stone-drop-distance 0)
(set-strategic-number sn-percent-civilian-gatherers 0)
(set-strategic-number sn-percent-civilian-builders 0)
(set-strategic-number sn-percent-civilian-explorers 0)
(set-strategic-number sn-maximum-hunt-drop-distance 0)
(set-strategic-number sn-maximum-fish-boat-drop-distance 0)
(set-strategic-number sn-task-ungrouped-soldiers 0)
(set-strategic-number sn-total-number-explorers 0)
(disable-self)
)
PS:AI编辑器我们翔鹰就有 https://bbs.game5i.com/amu/tools/AIEDITOR.rar
不动的AI下载地址 https://www.hawkaoe.net/bbs/viewthread.php?tid=6365

AI的用法:
把AI(两个文件,一个是per类型文件,如*per,还有AI类型文件如*AI)放进AI目录(如果没有AI目录的话,就自己新建一个文件夹,改名为“AI”)
然后自己打开一个场景,在玩家里面的个人(性格PS:不同版本的说法不一样)
这样就可以让单位不动了。
不循环的数字效果:
这个比较简单,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:
(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:循环
条件同上
其他条件\效果自定
这样就可以达成数字效果了。

[ 本帖最后由 Ru43 于 2011-2-13 14:46 编辑 ]
ξ雙拳"緊握Θ氣 ̄运丹田﹎dǎ吼①声?↘破爛罒換錢 η..π.︷
回复

使用道具 举报

8

主题

0

精华

42

积分

骑士

耕战
0
鹰币
53
天龙币
0
回帖
142
附庸关系0
发表于 2006-9-28 21:21:53 | 显示全部楼层
能烦劳给个所有(或大部分~)单位/建筑的英文名么?偶的这个是XiaoCheng翻译的88%中文版,只有小部分单位、英雄、其他是英文
回复

使用道具 举报

本版积分规则

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

GMT+8, 2024-5-13 14:54 , Processed in 0.147456 second(s), 36 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

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

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