关灯
开启左侧

WOW私服3.3.5Trinity中最新的将官员喊话/o修改为世界汉化的方法

  [复制链接]
admin实名认证 发表于 2016-4-28 21:40:10 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
很多朋友喜欢一种修改魔兽世界,世界喊话的方式,就是修改官员喊话频道

以前最老的Mangos端的方式也是这种,就直接修改/o 官员喊话频道

这个也是魔兽世界私服中常用到的方式之一


1、首先找到ChatHandler.cpp 这个TrinityCore中的文件。然后找到case CHAT_MSG_OFFICER: (魔兽世界私服官员喊话部分)


2、修改代码


case CHAT_MSG_OFFICER:
        {
            if (GetPlayer()->GetGuildId())
            {
                if (Guild* guild = sGuildMgr->GetGuildById(GetPlayer()->GetGuildId()))
                {
                    sScriptMgr->OnPlayerChat(GetPlayer(), type, lang, msg, guild);

                    guild->BroadcastToGuild(this, true, msg, lang == LANG_ADDON ? LANG_ADDON : LANG_UNIVERSAL);
                }
            }
        } break;


修改为下面的代码:

case CHAT_MSG_OFFICER:
        {
            char message[1024];
            switch(GetPlayer()->GetSession()->GetSecurity())
            {
                case SEC_PLAYER: // normal player, non-vip
                    if (GetPlayer()->GetTeam()==ALLIANCE) {
                        snprintf(message, 1024, "|cff33CC00World |cffFF0000[Horde]|cff00CCEE[%s]:|cffFFFF00 %s", GetPlayer()->GetName().c_str(), msg.c_str());
                    }
                    if (GetPlayer()->GetTeam()==HORDE) {
                        snprintf(message, 1024, "|cff33CC00World |cffDC143C[Alliance]|cff00CCEE[%s]:|cffFFFF00 %s", GetPlayer()->GetName().c_str(), msg.c_str());
                    }
                    break;
                case 1: // VIP
                    snprintf(message, 1024, "|cff33CC00World |cff87CEEB[World VIP]|cff00CCEE[%s]:|cffFFFF00 %s", GetPlayer()->GetName().c_str(), msg.c_str());
                    break;

                case 2: // regular GM
                    if (GetPlayer()->isGameMaster()==TRUE)
                    {
                    snprintf(message, 1024, "|cff33CC00World |TInterface\ChatFrame\UI-ChatIcon-Blizz.blp:0:2:0:-3|t |cff6600AA[GM]|cff00CCEE[%s]:|cffFFFF00 %s", GetPlayer()->GetName().c_str(), msg.c_str());
                    }
                    {
                    if (GetPlayer()->isGameMaster()==FALSE)
                    if (GetPlayer()->GetTeam()==HORDE)
                    snprintf(message, 1024, "|cff33CC00World |cffFF0000[Horde]|cff00CCEE[%s]:|cffFFFF00 %s", GetPlayer()->GetName().c_str(), msg.c_str());
                    }
                                        {
                    if (GetPlayer()->isGameMaster()==FALSE)
                    if (GetPlayer()->GetTeam()==ALLIANCE)
                    snprintf(message, 1024, "|cff33CC00World |cff0000FF[Alliance]|cff00CCEE[%s]:|cffFFFF00 %s", GetPlayer()->GetName().c_str(), msg.c_str());
                    }
                    break;

                case 3: // Head GM/SGM
                    if (GetPlayer()->isGameMaster()==TRUE)
                    {
                    snprintf(message, 1024, "|cff33CC00World |TInterface\ChatFrame\UI-ChatIcon-Blizz.blp:0:2:0:-3|t |cff6600AA[GM]|cff00CCEE[%s]:|cffFFFF00 %s", GetPlayer()->GetName().c_str(), msg.c_str());
                    }
                    {
                    if (GetPlayer()->isGameMaster()==FALSE)
                    if (GetPlayer()->GetTeam()==HORDE)
                    snprintf(message, 1024, "|cff33CC00World |cffFF0000[Horde]|cff00CCEE[%s]:|cffFFFF00 %s", GetPlayer()->GetName().c_str(), msg.c_str());
                    }
                    {
                    if (GetPlayer()->isGameMaster()==FALSE)
                    if (GetPlayer()->GetTeam()==ALLIANCE)
                    snprintf(message, 1024, "|cff33CC00World |cff0000FF[Alliance]|cff00CCEE[%s]:|cffFFFF00 %s", GetPlayer()->GetName().c_str());
                    }
                    break;

                case 4: // ADMIN
                    if (GetPlayer()->isGameMaster()==TRUE)
                    {
                    snprintf(message, 1024,  "|cff33CC00World |TInterface\ChatFrame\UI-ChatIcon-Blizz.blp:0:2:0:-3|t |cff6600AA[GM]|cff00CCEE[%s]:|cffFFFF00 %s", GetPlayer()->GetName().c_str(), msg.c_str());
                    }
                    {
                    if (GetPlayer()->isGameMaster()==FALSE)
                    if (GetPlayer()->GetTeam()==HORDE)
                    snprintf(message, 1024, "|cff33CC00World |cffFF0000[Horde]|cff00CCEE[%s]:|cffFFFF00 %s", GetPlayer()->GetName().c_str(), msg.c_str());
                    }
                    {
                    if (GetPlayer()->isGameMaster()==FALSE)
                    if (GetPlayer()->GetTeam()==ALLIANCE)
                    snprintf(message, 1024, "|cff33CC00World |cff0000FF[Alliance]|cff00CCEE[%s]:|cffFFFF00 %s", GetPlayer()->GetName().c_str(), msg.c_str());
                    }
                    break;

            }
            sWorld->SendGlobalText(message, NULL);
        } break;


OK,就这样就完毕了!去编译一下,然后试试~~~ GOOD LUCK
 
VIP介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 最佳新人

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

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

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

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

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

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

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

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

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

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

0关注

5粉丝

3421帖子

排行榜
作者专栏

QQ交流群&&微信订阅号

QQ交流群

微信订阅号

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

Www.523Play.Com

在线管理员QQ:1589479632

邮箱:Email@523play.com

QQ交流群:558936238

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