大地 发表于 2026-10-8 23:53:42

美国民兵科技 不能 按照时间条件 显示

求组,我在制作美国民兵科技时,不能按照隐藏物件 的存活时间 重新显示 民兵科技按钮

      <Tech name ='MODUSLevy' type ='Normal'>
                <DBID>5451</DBID>
                <DisplayNameID>80381</DisplayNameID>
                <Cost resourcetype ='Food'>150.0000</Cost>
                <Cost resourcetype ='Gold'>150.0000</Cost>
                <ResearchPoints>1.0000</ResearchPoints>
                <Status>UNOBTAINABLE</Status>
                <Icon>ui\techs\levy\levy</Icon>
                <RolloverTextID>80380</RolloverTextID>
                <Flag>YPInfiniteTech</Flag>
                <Effects>
                        <Effect type ='Data' amount ='2.00' subtype ='FreeHomeCityUnit' unittype ='USMinutemanTechResearchPoints' relativity ='Absolute'>
                              <Target type ='Player'></Target></Effect>
                        <Effect type ='Data' amount ='6.00' subtype ='FreeHomeCityUnit' unittype ='Minuteman' relativity ='Absolute'>
                              <Target type ='Player'></Target></Effect>
                        <Effect all ='true' type ='TextOutput'>28207</Effect>
                        <Effect type ='TechStatus' status ='unobtainable'>MODUSLevy</Effect></Effects>
      </Tech>

      <Tech name="LoopSentUnit" type="Normal">
                <DBID>5700</DBID>
                <ResearchPoints>0.0000</ResearchPoints>
                <Status>OBTAINABLE</Status>
                <Flag>Volatile</Flag>
                <Flag>YPInfiniteTech</Flag>
                <Prereqs>
                        <Typecount unit='USMinutemanTechResearchPoints' count='1.00' state='noneState aliveState' operator='lt'/><!--当设定的单位 存活数量<1 时才会显示本科技-->
                </Prereqs>
                <Effects>
                        <Effect type ='TechStatus' status ='unobtainable'>LoopSentUnit</Effect>
                        <Effect type ='TechStatus' status ='obtainable'>MODUSLevy</Effect>
                </Effects>
      </Tech>

      <Unit id ='1531' name ='USMinutemanTechResearchPoints'>
                <DBID>2210</DBID>
                <ObstructionRadiusX>0.1000</ObstructionRadiusX>
                <ObstructionRadiusZ>0.1000</ObstructionRadiusZ>
                <MaxVelocity>0.0000</MaxVelocity>
                <MovementType>air</MovementType>
                <Lifespan>160.0000</Lifespan>
                <LOS>0.0000</LOS>
                <Decay delay ='0.0000' duration ='0.0000'></Decay>
                <Flag>DoNotCreateUnitGroupAutomatically</Flag>
                <Flag>NoBloodOnDeath</Flag>
                <Flag>NoUnitAI</Flag>
                <Flag>NoHPBar</Flag>
                <Flag>NonAutoFormedUnit</Flag>
                <Flag>NotSearchable</Flag>
                <Flag>NonCollideable</Flag>
                <Flag>DoNotShowOnMiniMap</Flag>
                <Flag>Immoveable</Flag>
                <Flag>Invulnerable</Flag>
                <Flag>InvulnerableIfGaia</Flag>
      </Unit>



补充内容 (2026-10-9 12:27):
已经有点思路了,我大概能解决了。谢谢关注。

大地 发表于 2026-10-9 09:31:15

本帖最后由 大地 于 2026-10-9 10:04 编辑

试了几个方法都没有成功。教程是运送 单位, 我试了完全复制教程的内容:无限循环运送单位科技2,只把送单位改成 获得民兵科技。还是没有成功,使用后出现两次连续可以点的科技,然后就没有然后了。求助

大地 发表于 2026-10-9 10:38:41

