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

第二节 走进触发器之「奏乐」特技的实现(一)

2023-05-12 17:02 作者:黑店小小二  | 我要投稿

从这一节开始,我们开始进入正式的脚本修改跟创造。

学习,从模仿开始。

请记住这句话。

pk2.2的脚本都是开放不加密的,所以每个人都可以轻松查看学习跟修改。

所以要做的是多看+多写。

一开始看,肯定是看不懂,这个时候要结合文档(上一节有提过)去查看各个数据类型,各种函数的意思。

好了,我们直接进入正文。

这是打基础的章节,我们分三个小节去讲。

第一小节 触发器的认识及简单例子

第二小节 「奏乐」特技的实现

第三小节 其他若干例子

第一小节 触发器的认识及简单例子

1 触发器的概念

触发器的概念为:指某个行为/时间发生的时机或者时点。

举个例子,“晚上吃饭”,晚上是时机,吃饭是行为。晚上就是一个时间类别的触发器

我们来看特技「奏乐」的描述:己方部队每回合回复气力5点

其中的每回合就是1个触发器,已方部队是目标,回复气力5点是行为。(这将是后面高频用到的特技分析思维)

看不懂也没关系,可以先跳过,看后面的实际例子后再回来理解。

2 触发器的分类

打开pk2.2/script/html,找到page_event.html,用浏览器打开。

如图,这些都是游戏里的触发器。

分为

时间维度:随着游戏时间变化引起的触发器

行为维度:由游戏过程中各种行为改变引发的时机,主要是建筑跟部队,武将。

主要触发器列表

这些分类,看几遍熟悉一下,需要的时候再回来找。

常用的是 新天(每旬), 回合开始两个

3 触发器的例子

概念讲完了,我们正式进入脚本的编写。

我们打开几个cpp观察,发现大多数文档都是这样的。(cpp用记事本或者写字板打开,哪个不乱码就用那个)

这里先不用理是什么意思,知道这是基础的文本结构即可。进阶我们再详细介绍,一开始依葫芦画瓢就行。

触发器的核心代码就一句

打开pk2.2/script文件夹

1 新建文本,取名为触发器.cpp. (当然,由于是自定义包,加上custom,再加上个人标识,比如我的是zzdiy)

脚本地址

2 用记事本或者写字板打开,将上面的代码粘贴。

基本的代码框架

3 将namespace 后的xxx 改为触发器,按ctrl+s 保存。

4 在Main() {}里面写上以下代码

5 在Main() {}外面写上以下代码

聪明的你肯定发现旬初前面有个void单词,这里是函数的返回值类型,也就是上一节说到的游戏数据类型以及基础类型。

一样,我们不用在触发器这章节纠结,因为所有触发器返回值类型都是void


还记得第一节,我们将吕布忠诚设置为120吗?当时留了个小问题,什么时候触发。

现在可以直接把这句代码写到旬初函数内。

最后变成

以上代码的意思是:每旬开始时,将吕布的忠诚设置为120。

所以触发器的编写步骤

1 在 Main() {}里面写上 pk::bind(107, pk::trigger107_t(旬初)); 其中数字根据文档来,函数自己取名。

2 在 Main() {}外面,写void 旬初(){}

3 根据文档看是否有指定参数,调整函数。(时间维度函数一般没指定参数,下个例子我们讲111触发器的时候再说)

第一小节就到这结束了,建议先动手试试,并且试试比如把其他武将的忠诚或者吕布的其他信息更改要怎么改。

(完)


第二节 走进触发器之「奏乐」特技的实现(一)的评论 (共 条)

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