很多朋友喜欢一种修改魔兽世界,世界喊话的方式,就是修改官员喊话频道 以前最老的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