qq80388043 发表于 2025-3-23 10:40

会写触发的大佬进来一下,谢谢。。

以前玩过一个对抗图,每个队伍1号位是建房子,2号位后面都是随机一个英雄,我想问一下,这种触发IA触发要怎么写?

ykily21 发表于 2025-4-2 20:38

一、随便找一张原本地图,用编辑器打开。假设玩家1为队伍1“队长”,玩家7位队伍2“队长”,可以建设建筑、出兵。玩家2-6、8-12只可以用英雄,为英雄用户。
二、队伍设置。
   1.编辑玩家数量。
      编辑器主界面,点击“情节”,点选“玩家”。在“玩家属性”界面,“玩家”选项下,“控制者”选项里,全部点选为“用户”。勾选“固定开始点”。
   2.玩家队伍。
   “玩家属性”界面下,“队伍”选项下,勾选“自定义队伍设置”。点击“添加队伍”,添加队伍2。通过鼠标拖选把玩家7-12编辑到队伍2中。
三、玩家开始点设置。
   1.在地图里找块空地(可以放置开始点/建筑物的地方,删树木用“装饰物面板”),比如左上角。
   2.编辑器主界面,依次点击“窗口”、“新面板”、“地形面板”。
   3.第三排选项,“应用高度”点选“推平地表”,尺寸选择最右边的8。然后点左上角,把地面整平。大概8宽16长的区域。
   4.第二排选项,“应用悬崖”点选“升高2层”,尺寸8。把之前整平的区域升高个几层。这样就有了一块8X16的高台区域。
   “单位面板”,把除玩家1、玩家7以外玩家的“开始点”放到这块空地上,位置偏上方(下方后面要用),叠加到1个点上就行。
四、新建矩形区域。
   点选“区域面板”,新建一个“矩形区域”把上面说的“空地”框起来。这个新建的矩形区域会被自动命名为“矩形区域00X”,重命名区域为“玩家开始点”。
五、触发设置。
   编辑器主界面,点击“模块”,点击“触发编辑器”。可以看到有个地图自带的触发,用来配置初始环境、资源、单位,AI。可以把它删掉,再写个触发分配这些。但是新手不推荐。
    1.删除玩家初始单位。
    打开“触发编辑器”,新建一个空白触发。可以看到右边的触发编辑界面里有“事件”、“条件”、“动作”。
    鼠标放在这三个选项任意之一上,右键选择“新事件”。点选“地图初始化”,点确定。此时新建的触发中添加了一条新事件“地图初始化”。
    鼠标右键,点选“新动作”。在弹出来的选项卡里,点“全部”,打开下拉菜单。找到“单位组”,点选“单位组-选取单位组内单位做动作”,此时可以看到红色的“单位组”、“做动作”。
    点击“单位组”,点击“函数”右边的下拉菜单,点选“矩形区域内的单位”。 点击(可用地图区域),在新的选项卡里选择,点击“选择矩形区域”。在“区域面板”点选前面新建的那个“玩家开始点”。点确定。
    点击“动作”,点“全部”,点“单位”,点选“删除”。
    点击“触发单位”,上拉点选为“选取单位”。确定。
那么这个新建的触发为:
    事件
——地图初始化
    条件
——
    动作
——单位组 - 选取 (初始点111 <预设> 内的所有单位) 内所有单位 (单位 - 删除 (选取单位))

至此,开始游戏后,玩家1、玩家7正常游戏。玩家2-6、8-12懵逼。你说的“随机选取英雄”,非常复杂,就算有现成的触发也得自己调试,不适合新手。比较简单的方法如下:
1.编辑器主界面,点“物品编辑器”——单位——找到“小酒馆”。(CTRL+F,搜索“小酒馆”)
2.复制、粘贴几个小酒馆,为小酒馆1、小酒馆2、小酒馆3......
3.点选小酒馆1,双击“售出单位”,把里面的单位都删了。点击“添加单位”,添加“大魔法师”......等你想要选择的英雄,确定。
4.单位选项卡下,点选“大魔法师”。拉到最下面,找到“雇佣开始时间”,改为0。(如果是原版中立英雄,还要把“科技树—需求”下的“祭坛”删掉。)
5.在左上角空地的下方,依次摆放小酒馆1、2、3、4......
6.此时测试游戏,因为小酒馆的所属是中立单位,“英雄用户”依然无法选取英雄。
7.物品管理器—单位—小精灵,复制粘贴,重命名为“小精灵X”,删掉自带技能,添加“中立无敌”的技能。
8.在摆放小酒馆的区域添加10个小精灵X,依次双击小精灵改变它的所属玩家。
9.此时测试游戏,可能会因为没有人口,不允许选取英雄。而且“英雄用户”所控制的英雄死亡后无法复活。
10.物品管理器—单位—国王祭坛,复制粘贴,重命名为“祭坛”,添加“中立无敌”技能、“立刻复活英雄”技能。下拉,“提供人口”改为10。修改复活英雄所需资源,在编辑器主界面“高级”—“游戏平衡性常数”
    英雄复活也可以用触发实现。新建2个矩形区域,队伍1复活区域、队伍2复活区域。触发如下:
      事件
      单位 - 任意单位 死亡
      条件
      (((触发单位) 是 英雄) 等于 TRUE) 且 (((触发单位) 是 玩家1(红色) 的同盟单位) 等于 TRUE)
      动作
      设置 local_Fuhuodian = (队伍1复活区域 <预设> 的中心点)
      等待 30.00 秒(游戏时间)
      英雄 - 立即复活 (触发单位) 在 (loc_Fuhuodian) , 隐藏 复活动画
      点 - 清除 (loc_Fuhuodian)
以上是队伍1的英雄死亡30秒复活在队伍1复活区域的触发,队伍2修改下相关设定即可。






   
      
页: [1]
查看完整版本: 会写触发的大佬进来一下,谢谢。。