From 7e2fba6800afaaeef3ac9d2d3c8c42ebcefd2016 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 05 三月 2019 15:53:48 +0800
Subject: [PATCH] 6328 【后端】优化代码eval

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerTalk.py |   32 ++++++++++++++++++++++++++------
 1 files changed, 26 insertions(+), 6 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerTalk.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerTalk.py
index 9a8e18d..59a7206 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerTalk.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerTalk.py
@@ -28,6 +28,7 @@
 import CrossRealmMsg
 import ChNetSendPack
 import NetPackCommon
+import json
 import PlayerGeTui
 import re
 
@@ -100,7 +101,7 @@
         return
     
     if curCache:
-        cacheDict = eval(curCache.GetPropData())
+        cacheDict = json.loads(curCache.GetPropData())
         tagPlayerName = cacheDict["Name"]
         
     talkType = sendPack.GetTalkType()
@@ -175,15 +176,16 @@
     content = sendPack.GetContent()
     extraValue = sendPack.GetExtraValue()
     extras = sendPack.GetExtras()
+    crossPlayerName = CrossRealmPlayer.GetCrossPlayerName(curPlayer)
     
     ## 发送到跨服服务器,直接使用跨服boss的分区配置
-    dataMsg = {"PlayerID":playerID, "Content":content, "ExtraValue":extraValue, "Extras":extras}
+    dataMsg = {"PlayerID":playerID, "Name":crossPlayerName, "Content":content, "ExtraValue":extraValue, "Extras":extras}
     CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_ChatCrossWorld, dataMsg)
     return
 
 def ClientServerMsg_ChatCrossWorld(serverGroupID, msgData, tick):
     ## 收到子服跨服世界频道聊天
-    zoneIpyData = CrossRealmPlayer.GetServerCrossZoneIpyData(ChConfig.Def_FBMapID_CrossPenglai, serverGroupID)
+    zoneIpyData = CrossRealmPlayer.GetCrossCommZoneIpyDataByServerGroupID(serverGroupID)
     if not zoneIpyData:
         return
     serverGroupIDList = zoneIpyData.GetServerGroupIDList()
@@ -194,13 +196,31 @@
     ## 收到跨服世界频道聊天
     
     playerID = msgData["PlayerID"]
+    crossPlayerName = msgData["Name"]
     content = msgData["Content"]
     extraValue = msgData["ExtraValue"]
     extras = msgData["Extras"]
     
-    curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
-    if curPlayer:
-        curPlayer.ChatCountry(content, extraValue, extras)
+    sendPack = ChNetSendPack.tagTalkCountry()
+    sendPack.Clear()
+    sendPack.Name = crossPlayerName
+    sendPack.NameLen = len(sendPack.Name)
+    sendPack.PlayerID = playerID
+    sendPack.Content = content
+    sendPack.Len = len(sendPack.Content)
+    sendPack.ExtraValue = extraValue
+    sendPack.Extras = extras
+    
+    # 全服广播在线玩家
+    playerManager = GameWorld.GetPlayerManager()
+    for i in xrange(playerManager.GetActivePlayerCount()):
+        player = playerManager.GetActivePlayerAt(i)
+        if player == None:
+            continue
+        if PlayerControl.GetIsTJG(player):
+            continue
+        NetPackCommon.SendFakePack(player, sendPack)
+    #curPlayer.ChatCountry(content, extraValue, extras)
     return
 
 ## 公频(封包参数)

--
Gitblit v1.8.0