收起左侧

如何实现亚洲文明重建奇观?

[复制链接]
狼雨歌发表于 2024-4-15 19:15:41
想实现亚洲文明重建奇观的功能,自己新建了一个奇观马车单位,并使得奇观马车可以建造所有帝王时代属性的奇观。
但测试发现一个问题:只要建造过2次帝王时代属性的奇观(包括升帝王时代而建造的奇观),所有奇观选项全部变为灰色。
尝试新建一个科技重新启用奇观,但不能解决此问题,effect部分代码如下(尝试过了Absolute或Assign,都不行):
  1. <effect type="Data" amount="1.00" subtype="Enable" relativity="Assign">
  2. <target type="ProtoUnit">ypWCPorcelainTower5</target>
  3. </effect>
复制代码

我应该怎么写代码才能解决这个问题?

帝王时代开局,第二行的是上面提到的,重新启用奇观的科技:
{333DC66E-4AB1-4053-B651-91A07CBF64A7}.png

建造任意两个帝王时代属性奇观后,变为灰色无法继续建造,即使没有达到建造限制:
{A90591AD-B1EA-400e-9438-6E11993B3A98}.png
こはね发表于 2024-4-15 19:18:58
除了日本奇观都可以https://www.aoebbs.net/thread-577-1-1.html圣典2-2也有详细例子:https://www.aoebbs.net/tutorial-2-2.html
复制原来的奇观,然后重命名,删除<UnitType>AbstractWonder</UnitType>与<UnitType>AbstractPoliticalWonder</UnitType>;添加<flag>ShowTactics</flag>
关于日本奇观:
找半天都找不到,原来在这里
87271661d0f974a260.png
71922661d0fea946c3.png

狼雨歌发表于 2024-4-15 21:15:48
 本帖最后由 狼雨歌 于 2024-4-15 21:21 编辑 

圣典2-2我是看过了的,当时没在意这个,因为当时我以为只要引用一下就可以了,没必要搞个新的代码,结果现在被打脸了

仔细看了你给的解决方案以及链接,我很快想到一个方法,能通过科技的方式移除unitype实现重建奇观,并保留日本奇观的被动(已实践并证明这方法完全可行):

1、通过科技移除<UnitType>AbstractWonder</UnitType>、<UnitType>AbstractPoliticalWonder</UnitType>:

下面的代码摘自法国革命科技,将森林酷民转变为桑斯库洛特并移除村民相关标签的代码:
  1. <effect type="Data" amount="0.00" subtype="SetUnitType" unittype="AbstractVillager" relativity="Assign">
  2. <target type="ProtoUnit">Coureur</target>
  3. </effect>
复制代码


参照上面的例子可以这么写,其他奇观同理:
  1. <effect type="Data" amount="0.00" subtype="SetUnitType" unittype="AbstractWonder" relativity="Assign">
  2. <target type="ProtoUnit">ypWCPorcelainTower5</target>
  3. </effect>
  4. <effect type="Data" amount="0.00" subtype="SetUnitType" unittype="AbstractPoliticalWonder" relativity="Assign">
  5. <target type="ProtoUnit">ypWCPorcelainTower5</target>
  6. </effect>
复制代码


2、通过科技移除unittype的话,这一条<flag>ShowTactics</flag>完全没必要了,依然正常显示按钮。

3、需要设置为帝王时代才能研究此科技,因为如你说的那样,移除了unittype后,无法升时代。

最后非常感谢大佬,如果没有大佬的指导和启发,我根本不会想到这样的解决方法。

补充内容 (2024-4-16 11:21):
订正一些错误,请参见楼下
  • こはね : 是大佬
  • こはね : 补充一点:仅适用决定版
  • 狼雨歌 回复 こはね : 你才是大佬,我只是根据你给的方法,找到了更简单、更易于实现的方法。还有,我还测试出来了一些东西,已经写在楼下了,希望大佬能看看。
狼雨歌发表于 2024-4-16 12:23:28
以下内容均以“通过科技移除unittype”为前提:

1、<UnitType>AbstractWonder</UnitType>必须移除,这一条会阻碍重建奇观功能,但也会导致无法升时代,所以最好是帝王时代再移除此条。
<UnitType>AbstractPoliticalWonder</UnitType>无需移除,已单独测试,没有任何影响。

