查看完整版本: 关于坐骑的召唤

wolfzhu 2009-1-24 15:21

关于坐骑的召唤

觉得只有圣骑士才能召唤坐骑有点不爽,所以研究了一下能不能召唤通用的坐骑,结果如下。附件里有现成的东西,如果想自己做的话,请接着往下看。我们的目的是建一个可以召唤梦魇兽的戒指,当使用这个戒指吟唱1级生物召唤的时候,召唤出一头梦魇兽。

首先确认你安装的是NWN1.69的版本,支持骑乘系统(废话)。

1、随便新建一个模组,在里面建一个名叫“Ring of Nightmare”的戒指,在其属性里面添加“召唤1级生物”魔法。当然,把这个戒指放到地上或者箱子里,让玩家进入地图的时候可以得到。

2、用脚本编辑器打开nw_s0_summon脚本,把main()函数的内容替换成:

/*
  Spellcast Hook Code
  Added 2003-06-23 by GeorgZ
  If you want to make changes to all spells,
  check x2_inc_spellhook.nss to find out more
*/
    if (!X2PreSpellCastCode())
    {
    // If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
        return;
    }
// End of Spell Cast Hook

    //Declare major variables
    int nSpellID = GetSpellId();
    if(nSpellID == SPELL_SUMMON_CREATURE_I && GetResRef(GetSpellCastItem()) == "ringofnightmare")
    {
        HorseCreateHorse("X3_NIGHTMARE001", GetSpellTargetLocation(), GetItemPossessor(GetSpellCastItem()));
    }
    else
    {
        int nDuration = GetCasterLevel(OBJECT_SELF);
        nDuration = 24;
        if(nDuration == 1)
        {
            nDuration = 2;
        }
        effect eSummon = SetSummonEffect(nSpellID);
        //Make metamagic check for extend
        int nMetaMagic = GetMetaMagicFeat();
        if (nMetaMagic == METAMAGIC_EXTEND)
        {
            nDuration = nDuration *2;   //Duration is +100%
        }
        //Apply the VFX impact and summon effect
        ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, GetSpellTargetLocation(), HoursToSeconds(nDuration));
    }

其实这个脚本只改了一点点东西,自己对比一下就知道怎么实现的了。

3、保存这个模组后就可以用它开局试一下了。进入后取得这个戒指,装备,然后用它施放召唤1级生物魔法。看看是不是成功了?

4、现在我们已经做到了在单个模组中实现。要在其他模组中实现召唤,只需要保存你装备了戒指的人物,然后导出nw_s0_summon脚本到erf,接着解压该erf中的两个文件到override中即可。

现在用保存的人物开局,看看效果吧:

yin518720 2009-1-24 15:24

不知道为何,我的圣骑一上马之后马就隐身了,而我的圣骑骑马蹲裆式悬在空中

lovehylg 2009-1-24 18:17

对楼上出现的状况彻底无语。。。

ufa31415 2009-1-27 18:11

这个东西不错,我可以学下甘道夫了,谢谢楼主了。新年快乐。

我试了好久,还是没能弄好,总说我编译错误,能发几个操作的图说明一下吗?
                                                                                         ---想学习的小白敬上

171733 2009-1-31 13:34

我的NWN只能在飞龙里才有骑乘........
太可悲了

黑骑士001 2009-2-3 16:23

那么我现在有个疑问
是不是替换之后
所有的1级召唤术都是召唤模型为梦魇属性为1级召唤生物的宠物出来

wolfzhu 2009-2-5 21:45

[quote]原帖由 [i]黑骑士001[/i] 于 2009-2-3 16:23 发表 [url=http://www.odyguild.net/bbs/redirect.php?goto=findpost&pid=142269&ptid=17243][img]http://www.odyguild.net/bbs/images/common/back.gif[/img][/url]
那么我现在有个疑问
是不是替换之后
所有的1级召唤术都是召唤模型为梦魇属性为1级召唤生物的宠物出来 [/quote]

注意这句
if(nSpellID == SPELL_SUMMON_CREATURE_I && [color=Red]GetResRef(GetSpellCastItem()) == "ringofnightmare"[/color])

红色部分说明只用使用梦魇之戒所召唤出来的1级生物才会是nightmare

wolfzhu 2009-2-5 21:53

[quote]原帖由 [i]ufa31415[/i] 于 2009-1-27 18:11 发表 [url=http://www.odyguild.net/bbs/redirect.php?goto=findpost&pid=141488&ptid=17243][img]http://www.odyguild.net/bbs/images/common/back.gif[/img][/url]
这个东西不错,我可以学下甘道夫了,谢谢楼主了。新年快乐

          我试了好久,还是没能弄好,总说我编译错误,能发几个操作的图说明一下吗?
                                                             ... [/quote]
附件里面有现成的erf文件,用nwviewer解包出来,拷贝到override文件夹中就可以实现需要的召唤功能。另外一个erf文件直接用模组编辑器导入就有梦魇之戒的模板了。放一个在地上,然后开局捡起来就行。

ddbo 2009-2-11 00:49

是不是说原版和资料片中也能骑马了?

ddbo 2009-2-12 15:58

nwviewer那里有下载?

koo57 2009-3-2 17:59

回复 1# 的帖子

我试了没有用??????

koo57 2009-3-2 18:30

回复 1# 的帖子

我下不了 是怎么回事

ash_shadowalker 2009-3-8 00:08

都说了用nwviewer解包erf,下载地址在这里[url]http://nwvault.ign.com/View.php?view=Other.Detail&id=340[/url]……搜百度没用的[s:3]
LS的,你都没奥币了还怎么下载,下载一次耗2奥币

ash_shadowalker 2009-3-8 00:19

好东西,但是招出来不能反召唤……可以重复招,这个似乎把召唤生物的属性给改了吧,有时候用不着这玩意,而且有可能会卡住……只能暴力解决,菜刀……[s:13]

wolfzhu 2009-3-11 10:13

[quote]原帖由 [i]ash_shadowalker[/i] 于 2009-3-8 00:19 发表 [url=http://www.odyguild.net/bbs/redirect.php?goto=findpost&pid=146168&ptid=17243][img]http://www.odyguild.net/bbs/images/common/back.gif[/img][/url]
好东西,但是招出来不能反召唤……可以重复招,这个似乎把召唤生物的属性给改了吧,有时候用不着这玩意,而且有可能会卡住……只能暴力解决,菜刀……[s:13] [/quote]

HorseCreateHorse产生的是一个实体而非召唤物,因此不能被反召唤。如果需要反召唤效果,可以尝试修改并使用MD_HorseSummonPaladinMount这个函数。但是请注意,如果没有圣骑士等级5以上,这个函数是不会成功调用的,所以需要修改它本身的实现。这个函数我也没有做多少测试,能不能用只是猜测。

另外我在顶楼的代码里修正了一个BUG,就是Horse召唤出来不一定缺省从属于召唤者的问题。请大家还是照着自己改吧,下载里面的东西我就不更新了。与其浪费奥币不如自己动手做一做,还会更有意思一些。对吧?[s:1]

fmmcy 2009-3-29 13:02

试了一次,不管用,郁闷,下载来看看

fmmcy 2009-3-29 13:03

晕,2奥币 - -

hhl10g 2009-3-29 14:34

一直觉得坐骑系统还只是个噱头

pk24621789 2009-4-19 18:35

謝謝啦,因為我不想為了坐騎去練5等圣骑士

pk24621789 2009-4-19 18:49

請問如何用nwnviewer 解那個erf文件?[s:3]
页: [1] 2 3 4 5
查看完整版本: 关于坐骑的召唤