试了用 无限循环运送单位科技1 的方法,出现了奇怪的诸葛弩单位,诸葛弩一直在死亡然后生产一个单位,但是科技没有刷新,建房屋也不行。我以为是送tool2不对,就把送的tool2换成tool1,结果民兵科技就一直可以秒刷循环用。
截图上传了几次上传不上来。发科技和单位的代码把,用tool3、tool2或者tool1都不行:

      <Tech name ='MODUSLevy' type ='Normal'>
                <DBID>5451</DBID>
                <DisplayNameID>80381</DisplayNameID>
                <Cost resourcetype ='Food'>150.0000</Cost>
                <Cost resourcetype ='Gold'>150.0000</Cost>
                <ResearchPoints>1.0000</ResearchPoints>
                <Status>UNOBTAINABLE</Status>
                <Icon>ui\techs\levy\levy</Icon>
                <RolloverTextID>80380</RolloverTextID>
                <Flag>YPInfiniteTech</Flag>
                <Effects>
                        <Effect type ='Data' amount ='1.00' subtype ='FreeHomeCityUnit' unittype ='Tool2' relativity ='Absolute'>
                              <Target type ='Player'></Target></Effect>
                        <Effect type ='Data' amount ='6.00' subtype ='FreeHomeCityUnit' unittype ='Minuteman' relativity ='Absolute'>
                              <Target type ='Player'></Target></Effect>
                        <Effect all ='true' type ='TextOutput'>28207</Effect>
                        <Effect type ='TechStatus' status ='unobtainable'>MODUSLevy</Effect></Effects>
      </Tech>
      
      
      <Tech name="LoopSentUnit1" type="Normal">
                <DBID>5701</DBID>
                <ResearchPoints>0.0000</ResearchPoints>
                <Status>OBTAINABLE</Status>
                <Icon>ui\units\ironclad_icon</Icon>
                <Flag>Volatile</Flag>
                <Flag>YPInfiniteTech</Flag>
                <Prereqs>
                        <typecount unit="Tool3" count="1.00" state="noneState aliveState buildingState" operator="eq"/>
                </Prereqs>
                <Effects>
                        <Effect type ='TechStatus' status ='obtainable'>MODUSLevy</Effect>
                        <Effect type ='TechStatus' status ='unobtainable'>LoopSentUnit2</Effect>
                </Effects>
      </Tech>
      <Tech name="LoopSentUnit2" type="Normal">
                <DBID>5702</DBID>
                <ResearchPoints>0.0000</ResearchPoints>
                <Status>OBTAINABLE</Status>
                <Icon>ui\units\ironclad_icon</Icon>
                <Flag>Volatile</Flag>
                <Flag>YPInfiniteTech</Flag>
                <Prereqs>
                        <typecount unit="Tool4" count="1.00" state="noneState aliveState buildingState" operator="eq"/>
                </Prereqs>
                <Effects>
                        <Effect type ='TechStatus' status ='obtainable'>MODUSLevy</Effect>
                        <Effect type ='TechStatus' status ='unobtainable'>LoopSentUnit1</Effect>
                </Effects>
      </Tech>
      <Tech name="LoopSentUnit" type="Normal">
                <DBID>5703</DBID>
                <ResearchPoints>0.0000</ResearchPoints>
                <Status>OBTAINABLE</Status>
                <Icon>ui\units\ironclad_icon</Icon>
                <Flag>Volatile</Flag>
                <Flag>YPInfiniteTech</Flag>
                <Prereqs>
                        <typecount unit="Tool1" count="1.00" state="noneState aliveState buildingState" operator="eq"/>
                </Prereqs>
                <Effects>
                        <Effect type ='TechStatus' status ='obtainable'>MODUSLevy</Effect>
                        <Effect type ='TechStatus' status ='unobtainable'>LoopSentUnit</Effect>
                </Effects>
      </Tech>




      <Unit id ='1532' name ='Tool3'>
                <DBID>2211</DBID>
                <ObstructionRadiusX>0.00</ObstructionRadiusX>
                <ObstructionRadiusZ>0.00</ObstructionRadiusZ>
                <FormationCategory>Ranged</FormationCategory>
                <MaxVelocity>4.5000</MaxVelocity>
                <MaxRunVelocity>6.0000</MaxRunVelocity>
                <MovementType>air</MovementType>
                <Lifespan>10.0</Lifespan>
                <TurnRate>18.0000</TurnRate>
                <AnimFile>effects\projectiles\musket_ball.xml</AnimFile>
                <ImpactType>Flesh</ImpactType>
                <PhysicsInfo>dude</PhysicsInfo>
                <Icon>units\asians\chinese\chu_ko_nu\chu_ko_nu_icon_64</Icon>
                <PortraitIcon>units\asians\chinese\chu_ko_nu\chu_ko_nu_icon_portrait</PortraitIcon>
                <RolloverTextID>60151</RolloverTextID>
                <ShortRolloverTextID>60150</ShortRolloverTextID>
                <InitialHitpoints>90.0000</InitialHitpoints>
                <MaxHitpoints>90.0000</MaxHitpoints>
                <LOS>0.0000</LOS>
                <ProjectileProtoUnit>Arrow</ProjectileProtoUnit>
                <AutoAttackRange>16.0000</AutoAttackRange>
                <UnitAIType>RangedCombative</UnitAIType>
                <DeadReplacement>Tool4</DeadReplacement>
                <TrainPoints>10.0000</TrainPoints>
                <Bounty>0.0000</Bounty>
                <BuildBounty>0.0000</BuildBounty>
                <AllowedAge>1</AllowedAge>
                <Armor type ='Ranged' value ='0.2000'></Armor>
                <UnitType>EmbellishmentClass</UnitType>
                <UnitType>TestClass</UnitType>
                <UnitType>Unit</UnitType>
                <UnitType>Unattackable</UnitType>
                <Flag>CollidesWithProjectiles</Flag>
                <Flag>ApplyHandicapTraining</Flag>
                <Flag>CorpseDecays</Flag>
                <Flag>ShowGarrisonButton</Flag>
                <Flag>DontRotateObstruction</Flag>
                <Flag>ObscuredByUnits</Flag>
                <Flag>Tracked</Flag>
                <Flag>Wanders</Flag>
                <Flag>NotSelectable</Flag>
                <Flag>DoNotShowOnMiniMap</Flag>
                <Command page ='10' column ='1'>Stop</Command>
                <Command page ='10' column ='0'>Garrison</Command>
                <Command page ='10' column ='2'>Delete</Command>
                <Tactics>tool.tactics</Tactics>
      </Unit>
      <Unit id ='1533' name ='Tool4'>
                <DBID>2212</DBID>
                <ObstructionRadiusX>0.00</ObstructionRadiusX>
                <ObstructionRadiusZ>0.00</ObstructionRadiusZ>
                <FormationCategory>Ranged</FormationCategory>
                <MaxVelocity>4.5000</MaxVelocity>
                <MaxRunVelocity>6.0000</MaxRunVelocity>
                <MovementType>air</MovementType>
                <Lifespan>10.0</Lifespan>
                <TurnRate>18.0000</TurnRate>
                <AnimFile>effects\projectiles\musket_ball.xml</AnimFile>
                <ImpactType>Flesh</ImpactType>
                <PhysicsInfo>dude</PhysicsInfo>
                <Icon>units\asians\chinese\chu_ko_nu\chu_ko_nu_icon_64</Icon>
                <PortraitIcon>units\asians\chinese\chu_ko_nu\chu_ko_nu_icon_portrait</PortraitIcon>
                <RolloverTextID>60151</RolloverTextID>
                <ShortRolloverTextID>60150</ShortRolloverTextID>
                <InitialHitpoints>90.0000</InitialHitpoints>
                <MaxHitpoints>90.0000</MaxHitpoints>
                <LOS>0.0000</LOS>
                <ProjectileProtoUnit>Arrow</ProjectileProtoUnit>
                <AutoAttackRange>16.0000</AutoAttackRange>
                <UnitAIType>RangedCombative</UnitAIType>
                <TrainPoints>10.0000</TrainPoints>
                <Bounty>0.0000</Bounty>
                <BuildBounty>0.0000</BuildBounty>
                <AllowedAge>1</AllowedAge>
                <DeadReplacement>Tool3</DeadReplacement>
                <Armor type ='Ranged' value ='0.2000'></Armor>
                <UnitType>EmbellishmentClass</UnitType>
                <UnitType>Unit</UnitType>
                <UnitType>TestClass</UnitType>
                <UnitType>Unattackable</UnitType>
                <Flag>CollidesWithProjectiles</Flag>
                <Flag>ApplyHandicapTraining</Flag>
                <Flag>CorpseDecays</Flag>
                <Flag>ShowGarrisonButton</Flag>
                <Flag>DontRotateObstruction</Flag>
                <Flag>ObscuredByUnits</Flag>
                <Flag>Tracked</Flag>
                <Flag>Wanders</Flag>
                <Flag>NotSelectable</Flag>
                <Flag>DoNotShowOnMiniMap</Flag>
                <Command page ='10' column ='1'>Stop</Command>
                <Command page ='10' column ='0'>Garrison</Command>
                <Command page ='10' column ='2'>Delete</Command>
      </Unit>
      <Unit id ='1534' name ='Tool1'>
                <DBID>2213</DBID>
                <ObstructionRadiusX>0.00</ObstructionRadiusX>
                <ObstructionRadiusZ>0.00</ObstructionRadiusZ>
                <FormationCategory>Ranged</FormationCategory>
                <MaxVelocity>4.5000</MaxVelocity>
                <MaxRunVelocity>6.0000</MaxRunVelocity>
                <MovementType>air</MovementType>
                <Lifespan>0.019</Lifespan>
                <TurnRate>18.0000</TurnRate>
                <AnimFile>units\asians\chinese\chu_ko_nu\chu_ko_nu.xml</AnimFile>
                <ImpactType>Flesh</ImpactType>
                <PhysicsInfo>dude</PhysicsInfo>
                <InitialHitpoints>90.0000</InitialHitpoints>
                <MaxHitpoints>90.0000</MaxHitpoints>
                <LOS>0.0000</LOS>
                <ProjectileProtoUnit>Arrow</ProjectileProtoUnit>
                <AutoAttackRange>16.0000</AutoAttackRange>
                <UnitAIType>RangedCombative</UnitAIType>
                <TrainPoints>10.0000</TrainPoints>
                <UnitType>Unit</UnitType>
                <Flag>CollidesWithProjectiles</Flag>
                <Flag>ApplyHandicapTraining</Flag>
                <Flag>CorpseDecays</Flag>
                <Flag>ShowGarrisonButton</Flag>
                <Flag>DontRotateObstruction</Flag>
                <Flag>ObscuredByUnits</Flag>
                <Flag>Tracked</Flag>
                <Command page ='10' column ='1'>Stop</Command>
                <Command page ='10' column ='0'>Garrison</Command>
                <Command page ='10' column ='2'>Delete</Command>
      </Unit>
      <Unit id ='1535' name ='Tool2'>
                <DBID>2214</DBID>
                <ObstructionRadiusX>0.00</ObstructionRadiusX>
                <ObstructionRadiusZ>0.00</ObstructionRadiusZ>
                <FormationCategory>Ranged</FormationCategory>
                <MaxVelocity>4.5000</MaxVelocity>
                <MaxRunVelocity>6.0000</MaxRunVelocity>
                <MovementType>air</MovementType>
                <TurnRate>18.0000</TurnRate>
                <AnimFile>units\asians\chinese\chu_ko_nu\chu_ko_nu.xml</AnimFile>
                <ImpactType>Flesh</ImpactType>
                <PhysicsInfo>dude</PhysicsInfo>
                <RolloverTextID>60151</RolloverTextID>
                <ShortRolloverTextID>60150</ShortRolloverTextID>
                <InitialHitpoints>90.0000</InitialHitpoints>
                <MaxHitpoints>90.0000</MaxHitpoints>
                <LOS>0.0000</LOS>
                <ProjectileProtoUnit>Arrow</ProjectileProtoUnit>
                <AutoAttackRange>16.0000</AutoAttackRange>
                <UnitAIType>RangedCombative</UnitAIType>
                <TrainPoints>10.0000</TrainPoints>
                <UnitType>Unit</UnitType>
                <Flag>CollidesWithProjectiles</Flag>
                <Flag>ApplyHandicapTraining</Flag>
                <Flag>CorpseDecays</Flag>
                <Flag>ShowGarrisonButton</Flag>
                <Flag>DontRotateObstruction</Flag>
                <Flag>ObscuredByUnits</Flag>
                <Flag>Tracked</Flag>
                <Command page ='10' column ='1'>Stop</Command>
                <Command page ='10' column ='0'>Garrison</Command>
                <Command page ='10' column ='2'>Delete</Command>
                <Tactics>Longbowman.tactics</Tactics>
      </Unit>




