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

[求助] Ai Script Builder的进攻代码里为什么有两行Attack Now?

 关闭 [复制链接]

45

主题

0

精华

220

积分

男爵

耕战
0
鹰币
78
天龙币
0
回帖
104
附庸关系0
发表于 2015-2-12 08:30:31 | 显示全部楼层 |阅读模式
(defrule
    (game-time > 1)
    (defend-soldier-count >= 1)
=>
    (attack-now)〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉?
    (enable-timer 10 1)
    (disable-self)
)
(defrule
    (timer-triggered 10)
    (defend-soldier-count >= 1)
=>
    (set-strategic-number sn-number-attack-groups 1)
    (set-strategic-number sn-maximum-attack-group-size 1)
    (set-strategic-number sn-minimum-attack-group-size 1)
    (set-strategic-number sn-percent-attack-soldiers 1)
    (set-strategic-number sn-attack-intelligence 1)
    (attack-now)〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉?
    (disable-timer 10)
    (enable-timer 10 1)
)
回复

使用道具 举报

454

主题

65

精华

25万

积分

教皇

耕战
42935
鹰币
1441127
天龙币
10
回帖
5687

翔鹰建站十周年大纪念章特级帝国勋章特级翔鹰勋章特级嘉禾勋章一级皇家勋章鹰之智者蛟龙勋章十字军勋章大冒险家狂熊勋章

附庸关系2
发表于 2015-2-12 08:45:21 | 显示全部楼层
第一個規則是開始首次進攻同時運行計時器,你可以看到該規則還有(disable-self),所以只會運行一次;第二個規則是由計時器去啟動,並且會一直運行下去,亦即第二次起的持續進攻。
回复

使用道具 举报

45

主题

0

精华

220

积分

男爵

耕战
0
鹰币
78
天龙币
0
回帖
104
附庸关系0
 楼主| 发表于 2015-2-12 09:18:33 | 显示全部楼层
狂~劇情狂 发表于 2015-2-12 08:45
第一個規則是開始首次進攻同時運行計時器,你可以看到該規則還有(disable-self),所以只會運行一次;第二個 ...

那也就是说 首次进攻不受后面的最大小部队规模设置影响??

点评

是的,但我不明白為何要全設成1...  发表于 2015-2-12 09:25
回复

使用道具 举报

45

主题

0

精华

220

积分

男爵

耕战
0
鹰币
78
天龙币
0
回帖
104
附庸关系0
 楼主| 发表于 2015-2-12 09:25:36 | 显示全部楼层
狂~劇情狂 发表于 2015-2-12 08:45
第一個規則是開始首次進攻同時運行計時器,你可以看到該規則還有(disable-self),所以只會運行一次;第二個 ...


我感觉第一行Attack Now代码完全多余有木有!
回复

使用道具 举报

454

主题

65

精华

25万

积分

教皇

耕战
42935
鹰币
1441127
天龙币
10
回帖
5687

翔鹰建站十周年大纪念章特级帝国勋章特级翔鹰勋章特级嘉禾勋章一级皇家勋章鹰之智者蛟龙勋章十字军勋章大冒险家狂熊勋章

附庸关系2
发表于 2015-2-12 09:28:43 | 显示全部楼层
12345677 发表于 2015-2-12 09:25
我感觉第一行Attack Now代码完全多余有木有!

刪了就只是遲十秒進次,可是寫多一句也沒太多影響……
回复

使用道具 举报

105

主题

9

精华

2万

积分

圣徒

耕战
4516
鹰币
2080
天龙币
0
回帖
1143

一级皇家勋章翔鹰建站十周年纪念章一级翔鹰勋章特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
发表于 2015-2-12 09:38:44 | 显示全部楼层
第一个规则的作用是一是唤起进攻循环,即唤起第二个规则;二是进行首次攻击.

所谓"多余不多余",就看你何种需求了.

看如下

忽见天上一火链,好像玉皇要抽烟。
如果玉皇不抽烟,为何又是一火链。
回复

使用道具 举报

105

主题

9

精华

2万

积分

圣徒

