[KF2][Mut&Gm Tutorial]Modding第一步:设置好KF2的UnrealScript编译环境

可选:挑选一个合适的IDE(集成式编译环境)

--------------------------------------------------------------

_>成功完成此步骤至少所需的技能:具有初步编程能力以及IDE使用经验

_>相关联的动作:查看游戏源码,追踪从元数据

关于Us的IDE的介绍我就不详细讲解了,网上有很大一堆(搜索关键词:unrealscript ide),在此我推荐一个我自己正在使用的IDE

Unreal Script IDE

 

UsIDE是一个运行在VS2010上面的Shell,提供自动补全、从元数据跟踪等非常实用的功能,在进行大工程的时候不可或缺

(如果你想写一个好的插件的话光靠记事本或者NPP是不可能实现的

项目工程目录会在安装的时候请求用户设置,请自行讲源码目录设置到common\killingfloor2\Development\Src

设置好后的IDE看起来应该是这样

 

第一步:下载KF2 SDK

-------------------------------

_>成功完成此步骤至少所需的技能:STEAM操作经验

_>相关联的动作:源码编译

进入Library->Tools选项,下载Killing Floor 2 - SDK

下载之后会有如下文件夹结构

其中 \Development\Src当中包含着整个KF2游戏的源码

(多余出来的文件夹以及.uc请忽略,.udkproj文件是UsIDE生成的项目文件,表面项目文件夹成功被设置)

 

第二步:设置好源码放置位置的文件夹结构以及KFEditor.ini

--------------------------------------------------------------------------------

_>成功完成此步骤至少所需的技能:基本计算机常识

_>相关联的动作:源码编译及插件发布

_>关键性步骤警示:此步缺失以及误操作会导致KFEditor无法找到源码

请进入\Documents\My Games\KillingFloor2\KFGame,我会对文件夹结构进行详细的讲解

首先请看图

 

请确认\Documents\My Games\KillingFloor2\KFGame中有这几个文件夹,不存在请自行创建

 

首先介绍Unpublished与Published文件夹及其结构

Unpublished文件夹存放:

1.编译成功但没有Brew的插件(现阶段请将Brew理解为 压缩)

2.自定义.upk包以及未发布地图

Published文件夹存放:

1.Brew后的源码以及upk包

2.Brew后的地图

 

目前教程涉及的知识将不对Published文件夹以及Brew作讲解

 

根目录

目录 BrewedPC(目前仅介绍Script文件夹)

目录 Script : 存放编译成功而生成的插件

 

 

其次介绍Src文件夹

Src文件夹包含:

-所需要编译的插件的源码

规则如下:请参考本文最后一节 KF2插件制作所有你需要注意的知识

1.每个文件夹名称必须为插件的包名 PackageName

2.每个文件夹中应该包含Classes文件夹

3.每个包含的Classes文件夹中必须存放所有这个包需要编译的源码 .uc文件,源码文件名称必须是你这个插件的类名 ClassName

实例:

 

 然后介绍KFEditor.ini的设置

请进入\Documents\My Games\KillingFloor2\KFGame\Config 找到并打开KFEditor.ini

然后ctrl+F查找ModPackages,找到之后请在最后一行加上ModPackages=(ClassName)

这里的(ClassName)是你这个插件的包名,请看第二张图

请参考本文最后一节 KF2插件制作所有你需要注意的知识

至此,你应该成功设置好了KF2的插件编译环境,恭喜你!

第三步:编译源码

------------------------

_>成功完成此步骤至少所需的技能:基本计算机常识

_>相关联的动作:源码编译

有两种方法可以编译你的插件

1.win+R打开 运行, 输入cmd,然后利用cd命令(自行百度)进入\Steam\steamapps\common\killingfloor2\Binaries\Win64,输入KFEditor.exe UnrealEd.Make

2.每次源码有可检测到的修改过后,直接打开SDK会提示源码已经过时,是否需要重新编译,点击 是 即可

对于插件中所有编译错误,在此我不提供解决方案,请自行Debug

KF2插件制作所有你需要注意的知识(持续更新)

 

UnrealScript对大小写不敏感

请随意使用大小写,例如

class HeadshotRecover extends KFMutator 与 Class HeadshotRecover Extends KFMutator 与 CLASS HEADSHOTRECOVER EXTENDS KFMUTATOR都可以正常编译

但是请注意不要将变量与属性的名称命名重名

包名以及类名 PackageName/ClassName

包名:你这个“插件包”的名称,可以随意命名,请不要包含特殊字符等

类名:毫无疑问,你可以理解成“分类”中的“类”,类名就是说的你给这个插件取的一个统一的名称,之后好通过游戏启动或者整理归类

 

类名以及包名在插件启动中的作用

KF2里面插件启动的命令为

Mut: KF-Outpost?Mutator=xxx.xxx

GameMode: KF-Outpost?Gamemode=KFGameContent.KFGameInfo_Survival

其中第一个xxx为包名,第二个xxx为类名

比如说Controlled Difficulty(CD多倍游戏模式插件)的启动命令为Gamemode=ControlledDifficulty.CD_Survival,表明包名为ControlledDifficulty,类名为CD_Survival

我们实地查看后,发现非常符合这个原则

编译指令

(其实可以直接进入Workshop Update Tool编译以省略繁琐步骤)(指令亦大小写不敏感)

编译Unpublished

KFEditor.exe UnrealEd.Make

编译Brew

目前不做讲解,请使用Workshop Update Tool

 

posted @ 2017-08-04 13:43  ArHShRn  阅读(714)  评论(0编辑  收藏  举报