こはね 发表于 2020-1-15 14:51:54

帝国3限制建筑只能在某单位(地基)上建造

类似贸易站那种只能建造在贸易站地点那种效果,将建筑物放置在指定单位或建筑物上面,然后建造好原有的单位或建筑物(地基)就会消失,当建筑物被摧毁后,地基重新重新;制作这个很简单,只需要改一下protoy.xml添加3个语句;不过一般人弄不出来这种效果,因为这个是几个flag与某个特殊语句一起混用的,不用几个小时慢慢删减、慢慢增加语句去测试的话根本找不出来。
<br/>
      设定地基需要满足下列三个条件:
      <ol>
      <li>建筑物添加<span style="color:blue">&lt;</span><span style="color:red">SocketUnitType</span><span style="color:blue">&gt;</span>xxxxxx<span style="color:blue">&lt;/</span><span style="color:red">SocketUnitType</span><span style="color:blue">&gt;</span>;其中xxxxxx为地基的调用名</li>
      <li>建筑物添加因环境自动旋转;即为添加<span style="color:blue">&lt;</span><span style="color:red">Flag</span><span style="color:blue">&gt;</span>SnapPlacement<span style="color:blue">&lt;/</span><span style="color:red">Flag</span><span style="color:blue">&gt;</span></li>
      <li><b>地基</b>强制设定为大自然,即为添加<span style="color:blue">&lt;</span><span style="color:red">Flag</span><span style="color:blue">&gt;</span>ForceToGaia<span style="color:blue">&lt;/</span><span style="color:red">Flag</span><span style="color:blue">&gt;</span></li>
      </ol>
<br/>
<br/>
<br/>
<br/>
      
以下面两个建筑为例,将SkyPassage改成地基,LightHouse必须建造在SkyPassage上面。
    <br/><br/>(SkyPassage添加<span style="color:blue">&lt;</span><span style="color:red">Flag</span><span style="color:blue">&gt;</span>ForceToGaia<span style="color:blue">&lt;/</span><span style="color:red">Flag</span><span style="color:blue">&gt;</span>)
