萌新学作图 发表于 2024-3-24 12:56:06

请问能导出别的玩家剧情里面的触发吗

例如斗兽场中的触发,我在高级编辑器里面负责黏贴到别剧情中会覆盖掉我原版的触发,单独导出触发或者自己写的触发该放倒那个文件夹中

萌新学作图 发表于 2024-3-24 13:50:44

目前知道把文件放在tigger3里面

萌新学作图 发表于 2024-3-24 15:15:05

请问这个资源里面的高级触发文件无法下载是失效了吗

こはね 发表于 2024-3-24 16:52:45

自定义触发参考https://www.aoebbs.net/tutorial-16-2.html;剧情内导出触发大概也没多大作用

剧情外获取触发源代码:
旧版请打开Documents(文档)\My Games\Age of Empires 3\Trigger3\trigtemp.xs
决定版请打开C:\用户(users)\你的用户名\Games\Age of Empires 3 DE\一串数字,你的steamID\Trigger\trigtemp.xs

萌新学作图 发表于 2024-3-24 17:10:19


打开之后是空白页

萌新学作图 发表于 2024-3-24 17:14:08

为什么有的剧情里面这个条件打开是长这样

萌新学作图 发表于 2024-3-24 17:14:34

而我新建的地图里面这个条件下的选项只有三个

萌新学作图 发表于 2024-3-24 17:39:02

目的是这样
玩家消灭对方一个单位获得一个金币
金币数量达到达到500 扣除金币
在探险家周围或国定建筑物周围刷新一只军队来充当战争奖励

萌新学作图 发表于 2024-3-24 17:42:45

rule _P1_Gold_C
highFrequency
active
{
   bool bVar0 = (trGetStatValue(1, 2) >= trQuestVarGet("P1 Kill")+ 1);

   bool bVar1 = (trQuestVarGet("P8C") == 1);


   bool tempExp = (bVar0 && bVar1);
   if (tempExp)
   {
      trQuestVarSet("P1 Kill", trQuestVarGet("P1 Kill") + 1);
      trPlayerGrantResources(1, "Gold", 1);
      xsDisableRule("_P1_Gold_C");
      trEcho("Trigger disabling rule P1_Gold_C");
      trDelayedRuleActivation("_P1_Gold_C");

萌新学作图 发表于 2024-3-24 17:43:15

这个获得金币的触发写出来了怎么把他放进剧情文件里面

こはね 发表于 2024-3-24 20:57:41

斗兽场获得金币的触发条件(我不推荐使用,实测延迟过高,用卡车碾压后金币数与实际杀伤数差太远,延迟起码有1分钟):
    <Condition name="Quest Var Get Stat">
      <Param name="PlayerID" dispName="$$22534$ Player" VarType="player">1</Param>
      <Param name="StatID" dispName="$$25424$ Type" VarType="kbstat">0</Param>
      <Param name="QuestVar" dispName="$$32954$ Name" varType="string">QV1</Param>
      <Param name="Op" dispName="$$22297$" VarType="operator">==</Param>
      <Param name="Value" dispName="Value" VarType="float">1</Param>
      <Expression>trGetStatValue(%PlayerID%, %StatID%) %Op% trQuestVarGet("%QuestVar%") + %Value%</Expression>
    </Condition>


出现延迟的原因是调用了trQuestVar;建议自定义触发除非有必要,否则应尽量避开使用QuestVar;
这是我改良后的条件
    <Condition name="*Advanced Quest Var Get Stat">
                <Param name="PlayerID" dispName="$$22534$$Fake Player" VarType="player">1</Param>
                <Param name="StatID" dispName="$$25424$$Stat Type" VarType="kbstat">0</Param>
                <Param name="QuestVar" dispName="$$32954$$Var Name" varType="string">QV1</Param>
                <Param name="Op" dispName="$$22297$$Operator" VarType="operator">==</Param>
                <Param name="Value" dispName="Value" VarType="float">1</Param>
                <Expression>trGetStatValue(%PlayerID%, %StatID%) %Op% trQuestVarGet("%QuestVar%") + %Value%</Expression>
    </Condition>



萌新学作图 发表于 2024-3-24 23:11:02

好了

こはね 发表于 2024-3-26 01:10:01

方案2:
为了容易修改设定3个触发吧。
第一个触发就是检测食物,进贡食物、刷兵触发,不能设定循环。
第二个触发设定作用中,不能设定循环,条件设定timer延时5秒,效果用Fire Event激活第一个与第三个触发
第三个触发不能设定作用中,不能设定循环,条件设定timer延时5秒,效果用Fire Event激活第一个与第二个触发
第二、第三个触发就会变成一个每隔5秒运行1次“第一个触发”的无限循环
页: [1]
查看完整版本: 请问能导出别的玩家剧情里面的触发吗