2、日本奇观的被动能力失效问题已找到,判定条件应该是相应奇观是否存活,并且相应奇观带有<UnitType>AbstractWonder</UnitType>,若两者都不能同时满足,不会改变被动能力的生效/失效状态。
测试部分:1)先建造幕府、鸟居、东照宫,被动能力生效,之后拆除,被动能力失效。
2)先建造幕府、鸟居、东照宫,被动能力生效,之后移除unittype,再拆除,被动能力仍然生效。
3)移除unittype,之后建造幕府、鸟居、东照宫,被动能力均不生效。

不止日本,中国的白塔也是这个问题,好在这个影响并不大,并且按照2)的方法就可以留下白塔的被动能力了(想要帝王属性的被动能力就只能在升帝王时代时建造)。
日本奇观的被动能力不和时代挂钩,所以帝王时代前把这三都造出来,在被摧毁/拆除前移除unittype就可以全部留下了。
印度的老鼠神庙是类似非洲谷仓的机制,所以不存在此问题。

3、以上,若有错误请指出。
  • こはね : 非常不错,搞MOD缺少的就是这种耐心、细心测试的人
  • こはね : 但是假设被摧毁/拆除前移除unittype,那么是否有违背奇观的设定?白塔我觉得可以直接用tactics代替,设定光环2048范围
  • こはね : 还有一种情况:假设在移除unittype后建造幕府、鸟居、东照宫,我再加上unittype又会怎样?
  • こはね : 移除unittype后实测再加上unittype没有任何变化,并且再次摧毁后还会扣掉加成,日本神社效率直接从0.13变成0.07
  • 狼雨歌 回复 こはね : 个人认为有违奇观的设定,因为奇观没了,但被动能力效果还在,不合常理。
  • 狼雨歌 回复 こはね : 看来鱼和熊掌不可兼得,这点上日本受影响最大,既想重建奇观又想要被动能力的话就只能采取2)的方法了。
  • こはね 回复 狼雨歌 : 我还有一招,建造完成建筑后立刻用0秒科技把生命值改成0,再用DeadReplacement生成奇观;有空再去测试
こはね发表于 2024-4-17 20:00:32
建造完成建筑后立刻用0秒科技把生命值改成0,再用DeadReplacement生成奇观测试,实测不行,就连编辑器直接放置东照宫也没有任何变化


こはね发表于 2024-4-17 20:40:14
又搞了几次测试如下:
进入时代似乎会绑定当前奇观,目前不明是直接绑定还是判断xxx是否存在,我觉得像是直接绑定,然后当调用名相同的奇观被摧毁时,会减一次加成,也就是我上面说到的神社又被扣了一次加成变成0.07,再继续摧毁则变成0;

