关灯
开启左侧

Mangos中实现扫描SPELL.DBC中调用的NPC的函数

  [复制链接]
admin实名认证 发表于 2016-4-28 21:50:05 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
这是一个魔兽世界私服中调试常用到的一个输出函数。。

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




 

精彩评论1

倒序浏览
爱上你的人 发表于 2016-12-14 05:34:30 | 显示全部楼层
 
找了好久终于找到了!吾爱尚玩真棒!
 
VIP介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 最佳新人

    注册账号后积极发帖的会员
  • 活跃会员

    经常参与各类话题的讨论,发帖内容较有主见
  • 热心会员

    经常帮助其他会员答疑
  • 推广达人

    积极宣传本站,为本站带来更多注册会员
  • 宣传达人

    积极宣传本站,为本站带来更多的用户访问量
  • 灌水之王

    经常在论坛发帖,且发帖量较大
  • 突出贡献

    长期对论坛的繁荣而不断努力,或多次提出建设性意见
  • 优秀版主

    活跃且尽责职守的版主
  • 荣誉管理

    曾经为论坛做出突出贡献目前已离职的版主
  • 论坛元老

    为论坛做出突出贡献的会员

0关注

5粉丝

3421帖子

排行榜
作者专栏

QQ交流群&&微信订阅号

QQ交流群

微信订阅号

吾爱尚玩资源基地永久域名:

Www.523Play.Com

在线管理员QQ:1589479632

邮箱:Email@523play.com

QQ交流群:558936238

Copyright   ©2015-2116  吾爱尚玩资源基地|523play.comPowered by©523Pplay.Com技术支持:吾爱尚玩资源基地