要塞吧 关注:22,648贴子:598,615
  • 23回复贴,共1

【要塞·决定版】入侵任务事件编辑器研究讲解

只看楼主收藏回复

我发现我是真的闲,成天搞这些没人关心的玩意。


IP属地:山东1楼2023-11-17 20:43回复
    首先感谢@zhoutianji
    大佬的帖子《要塞编辑器解读》,针对原版要塞的编辑器进行了一系列的讲解,尽管里面有一些错误之处。
    下面开始更新正片内容,内容经过我的不断实验认证,还是比较靠谱的,但不足之处还是希望大家能够及时批评指正。


    IP属地:山东2楼2023-11-17 20:49
    收起回复
      一、基本概念
      1.选择士兵状态与临时队伍
      如图所示,选择士兵状态是在点选士兵时出现士兵状态栏的状态,无论士兵是否在移动,只要出现士兵状态栏,主视角就处在选择士兵状态。
      当选择士兵状态取消时,取消之前选择士兵状态栏内的所有士兵处于同一临时队伍。每个士兵只能有一个临时队伍,当士兵有了新的临时队伍时,将会从旧的临时队伍中退出。

      2.当前时间
      当前时间是指游戏过程中所处的设定时间,是一个瞬时变量,以月份的形式表示在固定时间长度内。若游戏处于“时间:开启”状态,当前时间将会流逝,反之,将会停止。
      在单机游戏中,满足以下情况中的任何一种,当前时间将停止流逝:
      ① 触发“时间:关闭”事件的事件时间之后,触发“时间:开启”事件的事件时间之前;
      ② 主玩家没有士兵且没有据点;
      ③ 主玩家在开局或触发事件:放弃城堡(见后续讲解)后有据点但没有粮仓,且没有处在选择士兵状态下。

      在当前时间停止流逝的状态下,以下变量将受到影响:
      ① 无论声望月变化量是多少,声望值始终不变;
      ② 无论税收等级是多少,都没有任何税收。
      ③ 树木停止增长。
      人口增减、食物消耗、苹果换季、动物繁殖、作物生长等状态都不会受到影响,满足触发条件的事件也会被触发。
      在多人游戏中,不存在时间停止流逝状态,即当前时间会一直流逝,无法被影响。
      3.游戏时间
      游戏时间是一个状态量,包括“游戏时间:开始”和“游戏时间:停止”两种状态。游戏默认处处在“游戏时间:开始”状态下。
      “游戏时间:停止”状态下,游戏的一切状态暂停。包括地图编辑器“游戏时间:停止”状态、单人游戏暂停状态、多人游戏正在同步连接状态。其中,多人游戏正在同步连接的“游戏时间:停止”状态期间不允许任何操作。
      注意,触发事件优先于“游戏时间:开始”。即在“游戏时间:暂停”状态下发生的操作(如地图编辑时“游戏时间:暂停”状态下编辑地图、单人游戏暂停状态下工人的休息/劳作等),当游戏开始后,事件将被优先判定,再发生“游戏时间:暂停”状态下发生的操作。比如游戏设定在1066年1月开始,胜利事件为1066年1月地图上没有狼,若在“游戏时间:暂停”状态下地图编辑产生狼,不开启“游戏时间:开启”状态保存地图,在游戏开始后,将优先触发胜利事件,游戏胜利,然后地图上才产生狼。

      4.事件时间
      事件时间是指事件触发的时间,是一个参数,由地图制作者根据事件需要自行设定。在当前时间大于事件时间时,满足编辑条件(以下将统称事件条件)的事件将被触发,触发的效果为编辑动作(以下将统称事件触发)的效果。

      5. 声望惊降
      声望惊降是指当具有持续声望影响的恐怖事件发生时,声望大于60时会突然下降的情况。声望惊降的数值为:
      ⌈ (当前声望-60)/2 ⌉
      例如,当前声望为65时,声望惊降的数值为⌈ (65-60)/2 ⌉ = ⌈ 2.5 ⌉ = 3.
      声望惊降后,声望为62.
      当前声望为100时,声望惊降后声望为80.


      IP属地:山东3楼2023-11-17 20:53
      回复
        二、事件条件篇
        条件参数、条件变量和触发条件是事件条件的三要素,条件参数由事件编辑者确定,触发条件逻辑已默认设定(部分可由玩家指定),触发条件通常为条件变量大于等于条件参数。当玩家条件变量满足触发条件时,将触发事件。除“自动-停止”外,其他事件条件可以相互叠加。
        编辑事件条件时,对相应的条件点击“关闭”,使之切换为“活动”,该条件才有效。
        事件条件默认为满足所有事件条件后再触发事件。若需只要任意事件条件满足即可触发事件(最常见的例子是失败触发),点击“所有”,切换成“任意”即可,如需恢复,再次点击。

        1. 事件条件: 自动-停止
        条件参数:事件时间T
        触发条件:当前时间≥T
        注释:当前时间处于事件时间之后,事件自动触发。无法与其他事件条件叠加。未编辑任何事件条件时,默认为自动-停止事件条件。
        2. 事件条件: 人口
        条件参数:事件时间T,人口P
        触发条件:当前时间≥T,当前人口≥P
        3. 事件条件: 领主被杀
        条件参数:事件时间T,所有领主(领主1,2,3,…,8)的存活状态
        触发条件:当前时间≥T,任意/指定领主死亡时
        注释:通常用来做己方领主被杀时的失败触发。
        4. 事件条件: 敌方领主被杀
        条件参数:事件时间T,敌方领主(领主2,3,4,5)的存活状态
        触发条件:当前时间≥T,任意/指定敌方领主死亡时
        注释:通常用来做敌方领主被杀时的胜利触发。
        5. 事件条件: 获得金币
        条件参数:事件时间T,金钱G
        触发条件:当前时间≥T,当前金钱≥G
        6. 事件条件: 得到物资
        条件参数:事件时间T,物资Gs,物资由事件编辑者指定
        触发条件:当前时间≥T,当前物资≥Gs
        7. 事件条件: 没有剩余的敌人和入侵
        条件参数:事件时间T,敌人和非重复入侵数量
        触发条件:当前时间≥T,敌人和非重复入侵数量为零
        注释:暂不明确与原版效果的差异。
        8. 事件条件: 城墙封闭
        条件参数:事件时间T,据点包围状态
        触发条件:当前时间≥T,据点被包围(?)
        注释:可以算作包围据点的不止围墙,建筑、河流、高原、石子,甚至树都可以包围据点,这些障碍行走的物体我们以下统称为障碍物。据点包围圈内是否有敌军不影响据点被包围状态。
        据点是否被包围的判定逻辑仍旧是个谜。按理来讲,据点被包围的判定逻辑应该是:至少存在一个连续的封闭曲线,使得曲线上的点全部落在障碍物上,且据点出入口在封闭曲线内部。
        然而,如果据点很近的附近被障碍物包围,比如正好用围墙、高原等无缝隙围住据点,尽管据点无法进出,很可能也不会被算做据点包围。但有的时候据点没有被完全包围,有狭窄的缝隙可供通过,却反而会被判定据点被包围。这两种情况我认为是游戏故障(bug),也就是说据点被包围的触发逻辑存在bug。
        9. 事件条件: 地图上没有狼
        条件参数:事件时间T,地图上狼的数量Nw
        触发条件:当前时间≥T,地图上狼的数量Nw为零
        注释:如果狼繁殖或狼群袭击,新出现的狼也会算作地图上的狼。但未出现在地图上的狼群袭击事件中的狼不算地图上狼的数量。
        10. 事件条件: 地图上有敌人
        条件参数:事件时间T,地图上敌人的数量
        触发条件:当前时间≥T,地图上敌人的数量>0
        注释:同样,未发生的入侵事件中的敌人不算地图上敌人的数量,但已发生的入侵事件中的敌人算地图上敌人的数量。存在于地图上的土匪Bad也算作敌人。
        11. 事件条件: 没有人剩余
        条件参数:事件时间T,我方士兵和农民数量NP为零
        触发条件:当前时间≥T,我方士兵和农民的数量NP为零
        注释:闲置的农民也算。小丑、旅行艺人、领主妻子、鸡、牛、鬼魂等不占人口的农民不算。一般用于攻城时的失败判定。
        12. 事件条件: 你的部队被消灭
        条件参数:事件时间T, 2,3,4,5号玩家各自对玩家部队的伤亡数量Nd2,3,4,5或玩家部队死亡数量Nd
        触发条件:当前时间≥T,2,3,4,5号玩家各自对玩家部队的伤亡数量或玩家部队死亡数量Nd*满足事件编辑者设定的条件
        注释:选择“老鼠”“蝰蛇”“肥猪”“野狼”分别对应2,3,4,5号玩家对1号玩家部队的伤亡数量,比如选择“老鼠”时,你的部队被老鼠消灭Nd2以上时,触发事件。选择“任一”时,玩家部队死亡数量在Nd以上时,触发事件。选择“全部”时,条件无效,事件将永不被触发。
        注意,被野生生物杀害的部队也计入1号玩家部队死亡数量Nd*。解散不计入玩家部队死亡数量Nd*。
        13. 事件条件: 消灭敌人数
        条件参数:事件时间T, 1号玩家分别对2,3,4,5号玩家部队的杀敌数量Nk2,3,4,5或玩家部队总杀敌数量Nk
        触发条件:当前时间≥T,1号玩家分别对2,3,4,5号玩家部队的杀敌数量或玩家部队总杀敌数量满足事件编辑者设定的条件
        注释:选择“老鼠”“蝰蛇”“肥猪”“野狼”分别对应1号玩家对2,3,4,5号玩家部队的杀敌数量,比如选择“老鼠”时,你消灭老鼠的部队Nk2以上时,触发事件。选择“任一”时,玩家部队总杀敌数量在Nk以上时(包括对6,7,8号玩家的伤亡数量),触发事件。选择“全部”时,条件无效,事件将永不被触发。
        注意,杀害的野生生物数量不计入玩家部队总杀敌数量。
        14. 事件条件: 地图上没有敌人
        条件参数:事件时间T,地图上敌人的数量Enemy
        触发条件:当前时间≥T,地图上敌人的数量=0
        注释:未发生的入侵事件中的敌人不算地图上敌人的数量,但已发生的入侵事件中的敌人算地图上敌人的数量。存在于地图上的土匪Bad也算作敌人。
        15. 事件条件: 被祝福百分数
        条件参数:事件时间T,被祝福百分数Re
        触发条件:当前时间≥T,被祝福百分数≥Re
        16. 事件条件: 喝酒百分数
        条件参数:事件时间T,喝酒百分数Ale
        触发条件:当前时间≥T,喝酒百分数≥Ale
        17. 事件条件: 最大残暴度
        条件参数:事件时间T,残暴度Fear
        触发条件:当前时间≥T,残暴度≥|Fear|
        18. 事件条件: 最大舒适度
        条件参数:事件时间T,舒适度Fear
        触发条件:当前时间≥T,舒适度≥|Fear|
        19. 事件条件: 摧毁敌人所有粮仓
        条件参数:事件时间T,敌人粮仓数量Ng
        触发条件:当前时间≥T,敌人粮仓数量Ng=0
        20. 事件条件: 到达标记处
        条件参数:事件时间T,标记X
        触发条件:当前时间≥T,标记X在5个单位范围内存在我方士兵
        注释:事件条件可触发的条件是我方士兵进入标记附近如下图陷阱所示的范围内。高度不影响范围判定。

        21. 事件条件: 标记处无建筑
        条件参数:事件时间T,标记X
        触发条件:当前时间≥T,标记X处无建筑
        注释:可与援军、胜利、失败甚至旅行艺人事件结合,比如规定时间内摧毁大教堂判定胜利等。甚至可与土匪Bad事件结合使用,发挥空间比较大的一个事件条件,全看地图编辑者的想象力。
        22. 事件条件: 拥有石墙
        条件参数:事件时间T, 石墙总数量SW
        触发条件:当前时间≥T,(石梯数+石墙数+垛墙数+小石门楼数×25+大石门楼数×36)≥SW
        23. 事件条件: 拥有石塔
        条件参数:事件时间T,四种石塔总数量ST
        触发条件:当前时间≥T,四种石塔总数量≥ST


        IP属地:山东4楼2023-11-17 21:03
        收起回复
          好好好


          IP属地:辽宁来自Android客户端5楼2023-11-17 21:11
          回复
            入侵路线是什么意思


            IP属地:辽宁来自Android客户端6楼2023-11-17 21:11
            收起回复
              小时候就瞎玩,弄出一堆不伦不类的东西。这个东西细细研究其实很有意思,不过萤火虫给的地图编辑器是阉割版,好多东西都没有。


              IP属地:黑龙江来自Android客户端7楼2023-11-17 21:17
              收起回复
                三、事件触发篇
                1. 事件触发: 胜利
                变量:无
                效果:直接胜利
                2. 事件触发: 胜利并发送消息
                变量:发送指定消息
                效果:消息结束后胜利
                3. 事件触发: 失败
                变量:无
                效果:直接失败
                4. 事件触发: 失败并发送消息
                变量:发送指定消息
                效果:消息结束后失败
                5. 事件触发: 消息
                变量:发送指定消息
                效果:发送指定消息
                6. 事件触发: 旅行艺人
                变量:重复计数,重复月份
                效果:恐惧指数非负时,声望+16,持续三个月。旅行艺人的生死不影响声望的提升。
                7. 事件触发: 瘟疫
                变量:瘟疫数量,重复计数,重复月份
                效果:声望惊降,声望-6持续约2个月
                8. 事件触发: 小麦病
                变量:重复计数,重复月份
                效果:玩家有小麦农场时,庄稼全部腐烂重置
                9. 事件触发: 象鼻虫
                变量:重复计数,重复月份
                效果:玩家有啤酒花农场时,庄稼全部腐烂重置
                10. 事件触发: 苹果枯萎病
                变量:重复计数,重复月份
                效果:玩家有苹果园时,果树全部重置
                11. 事件触发: 干旱
                变量:重复计数,重复月份
                效果:70-90%的成熟树木枯萎
                注释:枯萎的树木无法继续增殖。枯萎的效果仅针对未枯萎的成熟树木,枯萎树木和生长树木不列入逻辑计算。
                12. 事件触发: 兔子大繁衍
                变量:重复计数,重复月份
                效果:从地图上首次出现兔子的地方诞生一批兔子。若地图上不曾有过兔子,则从路标处诞生一批兔子。若地图上既不曾有过兔子,也没有路标,则事件触发失败,不会有兔子诞生。
                13. 事件触发: 疯牛
                变量:重复计数,重复月份
                效果:玩家有奶牛场时,奶牛全部死亡
                14. 事件触发: 狼群袭击
                变量:狼群数量W,重复计数,重复月份
                效果:声望惊降,声望-3持续约3个月。W批狼群从地图上首次出现狼的地方诞生。若地图上不曾有过狼,则从路标处诞生W批狼。若地图上既不曾有过狼,也没有路标,则触发失败,不会有狼诞生,不会有声望减少。
                15. 事件触发: 狼休息
                变量:无
                效果:地图上的狼进入休息状态。
                注释:附近的生物骚动会影响狼群休息状态,一批狼群中的一员被攻击会立即觉醒该批狼群。
                16. 事件触发: 狼觉醒
                变量:狼群数量W
                效果:W群狼觉醒。
                17. 事件触发: 土匪 Bad
                变量:土匪数量L,重复计数,重复月份
                效果:声望惊降,声望-5持续约4个月,L个链锤兵从路标入侵。若没有路标,则触发失败,不会有土匪诞生,不会有声望减少。
                18. 事件触发: 土匪 Good
                变量:土匪数量B,重复计数,重复月份
                效果:B个弓箭手和1个僧侣支援从路标进入据点。若没有路标,则触发失败,不会有土匪诞生。
                19. 事件触发: 婚礼
                变量:一次性
                效果:声望+8持续3个月,全局只能享受一次。女士的生死不影响声望提升。
                20. 事件触发: 小丑
                变量:一次性
                效果:声望+2持续12个月,全局只能享受一次。小丑的生死不影响声望提升。
                21. 事件触发: 关闭反复入侵
                变量:无
                效果:关闭事件时间之前的所有反复入侵
                22. 事件触发: 盗贼偷粮
                变量:盗贼偷粮百分比%,重复计数,重复月份
                效果:当粮仓有粮食时,盗贼偷取百分比%的粮食
                23. 事件触发: 火!
                变量:火的数量F,重复计数,重复月份
                效果:随机F处起火,声望-2持续约2个月。
                注释:没有声望惊降。
                24. 事件触发: 改变部队效忠阵营
                变量:标记X,玩家Y
                效果:标记X在10个单位范围内的Y方士兵归属主玩家,且与任何一个范围内的士兵处在同一临时阵营的所有士兵也会归属主玩家,不论他们离标记X有多远。
                注释:临时阵营的含义见篇头基本概念。标记X的10个单位范围如下图陷阱所在区域所示。Y方单位也可以是敌方单位。事件只能触发1次,即便触发事件时范围内没有Y方单位,也不会再触发第二次;即便触发事件前范围内没有Y方单位,触发事件时正好有Y方单位走进范围,他们也会改变归属。

                25. 事件触发: 援军
                变量:标记X,援军队伍A
                效果:在标记X处生成援军队伍A
                26. 事件触发: 显示AI工人符号
                变量:无
                效果:暂不明确
                27. 事件触发: 隐藏AI工人符号
                变量:无
                效果:暂不明确
                28. 事件触发: 时间关闭
                变量:无
                效果:当前时间停留在事件时间上
                29. 事件触发: 时间开始
                变量:无
                效果:当前时间从事件时间开始流逝
                30. 事件触发: 放弃城堡
                变量:无
                效果:除金钱外,地图上所有非主玩家阵营的据点、建筑(及建筑状态)、农民(及农民状态)、士兵、物资归属主玩家,且所有非主玩家阵营的领主消失。
                注释:非主玩家阵营的领主消失不是被杀死。地图上的所有据点都是你的!所有据点都可以为你提供人口上限,但只有一个据点能生产农民。生产农民的据点按优先级划分:玩家8>玩家7>玩家6>玩家5>玩家4>玩家3>玩家2>玩家1。举个例子,现在有玩家1、2、4、7的据点,当放弃据点事件触发时,四个玩家除金钱、领主外的一切归属主玩家,主玩家的主据点变为玩家7的据点,领主和所有闲置农民奔赴玩家7的据点,且从这个据点生产闲置农民。
                31. 事件触发: 自动动画开启
                变量:无
                效果:从事件时间开始,开启三个月后有入侵的自动提示
                32. 事件触发: 自动动画关闭
                变量:无
                效果:从事件时间开始,关闭三个月后有入侵的自动提示
                33. 事件触发: 入侵路线
                变量:标记X
                效果:从事件时间开始,入侵将优先赶往标记X处。


                IP属地:山东8楼2023-11-17 21:17
                回复
                  🐮


                  IP属地:广东来自iPhone客户端9楼2023-11-19 22:13
                  回复
                    我做入侵地图时不小心把玩家控制的领主删掉了还能复原吗?


                    IP属地:澳大利亚10楼2023-11-22 12:13
                    收起回复
                      正好在摸索着做图


                      IP属地:陕西来自Android客户端11楼2023-11-22 13:49
                      回复
                        希望制作更多优秀的地图🗺️


                        IP属地:陕西来自Android客户端12楼2023-12-17 13:14
                        回复
                          大佬,地图编辑器的造入侵地图,你遇到过敌人一出现自己建筑瞬间就全塌了的情况吗?


                          IP属地:河南来自Android客户端13楼2023-12-22 15:00
                          收起回复
                            楼主好,请问编辑器里的胜利条件怎么增加?比如默认只能选4种物资,黄金只能25000。如果我想胜利条件要8种物资,黄金50000该怎么做?原版本我用金山游侠倒是能改黄金上限,但决定版不行。


                            IP属地:浙江来自iPhone客户端14楼2024-01-08 22:15
                            收起回复
                              我就想控制老婆和神父这样的特殊单位,好做剧情,编辑器可以帮我实现吗


                              IP属地:湖北15楼2024-01-11 14:54
                              收起回复