欢迎光临散文网 会员登陆 & 注册

Stellaris Events Modding 进阶教程 绪论

2023-03-08 11:34 作者:群星中文Modder协会  | 我要投稿

各位好啊,这边是XSkiper,因为这边搞了个modder协会官方号,所以就决定继续搞之前写了一部分的教程专栏,投上去来捧个场了~

虽然视频版的教程更好传播,但作为参考的话,大概还是文字版会比较方便……不管咋样,我还是先投了再说吧。

本部分教程和视频教程并非同一作者,和那部分教程也没什么关联,所以请稍微注意一下()


这篇教程面向那些较为熟悉群星mod制作方法和工具(例如对common的大部分文件都有了一定了解,会使用VSC或IDEA的对应插件),但苦于不熟悉蠢驴事件的结构如何满足自己构想的modder们,所以完全不知道啥是事件啥是modifier啥是AND OR NOT的可以出门左转了。

当然如果你满足于修改武器、科技数值,图标和本地化,没有事件写作需求的话,也可以跳过这个教程了,毕竟前面将会是一堆事件代码示例,乱七八糟的效果解析,可能会伤害到不少萌新......但对于有能力在群星mod制作中更进一步的同志,我还是十分希望这个教程能提供一些帮助的。

图一「难得有这分才,为何不去磨练精进!」

 

图二「长度只有40行的代码,已经厌倦了吧?」

 


图三a 一些简单的事件链


图三b 一些行数较短的事件


咳咳,贴这几张图是不是显得我跟赶人走一样......算了不管了(

我们的进阶教程大部分情况下还是不会碰到*单个*事件上千行的,也不会出现像这个事件链图片一样复杂的设计......大概。

好啦言归正传,让我们看看绪论要讨论的主要问题:

这个教程究竟是在搞什么?

作为进阶教程,我在这里的主要目的是介绍一些常用的事件写法以及思路,给modder们打通思路,想明白如何利用蠢驴提供的有限代码达到自己的目的,换句话说,戴着镣铐起舞(笑)。

如何理解这个目的呢?我在这里可以举几个简单的事件例子给你们体会下()

 

 



范例0-1 简单且无聊的投票事件

 

图四a 投票系统,尽管大家好像都喜欢一言堂
图四b 好吧,确实一言堂比较好


举几个小例子,如果你想搞点小弟跟你一起投票开会的排面活,你就需要一系列在各个国家传递的事件,就像这样:

图五 要是能反馈C国的名字就好了

 

很简单的流程图,通过玩家国家启动开关,触发A、B、C三个国家的事件,A、B、C三个国家选择后,再将投票数据通过另一个事件反馈到玩家国家即可。

我们决定写三个事件:投票触发(以下简称事件α)、投票选择(以下简称事件β)、投票结果总结(以下简称事件γ)

但是这里出现了几个问题:

  • 如何在A、B、C三个国家的事件β中找到事件α的触发者,以得到文本引用国家名字,以及反馈到正确的目标,使玩家国家准时触发事件γ的效果?

  • 如何计算投票支持票和反对票数量,以得到法案是否通过的结果?

  • 如何在不同的投票结果下同一事件(即事件γ)显示不同文本?

  • 如果有投票者是玩家,选择拖延时间,不进行投票(即“断无此疏”),如何强迫其投票?

这样或那样的问题,就会开始出现,无疑对于萌新是一个巨大打击(尽管我敢说没有萌新会尝试写这种东西,写了也不会考虑这些情况)。这个教程的主要目的,就是介绍这些问题的解决思路,帮助进阶modder更好的进行事件写作。

 


如上面这些问题所示,就技术层面,这篇教程的主要内容是关于事件的各种小技巧和操作实例。例如scope语句的使用详解,UI的制作,变量flag的使用,各种封装效果的使用方法等。

而事件制作更重要的,则是思路。在各个技巧与实例之外,我也会谈谈设计事件的思路方向,如何从自己的能力出发,想出可行的mod文案,如何把脑内点子转换为可行的“蠢驴思路”,以及如何更快更好的提升modding技术。

以上一堆废话说完了,我们就可以开始教程的第一篇了,正式深入events这一个stellaris mod核心,芜湖~

图六 游戏开始


等一下

在上车前,我要先确认一下,各位都掌握了VSC(也就是Visual Studio Code)以及插件cw tools的用法了吗?

 

图七 记住这两个货


没有的话......还不快去看隔壁无言的教程(笑),事件编辑要是没有这种工具的协助可是会花式导致游戏暴毙。

 

图八 体会一下,嗯


顺带来宣传一下modder交流群,有具体代码问题都可以来问()

 

图九 罪孽深重


在这篇进阶教程的第一章,我们将讨论一下蠢驴event的基本架构,并回答一个重要的问题:

事件究竟能做什么?




Stellaris Events Modding 进阶教程 绪论的评论 (共 条)

分享到微博请遵守国家法律