|
|
觉得只有圣骑士才能召唤坐骑有点不爽,所以研究了一下能不能召唤通用的坐骑,结果如下。附件里有现成的东西,如果想自己做的话,请接着往下看。我们的目的是建一个可以召唤梦魇兽的戒指,当使用这个戒指吟唱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中即可。
现在用保存的人物开局,看看效果吧: |
评分
-
查看全部评分
|