<br/>
<table border=1 cellspacing=0 cellpadding=0 class='txtbox'>
<tr class='txtTop'>
<td class='txtTopLeft'/>
<td class='txtTopText'>
<span class='TextColor'>&nbsp;&nbsp;protoy.xml - 记事本 ---(SkyPassage)</span></td>
<td class='Text__'>
<span class='Color__'><b>__</b></td>
<td class='Textsquare'>
<span class='SquareColor'>□</td>
<td class='TextX'>
<span class='ColorX'>X</td>
<td class='txtTopRight'/>
</tr>
<tr class='SecondHeight'>
<td class='SecondLeft'/>
<td class='SecondText' colspan="4">
<span class='SecondTextColor'>文件(F)&nbsp;&nbsp;编辑(E)&nbsp;&nbsp;格式(O)&nbsp;&nbsp;查看(V)&nbsp;&nbsp;帮助(H)</td>
<td class='SecondRight'/>
</tr>
<tr class='ThirdHeight'>
<td class='ThirdLeft'/>
<td class='ThirdCenter' colspan="4"></td>
<td class='ThirdRight'/>
</tr>
<tr class='Left' style='height:400.1pt'>
<td class='EditorLeft' rowspan="3"/>
<td class='Editorbackground' colspan="4">
<div contentEditable='true' class='EditorDiv' style='height:400.1pt;overflow-y:auto;'><pre>
        &lt;Unit id='293' name='SkyPassage'&gt;
                &lt;DBID&gt;15&lt;/DBID&gt;
                &lt;DisplayNameID&gt;09924&lt;/DisplayNameID&gt;
                &lt;EditorNameID&gt;09923&lt;/EditorNameID&gt;
                &lt;ObstructionRadiusX&gt;2.8000&lt;/ObstructionRadiusX&gt;
                &lt;ObstructionRadiusZ&gt;2.8000&lt;/ObstructionRadiusZ&gt;
                &lt;MaxVelocity&gt;0.0000&lt;/MaxVelocity&gt;
                &lt;MovementType&gt;land&lt;/MovementType&gt;
                &lt;AnimFile&gt;Age of Mythology\Building\SkyPassage\SkyPassage.xml&lt;/AnimFile&gt;
                <span style="color:blue">&lt;</span><span style="color:red">Flag</span><span style="color:blue">&gt;</span>ForceToGaia<span style="color:blue">&lt;/</span><span style="color:red">Flag</span><span style="color:blue">&gt;</span>
                &lt;ImpactType&gt;Wood&lt;/ImpactType&gt;
                &lt;PhysicsInfo&gt;house&lt;/PhysicsInfo&gt;
                &lt;PlacementFile&gt;buildingsmall.xml&lt;/PlacementFile&gt;
                &lt;Icon&gt;Age of Mythology\Building\SkyPassage\SkyPassage_icon_64&lt;/Icon&gt;
                &lt;PortraitIcon&gt;Age of Mythology\Building\SkyPassage\SkyPassage_icon_128&lt;/PortraitIcon&gt;
                &lt;RolloverTextID&gt;09923&lt;/RolloverTextID&gt;
                &lt;ShortRolloverTextID&gt;09922&lt;/ShortRolloverTextID&gt;
                &lt;InitialHitpoints&gt;3000.0000&lt;/InitialHitpoints&gt;
                &lt;MaxHitpoints&gt;3000.0000&lt;/MaxHitpoints&gt;
                &lt;LOS&gt;12.0000&lt;/LOS&gt;
                &lt;BuildPoints&gt;60.0000&lt;/BuildPoints&gt;
                &lt;BuildLimit&gt;20&lt;/BuildLimit&gt;
                &lt;Bounty&gt;60.0000&lt;/Bounty&gt;
                &lt;BuildBounty&gt;0.0000&lt;/BuildBounty&gt;
                &lt;Cost resourcetype='Wood'&gt;200.0000&lt;/Cost&gt;
                &lt;Cost resourcetype='Gold'&gt;150.0000&lt;/Cost&gt;
                &lt;Cost resourcetype='Fame'&gt;3.0000&lt;/Cost&gt;
                &lt;BuildingWorkRate&gt;1.0000&lt;/BuildingWorkRate&gt;
                &lt;AllowedAge&gt;0&lt;/AllowedAge&gt;
                &lt;Armor type='Siege' value='0.5000'/&gt;
                &lt;BuilderLimit&gt;8&lt;/BuilderLimit&gt;
                &lt;Contain&gt;Unit&lt;/Contain&gt;
                &lt;MaxContained&gt;100.0000&lt;/MaxContained&gt;
                &lt;UnitType&gt;LogicalTypeValidSabotage&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeMinimapFilterEconomic&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeHandUnitsAutoAttack&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeBuildingsNotWalls&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeRangedUnitsAutoAttack&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeVillagersAttack&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeHandUnitsAttack&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeShipsAndBuildings&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeRangedUnitsAttack&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeBuildingsNotWallsOrGroves&lt;/UnitType&gt;
                &lt;UnitType&gt;ConvertsHerds&lt;/UnitType&gt;
                &lt;UnitType&gt;CountsTowardEconomicScore&lt;/UnitType&gt;
                &lt;UnitType&gt;HasBountyValue&lt;/UnitType&gt;
                &lt;UnitType&gt;ColonyBuilding&lt;/UnitType&gt;
                &lt;UnitType&gt;BuildingClass&lt;/UnitType&gt;
                &lt;UnitType&gt;TestClass&lt;/UnitType&gt;
                &lt;UnitType&gt;Building&lt;/UnitType&gt;
                &lt;UnitType&gt;SpecialPowers&lt;/UnitType&gt;
                &lt;flag&gt;AnnounceDestruction&lt;/flag&gt;
                &lt;Flag&gt;PlaceAnywhere&lt;/Flag&gt;
                &lt;Flag&gt;AllowAutoGarrison&lt;/Flag&gt;
                &lt;Flag&gt;CollidesWithProjectiles&lt;/Flag&gt;
                &lt;Flag&gt;StartsAtFullEfficiency&lt;/Flag&gt;
                &lt;Flag&gt;Immoveable&lt;/Flag&gt;
                &lt;Flag&gt;NoBloodOnDeath&lt;/Flag&gt;
                &lt;Flag&gt;ObscuresUnits&lt;/Flag&gt;
                &lt;Flag&gt;NoIdleActions&lt;/Flag&gt;
                &lt;Flag&gt;NonAutoFormedUnit&lt;/Flag&gt;
                &lt;Flag&gt;Doppled&lt;/Flag&gt;
                &lt;Flag&gt;SelectWithObstruction&lt;/Flag&gt;
                &lt;Flag&gt;PaintTextureWhenPlacing&lt;/Flag&gt;
                &lt;Flag&gt;FlattenGround&lt;/Flag&gt;
                &lt;Flag&gt;ColonyBuilding&lt;/Flag&gt;
                &lt;Flag&gt;ColonyPlacementL&lt;/Flag&gt;
                &lt;Flag&gt;HideGarrisonFlag&lt;/Flag&gt;
                &lt;Flag&gt;HasGatherPoint&lt;/Flag&gt;
                &lt;Flag&gt;Tracked&lt;/Flag&gt;
                &lt;Command page='1' column='1'&gt;SetUnitAsHomeCityGatherPoint&lt;/Command&gt;
                &lt;Command page='10' column='3'&gt;Delete&lt;/Command&gt;
                &lt;Command page='10' column='2'&gt;Eject&lt;/Command&gt;
                &lt;Command page='10' column='1'&gt;SetGatherPointEconomy&lt;/Command&gt;
                &lt;Command page='10' column='0'&gt;SetGatherPointMilitary&lt;/Command&gt;
        &lt;/Unit&gt;</pre></div></td>
