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

第一节 简单介绍san11 pk2.2脚本的概念(附府兵修改方法)

2023-05-06 18:27 作者:黑店小小二  | 我要投稿

拖更了1年,终于想起了这个坑~~

简单自我介绍,三国志11 PK2.2 制作组成员之一,端茶倒水捶背揉腿的小二。

教程初步计划是9节内容,根据实际过程再调整

教程目录

今天第一节,我们介绍下pk2.2里的自定义包

1 脚本文件的简单介绍


PK2.2的脚本,主要位于游戏根目录/pk2.2/script文件夹下


脚本路径


如上图,这些cpp为后缀的文件,就是pk2.2的脚本(可以理解为自定义包)。


主要语言是一门古老的脚本语言,叫anglescript,这里不详细讲,不增加大家的学习负担。

看一看脚本的名字

观察下脚本的命名,可以发现脚本的开头分别是:

# 代表这个脚本不读取到游戏,可以通过这样来令脚本无效

数字 代表2.2制作组编写的功能。通常也不建议玩家以开头

custom 代表自定义包,通常是一些扩展的功能。

玩家编写建议以这个开头,格式为custom 个人标识 功能描述.cpp


2 脚本的文档

没有任何人能记住全部的函数及参数,所以一个可供随时查找的文档是十分必要的。

打开游戏根目录/pk2.2/script/html, 找到index.html, 双击打开(实际可以任何一个html后缀的文件,但是index.html是总入口,能方便看到整体)

重点看下搜索栏,函数,相关页这三个入口

文档首页


搜索栏:键入函数名称(函数的概念后边会扩展讲,简单理解为工具)可以快速去到函数的定义。

函数:进入函数列表,能查到绝大多数函数的定义

相关页:触发器函数,重写函数,动画等的列表


3 内置数据类型

游戏里,有非常多的数据,为了方便管理,通常会抽象为各个数据类型

数据类型

比如城池,类型为city, 涉及城池的修改都是围绕此更改。

比如势力,类型为force;

比如武将,类型为person;

比如部队,类型为unit;

比如建筑,类型为building;

可以分别点进去看看


4 一句代码开始修改之路

知道类型后,可以通过类型查找对应的函数。

比如我们想要把吕布忠诚改为120,那我们打开person数据格式的文档,找下看看哪个是忠诚

找啊找,终于找到了loyalty,那只需要执行

我们来分析下这句代码

前面的「武将_吕布」是变量,变量的意思可以理解为某个对象的名字,这里是数字660的名字。

get_person是内置函数,也是接下来最高频使用的函数,作用是通过数字获取到具体武将。

loyalty是person的属性(属性的意思是数据格式设定好的值,比如人类的眼睛,眼睛就是人类的属性),所以要用.来获取跟修改。

= 等号。等号在编程里通常不表示等于,而是赋值。(等于用==)意思是将等号右边的内容赋值给左边内容。

120 数字。都懂的~~

整句代码的意思是通过get_person获取吕布的数据,通过.loyalty = 120将其忠诚改为120

至于怎么让这句代码执行,第二节,我们走进触发器的使用。

本节完。

以下是府兵的修改方法。

在script文件夹,找到051开头文件

双击,用记事本或者写字板打开(哪个不乱码用哪个)


●修改之完全关闭

ctrl + F 搜索 ACTION_COST,找到后将=后面的数字改为256

ctrl + S 保存后,重启游戏。重新开局后不会有分封行为


●限制封地出兵部队战斗力

ctrl + F 搜索 统领武将生成,这是设定生成武将五维的函数。

蓝色为搜索内容

其中的70是五维的下限,90是五维的上限。

可以直接把70改为50, 90改为70.这样封地出征的武将,五维就限定为[50, 70]

智力的设定没有上下限,直接就是75~85,可以通过把70改小控制

ctrl + S 保存后,重启游戏。出征的部队战斗力就会弱很多


●限制封地出兵次数

封地府兵是按最低3000兵力,最高8000兵力一队出征的。

ctrl + F 搜索 func_府兵部队_生成,找到如图这个

其中最后的3就是出征次数,改为2,就是出2队(打2次)

ctrl + S 保存后,重启游戏。部队出征次数就会减少。

(真的结束了~)

第一节 简单介绍san11 pk2.2脚本的概念(附府兵修改方法)的评论 (共 条)

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