66 【公会】基础主体-服务端(修正成员贡献值变更没有通知bug;跨服首次过天也要触发;)
4个文件已修改
25 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
@@ -2024,7 +2024,11 @@
    return datetime.datetime.strptime(timeStr, timeFormat)
def ChangeStrToDatetime(timeStr, timeFormat=ChConfig.TYPE_Time_Format):
    return datetime.datetime.strptime(timeStr, timeFormat)
    try:
        return datetime.datetime.strptime(timeStr, timeFormat)
    except:
        # 转化失败返回默认,如传入0也可转换
        return datetime.datetime(1970, 1, 1, 8, 0, 0)
## 时间格式转换成数值时间
# @param dateT: datetime.datetime
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py
@@ -470,10 +470,11 @@
def DoLogic_CrossCenterEvent(centerEventValue, centerServerID=0, gmEvent=""):
    ## 收到跨服中心事件同步,如OnDay等
    serverEventValue = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_CrossCenterEvent)
    if not serverEventValue:
        serverEventValue = centerEventValue
        DBDataMgr.GetEventTrigMgr().SetValue(ShareDefine.Def_CrossCenterEvent, centerEventValue)
    #第一次也要执行一次
    #if not serverEventValue:
    #    serverEventValue = centerEventValue
    #    DBDataMgr.GetEventTrigMgr().SetValue(ShareDefine.Def_CrossCenterEvent, centerEventValue)
    if serverEventValue == centerEventValue and not gmEvent:
        if centerServerID:
            GameWorld.Log("本服与跨服中心事件值相同不处理! serverEventValue=%s,centerEventValue=%s,centerServerID=%s" % (serverEventValue, centerEventValue, centerServerID))
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
@@ -204,11 +204,13 @@
    if not centerEventValue:
        centerEventValue = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_CrossCenterEvent)
    playerEventValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OnCrossEvent)
    if not playerEventValue:
        playerEventValue = centerEventValue
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnCrossEvent, centerEventValue)
    #第一次也要执行一次
    #if not playerEventValue:
    #    playerEventValue = centerEventValue
    #    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnCrossEvent, centerEventValue)
        
    if playerEventValue == centerEventValue and not gmEvent:
        GameWorld.DebugLog("玩家与跨服中心事件值相同不处理! playerEventValue=%s,centerEventValue=%s" % (playerEventValue, centerEventValue))
        return
    
    centerEventTime = GameWorld.ChangeStrToDatetime("%s" % centerEventValue, ChConfig.TYPE_Time_Format_YmdH)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
@@ -1932,7 +1932,7 @@
    curMember.SetContribTotal(contribTotal)
    GameWorld.DebugLog("增加成员贡献: familyID=%s,addContribValue=%s,contribDay=%s,contribTotal=%s" % (familyID, addContribValue, contribDay, contribTotal), playerID)
    
    Broadcast_FamilyInfo(familyID, isSyncMem=False) # 成员贡献
    Broadcast_FamilyInfo(familyID, changeMemIDList=[playerID]) # 成员贡献
    return
## ------------------------------------------------------------------------------------------------