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

[求助] 系统计算某个地方的敌人到底有多少个

[复制链接]

27

主题

0

精华

102

积分

男爵

耕战
0
鹰币
10
天龙币
0
回帖
48
附庸关系0
 楼主| 发表于 2019-12-20 23:07:57 | 显示全部楼层 |阅读模式
不知道怎么用触发做一个效果:就是一群敌人(不限单位)到某个地方,系统会计算这个地方到底有多少敌人,会随着敌人的到来而增加,但不会随着敌人被杀或离开而减少。

我能想到的,就是:


触发1:条件-区域已有物体,数字为1;效果-变量值(赋予某个变量值+1),然后根据你在“分享一下我一个月以来的地编测试结论(写了好多啊……)”一贴中写的方式让它在右上角显示“有XX/20敌人已经到了某地”
触发2:条件-这个变量值大于等于20;效果:玩家战败


测试发现:如果触发1不循环则完全无效,但如果触发1循环的话,那么XX(数字)就会一直增长下去。


求助这是为啥?
回复

使用道具 举报

183

主题

9

精华

2万

积分

教皇

耕战
3329
鹰币
16691
天龙币
0
回帖
1200

翔鹰建站十周年纪念章

附庸关系3
发表于 2019-12-20 23:21:50 | 显示全部楼层
https://www.hawkaoe.net/bbs/thread-116800-1-1.html
你需要先攻读完宝典,这样就不会被这些简单的问题困扰了
索引:
Userpatch 实用技术贴索引←点击进入
决定版精品贴大索引←点击进入

战役:
《 兔与豹》——柔弱奴隶公主  猛兽口中求生←点击进入
《敛由国的统一》←点击进入

殊途战役制作群 QQ: 616317226
翔鹰帝国Ⅱ:决定版交流群 QQ: 112822759
回复

使用道具 举报

27

主题

0

精华

102

积分

男爵

耕战
0
鹰币
10
天龙币
0
回帖
48
附庸关系0
 楼主| 发表于 2019-12-22 22:12:13 | 显示全部楼层
看来是我表达不清。我想实现的是,如何让1个敌方单位进入某个区域之后,计数器+1,但这个单位在进来之后就只+1了,无论这个单位在这个区域里是死是活,计数器都不变,直到下一个单位(可能是同一种,可能是其他单位)进来之后,计数器再+1。我看过帖子里关于那个“20匹马”的触发,有个动作是“移除”,但如果用了“移除”,就不符合逻辑了。
回复

使用道具 举报

417

主题

19

精华

8万

积分

教皇

耕战
13421
鹰币
41665
天龙币
18
回帖
6021

特级嘉禾勋章三级帝国勋章十字军勋章翔鹰建站十周年纪念章

附庸关系0
发表于 2019-12-22 23:04:52 | 显示全部楼层
这很简单,因为触发统计一次后,不会把已经统计过的排除在外。

像您要求的那种功能(在多个区域统计单位数量并求和)实现起来会很繁复,具体来说便是在条件区域A分别设置21个触发表示此处拥有1到20个单位,而且每次要先清零对应的变量值,然后拥有一个单位则值+1,拥有两个单位再+1……另外几处也如此,最后把变量的值加起来进行统计,这是能够想到通过触发实现的办法。
004时代:战役时代
我很乐意看到有人在MOD技术上超过我。
回复

使用道具 举报

27

主题

0

精华

102

积分

男爵

耕战
0
鹰币
10
天龙币
0
回帖
48
附庸关系0
 楼主| 发表于 2019-12-23 14:14:13 | 显示全部楼层
我是谁004 发表于 2019-12-22 23:04
这很简单,因为触发统计一次后,不会把已经统计过的排除在外。

像您要求的那种功能(在多个区域统计单位数 ...

那这个事情确实比较复杂:如果有4个敌人的话,要做到任意4个敌人的任意20个单位到达某处,再触发某效果,确实比较困难。
回复

使用道具 举报

23

主题

1

精华

2万

积分

征服者

耕战
3880
鹰币
3530
天龙币
75
回帖
1134

翔鹰建站十周年纪念章二级翔鹰勋章第八届火箭筒杯最佳战役第八届火箭筒杯最佳新人

附庸关系0
发表于 2020-3-12 23:43:32 | 显示全部楼层
用ai语句直接清点区域内某种敌对单位总量,然后用资源形式反馈到游戏中供触发提取即可

部分范例供参考
;// 判断敌情第1类:长枪系 //

(defrule
    (up-compare-goal TROOP > 0)                                                        ;游击队模式开启
=>
    (up-full-reset-search)                                                        ;重置直接寻的系统的搜索索引和筛选状态、搜索状态
    (up-get-search-state gl-local-total)                                        ;重置搜索数量
    (set-goal gl-player 1)                                                        ;初始化搜索从玩家1开始
    (up-modify-sn sn-focus-player-number g:= gl-player)                                ;设置当前玩家为焦点玩家
    (up-modify-goal gl-point-x4 c:= 0)                                                ;初始化搜索结果为0
)

;// 判断敌情第1类:循环起点C1 //

(defrule
    (up-compare-goal TROOP > 0)                                                        ;游击队模式开启
    (or (players-stance focus-player enemy)                                        ;只侦察敌对或中立玩家
        (players-stance focus-player neutral))
=>
    (up-set-target-point gl-point-x5)                                                ;将游击队分布重心座标x5,y5设置为搜索圆点
    (up-filter-distance c: -1 c: 10)                                                ;设置搜索半径为10
                                                                                ;搜索筛选条件必须和后面分开,否则会出错
)

(defrule
    (up-compare-goal TROOP > 0)                                                        ;游击队模式开启
    (or (players-stance focus-player enemy)                                        ;只侦察敌对或中立玩家
        (players-stance focus-player neutral))
=>
    (up-find-remote c: spearman-line c: 40)                                        ;搜索指定的有威胁单位(长枪系)
    (up-get-search-state gl-local-total)                                        ;记录搜索记录
    (up-modify-goal gl-point-x4 g:+ gl-remote-total)                                ;累加威胁单位数量
    (up-reset-search 0 0 0 1)                                                        ;保留远程索引,清除远程搜索结果
)

(defrule
    (up-compare-goal TROOP > 0)                                                        ;游击队模式开启
    (or (players-stance focus-player enemy)                                        ;只侦察敌对或中立玩家
        (players-stance focus-player neutral))
    (up-compare-goal gl-remote-total == 40)                                        ;游击队模式开启
=>
    (up-jump-rule -2)                                                                ;跳回上一条语句起始处
)

(defrule
    (up-compare-goal TROOP > 0)                                                        ;游击队模式开启
    (up-compare-goal gl-player < 8)
=>
    (up-modify-goal gl-player c:+ 1)                                                ;搜索下一个玩家
    (up-modify-sn sn-focus-player-number g:= gl-player)                                ;设置当前玩家为焦点玩家
    (up-full-reset-search)                                                        ;重置直接寻的系统的搜索索引和筛选状态、搜索状态
    (up-get-search-state gl-local-total)                                        ;重置搜索数量
    (up-jump-rule -4)                                                                ;跳回循环起点C1
)

最终结果存放在gl-point-x4里

                 【2021】天堂之路DE版                                   【2016】霭之坡的窈蔚之森
个人网盘
回复

使用道具 举报

本版积分规则

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

GMT+8, 2024-11-16 17:45 , Processed in 0.148722 second(s), 76 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

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

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