注册 | 登录

游侠NETSHOW论坛





查看: 14581|回复: 11
打印 上一主题 下一主题

如何自己创建一个简单的 DLC [复制链接]

帖子
448
精华
1
积分
464
金钱
2409
荣誉
4
人气
0
评议
0
跳转到指定楼层
楼主
发表于 2009-11-13 20:12:03 |只看该作者 |倒序浏览
本文参考 weriKK's blog : Custom Player Items In Single Player ,并以向背包中添加物品为例,向大家介绍如何自己做一个的简单 DLC。
熟悉了 Toolset 的使用后,其实还可以做到自创装备、自创场景等高级应用。

首先要按以下步骤修改语言选项: 控制面板 -> 区域与语言选项 -> 高级 -> 非 Unicode 程序的语言 -> 选择 英语(美国) -> 重启

打开 Toolset,按以下步骤创建一个新的 Module:

点击 File -> Manage Modules -> New... -> 在弹出的 Object Inspector 对话框中:

Name 栏填写 Module 的名称,如 MyMod
UID 栏填写 Module 的唯一标示符,如 mdl_mymod
Extended Module 下拉列表,选择 Single Player。因为我们做的 DLC 是用于扩展 Single Player 的.
点击 OK 关闭 Object Inspector 对话框,并回到 Manage Modules 对话框。选择刚才创建的 Module,点击 Open 打开。
再次点击 File -> Manage Modules -> 选择我们创建的 Module -> Hierarchy -> 选中 Single Player,然后点击 OK。


以下两幅图借用自 weriKK's blog:


按照以下步骤创建一个新的脚本 (Script):
在右侧的 Palette Window 选择 Scripts 按钮(一个类似文本文件的图标)
右键单击空白处,选择 New -> Script
Resource Name 处填写脚本资源的名称,如 mymod_additems
Module 和 Owner Module 就选择我们创建的 Module 的名称 MyMod
点击 OK 将自动打开这个脚本,输入以下代码:
  1. #include "utility_h"

  2. void main()
  3. {
  4.     event ev = GetCurrentEvent();
  5.     int nEventType = GetEventType(ev);
  6.     int nEventHandled = FALSE;

  7.     switch(nEventType)
  8.     {
  9.         case EVENT_TYPE_MODULE_LOAD:
  10.         {
  11.             int nPresentsGiven = GetLocalInt(OBJECT_SELF, "TALENT_BOOK_GIVEN");
  12.             if(!nPresentsGiven)
  13.             {
  14.                 UT_AddItemToInventory(R"gen_im_qck_book_talentm.uti", 10);
  15.                 SetLocalInt(OBJECT_SELF,"TALENT_BOOK_GIVEN", 1);
  16.             }
  17.             nEventHandled = TRUE;
  18.             break;
  19.         }
  20.     }

  21.     if (!nEventHandled)
  22.     {
  23.         HandleEvent(ev, RESOURCE_SCRIPT_MODULE_CORE);
  24.     }
  25. }
复制代码
以上代码自动向物品栏添加 10 本 Tome of Arcane Technique (Talen 或 Spell 点数 +1),并以 TALENT_BOOK_GIVEN 作为标志,防止物品重复给予。

如果要添加其他物品,只需把 gen_im_qck_book_talentm 修改为其他物品,并修改 TALENT_BOOK_GIVEN 这个标志。
也可以酌情删除判断标志,这样每次载入存档时都会向物品栏添加物品(请慎用)。如:
  1.         case EVENT_TYPE_MODULE_LOAD:
  2.         {
  3.             // 10 本 Tome of Arcane Technique (+1 Talent/Spell point)
  4.             UT_AddItemToInventory(R"gen_im_qck_book_talentm.uti", 10);

  5.             // 10 本 Tome of Skill and Sundry (+1 Skill point)
  6.             UT_AddItemToInventory(R"gen_im_qck_book_skill.uti", 10);

  7.             // 10 本 Tome of Mortal Vessel (+1 or more Attribute points)
  8.             UT_AddItemToInventory(R"gen_im_qck_book_attribute.uti", 10);
  9.             nEventHandled = TRUE;
  10.             break;
  11.         }
复制代码
接下来右键单击我们创建的脚本,选择 Export -> Export without dependent resources
点击菜单 Tools->Export->Generate Module XML 以及 Tools->Export-> Generate Module Manifest

完成以上步骤以后,进入游戏已经可以看到我们创建的这个 DLC 了。
如果你想把这个 DLC 发布给别人用,那么按照以下步骤操作:
点击菜单 Tools->Builder->Builder To Player Package
在弹出的对话框中选择 我的文档\BioWare\Dragon Age\AddIns\mdu_velvet\module\override\Manifest.xml
在弹出的对话框的树形列表中,先 Uncheck All,然后选中 MyMod 以及它的下级节点
单击 OK,保存生成的 .dazip 文件。当询问是否保存 User Manifest 时,可以选择否
运行游戏目录下的 bin_ship\daupdater.exe,选择刚才创建的这个 dazip 文件,然后 Install Selected


