当前位置:首页>>魔兽单机>>正文
Mangos中实现扫描SPELL.DBC中调用的NPC的函数
2013-06-16 22:15:48 作者:网络 来源: 浏览次数:0
这是一个中调试常用到的一个输出函数。。 

首先建立一个npcdbc.log 的日志文件。然后扫描所有的技能ID。当技能ID里的属性满足一定的条件的情况下。把对应的NPC的ID输出到npcdbc.log中保存

这个是一个比较有用的函数。。你需要自己建立函数到你的mangos代码中。


ofstream myfile;
myfile.open ("npcdbc.log");
 
uint16 count = 0;
for (uint32 i = 1; i < 53086; ++i)
{
    SpellEntry const* spellInfo = sSpellStore.LookupEntry(i);
    if (spellInfo)
    {
        for (uint32 idx = 0; idx < 3; ++idx)
        {
            if (spellInfo->EffectApplyAuraName[idx] == SPELL_AURA_MOUNTED)// 相关骑乘的坐骑的之类的NPC的对应ID
            {
                myfile << spellInfo->EffectMiscValue[idx] << " ";
                ++count;
            }
            if (spellInfo->EffectApplyAuraName[idx] == SPELL_AURA_TRANSFORM) //相关的载具,等NPC的对应ID
            {
                myfile << spellInfo->EffectMiscValue[idx] << " ";
                ++count;
            }
            else if (spellInfo->Effect[idx] == SPELL_EFFECT_SUMMON) //技能对应的可召唤的NPC的ID
            {
                myfile << spellInfo->EffectMiscValue[idx] << " ";
                ++count;
            }
        }
    }
}
PSendSysMessage("Found %u npc's in spell.dbc", count);
myfile.close();

对应这些。。就可以找到相关的技能ID和对应的NPC 的ID

这篇文章,也相当于对DBC的结构有一个参考了解了!

谢谢收看~~~


相关报道:

[关闭] [返回顶部]


  返回首页 | 最新资讯 | 资源下载 | 魔兽图片 | 单机文档 | 技术攻略 | 玩家视频
备案号:蜀ICP备2024062380号-1
免责声明:本网站为热爱怀旧WOW的玩家们建立的魔兽世界资料网站,仅供交流和学习使用,非盈利和商用.如有侵权之处,请联系我们,我们会在24小时内确认删除侵权内容,谢谢合作。
Copyright © 2024 - 2024 WOWAII.COM Corporation, All Rights Reserved

机器人国度