<td class='EditorRight' rowspan="3"/>
</tr>
<tr class='ButtonHeight'>
<td class='ButtonWidth' colspan="4"></td>
</tr>
</table>
<br/>
<br/>(LightHouse添加<span style="color:blue">&lt;</span><span style="color:red">SocketUnitType</span><span style="color:blue">&gt;</span>SkyPassage<span style="color:blue">&lt;/</span><span style="color:red">SocketUnitType</span><span style="color:blue">&gt;</span>与<span style="color:blue">&lt;</span><span style="color:red">Flag</span><span style="color:blue">&gt;</span>SnapPlacement<span style="color:blue">&lt;/</span><span style="color:red">Flag</span><span style="color:blue">&gt;</span>)
<table border=1 cellspacing=0 cellpadding=0 class='txtbox'>
<tr class='txtTop'>
<td class='txtTopLeft'/>
<td class='txtTopText'>
<span class='TextColor'>&nbsp;&nbsp;protoy.xml - 记事本 ---(LightHouse)</span></td>
<td class='Text__'>
<span class='Color__'><b>__</b></td>
<td class='Textsquare'>
<span class='SquareColor'>□</td>
<td class='TextX'>
<span class='ColorX'>X</td>
<td class='txtTopRight'/>
</tr>
<tr class='SecondHeight'>
<td class='SecondLeft'/>
<td class='SecondText' colspan="4">
<span class='SecondTextColor'>文件(F)&nbsp;&nbsp;编辑(E)&nbsp;&nbsp;格式(O)&nbsp;&nbsp;查看(V)&nbsp;&nbsp;帮助(H)</td>
<td class='SecondRight'/>
</tr>
<tr class='ThirdHeight'>
<td class='ThirdLeft'/>
<td class='ThirdCenter' colspan="4"></td>
<td class='ThirdRight'/>
</tr>
<tr class='Left' style='height:400.1pt'>
<td class='EditorLeft' rowspan="3"/>
<td class='Editorbackground' colspan="4">
<div contentEditable='true' class='EditorDiv' style='height:400.1pt;overflow-y:auto;'><pre>        &lt;Unit id='293' name='LightHouse'&gt;
                &lt;DBID&gt;15&lt;/DBID&gt;
                &lt;DisplayNameID&gt;00899&lt;/DisplayNameID&gt;
                &lt;EditorNameID&gt;00898&lt;/EditorNameID&gt;
                &lt;ObstructionRadiusX&gt;3.0000&lt;/ObstructionRadiusX&gt;
                &lt;ObstructionRadiusZ&gt;3.0000&lt;/ObstructionRadiusZ&gt;
                &lt;MaxVelocity&gt;0.0000&lt;/MaxVelocity&gt;
                &lt;MovementType&gt;land&lt;/MovementType&gt;
                &lt;AnimFile&gt;Age of Mythology\Building\lighthouse\lighthouse.xml&lt;/AnimFile&gt;
                <span style="color:blue">&lt;</span><span style="color:red">SocketUnitType</span><span style="color:blue">&gt;</span>SkyPassage<span style="color:blue">&lt;/</span><span style="color:red">SocketUnitType</span><span style="color:blue">&gt;</span>
                <span style="color:blue">&lt;</span><span style="color:red">Flag</span><span style="color:blue">&gt;</span>SnapPlacement<span style="color:blue">&lt;/</span><span style="color:red">Flag</span><span style="color:blue">&gt;</span>
                &lt;ImpactType&gt;Wood&lt;/ImpactType&gt;
                &lt;PhysicsInfo&gt;house&lt;/PhysicsInfo&gt;
                &lt;PlacementFile&gt;buildingsmall.xml&lt;/PlacementFile&gt;
                &lt;Icon&gt;Age of Mythology\Building\lighthouse\lighthouse_64&lt;/Icon&gt;
                &lt;PortraitIcon&gt;Age of Mythology\Building\lighthouse\lighthouse_128&lt;/PortraitIcon&gt;
                &lt;RolloverTextID&gt;00896&lt;/RolloverTextID&gt;
                &lt;ShortRolloverTextID&gt;00895&lt;/ShortRolloverTextID&gt;
                &lt;InitialHitpoints&gt;2500.0000&lt;/InitialHitpoints&gt;
                &lt;MaxHitpoints&gt;2500.0000&lt;/MaxHitpoints&gt;
                &lt;LOS&gt;72.0000&lt;/LOS&gt;
                &lt;BuildPoints&gt;120.0000&lt;/BuildPoints&gt;
                &lt;Bounty&gt;100.0000&lt;/Bounty&gt;
                &lt;BuildBounty&gt;50.0000&lt;/BuildBounty&gt;
                &lt;Cost resourcetype='Wood'&gt;200.0000&lt;/Cost&gt;
                &lt;Cost resourcetype='Gold'&gt;300.0000&lt;/Cost&gt;
                &lt;BuildingWorkRate&gt;1.0000&lt;/BuildingWorkRate&gt;
                &lt;AllowedAge&gt;0&lt;/AllowedAge&gt;
                &lt;Armor type='Siege' value='0.5000'/&gt;
                &lt;BuilderLimit&gt;8&lt;/BuilderLimit&gt;
                &lt;Contain&gt;Unit&lt;/Contain&gt;
                &lt;MaxContained&gt;20.0000&lt;/MaxContained&gt;
                &lt;UnitType&gt;LogicalTypeValidSabotage&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeMinimapFilterEconomic&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeHandUnitsAutoAttack&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeBuildingsNotWalls&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeRangedUnitsAutoAttack&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeVillagersAttack&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeHandUnitsAttack&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeShipsAndBuildings&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeRangedUnitsAttack&lt;/UnitType&gt;
                &lt;UnitType&gt;LogicalTypeBuildingsNotWallsOrGroves&lt;/UnitType&gt;
                &lt;UnitType&gt;ConvertsHerds&lt;/UnitType&gt;
                &lt;UnitType&gt;CountsTowardEconomicScore&lt;/UnitType&gt;
                &lt;UnitType&gt;HasBountyValue&lt;/UnitType&gt;
                &lt;UnitType&gt;ColonyBuilding&lt;/UnitType&gt;
                &lt;UnitType&gt;BuildingClass&lt;/UnitType&gt;
                &lt;UnitType&gt;TestClass&lt;/UnitType&gt;
                &lt;UnitType&gt;Building&lt;/UnitType&gt;
                &lt;UnitType&gt;SpecialPowers&lt;/UnitType&gt;
                &lt;Flag&gt;AllowAutoGarrison&lt;/Flag&gt;
                &lt;Flag&gt;CollidesWithProjectiles&lt;/Flag&gt;
                &lt;Flag&gt;StartsAtFullEfficiency&lt;/Flag&gt;
                &lt;Flag&gt;Immoveable&lt;/Flag&gt;
                &lt;Flag&gt;NoBloodOnDeath&lt;/Flag&gt;
                &lt;Flag&gt;ObscuresUnits&lt;/Flag&gt;
                &lt;Flag&gt;NoIdleActions&lt;/Flag&gt;
                &lt;Flag&gt;NonAutoFormedUnit&lt;/Flag&gt;
                &lt;Flag&gt;Doppled&lt;/Flag&gt;
                &lt;Flag&gt;SelectWithObstruction&lt;/Flag&gt;
                &lt;Flag&gt;PaintTextureWhenPlacing&lt;/Flag&gt;
                &lt;Flag&gt;FlattenGround&lt;/Flag&gt;
                &lt;Flag&gt;ColonyBuilding&lt;/Flag&gt;
                &lt;Flag&gt;ColonyPlacementL&lt;/Flag&gt;
                &lt;Flag&gt;HideGarrisonFlag&lt;/Flag&gt;
                &lt;Flag&gt;HasGatherPoint&lt;/Flag&gt;
                &lt;Flag&gt;Tracked&lt;/Flag&gt;
                &lt;Command page='22' column='1'&gt;SetUnitAsHomeCityGatherPoint&lt;/Command&gt;
                &lt;Command page='11' column='0'&gt;Abilities&lt;/Command&gt;
                &lt;Command page='10' column='3'&gt;Delete&lt;/Command&gt;
                &lt;Command page='10' column='2'&gt;Eject&lt;/Command&gt;
                &lt;Command page='10' column='1'&gt;SetGatherPointEconomy&lt;/Command&gt;
                &lt;Command page='10' column='0'&gt;SetGatherPointMilitary&lt;/Command&gt;
        &lt;/Unit&gt;</pre></div></td>
<td class='EditorRight' rowspan="3"/>
</tr>
<tr class='ButtonHeight'>
<td class='ButtonWidth' colspan="4"></td>
</tr>
</table>
<br/>
<br/>
<br/>
<br/>上述修改效果如图所示:
<br/>
页: [1]
查看完整版本: 帝国3限制建筑只能在某单位(地基)上建造