| | |
| | | import PlayerControl
|
| | | import IpyGameDataPY
|
| | | import PlayerBillboard
|
| | | import PlayerFamilyRedPacket
|
| | | import ItemCommon
|
| | |
|
| | | (
|
| | |
| | | def DoGiveOSCBillAward(curPlayer, awardResultList):
|
| | | ## 给排行奖励
|
| | | return
|
| | | # campTypeList, isEndMail, queryResultList = awardResultList
|
| | | # if len(campTypeList) != len(queryResultList):
|
| | | # return
|
| | | # |
| | | # job = str(curPlayer.GetJob())
|
| | | # for i, campaignType in enumerate(campTypeList):
|
| | | # billAwardRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OSC_BillAwardRecord)
|
| | | # if billAwardRecord & pow(2, campaignType):
|
| | | # GameWorld.DebugLog(" 已经领取过该排行活动奖励, campaignType=%s" % (campaignType), curPlayer.GetPlayerID())
|
| | | # continue
|
| | | # |
| | | # order = queryResultList[i]
|
| | | # billAwardInfo = None
|
| | | # billRankAwardIpyList = IpyGameDataPY.GetIpyGameDataList("OSCBillRankAward", campaignType)
|
| | | # if not billRankAwardIpyList:
|
| | | # continue
|
| | | # for billRankIpyData in billRankAwardIpyList:
|
| | | # if (billRankIpyData.GetRankA() <= order <= billRankIpyData.GetRankB()) \
|
| | | # or (not billRankIpyData.GetRankB() and billRankIpyData.GetRankA() == order):
|
| | | # billAwardInfo = billRankIpyData.GetRankAward()
|
| | | # break
|
| | | # |
| | | # if not billAwardInfo:
|
| | | # GameWorld.DebugLog(" 玩家名次没有奖励!campaignType=%s,order=%s" % (campaignType, order), curPlayer.GetPlayerID())
|
| | | # continue
|
| | | # |
| | | # billAwardDict = billAwardInfo
|
| | | # if job not in billAwardDict:
|
| | | # GameWorld.ErrLog("没有配置该职业对应的开服活动榜单奖励!campaignType=%s,job=%s" % (campaignType, job))
|
| | | # continue
|
| | | # awardItemList = billAwardDict[job]
|
| | | # |
| | | # updBillAwardRecord = billAwardRecord|pow(2, campaignType)
|
| | | # PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OSC_BillAwardRecord, updBillAwardRecord)
|
| | | # GameWorld.DebugLog(" 发放活动榜单奖励,campaignType=%s,order=%s,awardItemList=%s,updBillAwardRecord=%s" |
| | | # % (campaignType, order, awardItemList, updBillAwardRecord), curPlayer.GetPlayerID())
|
| | | # |
| | | # drDict = {"CampaignType":campaignType, "Order":order}
|
| | | # mailTypeKey = "OSCBillAward%s" % campaignType
|
| | | # mailParamList = [order]
|
| | | # __DoGiveOSCAwardItem(curPlayer, awardItemList, drDict, isEndMail, mailTypeKey, mailParamList)
|
| | | # #红包奖励
|
| | | # redPacketIDDict = IpyGameDataPY.GetFuncEvalCfg('OSCRankRedpackAward', 1, {})
|
| | | # redPacketID = GameWorld.GetDictValueByRangeKey(redPacketIDDict, order, 0)
|
| | | # if redPacketID:
|
| | | # PlayerFamilyRedPacket.CreatRedPacketByID(curPlayer, redPacketID)
|
| | | # #if not isEndMail:
|
| | | # Sync_OpenServerCampaignAward(curPlayer, campaignType)
|
| | | # return
|
| | |
|
| | | def __DoGiveOSCAwardItem(curPlayer, giveItemList, drDict, isEndMail, mailTypeKey, mailParamList):
|
| | | ## 给开服活动奖励 [[itemID, itemCount], ...], 默认绑定
|