测试过程:
①时代5东照宫升级-->神社+0.07
②编辑器放置时代5东照宫或deadreplacement-->神社不变
③科技变回时代1
④时代2东照宫升级神社+0.07
⑤编辑器放置时代2东照宫或deadreplacement-->神社不变
⑥删除正常建造的东照宫-->神社-0.07
⑦删除非正常建造的东照宫-->神社-0.07
⑧再删除一次-->神社-0.07,收集速率变0
  • こはね : 已确定是YPWonderJapaneseToshoguShrineX(x=2~5)激活了效果
  • 狼雨歌 : <effect type="TechStatus" status="active" deactivate="true">ypGiantBuddhaShrineBonus</effect>应该是这个?看起来可以通过科技effect变更被动生效与否,翻了一遍,使用这类代码的奇观只有东照宫、白塔。
  • 狼雨歌 : 幕府(YPWonderJapaneseShogunate2-5)的减少成本和缩短训练时间是科技提供,不是被动能力的;鸟居(YPWonderJapaneseToriiGates2-5)的1.6倍经验则是分两部分提供:建造/训练由科技提供,摧毁/击杀由被动能力提供。
  • 狼雨歌 : 综合起来看,我就说我测试的时候怎么感觉不太对(后面自己玩了几把,从探索升到帝王),个人判断,应该是升时代激活相应科技,当奇观不存在时,自动激活另一个科技扣除,但无法解释移除unittype后,被动能力保留,科技提供的部分失效问题(幕府的减成本减训练,鸟居的建造/训练1.6倍经验
  • こはね 回复 狼雨歌 : 这个好解释,编写程序时为了节省运算,先判断是否有AbstractWonder被摧毁
  • こはね : 看楼下,有视频,视频3出了点放送事故,我再次录一个
  • 狼雨歌 回复 こはね : 视频只能看到前俩个,后面俩直接404,可能是我网络问题,我改天再看。文字部分我理解了你的意思,也想吐槽官方搞的奇观散装加成,有些加成甚至不是被动能力的,判定生效与否又搞得复杂
  • こはね 回复 狼雨歌 : 我还没上传完
  • こはね 回复 狼雨歌 : 的确是ypGiantBuddhaShrineBonus提供的加成
こはね发表于 2024-4-17 21:46:47
改良YPWonderJapaneseToshoguShrineX(x=2~5)任意一个即可激活一次加成,但加成不会叠加
激活对应科技后对应调用名将会被检测(首先先检测是否有AbstractWonder存在,然后判断被摧毁的单位是否为对应奇观);当对应的奇观被摧毁后,减去加成,摧毁多少个就减多少次,持续到游戏结束



看上面的视频直接用active科技是可以获得加成的,但是摧毁后再次active无法再次获得加成,下面的视频已证实;如果同时激活两个例YPWonderJapaneseToshoguShrine2,YPWonderJapaneseToshoguShrine5,后面两个奇观ypWJToshoguShrine3与ypWJToshoguShrine5被摧毁,再次激活科技也可能无法再次获得加成


如果要重复获得加成,流程必须是激活YPWonderJapaneseToshoguShrine5(x=2~5,设x=5),然后ypWJToshoguShrine5被摧毁,激活YPWonderJapaneseToshoguShrine5-->ypWJToshoguShrine5被摧毁-->激活YPWonderJapaneseToshoguShrine5-->ypWJToshoguShrine5被摧毁...;如果流程错了的话,可能会导致无法再次获得加成;1:52开始加成失效,初步判断是连续改良两个"HP->0"的问题



视频4从4:23开始加成失效,确定为连续改良两个"HP->0"的问题


以下是我用到的科技techtreey.xml
<!--HP=>0-->
<Tech name="test203" type="Normal">
<displaynameid>999701</displaynameid>
<DBID>5290</DBID>
<ResearchPoints>1.0000</ResearchPoints>
<Status>OBTAINABLE</Status>
<Icon>ui\units\ironclad_icon</Icon>
<Flag>CheckLandHCGatherPoint</Flag>
<Flag>CountsTowardMilitaryScore</Flag>
<Flag>YPNeverObtainableAfterUse</Flag>
<Flag>YPCheckPopCap</Flag>
<Flag>Shadow</Flag>
<Flag>YPNoTextMessage</Flag>
<Effects>
<Effect type ='Data' amount ='0.00' subtype ='Hitpoints' relativity ='Assign'>
<Target type ='ProtoUnit'>ypWJToriiGates1</Target></Effect>
<Effect type ='Data' amount ='0.00' subtype ='BuildPoints' relativity ='Assign'>
<Target type ='ProtoUnit'>ypWJToshoguShrine5</Target></Effect>
<Effect type ='TextOutput'>999701</Effect>
<Effect type ='SetAge'>Age4</Effect>
<Effect type ='Data' amount ='7.00' subtype ='FreeHomeCityUnit' unittype ='Grenadier' relativity ='Absolute'>
<Target type ='Player'></Target></Effect>
<Effect type ='TechStatus' status ='unobtainable'>YPWonderJapaneseToshoguShrine5</Effect>
<Effect type ='TechStatus' status ='obtainable'>YPWonderJapaneseToshoguShrine5</Effect>
<Effect type ='TechStatus' status ='active'>YPWonderJapaneseToshoguShrine5</Effect>
</Effects>
</Tech>

<!--HP=>1000-->
<Tech name="test204" type="Normal">
<displaynameid>999702</displaynameid>
<DBID>5290</DBID>
<ResearchPoints>1.0000</ResearchPoints>
<Status>OBTAINABLE</Status>
<Icon>ui\units\ironclad_icon</Icon>
<Effects>
<Effect type ='Data' amount ='1000.00' subtype ='Hitpoints' relativity ='Assign'>
<Target type ='ProtoUnit'>ypWJToriiGates1</Target></Effect>
<Effect type ='Data' amount ='1000.00' subtype ='Hitpoints' relativity ='Assign'>
<Target type ='ProtoUnit'>ypWJToriiGates1</Target></Effect>
<Effect type="SetAge">Age0</Effect>
<Effect type ='TextOutput'>999702</Effect>
</Effects>
</Tech>
<!--active4-->
<Tech name="test304" type="Normal">
<displaynameid>999304</displaynameid>
<DBID>5290</DBID>
<ResearchPoints>1.0000</ResearchPoints>
<Status>OBTAINABLE</Status>
<Icon>ui\units\ironclad_icon</Icon>
<Flag>CheckLandHCGatherPoint</Flag>
<Flag>CountsTowardMilitaryScore</Flag>
<Flag>YPNeverObtainableAfterUse</Flag>
<Flag>YPCheckPopCap</Flag>
<Flag>Shadow</Flag>
<Flag>YPNoTextMessage</Flag>
<Effects>
<Effect type ='TechStatus' status ='unobtainable'>YPWonderJapaneseToshoguShrine4</Effect>
<Effect type ='TechStatus' status ='obtainable'>YPWonderJapaneseToshoguShrine4</Effect>
<Effect type ='TechStatus' status ='active'>YPWonderJapaneseToshoguShrine4</Effect>
<Effect type ='TextOutput'>999304</Effect>
</Effects>
</Tech>
<!--active3-->
<Tech name="test303" type="Normal">
<displaynameid>999303</displaynameid>
<DBID>5290</DBID>
<ResearchPoints>1.0000</ResearchPoints>
<Status>OBTAINABLE</Status>
<Icon>ui\units\ironclad_icon</Icon>
<Flag>CheckLandHCGatherPoint</Flag>
<Flag>CountsTowardMilitaryScore</Flag>
<Flag>YPNeverObtainableAfterUse</Flag>
<Flag>YPCheckPopCap</Flag>
<Flag>Shadow</Flag>
<Flag>YPNoTextMessage</Flag>
<Effects>
<Effect type ='TechStatus' status ='unobtainable'>YPWonderJapaneseToshoguShrine3</Effect>
<Effect type ='TechStatus' status ='obtainable'>YPWonderJapaneseToshoguShrine3</Effect>
<Effect type ='TechStatus' status ='active'>YPWonderJapaneseToshoguShrine3</Effect>
<Effect type ='TextOutput'>999303</Effect>
</Effects>
</Tech>
<!--active2-->
<Tech name="test302" type="Normal">
<displaynameid>999302</displaynameid>
<DBID>5290</DBID>
<ResearchPoints>1.0000</ResearchPoints>
<Status>OBTAINABLE</Status>
<Icon>ui\units\ironclad_icon</Icon>
<Flag>CheckLandHCGatherPoint</Flag>
<Flag>CountsTowardMilitaryScore</Flag>
<Flag>YPNeverObtainableAfterUse</Flag>
<Flag>YPCheckPopCap</Flag>
<Flag>Shadow</Flag>
<Flag>YPNoTextMessage</Flag>
<Effects>
<Effect type ='TechStatus' status ='unobtainable'>YPWonderJapaneseToshoguShrine2</Effect>
<Effect type ='TechStatus' status ='obtainable'>YPWonderJapaneseToshoguShrine2</Effect>
<Effect type ='TechStatus' status ='active'>YPWonderJapaneseToshoguShrine2</Effect>
<Effect type ='TextOutput'>999302</Effect>
</Effects>
</Tech>

<!--active5-->
<Tech name="test305" type="Normal">
<displaynameid>999305</displaynameid>
<DBID>5290</DBID>
<ResearchPoints>1.0000</ResearchPoints>
<Status>OBTAINABLE</Status>
<Icon>ui\units\ironclad_icon</Icon>
<Flag>CheckLandHCGatherPoint</Flag>
<Flag>CountsTowardMilitaryScore</Flag>
<Flag>YPNeverObtainableAfterUse</Flag>
<Flag>YPCheckPopCap</Flag>
<Flag>Shadow</Flag>
<Flag>YPNoTextMessage</Flag>
<Effects>
<Effect type ='TechStatus' status ='unobtainable'>YPWonderJapaneseToshoguShrine5</Effect>
<Effect type ='TechStatus' status ='obtainable'>YPWonderJapaneseToshoguShrine5</Effect>
<Effect type ='TechStatus' status ='active'>YPWonderJapaneseToshoguShrine5</Effect>
<Effect type ='TextOutput'>999305</Effect>
</Effects>
</Tech>

<!--unobtainable4-->
<Tech name="test404" type="Normal">
<displaynameid>999404</displaynameid>
<DBID>5290</DBID>
<ResearchPoints>1.0000</ResearchPoints>
<Status>OBTAINABLE</Status>
<Icon>ui\units\ironclad_icon</Icon>
<Flag>CheckLandHCGatherPoint</Flag>
<Flag>CountsTowardMilitaryScore</Flag>
<Flag>YPNeverObtainableAfterUse</Flag>
<Flag>YPCheckPopCap</Flag>
<Flag>Shadow</Flag>
<Flag>YPNoTextMessage</Flag>
<Effects>
<Effect type ='TechStatus' status ='unobtainable'>YPWonderJapaneseToshoguShrine4</Effect>
<Effect type ='TextOutput'>999404</Effect>
</Effects>
</Tech>

<!--unobtainable5-->
<Tech name="test405" type="Normal">
<displaynameid>999405</displaynameid>
<DBID>5290</DBID>
<ResearchPoints>1.0000</ResearchPoints>
<Status>OBTAINABLE</Status>
<Icon>ui\units\ironclad_icon</Icon>
<Flag>CheckLandHCGatherPoint</Flag>
<Flag>CountsTowardMilitaryScore</Flag>
<Flag>YPNeverObtainableAfterUse</Flag>
<Flag>YPCheckPopCap</Flag>
<Flag>Shadow</Flag>
<Flag>YPNoTextMessage</Flag>
<Effects>
<Effect type ='TechStatus' status ='unobtainable'>YPWonderJapaneseToshoguShrine5</Effect>
<Effect type ='TextOutput'>999405</Effect>
</Effects>
</Tech>

<!--unobtainable3-->
<Tech name="test403" type="Normal">
<displaynameid>999403</displaynameid>
<DBID>5290</DBID>
<ResearchPoints>1.0000</ResearchPoints>
<Status>OBTAINABLE</Status>
<Icon>ui\units\ironclad_icon</Icon>
<Flag>CheckLandHCGatherPoint</Flag>
<Flag>CountsTowardMilitaryScore</Flag>
<Flag>YPNeverObtainableAfterUse</Flag>
<Flag>YPCheckPopCap</Flag>
<Flag>Shadow</Flag>
<Flag>YPNoTextMessage</Flag>
<Effects>
<Effect type ='TechStatus' status ='unobtainable'>YPWonderJapaneseToshoguShrine3</Effect>
<Effect type ='TextOutput'>999403</Effect>
</Effects>
</Tech>

<!--unobtainable2-->
<Tech name="test402" type="Normal">
<displaynameid>999402</displaynameid>
<DBID>5290</DBID>
<ResearchPoints>1.0000</ResearchPoints>
<Status>OBTAINABLE</Status>
<Icon>ui\units\ironclad_icon</Icon>
<Flag>CheckLandHCGatherPoint</Flag>
<Flag>CountsTowardMilitaryScore</Flag>
<Flag>YPNeverObtainableAfterUse</Flag>
<Flag>YPCheckPopCap</Flag>
<Flag>Shadow</Flag>
<Flag>YPNoTextMessage</Flag>
<Effects>
<Effect type ='TechStatus' status ='unobtainable'>YPWonderJapaneseToshoguShrine2</Effect>
<Effect type ='TextOutput'>999402</Effect>
</Effects>
</Tech>stringtabley.xml

<String _locID="999302">active2</String>
<String _locID="999303">active3</String>
<String _locID="999304">active4</String>
<String _locID="999305">active5</String>

<String _locID="999402">unobtainable2</String>
<String _locID="999403">unobtainable3</String>
<String _locID="999404">unobtainable4</String>
<String _locID="999405">unobtainable5</String>

<String _locID="999997">Test046 Active</String>
<String _locID="999998">Test045 Active</String>
<!--因为帖内多次编辑会导致转义字符&_g_t;变成>,所以用CDATA-->
<String _locID="999701"><![CDATA[HP=>0]]>0</String>
<String _locID="999702"><![CDATA[HP=>1000]]></String>

  • こはね : 第4个视频,2:17创建了两个东照宫5;2:23删除其中一个;2:25神社由0.21-0.07恢复初始0.14,2:30改良HP=>0(神社增加0.07),2:35摧毁另一个东照宫(神社恢复初始0.14);2:40改良HP=>0(神社增加0.07)
  • こはね : 把自己给绕晕了
  • こはね : 第4个视频:2:58神社仍为0.14初始值;3.00改良HP=>0(神社增加0.07);3:05创建3个东照宫5;3:12删除其中一个(神社由0.21-0.07恢复初始0.14);3:16改良HP=>0(神社增加0.07);3:21-3:23拆除另外两个东照宫(神社由0.21-0.07-0.07变成0.07);往后神社未获得加成的正常值为0.07;

    3:36改良HP=>0(神社由0.07+0.07变成0.14);3:36改良HP=>0(因为二次改良不会存在加成神社仍为0.14);3:49删除东照宫(神社由变回0.07),3:55后无论改了多少次都为0.07不变
  • こはね : 已确认无法再次获得加成的原因为连续改良两次YPWonderJapaneseToshoguShrine5;
こはね发表于 2024-4-17 23:56:20

奇观复建大工程复杂流程(因为神话时代判断式的原因,决定版是否可行未知,别说决定版了,旧版是否可行也未知):
首先强调,要对每个时代每个升级做不同的处理;假设时代5奇观东照宫为例子,那么就给在YPWonderJapaneseToshoguShrine5处给他启用一个科技A

techtreey.xml
科技A设定0秒科技,条件利用神话时代判断式,判断ypWJToshoguShrine5存活数量是否<1;效果设定先禁用科技B再启用科技B,启用新建筑ypWJToshoguShrine51(随便命名吧,有多少个奇观你就要搞多少个。能不能用foreach+for循环循环?)
科技B默认状态为禁用↓
科技B同样设定0秒科技,条件利用神话时代判断式ypWJToshoguShrine51存活数量是否>0;效果将ypWJToshoguShrine51的生命值改成0,禁用科技A,ypWJToshoguShrine5的建造时间改成0,直接激活YPWonderJapaneseToshoguShrine5

protoy.xml
ypWJToshoguShrine51设定死亡后变成ypWJToshoguShrine5;把ypWJToshoguShrine51的死亡动画改成idle;DeadReplacement有时候可能会失效,可能是DeadReplacementLifespan设定0的问题?
		<DeadReplacement>ypWJToshoguShrine5</DeadReplacement>

<DeadReplacement>1</DeadReplacementLifespan>


以上构成无限循环



假设决定版可用神话时代判断式
TypeCountAoM leftover. Checks whether or not the total count of units of the given type in the given state(s) for the player matches the expected condition.In Legacy AoE3, as prerequisite status updates are only triggered either when a technology is researched or the player total popcap is changed, TypeCount prerequisites can only work properly over buildings or units that change the player’s total popcap.In AoE3DE, from the Mexican Civilization release onwards, units and buildings can be assigned theForceFullTechUpdate protoUnitFlag, so they can trigger prereq updates once built/created and once destroyed/killed, and thus be properly accounted for this particular prerequisite type.unitUnit Type to be checked.<TypeCount unit='TownCenter' count='1' operator='gte' state='aliveState' />
countExpected unit count
operatorOperator to be used for condition checking.
stateExpected unit KB state (aliveState, deadState, buildingState, anyState, noneState). States can be combined, when separated by space or comma. If not set,defaults to anyState, in AoM and Legacy AoE3, or to noneState, in AoE3DE.


那就不需要新单位了,只需要两个0秒科技:科技A默认状态为禁用科技A检测ypWJToshoguShrine5是否大于1,禁用科技B再启用科技B,ypWJToshoguShrine5增加<UnitType>AbstractWonder</UnitType>,直接激活YPWonderJapaneseToshoguShrine5
科技B检测ypWJToshoguShrine5是否小于1,禁用科技A再启用科技A;ypWJToshoguShrine5移除<UnitType>AbstractWonder</UnitType>
大概可以构成无限循环

  • 狼雨歌 : 大佬牛逼,测了一个晚上了?文字我看懂了,但我没神话时代mod经验啊
  • こはね 回复 狼雨歌 : 當設定的單位數量>X時才會顯示本科技<typecount unit="Protoname" count="X.00" state="noneState aliveState buildingState" operator="lt"/>
  • こはね : 聖典1-2,決定版state用aliveState
  • こはね : 此方法暂时作废;理论上方案可行,但我又卡前无古人后无来者的bug了
  • こはね : 已成功制作无限循环效果,但可以抛弃该方案,因为有更好的方法;既然是检测单位,我为什么不直接检测新建筑?然后直接扣加成,完全没必要再去摧毁旧奇观减加成;具体请看https://www.aoebbs.net/thread-1858-1-1.html
こはね发表于 2024-4-20 21:32:12
跳转到