吾爱尚玩资源基地

标题: Mangos中实现扫描SPELL.DBC中调用的NPC的函数 [打印本页]

作者: admin    时间: 2016-4-28 21:50
标题: Mangos中实现扫描SPELL.DBC中调用的NPC的函数
这是一个魔兽世界私服中调试常用到的一个输出函数。。

首先建立一个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





作者: 爱上你的人    时间: 2016-12-14 05:34
找了好久终于找到了!吾爱尚玩真棒!




欢迎光临 吾爱尚玩资源基地 (http://bbs.523play.com/) Powered by Discuz! X3.4