当前位置:首页>>魔兽单机>>正文
比较老的mangos阵营聊天系统
2013-07-05 17:50:27 作者:网络 来源: 浏览次数:0
摘要:比较老的mangos阵营聊天系统
 diff --git a/sqlmgcore/V6.3_mangos_mangos_string(.zy).sql b/sqlmgcore/V6.3_mangos_mangos_string(.zy).sql
new file mode 100644
index 0000000..ce4e978
--- /dev/null
+++ b/sqlmgcore/V6.3_mangos_mangos_string(.zy).sql
@@ -0,0 +1 @@
+REPLACE INTO `mangos_string` VALUES ('15029', '|Cff00ff00[阵营聊天]|Cfff0ff00[|r', null, null, null, null, null, null, null, null);
diff --git a/sqlmgcore/V6.3_mangosd.conf b/sqlmgcore/V6.3_mangosd.conf
new file mode 100644
index 0000000..5b620da
--- /dev/null
+++ b/sqlmgcore/V6.3_mangosd.conf
@@ -0,0 +1,41 @@
+Index: mangosd.conf.dist.in
+===================================================================
+--- mangosd.conf.dist.in (revision 389)
++++ mangosd.conf.dist.in (working copy)
 
+-WorldOfChatPrice = 100000
+ Player.Logon.Announce = true
+ PlayerLoginMessage = 宸茬粡鐧婚檰鑺掓灉涓栫晫,澶у娆㈣繋
+ World.Receive.Time = [涓栫晫閫氱煡]:棰嗗彇宸ヨ祫鐨勬椂闂村埌浜?+@@ -1708,4 +1706,17 @@
+ #    Mangos搴撶殑spell_cost琛ㄤ腑鍘诲鍔犱慨鏀广€傝缁嗚璁哄潧鐨勬暀绋嬪尯www.mgcore.com
+ #####################################################################################################   
+-Spell.Cost.On.Off = 0
+\ No newline at end of file
++Spell.Cost.On.Off = 0
++
 
++WorldOfChatPrice = 10000
++World.Team.Chat.Price = 10000
+\ No newline at end of file
diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp
index 374598a..fc0a97f 100644
--- a/src/game/Chat.cpp
+++ b/src/game/Chat.cpp
@@ -653,6 +653,7 @@ ChatCommand * ChatHandler::getCommandTable()
         { "sj",             SEC_PLAYER,         false, &ChatHandler::HandleWorldCast,                  "", NULL }, //世界聊天命令
         { "kan",            SEC_PLAYER,         false, &ChatHandler::HandleWorldKan,                   "", NULL }, //装备查看命令
         { "addtemp",        SEC_GAMEMASTER,     false, &ChatHandler::HandleTempAddSpwCommand,          "", NULL },//灾变系统
+        { "zy",             SEC_PLAYER,         false, &ChatHandler::HandleWorldZyCast,                "", NULL }, //世界阵营聊天命令
         { "damage",         SEC_ADMINISTRATOR,  false, &ChatHandler::HandleDamageCommand,              "", NULL },
         { "combatstop",     SEC_GAMEMASTER,     false, &ChatHandler::HandleCombatStopCommand,          "", NULL },
         { "flusharenapoints",SEC_ADMINISTRATOR, false, &ChatHandler::HandleFlushArenaPointsCommand,    "", NULL },
diff --git a/src/game/Chat.h b/src/game/Chat.h
index 1f3d47e..82614bf 100644
--- a/src/game/Chat.h
+++ b/src/game/Chat.h
@@ -262,6 +262,7 @@ class ChatHandler
         bool HandleWorldCast(const char* args); //世界聊天命令
         bool HandleWorldKan(const char* args); //查看装备命令
         bool HandleTempAddSpwCommand(const char* args);//灾变系统
+        bool HandleWorldZyCast(const char* args); //世界阵营聊天命令
         bool HandleModifyRepCommand(const char* args);
         bool HandleModifyArenaCommand(const char* args);
         bool HandleModifyPhaseCommand(const char* args);
diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp
index bbb95cb..8f9bb16 100644
--- a/src/game/Level3.cpp
+++ b/src/game/Level3.cpp
@@ -5955,6 +5955,28 @@ bool ChatHandler::HandleWorldKan(const char* args)//装
     return true;
 }//装备查看命令(试衣间)
 
+bool ChatHandler::HandleWorldZyCast(const char* args) //世界阵营聊天命令
+{
+   Player* player = m_session->GetPlayer();
+   uint32 price=player->GetMyintConfig("World.Team.Chat.Price");
+   if(!*args||m_session->GetPlayer()->GetMoney()<price)
+    return false;
+   std::string str =GetMangosString(15029);//"|cfff0ff00[阵营频道][|r"
+   str +=m_session->GetPlayerName();
+   str +="|r]:";
+   str += args;
+   if (player->GetTeam()==ALLIANCE)
+   {
+       sWorld.SendWorldTextCnTeam(str.c_str(), NULL, ALLIANCE);
+   }
+   else if (player->GetTeam()==HORDE)
+   {
+       sWorld.SendWorldTextCnTeam(str.c_str(), NULL, HORDE);
+   }
+   m_session->GetPlayer()->ModifyMoney(-int32(price));
+   return true;
+}//世界阵营聊天命令
+
 bool ChatHandler::HandleTempAddSpwCommand(const char* args)//灾变系统
 {
     Player *chr = m_session->GetPlayer();
diff --git a/src/game/World.cpp b/src/game/World.cpp
index 7fcdfb3..0033f07 100644
--- a/src/game/World.cpp
+++ b/src/game/World.cpp
@@ -2240,6 +2240,23 @@ void World::SendWorldTextCn(const char* text, WorldSession *self)
     free(buf);
 }
 
+void World::SendWorldTextCnTeam(const char* text, WorldSession *self, uint32 team)
+{
+    WorldPacket data;
+
+    // need copy to prevent corruption by strtok call in LineFromMessage original string
+    char* buf = strdup(text);
+    char* pos = buf;
+
+    while(char* line = ChatHandler::LineFromMessage(pos))
+    {
+        ChatHandler::FillMessageData(&data, NULL, CHAT_MSG_SYSTEM, LANG_UNIVERSAL, NULL, 0, line, NULL);
+        SendGlobalMessage(&data, self, team);
+    }
+
+    free(buf);
+}
+
 void World::SendRNDBroadcast()  //自动公告系统函数,升级后版本
 {
     std::string msg;
diff --git a/src/game/World.h b/src/game/World.h
index 7717feb..61982a7 100644
--- a/src/game/World.h
+++ b/src/game/World.h
@@ -448,6 +448,7 @@ class World
         void LoadConfigSettings(bool reload = false);
 
         void SendWorldTextCn(const char *text, WorldSession *self = 0);
+        void SendWorldTextCnTeam(const char *text, WorldSession *self = 0, uint32 team = 0);
         void SendWorldText(int32 string_id, ...);
         void SendGlobalText(const char* text, WorldSession *self);
         void SendGlobalMessage(WorldPacket *packet, WorldSession *self = 0, uint32 team = 0);
diff --git a/src/mangosd/mangosd.conf.dist.in b/src/mangosd/mangosd.conf.dist.in
index 2c9d38e..00d06fc 100644
--- a/src/mangosd/mangosd.conf.dist.in
+++ b/src/mangosd/mangosd.conf.dist.in
@@ -1555,7 +1555,6 @@ Item.Armor.Penetration = 0
 
-Spell.Cost.On.Off = 0
\ No newline at end of file
+Spell.Cost.On.Off = 0
+
 
+WorldOfChatPrice = 10000
+World.Team.Chat.Price = 10000
\ No newline at end of file
 


相关报道:

[关闭] [返回顶部]


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

机器人国度