大地 发表于 2026-10-9 12:27:34

已经有点思路了,我大概能解决了。谢谢关注。

こはね 发表于 2026-10-9 13:24:30

{:7_283:}解决就行,太长,留晚上再看

こはね 发表于 2026-10-9 19:52:14

感觉楼主是错误理解了<Typecount unit='USMinutemanTechResearchPoints' count='1.00' state='noneState aliveState' operator='lt'/>以及<Flag>Volatile</Flag>的使用方法。
可以直接把判断数量设定在MODUSLevy里面      <Tech name ='MODUSLevy' type ='Normal'>
                <DBID>5451</DBID>
                <DisplayNameID>80381</DisplayNameID>
                <Cost resourcetype ='Food'>150.0000</Cost>
                <Cost resourcetype ='Gold'>150.0000</Cost>
                <ResearchPoints>1.0000</ResearchPoints>
                <Status>UNOBTAINABLE</Status>
                <Icon>ui\techs\levy\levy</Icon>
                <RolloverTextID>80380</RolloverTextID>
                <Flag>YPInfiniteTech</Flag>
                <Prereqs>
                        <Typecount unit='USMinutemanTechResearchPoints' count='1.00' state='noneState aliveState' operator='lt'/><!--當設定的單位 存活數量<1 時才會顯示本科技-->
                </Prereqs>
                <Effects>
                        <Effect type ='Data' amount ='2.00' subtype ='FreeHomeCityUnit' unittype ='USMinutemanTechResearchPoints' relativity ='Absolute'>
                              <Target type ='Player'></Target></Effect>
                        <Effect type ='Data' amount ='6.00' subtype ='FreeHomeCityUnit' unittype ='Minuteman' relativity ='Absolute'>
                              <Target type ='Player'></Target></Effect>
                        <Effect all ='true' type ='TextOutput'>28207</Effect>
      </Tech>

上面的科技因为<Flag>YPInfiniteTech</Flag>的存在,只要USMinutemanTechResearchPoints的数量小于1就会一直显示。

至于什么时候使用<Flag>Volatile</Flag>,只存在于有自动改良需求。


页: [1]
查看完整版本: 美国民兵科技 不能 按照时间条件 显示