请选择 进入手机版 | 继续访问电脑版
收起左侧

[求助] 代码没执行成功,求助

[复制链接]
xuemugua发表于 2025-1-14 11:45:17
【决定版】我想在游戏开始的时候,选择埃塞俄比亚,就会自动执行这个科技,如下面的techtreey代码,但是没执行成功,是什么问题?
<tech name="AllgoUp" type="Normal">
<dbid>20000</dbid>
<displaynameid>27845</displaynameid>
<status>OBTAINABLE</status>
<Flag>Volatile</Flag>
<flag>Shadow</flag>
<prereqs>
<TechStatus status ='Active'>DEAge0Ethiopian</TechStatus>
</prereqs>
<effects>
……
こはね发表于 2025-1-14 20:22:26
代码不生效这种,不好找原因,如果不生效你可以直接把科技添加在DEAge0Ethiopian里面
  • xuemugua : 找到原因了,圣典里有一处Volatile的说明是自动改良,但是又查到另一处说明是激活,我想应该是激活才对
  • こはね 回复 xuemugua : Volatile作用是满足条件所有玩家自动改良,但你上面的代码真的不好找原因
  • こはね : 如果是我,我会利用<civname>Japanese</civname>这种来限定国家,具体可参考https://www.aoebbs.net/thread-1858-1-1.html
  • xuemugua 回复 こはね : 感谢,用了civname有些国家成功有些不成功,最后我还是直接放进civs里去启动了
狼雨歌发表于 7 天前
 本帖最后由 狼雨歌 于 2025-2-2 17:05 编辑 

想实现你的设想,只使用techtreey即可实现,需同时有3个要素:
1)<researchpoints>必须设置为0,不能省略
2)<prereqs>前置要求
3)<status>OBTAINABLE</status>
决定版有不少隐藏科技都有这三种要素
下面是我写的科技,最少的代码可以实现你要的效果,效果为当使用印度时,生效并启用软剑兵,若使用的不是印度,不会生效
你写的没效果是因为此条代码无效<TechStatus status ='Active'>DEAge0Ethiopian</TechStatus>
原因是所有文明初始科技开局后不会处于active状态,无法满足你写的前置要求
  1. <tech name="wrsSpecialUnitUnlockIndian" type="Normal">
  2. <dbid>78711</dbid>
  3. <researchpoints>0.0000</researchpoints>————必须
  4. <status>OBTAINABLE</status>————必须
  5. <prereqs>————必须
  6. <culture>————此条可以填写culture文化或civ国家名,可在civ文件查询对应国家名代码或文化名代码
  7. <culturename>Indian</culturename>
  8. </culture>
  9. </prereqs>
  10. <effects>
  11. <effect type="Data" amount="1.00" subtype="Enable" relativity="Absolute">
  12. <target type="ProtoUnit">AbstractUrumi</target>
  13. </effect>
  14. </effects>
  15. </tech>
复制代码

跳转到