大果粒复合水果 发表于 2025-5-30 16:27:44

有没有剧情编辑器触发器教程

看也看不懂,试也试不懂,什么army,aicomms

こはね 发表于 2025-5-31 11:43:58

无教程,这里有一个army deploy
https://www.aoebbs.net/thread-1683-1-1.html


xs地图触发倒是有各种参考,我以前弄了很多

こはね 发表于 2025-5-31 19:35:37

关于自己打的触发代码:
比如https://www.aoebbs.net/thread-1839-1-1.html这帖里面的触发就被整合成了两个触发

    <Effect name="*Convert by Player Build Controls Socket">
      <Param name="SrcObject" dispName="$$22421$$Unit" varType="unit">default</Param>
      <Param name="Socket" dispName="$$32975$$Socket" VarType="unit">default</Param>
      <Command>for(i=1;&lt;=cNumberPlayers)</Command>
      <Command>{</Command>
      <Command>if(trPlayerControlsSocket(i, "%Socket%"))</Command>
      <Command>{</Command>
      <Command>trUnitSelectClear();</Command>
      <Command loop="" loopParm="SrcObject">trUnitSelect("%SrcObject%");</Command>
      <Command>trUnitConvert(i);</Command>
      <Command>}</Command>
      <Command>}</Command>
    </Effect>

    <Effect name="*Unit Create-If Unit Owned">
      <Param name="SrcObject" dispName="$$22295$$Source Units" VarType="unit">default</Param>
      <Param name="ProtoName" dispName="$$22434$$ProtoName" varType="protounit">Villager</Param>
      <Param name="Location" dispName="" varType="area">0,0,0</Param>
      <Param name="Count" dispName="$$22435$$Count" varType="long">0</Param>
      <Command>for(i=1;&lt;=cNumberPlayers)</Command>
      <Command>{</Command>
      <Command>trUnitSelectClear();</Command>
      <Command loop="" loopParm="SrcObject">trUnitSelect("%SrcObject%");</Command>
      <Command>if(trUnitIsOwnedBy(i))</Command>
      <Command>{</Command>
      <Command>for (u=0; &lt;%Count%)</Command>
      <Command>trUnitCreate("%ProtoName%", "default", %Location%, 0, i);</Command>
      <Command>}</Command>
      <Command>}</Command>
    </Effect>







假如不整合触发,用游戏自带的触发需要使用
    <Condition name="Player Controls Socket">
      <Param name="PlayerID" dispName="$$22301$$Player" VarType="player">1</Param>
      <Param name="Socket" dispName="$$32975$$Socket" VarType="unit">default</Param>
      <Expression>trPlayerControlsSocket(%PlayerID%, "%Socket%")</Expression>
    </Condition>

    <Effect name="Convert">
      <Param name="SrcObject" dispName="$$22421$$Unit" varType="unit">default</Param>
      <Param name="PlayerID" dispName="$$22301$$Player" varType="player">1</Param>
      <Command>trUnitSelectClear();</Command>
      <Command loop="" loopParm="SrcObject">trUnitSelect("%SrcObject%");</Command>
      <Command>trUnitConvert(%PlayerID%);</Command>
    </Effect>



    <Effect name="Unit Create">
      <Param name="PlayerID" dispName="$$22301$$Player" varType="player">1</Param>
      <Param name="ProtoName" dispName="$$22434$$ProtoName" varType="protounit">Villager</Param>
      <Param name="ScenName" dispName="$$20509$$Name" varType="string">Default</Param>
      <Param name="Location" dispName="" varType="area">0,0,0</Param>
      <Param name="Heading" dispName="$$22432$$Heading" varType="long">0</Param>
      <Command>trUnitCreate("%ProtoName%", "%ScenName%", %Location%, %Heading%, %PlayerID%);</Command>
    </Effect>

    <Effect name="Unit Create Multi">
      <Param name="PlayerID" dispName="$$22301$$Player" varType="player">1</Param>
      <Param name="ProtoName" dispName="$$22434$$ProtoName" varType="protounit">Villager</Param>
      <Param name="Location" dispName="" varType="area">0,0,0</Param>
      <Param name="Count" dispName="$$22435$$Count" varType="long">0</Param>
      <Param name="Heading" dispName="$$22432$$Heading" varType="long">0</Param>
      <Command>for (i=0; &lt;%Count%)</Command>
      <Command>trUnitCreate("%ProtoName%", "default", %Location%, %Heading%,, %PlayerID%);</Command>
    </Effect>
    <Effect name="Army Deploy">
      <Param name="SrcArmy" dispName="$$22348$$Army" VarType="group">default</Param>
      <Param name="ProtoName" dispName="$$22434$$ProtoName" varType="protounit">Villager</Param>
      <Param name="Location" dispName="" varType="area">0,0,0</Param>
      <Param name="Count" dispName="$$22435$$Count" varType="long">0</Param>
      <Param name="Heading" dispName="$$22432$$Heading" varType="long">0</Param>
      <Param name="Clear" dispName="$$22464$$Clear Existing Units:" varType="bool">true</Param>
      <Command>trArmyDispatch("%SrcArmy%", "%ProtoName%", %Count%, %Location%, %Heading%, %Clear%);</Command>
    </Effect>




总结来说就是我嫌弃一个一个触发点击麻烦,为了方便就整合起来,因此不会去找什么游戏自带触发教程
页: [1]
查看完整版本: 有没有剧情编辑器触发器教程