耕战
4516
鹰币
2080
天龙币
0
回帖
1143

一级皇家勋章翔鹰建站十周年纪念章一级翔鹰勋章特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
发表于 2015-2-12 09:39:48 | 显示全部楼层
;Attack Now
(defrule
    (game-time > 20)
    (defend-soldier-count >= 0)
=>
    (attack-now)
    (enable-timer 10 240)
    (set-strategic-number sn-number-attack-groups 0)
    (set-strategic-number sn-percent-attack-soldiers 0)
    (disable-self)
)
(defrule
    (timer-triggered 10)
    (defend-soldier-count >= 0)
=>
    (attack-now)
    (disable-timer 10)
    (enable-timer 10 240)
)

以上 AI, 第一次攻击在游戏 20秒,然后每隔 240 秒攻击一次.完全不多余.去掉第一个 attack-now, 则游戏 20 秒时不会发起攻击
忽见天上一火链,好像玉皇要抽烟。
如果玉皇不抽烟,为何又是一火链。
回复

使用道具 举报

45

主题

0

精华

220

积分

男爵

耕战
0
鹰币
78
天龙币
0
回帖
104
附庸关系0
 楼主| 发表于 2015-2-12 09:48:50 | 显示全部楼层
狂~劇情狂 发表于 2015-2-12 09:28
刪了就只是遲十秒進次,可是寫多一句也沒太多影響……

(defrule
    (game-time > 240)
=>
    (enable-timer 10 120)
    (disable-self)
)
(defrule
    (timer-triggered 10)
    (defend-soldier-count >= 9)
=>
    (set-strategic-number sn-number-attack-groups 9)
    (set-strategic-number sn-maximum-attack-group-size 40)
    (set-strategic-number sn-minimum-attack-group-size 1)
    (set-strategic-number sn-percent-attack-soldiers 100)
    (set-strategic-number sn-maximum-town-size 255)
    (chat-to-all "Fuck!")
    (attack-now)
    (disable-timer 10)
    (enable-timer 10 120)
)
(defrule
    (game-time > 240)
=>
    (enable-timer 10 120)
    (disable-self)
)
(defrule
    (timer-triggered 10)
    (attack-soldier-count < 9)
=>
    (set-strategic-number sn-maximum-town-size 16)
    (chat-to-all "Shit!")
    (disable-timer 10)
    (enable-timer 10 120)
)
其实这个才是本体。。。表示精简之后爽多了。。。开始因为那多出来的一次Attack Now 导致我的Ai在防御判断下依然持续发动进攻。。。坑的我一愣一愣的
回复

使用道具 举报

45

主题

0

精华

220

积分

男爵

耕战
0
鹰币
78
天龙币
0
回帖
104
附庸关系0
 楼主| 发表于 2015-2-12 09:49:55 | 显示全部楼层
