下面到最关键的地方了
我们做了这么多。。。那么到底怎么把我们做的东西放入自己的背包中呢?
如果你之前是按照我说的做的 那么现在 在此打开test_mod文件夹 相信可以看到一个test_script.nss
双击打开它 这是左边就会弹出一块大空白。。。
这里 我们就要用到C语言编程了 说句实话。。。我自己都才学习的C语言。。晕乎乎的 好在置顶里的转载有一些范例额 我就直接复制了
#include "utility_h"
void main()
{
event ev = GetCurrentEvent();
int nEventType = GetEventType(ev);
switch ( nEventType )
{
case EVENT_TYPE_MODULE_LOAD:
{
此处填写你做的物品名称 后面的1代表放入物品栏的数量 汉字不要复制
UT_AddItemToInventory(R"test_cloth.uti", 1);
UT_AddItemToInventory(R"test_boots.uti", 1);
break;
}
default:
break;
}
}
如果用这个程序的话 则每次载入游戏都会增加一次物品。。。我抄到了可以不每次都增加的 但是还没测试 就先不写出来了
然后还是老步骤 点击check in 将程序写入database
但是使用上面的C程序 每次都增加物品 下面讲讲如何只增加一次
右键单击test_mod文件夹 选择new 然后选择plot
新建一个plo文件 此文将是一个标志位。命名成my_custom_plot
也选择core game resource
新建后在左边空白处右键单击下 选择insert 然后选择main flag
然后将新的flag命名成MY_ITEM_CHECK_FLAG
然后将这个plo文件保存 check in进数据库
然后就是修改C程序了 改成下面这个样子
#include "utility_h"
#include "plt_my_custom_plot"
void main()
{
if ( WR_GetPlotFlag( PLT_MY_CUSTOM_PLOT, MY_ITEM_CHECK_FLAG ) == TRUE )
return;
event ev = GetCurrentEvent();
int nEventType = GetEventType(ev);
switch ( nEventType )
{
case EVENT_TYPE_MODULE_LOAD:
{
UT_AddItemToInventory(R"test_cloth.uti", 1);
UT_AddItemToInventory(R"test_boots.uti", 1);
WR_SetPlotFlag( PLT_MY_CUSTOM_PLOT, MY_ITEM_CHECK_FLAG, TRUE );
break;
}
default:
break;
}
}
就可以了
下面就是如何导出我们的mod给我们的游戏了
右键点击test_mod文件夹 会看到下图
选择export without dependent resource和generate module.xml 以及generate manifest.xml
还记得我们前面制作的 item_sets_34.GDA文件吗? 好了 现在已经导出了文件
打开我的文档BioWareDragon AgeAddIns test_mod moduleoverride
然后将item_sets_34.GDA 复制过来
有同学可能想把自己做的mod分享出来 很简单 如下图
然后会要你打开一个xml文件 此文件通常在 我的文档Dragon AgeAddInstest_itemmoduleoverridetoolsetexport下 打开后见下图
拉倒最底下 然后点上addin 然后OK 在选择保存的路径 保存出来的文件就是dazip格式了。。。。
终于写完了 太长了。。。。
珍惜他人劳动成果 转载请注明出处