3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 侠客前传 | 刺客信条 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 6511|回复: 18
打印 上一主题 下一主题

[其它] 【MOD制作教程】Zero's Guide to Modding STEP 1 Ship Modules.制作属于自己的飞船组件

  [复制链接]

243

主题

1854

帖子

2058

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
217
金元
11896
积分
2058
精华
0
注册时间
2011-9-1
跳转到指定楼层
主题
发表于 2013-5-13 03:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 fuku 于 2013-5-13 14:45 编辑

首先大家不要看到MOD制作就开始联想到编程,算法,计算机语言。
ZERO发布的教程关于给飞船制作新的组件其实并不需要C#之类的计算机语言和编程基础,更不需要什么算法 。 你只需要了解基础的XML知识就可以了,我想很多网友经常修改XML文件,对XML已经轻车熟路了,不输给一个程序员。那么开始正题。

这次教程我们以给游戏中添加一个新的增强版的导弹发射器为例子,进行逐步讲解。

首先既然我们要制作一个新组件,那么必然是先定义一个新组件的XML文件,以让游戏识别。
SD关于所有飞船组件的定义在游戏目录\Content\ShipModules文件夹中,一个新的组件涉及到很多属性,比如组件类型(武器,护甲,护盾),组件名字,组件耗电量等,这么多的属性,在没有开发文档之前,我们是不可能凭空创建的。所以我们直接在旧有的组件XML里面改然后在另存为就可以了。

步骤:
1.打开Content\ShipModules文件夹,找到RocketLauncher.xml文件(游戏默认的导弹发射器组件定义XML文件)

2.在同一目录下创建一个空白的xml文件,取名为RocketLauncherEnchanced.xml

3.将游戏默认的RocketLauncher.xml文件里面的内容全数复制到新建的RocketLauncherEnchanced.xml文件里,保存

我们创建的RocketLauncherEnchanced.xml文件内容如下(内容和原文件完全相同)

接着介绍其中对于我们这次制作MOD极为重要/需要改动的字段.

A. UID是每个组件的唯一标示符,通俗的说就像是每个人的名字一样,如果游戏要识别你制作的组件,你必须得给它取个独一无二的新名字,不能与其他旧有的组件,或是其他MOD里定义的新组件名字相同,既然是增强版的导弹发射器,我们就取名为RocketLauncherEnchanced吧(XML文件名必须与UID一致)

B. IconTexturePath是定义游戏里面组件要用到的图像资源.xnb文件,一般都是Modules/资源名.xnb.这是一个相对路径,它的绝对路径是 游戏目录\Content\Textures\Modules。 关于给自己添加的组件定义及制作新的图像 我会在2L讲解。这里使用默认属性不修改,即游戏会显示会原版火箭发射器一样的图标。


C. NameIndex,DescriptionIndex 这两个字段对应游戏里面组件的名字和详细介绍2个文本的引用。引用的定义在游戏目录\Content\Localization\English文件夹的GameText_EN.xml文件里面。这个地方我自己在对着zero的教程制作的时候出了一个问题,导致添加组件之后游戏老是弹错。。。。调试半天才发现,对于1.08版本来说,那个教程在这个地方已经过时。由于1.08版本游戏添加了对德语的支持,所以zero放弃使用老的Content\Localization里面的English.xml文件放游戏里面的所有文本,而是使用这个目录下新的ENGLISH目录的文件而产生错误,对于德语文本时使用这个目下的GERMEN目录下的XML文件,所以1.08里面对游戏文本新加,修改,翻译等操作应该全部在新的ENGLISH目录下的XML文件里进行。
那么我们为了给自己添加的组件在游戏里取个显示的名字和组件详细介绍,打开Content\Localization\English\文件夹下的GameText_EN.xml文件,然后在最下面添加2个新的节点
如下图:

Index节点给这个token定义一个唯一标识符,数字最好是4000以上,不能与原作者zero已经定义过的标识符冲突,你可以使用编辑器的搜索功能进行测试,比方说我用的windows文本编辑器打开的这个XML文件,你可以使用快捷键ctrl+f打开搜索功能,然后搜索3888看上面ZERO有没有定义这个数字,如果没有 那么我们就可以使用了。好了现在我们定义了3888,3889两个字段,一个是新组件的名字 一个是介绍。 现在我们回到自己创建的RocketLauncherEnchanced.xml,找到NameIndex节点把属性改成3888,然后找到DescriptionIndex 把属性改成3889.


然后我们在修改这个增强版火箭发射器的详细游戏属性,比方说Mass对应他的质量是多少 我们可以把10改成8 ,Health字段它的生命值是多少我们可以改成120等等,最后我们自己定义的RocketLauncherEnchanced.xml文件
如图示


好了,现在我们的新组件增强版火箭发射器算是完成了一大半,现在还剩下一个问题,这个武器在什么科技研究完了之后才会解锁呢?
很明显,我们并没有告诉游戏,这个组件的定位。

打开Content\Technology\目录,火箭发射器对应的是missli theory科技,所以我们打开MissileTheory.xml文件,添加如下图所示

ModuleUID这个字段对应组件定义文件里面的UID字段,这样告诉游戏新的火箭发射器在玩家研究了MissileTheory科技之后会解锁。好了,需要改动的地方我们都该完了,

赶紧进游戏去看看吧?






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

3

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2
回复

使用道具 举报

2

主题

457

帖子

450

积分

高级玩家

Rank: 4

贡献度
3
金元
4380
积分
450
精华
0
注册时间
2010-8-19
舒服的沙发
发表于 2013-5-13 09:20 | 只看该作者
好贴,顶一个
回复 支持 反对