[ 本帖最后由 et2008 于 2009-11-13 20:32 编辑 ]
已有 1 人评分金钱 收起 理由
eason001 + 25 + 1 感谢分享!

总评分: 金钱 + 25  + 1   查看全部评分

使用道具 举报

帖子
111
精华
0
积分
56
金钱
219
荣誉
0
人气
0
评议
0
沙发
发表于 2009-11-13 20:36:32 |只看该作者
好文,顶!!

试了试这个mod工具,强大,可以自行创建室内,室外,地形等等环境,尤其是对话系统很方便,但可惜不能输入中文。

有个问题,怎么设置player呢?就是玩家控制的人物??还有,激活cutsence 必须要写脚本吗???

谢谢!!

使用道具 举报

帖子
729
精华
0
积分
375
金钱
947
荣誉
1
人气
1
评议
0
板凳
发表于 2009-11-13 20:42:42 |只看该作者
好文,顶一下!
期待牛逼人士制作出龙纪3c td地图
啊哈哈哈哈哈

使用道具 举报

帖子
1077
精华
0
积分
539
金钱
8394
荣誉
0
人气
2
评议
0
地板
发表于 2009-11-13 21:23:29 |只看该作者
LZ多个物品怎么加啊,搞详细点,这里白痴很多啊~~~~~~~~~~~~~~~~~~~~~~

使用道具 举报

帖子
448
精华
1
积分
464
金钱
2409
荣誉
4
人气
0
评议
0
5#
发表于 2009-11-13 21:25:22 |只看该作者
原帖由 huahuapro 于 2009-11-13 20:36 发表
好文,顶!!

试了试这个mod工具,强大,可以自行创建室内,室外,地形等等环境,尤其是对话系统很方便,但可惜不能输入中文。

有个问题,怎么设置player呢?就是玩家控制的人物??还有,激活cutsence 必须要写脚本吗???

谢谢!! ...


游戏没有中文字体,Toolset 应该支持中文的,大部分文字都是 Unicode。
关于创建场景的问题,请参考 Dragon Age Toolset Wiki 的 Tutorials 。

[ 本帖最后由 et2008 于 2009-11-13 21:27 编辑 ]

使用道具 举报

帖子
448
精华
1
积分
464
金钱
2409
荣誉
4
人气
0
评议
0
6#
发表于 2009-11-13 21:44:33 |只看该作者
原帖由 zgdcj 于 2009-11-13 21:23 发表
LZ多个物品怎么加啊,搞详细点,这里白痴很多啊~~~~~~~~~~~~~~~~~~~~~~


最后那段代码就是啊,3种 Tome,每种 10 本。如果只是为了改游戏,其实不如直接用控制台。

使用道具 举报

帖子
1077
精华
0
积分
539
金钱
8394
荣誉
0
人气
2
评议
0
7#
发表于 2009-11-13 21:50:44 |只看该作者
晕,物品加不进去啊,代码一个字都没改都不行~~~~~~~~~~~~~~~~~~~~

使用道具 举报

帖子
1222
精华
1
积分
912
金钱
11487
荣誉
10
人气
5
评议
0
8#
发表于 2009-11-13 21:53:22 |只看该作者
只需把 gen_im_qck_book_talentm 修改为其他物品,并修改 TALENT_BOOK_GIVEN 这个标志

并修改 TALENT_BOOK_GIVEN 这个标志 ——————怎么修改?

使用道具 举报

帖子
202
精华
0
积分
101
金钱
962
荣誉
0
人气
1
评议
0
9#
发表于 2009-11-25 02:52:38 |只看该作者
在选择 Export -> Export without dependent resources这步骤就会死住

使用道具 举报

帖子
3614
精华
0
积分
1838
金钱
5912
荣誉
3
人气
5
评议
0
10#
发表于 2009-11-25 09:23:29 |只看该作者
还是一样的问题,脚本CHECK IN的时候TOOLSET卡住.............
What a Wonderful World

使用道具 举报

帖子
202
精华
0
积分
101
金钱
962
荣誉
0
人气
1
评议
0
11#
发表于 2009-11-25 22:19:07 |只看该作者
知道那吃问题了原来没,首先要按以下步骤修改语言选项: 控制面板 -> 区域与语言选项 -> 高级 -> 非 Unicode 程序的语言 -> 选择 英语(美国) -> 重启
哈哈

使用道具 举报

帖子
941
精华
0
积分
486
金钱
4040
荣誉
1
人气
59
评议
0
12#
发表于 2010-4-21 10:03:26 |只看该作者
测试了!完全按照楼主说的步骤!一步没错都不行!DLC是出来了!在游戏里也能管理!就是读档不加物品啊!

使用道具 举报

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

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2025-8-14 21:48 , Processed in 0.285314 second(s), 13 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到