卧龙先生 发表于 2015-2-12 09:39
;Attack Now
(defrule
    (game-time > 20)

第一次attack 不受后面的进攻规模设置控制。。。不太好用
回复

使用道具 举报

454

主题

65

精华

25万

积分

教皇

耕战
42935
鹰币
1441127
天龙币
10
回帖
5687

翔鹰建站十周年大纪念章特级帝国勋章特级翔鹰勋章特级嘉禾勋章一级皇家勋章鹰之智者蛟龙勋章十字军勋章大冒险家狂熊勋章

附庸关系2
发表于 2015-2-12 09:52:24 | 显示全部楼层
其實你可以在其他地方以至第一個規則內也設定那堆策略值就行,反正又沒突破代碼行數限制
回复

使用道具 举报

45

主题

0

精华

220

积分

男爵

耕战
0
鹰币
78
天龙币
0
回帖
104
附庸关系0
 楼主| 发表于 2015-2-12 09:56:00 | 显示全部楼层
狂~劇情狂 发表于 2015-2-12 09:52
其實你可以在其他地方以至第一個規則內也設定那堆策略值就行,反正又沒突破代碼行數限制

(defrule
        (food-amount < 1125)
        (commodity-buying-price food < 33)
        (can-buy-commodity food)
=>
        (chat-local-to-self "进口食物")
        (release-escrow gold)
        (buy-commodity food)
)
该代码被触发时市场里的食物价格在150+左右。。。
为什么检查价格的代码被Ai无视了呢??
回复

使用道具 举报

45

主题

0

精华

220

积分

男爵

耕战
0
鹰币
78
天龙币
0
回帖
104
附庸关系0
 楼主| 发表于 2015-2-12 09:58:14 | 显示全部楼层
狂~劇情狂 发表于 2015-2-12 09:52
其實你可以在其他地方以至第一個規則內也設定那堆策略值就行,反正又沒突破代碼行數限制

怎样让Ai在游戏一开始 不派遣探索工人的情况下获得所有敌方视野呢?

点评

單靠AI沒有可能,必須使用AGE修改dat  发表于 2015-2-12 13:38
回复

使用道具 举报

45

主题

0

精华

220

积分

男爵

耕战
0
鹰币
78
天龙币
0
回帖
104
附庸关系0
 楼主| 发表于 2015-2-12 19:19:53 | 显示全部楼层
本帖最后由 12345677 于 2015-2-12 19:56 编辑
狂~劇情狂 发表于 2015-2-12 09:52
其實你可以在其他地方以至第一個規則內也設定那堆策略值就行,反正又沒突破代碼行數限制


(defrule
    (game-time > 0)
    (defend-soldier-count >= 9)
=>
    (attack-now)
    (enable-timer 10 300)
    (disable-self)
)
(defrule
    (timer-triggered 10)
    (defend-soldier-count >= 9)
=>
    (set-strategic-number sn-number-attack-groups 9)
    (set-strategic-number sn-maximum-attack-group-size 40)
    (set-strategic-number sn-minimum-attack-group-size 1)
    (set-strategic-number sn-percent-attack-soldiers 100)
    (set-strategic-number sn-maximum-town-size 128)
    (chat-to-all "Fuck!")
    (attack-now)
    (disable-timer 10)
    (enable-timer 10 300)
)
(defrule
    (game-time > 0)
    (defend-soldier-count >= 9)
=>
    (attack-now)
    (enable-timer 10 300)
    (disable-self)
)
(defrule
    (timer-triggered 10)
    (attack-soldier-count < 9)
=>
    (set-strategic-number sn-number-attack-groups 0)
    (set-strategic-number sn-maximum-attack-group-size 0)
    (set-strategic-number sn-minimum-attack-group-size 0)
    (set-strategic-number sn-percent-attack-soldiers 0)
    (set-strategic-number sn-maximum-town-size 32)
    (chat-to-all "Shit!")
    (disable-timer 10)
    (enable-timer 10 300)
)
我明明设置的300秒开始判断 如果不是Fuck 就一定是Shit 可为什么对战中Ai直到13分钟左右时才开始Fuck?并且之前一直都没有Shit。
打完后看录像发现6分30秒左右发动了一次对另一个电脑的进攻 但是没有触发Fuck!效果
攻击间隔随机因子造成的误差有这么大吗?具体是怎样计算的呢??

点评

我终于明白他的进攻为什么不按时间来了 第一次进攻没有触发Fuck的效果是因为时间大于0开启循环计时器这个触发并不是在游戏开始时只触发一次就结束而是一直持续到他拥有9个士兵后才立即触发并同时开启循环计时器  发表于 2015-2-12 20:07
回复

使用道具 举报

454

主题

65

精华

25万

积分

教皇

耕战
42935
鹰币
1441127
天龙币
10
回帖
5687

翔鹰建站十周年大纪念章特级帝国勋章特级翔鹰勋章特级嘉禾勋章一级皇家勋章鹰之智者蛟龙勋章十字军勋章大冒险家狂熊勋章

附庸关系2
发表于 2015-2-12 22:17:45 | 显示全部楼层
可以的話希望你不要用這些粗鄙詞彙作為訊息測試例子……

針對 (attack-now) 的循環, Userpatch 有 (up-reset-attack-now) 這一新增動作可以即時註銷。

第一、三條規則完全相同,不知為何你要重寫一次。

十三分鐘的問題,是因為你首條規則同時帶上了九名士兵的條件,實際就是發展去到九人軍隊再加五分鐘的時間,而十三分鐘就差不多了,第四條規則自然也不可能在此前觸發。

另外你的進攻方法似乎是混用了 TSA 、攻擊隊伍與 attack-now ,但 TSA 會因為 100% 的 sn-percent-attack-soldiers 影響而失效, attack-now 與攻擊隊伍的判定也會互相抵消……此外同樣因為 sn-percent-attack-soldiers 影響,第二條規則運行後基本要等第四條規則亦運行( sn-percent-attack-soldiers 設為 0 )才有可能再被判定成立,而這亦為造成時間差的另一可能原因。
回复

使用道具 举报

45

主题

0

精华

220

积分

男爵

耕战
0
鹰币
78
天龙币
0
回帖
104
附庸关系0
 楼主| 发表于 2015-2-12 22:26:20 | 显示全部楼层
本帖最后由 12345677 于 2015-2-12 22:28 编辑
狂~劇情狂 发表于 2015-2-12 22:17
可以的話希望你不要用這些粗鄙詞彙作為訊息測試例子……

針對 (attack-now) 的循環, Userpatch 有 (up- ...


。。。基本攻击方式保持Tsa 沿用AttackNow是因为考虑到海战运输。。。
那么我把进攻比例调整为50%就可以了吧?
然后攻击队伍不需要AttackNow就可以自行发动进攻吗??
可是那样的话 AttackNow最多好像只能支持40人的进攻队伍把?
设定攻击队伍规模 最多可以支持多少人同时进攻呢?
回复

使用道具 举报

454

主题

65

精华

25万

积分

教皇

耕战
42935
鹰币
1441127
天龙币
10
回帖
5687

翔鹰建站十周年大纪念章特级帝国勋章特级翔鹰勋章特级嘉禾勋章一级皇家勋章鹰之智者蛟龙勋章十字军勋章大冒险家狂熊勋章

附庸关系2
发表于 2015-2-12 22:43:57 | 显示全部楼层
為了保持 TSA 的有效性, sn-percent-attack-soldiers 還是別設 100 為宜;攻擊隊伍與 attack-now 為不同進攻方法,前者毋須 attack-now 就會進攻,單支隊伍的部隊數應該仍受限於 40 人,但你可以透過設置隊伍的數量來克服它,甚至可以造成同時發動 200+ 人進攻,唯一問題就是當隊伍數較多時,每支隊伍抽調人員時可能彼此重複,導致 minimum-attack-group-size 未真正生效。
回复

使用道具 举报

45

主题

0

精华

220

积分

男爵

耕战
0
鹰币
78
天龙币
0
回帖
104
附庸关系0
 楼主| 发表于 2015-2-12 22:50:27 | 显示全部楼层
狂~劇情狂 发表于 2015-2-12 22:43
為了保持 TSA 的有效性, sn-percent-attack-soldiers 還是別設 100 為宜;攻擊隊伍與 attack-now 為不同進 ...

AttackNow最多支持多少人的进攻呢 如果可以支持120以上我就不设定攻击队伍了。。。麻烦死
回复

使用道具 举报

454

主题

65

精华

25万

积分

教皇

耕战
42935
鹰币
1441127
天龙币
10
回帖
5687

翔鹰建站十周年大纪念章特级帝国勋章特级翔鹰勋章特级嘉禾勋章一级皇家勋章鹰之智者蛟龙勋章十字军勋章大冒险家狂熊勋章

附庸关系2
发表于 2015-2-12 22:54:33 | 显示全部楼层
attack-now 基本上是每運行一次就從攻擊士兵裡抽選成員進攻,其實持續運行的話嚴格來說沒有單位上限,可以做到上百千的部隊都在進攻,但這樣會相當卡機,且會引致前線部隊反應不佳。
回复

使用道具 举报

本版积分规则

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

GMT+8, 2024-12-24 02:51 , Processed in 0.227714 second(s), 197 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

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

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