使用道具 举报

14

主题

1072

帖子

1015

积分

游戏狂人

Rank: 6Rank: 6

贡献度
31
金元
8906
积分
1015
精华
0
注册时间
2009-7-8
硬硬的板凳
发表于 2013-5-13 09:48 | 只看该作者
好帖,支持一下。
回复 支持 反对

使用道具 举报

15

主题

1731

帖子

1638

积分

游戏狂人

Rank: 6Rank: 6

贡献度
25
金元
15381
积分
1638
精华
0
注册时间
2012-2-22
冰凉的地板
发表于 2013-5-13 09:49 | 只看该作者
技术贴怎么能不顶!
回复 支持 反对

使用道具 举报

15

主题

1380

帖子

998

积分

超级玩家

Rank: 5Rank: 5

贡献度
34
金元
8623
积分
998
精华
0
注册时间
2008-11-8
5#
发表于 2013-5-13 10:33 | 只看该作者
回复 支持 反对

使用道具 举报

20

主题

2414

帖子

1920

积分

游戏狂人

Rank: 6Rank: 6

贡献度
45
金元
17398
积分
1920
精华
0
注册时间
2010-7-2
6#
发表于 2013-5-13 11:18 | 只看该作者
技術教學還是要頂一下
回复 支持 反对

使用道具 举报

309

主题

1万

帖子

3万

积分

游戏天王

Rank: 11Rank: 11Rank: 11Rank: 11

贡献度
742
金元
281164
积分
31084
精华
0
注册时间
2011-12-30

3DM MOD站(白银)

7#
发表于 2013-5-13 12:41 | 只看该作者
本帖最后由 slyf 于 2013-5-13 12:44 编辑

很好的教學
簡易整潔~~

還在研究衛星堡壘的模組怎麼弄出來....
怎麼在科技樹新增大項目...

先感謝提拱的xna原件>#<
回复 支持 反对

使用道具 举报

243

主题

1854

帖子

2058

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
217
金元
11896
积分
2058
精华
0
注册时间
2011-9-1
8#
 楼主| 发表于 2013-5-13 15:24 | 只看该作者
更新完了,看完有不懂的可以问
不过我也是小白 只能尽力而为
回复 支持 反对

使用道具 举报

105

主题

9257

帖子

8954

积分

游戏精英

Rank: 8Rank: 8

贡献度
271
金元
78700
积分
8954
精华
0
注册时间
2009-10-11
9#
发表于 2013-5-13 16:41 | 只看该作者
牛啊~我頂先~
回复 支持 反对

使用道具 举报

18

主题

651

帖子

658

积分

超级玩家

Rank: 5Rank: 5

贡献度
19
金元
5823
积分
658
精华
0
注册时间
2009-5-23
10#
发表于 2013-5-13 23:08 | 只看该作者
牛啊~我頂先~
回复 支持 反对

使用道具 举报

15

主题

1731

帖子

1638

积分

游戏狂人

Rank: 6Rank: 6

贡献度
25
金元
15381
积分
1638
精华
0
注册时间
2012-2-22
11#
发表于 2013-5-14 03:35 | 只看该作者
技术教学怎么能不顶~
回复 支持 反对

使用道具 举报

4

主题

933

帖子

865

积分

超级玩家

Rank: 5Rank: 5

贡献度
13
金元
8133
积分
865
精华
0
注册时间
2009-11-7
12#
发表于 2013-5-15 22:38 | 只看该作者
问下楼主。如何导入3D建模?
回复 支持 反对

使用道具 举报

3

主题

145

帖子

81

积分

初级玩家

Rank: 2

贡献度
3
金元
1285
积分
81
精华
0
注册时间
2011-9-4
13#
发表于 2013-5-15 23:25 | 只看该作者
辛苦了 含金量很高的东西 回复却永远不如修改类
回复 支持 反对

使用道具 举报

243

主题

1854

帖子

2058

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
217
金元
11896
积分
2058
精华
0
注册时间
2011-9-1
14#
 楼主| 发表于 2013-5-16 11:16 | 只看该作者
geloveyan 发表于 2013-5-15 22:38
问下楼主。如何导入3D建模?

3D建模现在好像主要是飞船模型。
XNA用3D建模文件一般统一是.fbx文件,3DMAX之类的3D软件都有对应.fbx模型导出插件。
基本和上面制作XNB差不多
不过你必须建sunburn引擎项目,把FBX编译成XNA文件,sunburn引擎有个免费版本
http://www.stardrivegame.com/forum/viewtopic.php?f=6&t=506   这个地址下面某层楼有链接,和编译的一些说明



回复 支持 反对

使用道具 举报

53

主题

661

帖子

744

积分

超级玩家

Rank: 5Rank: 5

贡献度
40
金元
5839
积分
744
精华
0
注册时间
2012-3-24
15#
发表于 2013-6-11 21:11 | 只看该作者

按你的方法,做完1L的步骤后 进入游戏,出现这个提示框,求解

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

8

主题

186

帖子

237

积分

中级玩家

Rank: 3Rank: 3

贡献度
20
金元
1574
积分
237
精华
0
注册时间
2006-11-9
16#
发表于 2013-9-12 20:47 | 只看该作者
第二个下载不了,请补。
回复 支持 反对

使用道具 举报

头像被屏蔽

1

主题

738

帖子

391

积分

禁止发言

张伟飞

贡献度
1
金元
4465
积分
391
精华
0
注册时间
2013-11-8
17#
发表于 2013-11-22 17:05 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|咖绿茵|求知网|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2024-4-24 16:44 , Processed in 0.204632 second(s), 35 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表