5722 【后端】【1.5】跨服BOSS开发(修改C1 06 跨服NPC对话 #tagCMCrossNPCTalk)
8个文件已修改
22 ■■■■■ 已修改文件
PySysDB/PySysDBPY.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmMsg.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PySysDB/PySysDBPY.h
@@ -997,7 +997,7 @@
    DWORD        _NPCID;    //ID
    BYTE        PrepareTime;    //采集耗时,秒
    list        LostHPPer;    //采集掉血,[每X秒,掉血百分比]
    BYTE        CollectCount;    //每日可采集次数,0限制
    BYTE        MaxCollectCount;    //每日可采集次数,0限制
    char        CollectCountLimitNotify;    //无采集次数采集提示
    list        CollectAward;    //采集奖励物品, [物品ID,个数,是否绑定]
};
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -15377,7 +15377,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ObjID", c_ushort),
                  ("ObjID", c_int),
                  ("NPCID", c_int),    
                  ("PosX", c_ushort),    
                  ("PosY", c_ushort),    
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmMsg.py
@@ -79,7 +79,7 @@
            MapServer_CrossSetPlayerAttrValue(msgData)
            
        # 需要发送到地图服务器处理的
        elif msgType in [ShareDefine.ClientServerMsg_Reborn]:
        elif msgType in [ShareDefine.ClientServerMsg_Reborn, ShareDefine.ClientServerMsg_CollectNPC]:
            MapServer_CrossServerReceiveMsg(msgType, msgData, serverGroupID)
            
        else:
@@ -208,7 +208,7 @@
            PlayerQuery.CrossServerMsg_NPCInfoRet(msgData, tick)
            
        # 需要发送到地图服务器处理的
        elif msgType in [ShareDefine.CrossServerMsg_RebornRet]:
        elif msgType in [ShareDefine.CrossServerMsg_RebornRet, ShareDefine.CrossServerMsg_CollectNPCOK]:
            MapServer_ClientServerReceiveMsg(msgType, msgData)
            
        elif msgType == ShareDefine.CrossServerMsg_CrossServerState:
ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -1206,6 +1206,7 @@
CrossServerMsg_DropGoodItem = "DropGoodItem"            # 掉落好物品
CrossServerMsg_RebornRet = "RebornRet"                  # 复活结果
CrossServerMsg_NPCInfoRet = "NPCInfoRet"                # 跨服地图NPC信息
CrossServerMsg_CollectNPCOK = "CollectNPCOK"            # 采集NPC完成
# 子服发送跨服信息定义
ClientServerMsg_ServerInitOK = "ServerInitOK"           # 子服启动成功
@@ -1218,6 +1219,7 @@
ClientServerMsg_Reborn = "Reborn"                       # 复活
ClientServerMsg_QueryNPCInfo = "QueryNPCInfo"           # 查询跨服地图NPC信息
ClientServerMsg_SetPlayerAttrValue = "SetPlayerAttrValue" # 玩家属性数值更新
ClientServerMsg_CollectNPC = "CollectNPC"               # 采集NPC
#角色改名结果
(
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -15377,7 +15377,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ObjID", c_ushort),
                  ("ObjID", c_int),
                  ("NPCID", c_int),    
                  ("PosX", c_ushort),    
                  ("PosY", c_ushort),    
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
@@ -1846,12 +1846,14 @@
    ## 发送信息到跨服服务器
    msgList = str([msgType, dataMsg])
    GetPlayerManager().GameServer_QueryPlayerResult(srcPlayerID, queryType, queryID, "SendMsgToCrossServer", msgList, len(msgList))
    DebugLog("发送跨服信息: %s, %s" % (msgType, dataMsg))
    return
def SendMsgToClientServer(msgType, dataMsg, serverGroupIDList, srcPlayerID=0, queryType=0, queryID=0):
    ## 发送信息到子服
    msgList = str([msgType, dataMsg, serverGroupIDList])
    GetPlayerManager().GameServer_QueryPlayerResult(srcPlayerID, queryType, queryID, "SendMsgToClientServer", msgList, len(msgList))
    DebugLog("发送子服信息: %s, %s, serverGroupIDList=%s" % (msgType, dataMsg, serverGroupIDList))
    return
## 根据排行获取名次对应值
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -812,7 +812,7 @@
                        ("DWORD", "NPCID", 1),
                        ("BYTE", "PrepareTime", 0),
                        ("list", "LostHPPer", 0),
                        ("BYTE", "CollectCount", 0),
                        ("BYTE", "MaxCollectCount", 0),
                        ("char", "CollectCountLimitNotify", 0),
                        ("list", "CollectAward", 0),
                        ),
@@ -2851,7 +2851,7 @@
        self.NPCID = 0
        self.PrepareTime = 0
        self.LostHPPer = []
        self.CollectCount = 0
        self.MaxCollectCount = 0
        self.CollectCountLimitNotify = ""
        self.CollectAward = []
        return
@@ -2859,7 +2859,7 @@
    def GetNPCID(self): return self.NPCID # ID
    def GetPrepareTime(self): return self.PrepareTime # 采集耗时,秒
    def GetLostHPPer(self): return self.LostHPPer # 采集掉血,[每X秒,掉血百分比]
    def GetCollectCount(self): return self.CollectCount # 每日可采集次数,0限制
    def GetMaxCollectCount(self): return self.MaxCollectCount # 每日可采集次数,0限制
    def GetCollectCountLimitNotify(self): return self.CollectCountLimitNotify # 无采集次数采集提示
    def GetCollectAward(self): return self.CollectAward # 采集奖励物品, [物品ID,个数,是否绑定]
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -1206,6 +1206,7 @@
CrossServerMsg_DropGoodItem = "DropGoodItem"            # 掉落好物品
CrossServerMsg_RebornRet = "RebornRet"                  # 复活结果
CrossServerMsg_NPCInfoRet = "NPCInfoRet"                # 跨服地图NPC信息
CrossServerMsg_CollectNPCOK = "CollectNPCOK"            # 采集NPC完成
# 子服发送跨服信息定义
ClientServerMsg_ServerInitOK = "ServerInitOK"           # 子服启动成功
@@ -1218,6 +1219,7 @@
ClientServerMsg_Reborn = "Reborn"                       # 复活
ClientServerMsg_QueryNPCInfo = "QueryNPCInfo"           # 查询跨服地图NPC信息
ClientServerMsg_SetPlayerAttrValue = "SetPlayerAttrValue" # 玩家属性数值更新
ClientServerMsg_CollectNPC = "CollectNPC"               # 采集NPC
#角色改名结果
(