Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode
| | |
| | | # 拍卖成功收益,都以玩家收益向上取整
|
| | | if familyID and auctionItem.FamilyPlayerIDInfo:
|
| | | familyPlayerIDList = json.loads(auctionItem.FamilyPlayerIDInfo)
|
| | | if familyPlayerIDList:
|
| | | taxRate = IpyGameDataPY.GetFuncCfg("AuctionTaxrate", 2) # 仙盟拍品税率百分比
|
| | | personMaxRate = IpyGameDataPY.GetFuncCfg("AuctionTaxrate", 3) # 仙盟拍品个人最大收益百分比
|
| | | taxGold = max(1, int(bidderPrice * taxRate / 100.0)) # 最少收税1
|
| | |
| | | paramList = [itemID, itemID, auctionItem.BidderName, bidderPrice, taxRate, giveGoldAverage, personMaxRate]
|
| | | PlayerCompensation.SendMailByKey("PaimaiMail6", familyPlayerIDList, [], paramList, gold=giveGoldAverage,
|
| | | detail=detail, moneySource=ChConfig.Def_GiveMoney_AuctionGain)
|
| | | else:
|
| | | GameWorld.ErrLog("仙盟拍品没有人获得收益!familyID=%s,itemID=%s,itemGUID=%s" % (familyID, itemID, itemGUID))
|
| | |
|
| | | elif playerID:
|
| | | taxRate = IpyGameDataPY.GetFuncCfg("AuctionTaxrate", 1) # 全服拍品税率百分比
|
| | |
| | | if not family:
|
| | | return
|
| | |
|
| | | familyAllPlayerIDList = []
|
| | | familyPlayerIDList = []
|
| | | for i in xrange(family.GetCount()):
|
| | | member = family.GetAt(i)
|
| | | memPlayerID = member.GetPlayerID()
|
| | | if memPlayerID not in PyGameData.g_familyWarMemDict:
|
| | | continue
|
| | | familyAllPlayerIDList.append(memPlayerID)
|
| | | recData = PyGameData.g_familyWarMemDict[memPlayerID]
|
| | | if GetFWMemFamilyID(recData) != familyID:
|
| | | continue
|
| | | if not GetFWMemIsJoin(recData):
|
| | | continue
|
| | | familyPlayerIDList.append(memPlayerID)
|
| | | if not familyPlayerIDList:
|
| | | familyPlayerIDList = familyAllPlayerIDList
|
| | | GameWorld.Log("连胜没有人参赛,收益算仙盟所有人的!familyID=%s,familyAllPlayerIDList=%s" % (familyID, familyAllPlayerIDList))
|
| | |
|
| | | familyAuctionItemDict = {} # {仙盟ID:[[享受收益的成员ID, ...], [[拍品ID,个数], [拍品ID,个数,是否拍品], ...]], ...}
|
| | | familyAuctionItemDict[familyID] = [familyPlayerIDList, familyAuctionItemList]
|
| | |
| | | GameWorld.Log(" rank=%s,familyID=%s,仙盟不存在!" % (rank, familyID))
|
| | | continue
|
| | |
|
| | | familyAllPlayerIDList = []
|
| | | familyPlayerIDList = []
|
| | | for i in xrange(family.GetCount()):
|
| | | member = family.GetAt(i)
|
| | | memPlayerID = member.GetPlayerID()
|
| | | if memPlayerID not in PyGameData.g_familyWarMemDict:
|
| | | continue
|
| | | familyAllPlayerIDList.append(memPlayerID)
|
| | | recData = PyGameData.g_familyWarMemDict[memPlayerID]
|
| | | if GetFWMemFamilyID(recData) != familyID:
|
| | | continue
|
| | | if not GetFWMemIsJoin(recData):
|
| | | continue
|
| | | familyPlayerIDList.append(memPlayerID)
|
| | | if not familyPlayerIDList:
|
| | | familyPlayerIDList = familyAllPlayerIDList
|
| | | GameWorld.Log(" 排名没有人参赛,收益算仙盟所有人的!familyID=%s,familyAllPlayerIDList=%s" % (familyID, familyAllPlayerIDList))
|
| | |
|
| | | familyAuctionItemList = cfgRankAuctionItemDict[rank]
|
| | | familyAuctionItemDict[familyID] = [familyPlayerIDList, familyAuctionItemList]
|