| | |
| | | def SetFAActNum(actionData, actNum): return actionData.SetValue1(actNum) |
| | | |
| | | def GetFAActPlayerIDInfo(actionData): |
| | | playerIDInfo = [[], {}] |
| | | playerIDInfo = [[], {}, {}] |
| | | useData = actionData.GetUseData() |
| | | if useData: |
| | | try: |
| | | playerIDInfo = eval(useData) |
| | | # 后面加了第3个值,兼容线上数据 |
| | | if len(playerIDInfo) == 2: |
| | | playerIDInfo.append({}) |
| | | except: |
| | | playerIDInfo = [[], {}] |
| | | playerIDInfo = [[], {}, {}] |
| | | return playerIDInfo |
| | | def SetFAActPlayerIDInfo(actionData, ctgPlayerIDList, getAwardPlayerCountDict): |
| | | useData = str([ctgPlayerIDList, getAwardPlayerCountDict]).replace(" ", "") |
| | | def SetFAActPlayerIDInfo(actionData, ctgPlayerIDList, getAwardPlayerCountDict, getAwardPlayerIDDict={}): |
| | | useData = str([ctgPlayerIDList, getAwardPlayerCountDict, getAwardPlayerIDDict]).replace(" ", "") |
| | | actionData.SetUseData(useData, len(useData)) |
| | | return |
| | | def ClearFAActPlayerIDInfo(actionData): |
| | | SetFAActPlayerIDInfo(actionData, [], {}) |
| | | SetFAActPlayerIDInfo(actionData, [], {}, {}) |
| | | return |
| | | |
| | | def GetFamilyCTGAssistActionData(familyID, actNum): |
| | |
| | | for actNum in actNumList: |
| | | actionData = GetFamilyCTGAssistActionData(familyID, actNum) |
| | | |
| | | ctgPlayerIDList, getAwardPlayerCountDict = GetFAActPlayerIDInfo(actionData) |
| | | ctgPlayerIDList, getAwardPlayerCountDict, getAwardPlayerIDDict = GetFAActPlayerIDInfo(actionData) |
| | | if playerID in ctgPlayerIDList: |
| | | continue |
| | | |
| | | isChange = True |
| | | ctgPlayerIDList.append(playerID) |
| | | SetFAActPlayerIDInfo(actionData, ctgPlayerIDList, getAwardPlayerCountDict) |
| | | SetFAActPlayerIDInfo(actionData, ctgPlayerIDList, getAwardPlayerCountDict, getAwardPlayerIDDict) |
| | | GameWorld.Log("仙盟充值互助人数变更: actNum=%s,familyID=%s,新互助玩家=%s,更新互助人数=%s, %s" |
| | | % (actNum, familyID, playerID, len(ctgPlayerIDList), ctgPlayerIDList)) |
| | | |
| | |
| | | |
| | | actionData = GetFamilyCTGAssistActionData(familyID, actNum) |
| | | |
| | | ctgPlayerIDList, getAwardPlayerCountDict = GetFAActPlayerIDInfo(actionData) |
| | | ctgPlayerIDList, getAwardPlayerCountDict, getAwardPlayerIDDict = GetFAActPlayerIDInfo(actionData) |
| | | |
| | | if len(ctgPlayerIDList) < ctgPlayers: |
| | | GameWorld.DebugLog("仙盟充值互助所需充值人数不足: actNum=%s,familyID=%s,已互助人数=%s < %s, %s" |
| | |
| | | maxMemberCnt = PlayerFamily.GetFamilySetting(curFamily, ChConfig.Def_FamilySetting_MaxMemberCnt) |
| | | |
| | | getAwardPlayerCount = getAwardPlayerCountDict.get(str(ctgPlayers), 0) |
| | | getAwardPlayerIDList = getAwardPlayerIDDict.get(str(ctgPlayers), []) |
| | | if getAwardPlayerCount >= maxMemberCnt: |
| | | GameWorld.DebugLog("仙盟充值互助领奖人数已达上限: actNum=%s,familyID=%s,ctgPlayers=%s,getAwardPlayerCount=%s >= %s" |
| | | % (actNum, familyID, ctgPlayers, getAwardPlayerCount, maxMemberCnt), playerID) |
| | | return |
| | | if playerID in getAwardPlayerIDList: |
| | | return |
| | | getAwardPlayerIDList.append(playerID) |
| | | getAwardPlayerIDDict[str(ctgPlayers)] = getAwardPlayerIDList |
| | | |
| | | getAwardPlayerCount += 1 |
| | | getAwardPlayerCountDict[str(ctgPlayers)] = getAwardPlayerCount |
| | | |
| | | SetFAActPlayerIDInfo(actionData, ctgPlayerIDList, getAwardPlayerCountDict) |
| | | GameWorld.Log("仙盟充值互助领奖人数更新: actNum=%s,familyID=%s,ctgPlayers=%s,getAwardPlayerCount=%s, %s" |
| | | % (actNum, familyID, ctgPlayers, getAwardPlayerCount, getAwardPlayerCountDict), playerID) |
| | | SetFAActPlayerIDInfo(actionData, ctgPlayerIDList, getAwardPlayerCountDict, getAwardPlayerIDDict) |
| | | GameWorld.Log("仙盟充值互助领奖人数更新: actNum=%s,familyID=%s,ctgPlayers=%s,getAwardPlayerCount=%s,getAwardPlayerIDList=%s, %s" |
| | | % (actNum, familyID, ctgPlayers, getAwardPlayerCount, getAwardPlayerIDList, getAwardPlayerIDDict), playerID) |
| | | |
| | | PlayerFamilyAction.SendFamilyActionInfo(None, familyID, ActionType) |
| | | return True |