为游戏而生,让游戏更简单、快乐!
XML地图  |  收藏本站
当前位置:首页 > 资讯攻略 > 游戏攻略 > 正文

钢铁雄心4模组教程日志2.10 钢铁雄心4新人教程

更新时间:2024-11-26 04:21:15编辑:花栀
梨子手游盒子
BT梨子手游盒子(高返利版)
梨子手游福利平台,免费送首充,上线送VIP,免费领元宝和代金券。玩手游必备神器!
立即下载   精品合集

今天跟大家介绍一下scripted_effects、scripted_guis、scripted_localisation、scripted_triggers这四个文件夹。

以上四个文件夹在游戏中具有重要的作用,一些大型mod通常是依靠他们来加入游戏本身没有的机制和系统。

首先介绍scripted_effects。

scripted_triggers字面意义上是脚本效果,但我一般称呼他为动态效果。此文件的作用是将大量的效果代码综合到一句代码中,在游戏中只需调用一句代码便可完成大量的效果。就如开发程序时,将一部分代码打包设置成子函数,再在主函数中调用。

下面我们以USA大萧条民族精神的更替为例子向大家解析。

大萧条民族精神

USA在游戏开始时会自带一个大萧条的民族精神,而这个民族精神是可以通过国策削弱或移除。

可以降低大萧条效果的国策

但是当我们打开这个国策的代码时,我们会发现,他的国策代码中并没有替换民族精神的代码(remove_ideas或add_ideas)

国策代码

那么他是如何做到民族精神的更替呢?很明显,USA_great_depression_level_down的字面意思是大萧条等级下降,而USA_great_depression_level_down = yes这些代码,便是今天所要介绍的scripted_effects。

像USA_great_depression_level_down = yes这种形式的,基本就是属于scripted_effects的。

USA_great_depression_level_down是调用的id,在国策、决议、事件的效果中写上USA_great_depression_level_down= yes就代表着会触发一次USA_great_depression_level_down里面包含的所有代码。

那么USA_great_depression_level_down包含了什么代码吗?我们可以打开scripted_effects看看。

这个就是USA_great_depression_level_down包含的代码

在国策中调用USA_great_depression_level_down= yes语句时,就相当于触发了图片中所有的代码。而这些代码都使用if-limit式语句限制了条件,这段代码意思就是当国家有民族精神great_depression时,触发后用great_depression_2将其替换;有民族精神great_depression_2时,触发后用great_depression_3将其替换;有民族精神great_depression_3时,触发后移除great_depression_3。

custom_effect_tooltip = USA_great_depression_down_tt这一句代码是一个效果文本提示,本地化后显示“降低大萧条的效果”这段文本,实际上无其他效果。

若该国家一个满足条件的民族精神都没有(great_depression_3、great_depression_2、great_depression_1都没有),那么此时触发USA_great_depression_level_down= yes是没有任何效果的。

我们只需要在国策效果中加上USA_great_depression_level_down= yes,便可以得到民族精神替换的效果,而不需每次使用都将图片中一大段代码加上。

使用scripted_effects打包代码可以大大减少开发mod时的工作量,特别是想要实现民族精神更替时(jap军种对立决议中民族精神的变化也是这样设置的)。

当然,笔者这只是用一个简单的例子来介绍原理,scripted_effects在各个mod中仍有更加复杂的运用(配合on_action),但是其原理是不变的。

scripted_triggers。

scripted_triggers的功能与scripted_effects类似,都是打包代码的。不同的是,scripted_effects是将效果代码集合,而scripted_triggers是将条件代码集合,且scripted_triggers是用在visible、allowed、available、if-limit这些地方,用来作条件的。

我们可以直接看代码。

这是fra一个scripted_trigger的代码的截图。其id是FRA_controls_indochina,调用是直接写FRA_controls_indochina= yes 。这个scripted_trigger的意思便是判断671、670、286、741这四个省份是否 都 满足控制者是ROOT 或 控制者是否是ROOT的附庸。(注意都和或的范围。)我们再看看他是怎样调用的。

上图是嵌套在了一个not里面,说明需要判断的条件是与FRA_controls_indochina相反。

今天就介绍到此,明日介绍scripted_guis、scripted_localisation。

扫一扫,访问手机页面
版权、建议等问题请点击投诉反馈
最新专题更多
猜你喜欢更多
24小时热门文章
小编推荐
近期热点
热门专区
手机扫一扫轻松打开
佰玩游戏网