From f12bbdcbaebff76914ae6dc735941d19f8f4e87f Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期二, 25 六月 2019 02:00:11 +0800 Subject: [PATCH] 860312 印记飘字的优先级高于压制 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldGift.py | 530 ---------------------------------------------------------- 1 files changed, 4 insertions(+), 526 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldGift.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldGift.py index d4e615e..ae637da 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldGift.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldGift.py @@ -36,7 +36,6 @@ #------------------------------------------------------------------------------ import GameWorld import IPY_GameWorld -import ReadChConfig import ItemControler import ChConfig import ItemCommon @@ -46,193 +45,11 @@ import ChPyNetSendPack import PlayerFamilyRedPacket import NetPackCommon -import PyMapTable -import PlayerCoin import IpyGameDataPY import PlayerTJG import ChEquip import time - -# 定义配表外围索引 -( -Def_NotifyMark, # 系统提示mark -Def_NeedSpace, # 所需格子数 -Def_GiftInfo, # 奖品信息 -) = range(3) - -# 定义奖励物品信息索引 -( -Def_InfoIndex_ItemType, # 物品类型 -Def_InfoIndex_ItemID, # 物品id或定制物品索引 -Def_InfoIndex_ItemCount, # 物品个数 -Def_InfoIndex_IsBind, # 是否绑定 -) = range(4) - - -# 定义物品类型 -( -Def_ItemType_CommonItem, # 一般物品 -Def_ItemType_AppointItem, # 特殊定制物品 -) = range(2) - -## 领取玩家充值豪礼奖励 -# @param giftNum:豪礼编号,从0开始 -# @return None -def GetPlayerGoldGift(curPlayer, giftNum): - - # 检查可否领取 - if not __CheckCanGetGift(curPlayer, giftNum): - GameWorld.DebugLog("return can not Get GoldGift!!!") - return - - goldGiftInfo = ReadChConfig.GetEvalChConfig("GoldGiftInfo_%s" % giftNum) - - # 检查背包 - packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem) - needSpace = goldGiftInfo[Def_NeedSpace] - if needSpace > packSpace: - PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371") - return - - # 给物品 - if not __GiveGoldGift(curPlayer, goldGiftInfo[Def_GiftInfo]): - return - - # 全服提示 - notifyMark = goldGiftInfo[Def_NotifyMark] - #如果有消息提示 - if notifyMark.strip() != "": - PlayerControl.WorldNotify(0, notifyMark, [curPlayer.GetPlayerName()]) - vipLV = curPlayer.GetVIPLv() - msgParamList = [vipLV, curPlayer.GetPlayerName(), giftNum + 1] - PlayerControl.WorldNotify(0, "GeRen_liubo_927007", msgParamList) - - # 更新已领取成功标记 - __UpdateLVAwardGetRecord(curPlayer, giftNum) - - # 记录领取事件 - DataRecordPack.DR_GoldGiftGiveItem(curPlayer, giftNum) - - # 通知客户端 - Sync_GoldGiftGetRecordInfo(curPlayer) - return - - -## 通知充值豪礼领取记录信息 -# @param None -# @return None -def Sync_GoldGiftGetRecordInfo(curPlayer): - #getRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GoldGiftGetRecord, 0, - # ChConfig.Def_PDictType_GoldGift) - #ChPlayer.Sync_RewardGetRecordInfo(curPlayer, ShareDefine.Def_RewardType_GoldGift, getRecord) - return - - -## 给玩家充值豪礼奖励物品 -# @param curPlayer:玩家实例 -# @param goldGiftInfoDict:充值豪礼物品配置字典 -# @return None -def __GiveGoldGift(curPlayer, goldGiftInfoDict): - - goldGiftInfoList = __GetGoldGiftInfoList(curPlayer, goldGiftInfoDict) - - # 如果找不到对应的奖励信息,则返回False - if not goldGiftInfoList: - return False - - # 给物品 - for giftInfo in goldGiftInfoList: - itemType = giftInfo[Def_InfoIndex_ItemType] - itemCount = giftInfo[Def_InfoIndex_ItemCount] - itemID = giftInfo[Def_InfoIndex_ItemID] - isBind = 0 - if len(giftInfo) > Def_InfoIndex_IsBind: - isBind = giftInfo[Def_InfoIndex_IsBind] - - if itemCount <= 0: - continue - - # 一般物品 - if itemType == Def_ItemType_CommonItem: - ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, [IPY_GameWorld.rptItem], True, showSysInfo=True) - - # 特殊定制物品 - elif itemType == Def_ItemType_AppointItem: - itemData = PyMapTable.GetPyMapTable("AppointItemList").GetRecord("ItemIndex", str(itemID)) - GameWorld.DebugLog("__GiveGoldGift itemData=%s" % itemData) - if not itemData: - GameWorld.ErrLog("__GiveGoldGift()itemType=%s,ItemIndex=%s not data" % (itemType, itemID)) - continue - - if len(itemData) != 1: - GameWorld.ErrLog("__GiveGoldGift()itemType=%s,ItemIndex=%s,recordCount=%s !=1 error" % \ - (itemType, itemID, len(itemData))) - continue - - itemDictData = itemData[0] - itemDictData['IsBind'] = str(isBind) - ItemControler.GivePlayerEquip(curPlayer, itemDictData, True, showSysInfo=True) - - return True - - -## 给玩家充值豪礼奖励物品信息列表 -# @param curPlayer:玩家实例 -# @param awardItemInfoDict:奖励物品配置字典 -# @return None -def __GetGoldGiftInfoList(curPlayer, goldGiftInfoDict): - infoKey = () # 默认key - job = curPlayer.GetJob() - for key in goldGiftInfoDict.keys(): - # 如果玩家职业在配置的key里,则取指定的key信息 - if job in key: - infoKey = key - break - - return goldGiftInfoDict[infoKey] - - -## 更新领取记录 -# @param giftNum:豪礼编号,从0开始 -# @return None -def __UpdateLVAwardGetRecord(curPlayer, giftNum): - - curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GoldGiftGetRecord, 0, - ChConfig.Def_PDictType_GoldGift) - - curValue = curValue|(1 << giftNum) - - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GoldGiftGetRecord, curValue, - ChConfig.Def_PDictType_GoldGift) - return - -## 检查可否领取 -# @param giftNum:豪礼编号 -# @return True-可领取 -def __CheckCanGetGift(curPlayer, giftNum): - - needGoldCntList = ReadChConfig.GetEvalChConfig("NeedGoldCntList") - - # 非法索引 - if giftNum < 0 or giftNum >= len(needGoldCntList): - GameWorld.ErrLog("__CheckCanGetGift() error:not giftNum=%s" % (giftNum)) - return False - - # 判断已冲元宝数是否满足 - curChangeCoin = curPlayer.GetChangeCoinPointTotal() - curChangeGold = PlayerCoin.GetCoinRate() * curChangeCoin - if curChangeGold < needGoldCntList[giftNum]: - GameWorld.DebugLog("__CheckCanGetGift() curChangeGold not enough " + \ - "giftNum=%s,needGold=%s,changeGold=%s" % \ - (giftNum, needGoldCntList[giftNum], curChangeGold)) - return False - - # 判断是否已领取 - curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GoldGiftGetRecord, 0, - ChConfig.Def_PDictType_GoldGift) - return not (curValue & pow(2, giftNum)) - ##------------------------------------------------------------------------------ def DoFirstGoldOpen(curPlayer): @@ -313,7 +130,7 @@ # 给物品 for itemID, itemCount, isBind in rewardItemList: - ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, [IPY_GameWorld.rptItem]) + ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem]) # 全服提示 if len(rewardItemList) >= 2: @@ -332,29 +149,6 @@ # @return: None def OnDay(curPlayer): PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DailyChargeState, 0) - - #=============================================================================================== - # curChangeCoin = curPlayer.GetChangeCoinPointTotal() - # # 今天之前有充值过才需要处理天天首充 - # if curChangeCoin > 0: - # # 天天首充状态开启 - # dailyGoldState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DailyGoldChargeState, 0) - # if not dailyGoldState: - # UpdateDailyGoldState(curPlayer, 1) - # - # # 天天首充领奖状态 0-不可领;1-可领;2-已领 - # dailyGoldRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DailyGoldChargePrizeRecord, 0) - # if dailyGoldRecord != 1: - # UpdateDailyGoldRecord(curPlayer, 0) - #=============================================================================================== - - # 重置今日已充值数, 领取礼包索引 - #PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DailyGoldChargeCnt, 0) - #PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SingleGoldGiftIndex, 0) - #PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_UnlimitedGoldGiftCnt, 0) - # 通知单日充值多选一礼包信息 - #Sync_SingleGoldGiftInfo(curPlayer, True) - #Sync_UnlimitedGoldGiftRecord(curPlayer) return ## 充值豪礼OnLogin @@ -381,268 +175,6 @@ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DailyGoldChargeCnt, updDailyGoldCnt) #PlayerControl.NotifyPlayerDictValue(curPlayer, ChConfig.Def_PDict_DailyGoldChargeCnt) - # 天天首充已开启才处理 - dailyGoldState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DailyGoldChargeState, 0) - if dailyGoldState: - # 天天首充领奖状态 0-不可领;1-可领;2-已领 - dailyGoldRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DailyGoldChargePrizeRecord, 0) - # 不可领的时候才置为可领 - if dailyGoldRecord == 0: - UpdateDailyGoldRecord(curPlayer, 1) - - # 充值达到额定元宝获得奖励,邮件发送 - __GiveGoldGiftByMail(curPlayer) - - # 通知单日充值多选一礼包信息 - Sync_SingleGoldGiftInfo(curPlayer, True) - return - -## 单日充值任选一奖励 -# @param curPlayer: 玩家 -# @param giftIndex: 礼包索引 -# @param giftLV: 礼包档次 -# @return: None -def GetSingleGoldGift(curPlayer, giftIndex, giftLV, giftType): - - findSingleGoldGift = GetTodaySingleGoldGiftInfo() - - GameWorld.DebugLog("当日充值奖励领奖 (档%s - %s) giftType=%s,findSingleGoldGift=%s" - % (giftLV, giftIndex, giftType, str(findSingleGoldGift))) - - if not findSingleGoldGift: - GameWorld.DebugLog(" 今日未配置充值单选礼包!") - return - - todayGiftType = findSingleGoldGift[2] - if giftType != todayGiftType: - GameWorld.DebugLog(" 非当日充值礼包类型!todayGiftType=%s" % todayGiftType) - return - - goldGiftInfoList = findSingleGoldGift[3] - - # 无限领取礼包类型 - if giftType == 1: - __GetUnlimitedGoldGift(curPlayer, goldGiftInfoList) - return - - if giftIndex <= 0: - return - - if giftLV >= len(goldGiftInfoList): - GameWorld.ErrLog("单日充值单选礼包配置错误SingleGoldGift.txt 不存在该奖励档!giftLV=%s" % giftLV) - return - - curGoldGiftInfo = goldGiftInfoList[giftLV] - needGold, chooseGiftList = curGoldGiftInfo - - dailyGoldCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DailyGoldChargeCnt) - - if dailyGoldCnt < needGold: - GameWorld.DebugLog(" 今日充值额度未满足,无法领奖!needGold=%s,dailyGoldCnt=%s" - % (needGold, dailyGoldCnt)) - return - - goldGiftAwardRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_SingleGoldGiftIndex) - singleGoldGiftIndex = GameWorld.GetDataByDigitPlace(goldGiftAwardRecord, giftLV) - if singleGoldGiftIndex > 0: - GameWorld.DebugLog(" 今日已领取!singleGoldGiftIndex=%s" % (singleGoldGiftIndex)) - return - - if giftIndex > len(chooseGiftList): - GameWorld.ErrLog("单日充值单选礼包配置错误SingleGoldGift.txt giftIndex=%s 不在奖励列表里!" % giftIndex) - return - - hasSpace = ItemCommon.CheckPackHasSpace(curPlayer, IPY_GameWorld.rptItem) - if not hasSpace: - GameWorld.DebugLog(" 背包已满!") - return - - # 更新领奖索引 - updGoldGiftRecord = GameWorld.ChangeDataByDigitPlace(goldGiftAwardRecord, giftLV, giftIndex) - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SingleGoldGiftIndex, updGoldGiftRecord) - - itemID, itemCount, isBind = chooseGiftList[giftIndex - 1] - isOK = ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, [IPY_GameWorld.rptItem], True) - if not isOK: - return - - # 流向 - infoDict = {"SingleGiftIndex":giftIndex, "ItemID":itemID, "ItemCount":itemCount, "IsBind":isBind, - "SingleGiftLV":giftLV, "GoldGiftAwardRecord":updGoldGiftRecord} - DataRecordPack.DR_GoldGiftGiveItem(curPlayer, "SingleGoldGift", infoDict) - - # 同步客户端状态 - Sync_SingleGoldGiftInfo(curPlayer) - GameWorld.DebugLog(" awardRecord=%s,updRecord=%s,infoDict=%s" % (goldGiftAwardRecord, updGoldGiftRecord, infoDict)) - return - -def __GetUnlimitedGoldGift(curPlayer, goldGiftInfoList): - - dailyGoldCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DailyGoldChargeCnt) - - # 已领取次数 - hadGetCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_UnlimitedGoldGiftCnt) - - maxGetCnt = goldGiftInfoList[0] # 最大重复领取次数 - perNeedGold = goldGiftInfoList[1] # 每次领取需要充值钻石数 - curCanGetCnt = dailyGoldCnt / perNeedGold # 当前可领取的最大次数 - if maxGetCnt > 0: - curCanGetCnt = min(curCanGetCnt, maxGetCnt) - - GameWorld.DebugLog("领取当日充值无限领取礼包:dailyGoldCnt=%s / per(%s) = canCnt(%s),hadGetCnt=%s,MaxCntCfg=%s" - % (dailyGoldCnt, perNeedGold, curCanGetCnt, hadGetCnt, maxGetCnt)) - - if curCanGetCnt <= 0: - GameWorld.DebugLog(" 可领取次数=%s,不可领取!" % curCanGetCnt) - return - - if hadGetCnt >= curCanGetCnt: - GameWorld.DebugLog(" 已达到最大领取次数!%s" % curCanGetCnt) - return - - getCnt = curCanGetCnt - hadGetCnt - - # 检查背包 - packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem) - needSpace = goldGiftInfoList[2] - if needSpace > packSpace: - PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371") - return - - # 给物品 - curGetCnt = getCnt - awardItemList = goldGiftInfoList[3] - for itemID, itemCnt, isBind in awardItemList: - gameData = GameWorld.GetGameData() - curItemData = gameData.GetItemByTypeID(itemID) - if curItemData == None: - GameWorld.ErrLog("领取当日充值无限领取礼包,物品ID数据错误!(%s)" % itemID, curPlayer.GetPlayerID()) - return - - maxPackCount = curItemData.GetPackCount() - perSpaceCanGetCnt = maxPackCount / itemCnt # 单个空位最大可领取次数 - curGetCnt = min(perSpaceCanGetCnt, curGetCnt) - #GameWorld.DebugLog(" itemID=%s,maxPackCount=%s,giveCnt=%s,perSpaceCanGetCnt=%s,curGetCnt=%s" - # % (itemID, maxPackCount, itemCnt, perSpaceCanGetCnt, curGetCnt)) - - # 更新已领取成功标记 - updGetCnt = hadGetCnt + curGetCnt - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_UnlimitedGoldGiftCnt, updGetCnt) - - # 给物品 - awardItemList = goldGiftInfoList[3] - isOKStr = "" - for itemID, itemCnt, isBind in awardItemList: - isOK = ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt * curGetCnt, isBind, - [IPY_GameWorld.rptItem, IPY_GameWorld.rptAnyWhere], True) - - isOKStr = "%s%s" % (str(int(isOK)), isOKStr) - - # 记录领取事件 - addDataDict = {"isOKStr":isOKStr, "awardItemList":str(awardItemList), "DailyGoldCnt":dailyGoldCnt, - "TodayGetCnt":updGetCnt, "CurGetCnt":curGetCnt} - DataRecordPack.DR_FuncGiveItem(curPlayer, "UnlimitedGoldGift", addDataDict) - - # 通知客户端 - Sync_UnlimitedGoldGiftRecord(curPlayer) - GameWorld.DebugLog(" 领取充值无限领取礼包奖励OK!TodayGetCnt=%s,CurGetCnt=%s" % (updGetCnt, curGetCnt)) - return - - -## 通知无限领取礼包已领取次数 -# @param None -# @return None -def Sync_UnlimitedGoldGiftRecord(curPlayer): - #record = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_UnlimitedGoldGiftCnt) - #ChPlayer.Sync_RewardGetRecordInfo(curPlayer, ShareDefine.Def_RewardType_UnlimitedGoldGift, record) - return - - -## 玩家累计充值元宝发送邮件奖励 -# @param curPlayer: 玩家 -# @return: None -def __GiveGoldGiftByMail(curPlayer): - coinPointTotal = curPlayer.GetChangeCoinPointTotal() - goldTotal = PlayerCoin.GetCoinRate() * coinPointTotal - GameWorld.DebugLog("邮件发送充值豪礼:goldTotal=%s" % (goldTotal)) - if goldTotal <= 0: - return - - goldGiftByMailList = ReadChConfig.GetEvalChConfig("GoldGiftByMail") - playerID = curPlayer.GetPlayerID() - for i, giftInfo in enumerate(goldGiftByMailList): - - needGold = giftInfo[0] - giftItemList = giftInfo[1] - mailTitle = giftInfo[2] - mailContent = giftInfo[3] - getDays = giftInfo[4] - - curMailRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GoldGiftMailRecord, 0, - ChConfig.Def_PDictType_GoldGift) - - if curMailRecord&pow(2, i): - GameWorld.DebugLog("邮件发送充值豪礼:已发送过!i=%s,needGold=%s" % (i, needGold)) - continue - - if goldTotal < needGold: - continue - - if not PlayerControl.SendMail(mailTitle, mailContent, getDays, [playerID], giftItemList): - continue - - updMailRecord = curMailRecord|pow(2, i) - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GoldGiftMailRecord, updMailRecord, - ChConfig.Def_PDictType_GoldGift) - - GameWorld.DebugLog("邮件发送充值豪礼:i=%s,needGold=%s,giftItemList=%s,updMailRecord=%s" - % (i, needGold, str(giftItemList), updMailRecord)) - # 流向 - DataRecordPack.DR_GoldGiftGiveItem(curPlayer, "GoldGiftSendMail_%s_%s" % (i, needGold)) - return - -## 领取玩家天天首充奖励 -# @param curPlayer -# @return None -def GetPlayerDailyGoldChargeGift(curPlayer): - - dailyGoldRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DailyGoldChargePrizeRecord, 0) - - if dailyGoldRecord != 1: - GameWorld.DebugLog("天天首充不可领!当前状态=%s" % dailyGoldRecord) - return - - dailyFirstGoldPrizeInfo = ReadChConfig.GetEvalChConfig("GoldGiftInfoFirstDaily") - - # 检查背包 - packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem) - needSpace = dailyFirstGoldPrizeInfo[Def_NeedSpace] - if needSpace > packSpace: - PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371") - return - - # 给物品 - if not __GiveGoldGift(curPlayer, dailyFirstGoldPrizeInfo[Def_GiftInfo]): - return - - # 全服提示 - notifyMark = dailyFirstGoldPrizeInfo[Def_NotifyMark] - if notifyMark: - PlayerControl.WorldNotify(0, notifyMark, [curPlayer.GetPlayerName()]) - - UpdateDailyGoldRecord(curPlayer, 2) - - # 记录领取事件 - DataRecordPack.DR_GoldGiftGiveItem(curPlayer, "dailyFirstGoldPrize") - return - - -## 更新天天首充奖励记录 -# @param curPlayer -# @return None -def UpdateDailyGoldRecord(curPlayer, record): - #PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DailyGoldChargePrizeRecord, record) - #Sync_DailyGoldRecordInfo(curPlayer) return def Sync_FirstGoldInfo(curPlayer): @@ -653,59 +185,6 @@ sendPack.FirstGoldTry = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FirstGoldTry) NetPackCommon.SendFakePack(curPlayer, sendPack) return - -## 通知单日充值多选一礼包信息 -# @param curPlayer -# @return None -def Sync_SingleGoldGiftInfo(curPlayer, isCheckTime=False): - #=============================================================================================== - # if isCheckTime: - # todayGiftInfo = GetTodaySingleGoldGiftInfo() - # if not todayGiftInfo: - # return - # - # sendPack = ChPyNetSendPack.tagMCSingleGoldGift() - # sendPack.Clear() - # sendPack.GoldCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DailyGoldChargeCnt) - # sendPack.GiftIndex = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_SingleGoldGiftIndex) - # NetPackCommon.SendFakePack(curPlayer, sendPack) - #=============================================================================================== - return - -## 获取单日充值多选一礼包信息 -# @param None -# @return None代表今日无活动 -def GetTodaySingleGoldGiftInfo(): - # 开服前7天默认不开启 - openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) - - singleGoldGiftList = ReadChConfig.GetEvalChConfig("SingleGoldGift") - - curDataTimeStr = GameWorld.GetCurrentDataTimeStr() - - curTime = GameWorld.GetCurrentTime() - weekday = curTime.weekday() + 1 - - findSingleGoldGift = None - for giftInfo in singleGoldGiftList: - - # 判断日期, 日期活动优先 - dateTimeInfo = giftInfo[0] - if dateTimeInfo: - startTime = dateTimeInfo[0] - endTime = dateTimeInfo[1] - if startTime <= curDataTimeStr <= endTime: - findSingleGoldGift = giftInfo - break - - # 判断星期, 开服前7天默认不开启星期活动 - weekDayInfo = giftInfo[1] - if weekday in weekDayInfo and openServerDay >= ShareDefine.Def_OSC_ValidDay: - findSingleGoldGift = giftInfo - break - - return findSingleGoldGift - #// A5 11 试用首充武器 #tagCMTryFirstGoldItem # @@ -739,9 +218,8 @@ if not result: GameWorld.Log(' 试用首充武器 卸下原装备失败!!', curPlayer.GetID()) return - - tryItem = ItemControler.GetOutPutItemObj(tryItemID, 1, 1) - if ChEquip.DoPlayerEquipItem(curPlayer, tryItem, equipPlace, tick): + tryItem = ItemControler.GetOutPutItemObj(tryItemID) + if ChEquip.DoPlayerEquipItem(curPlayer, tryItem, ItemCommon.GetEquipPackIndex(tryItem), tick): PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FirstGoldTry, 2) else: curItem.clear() @@ -775,7 +253,7 @@ if not giveItemID: return GameWorld.DebugLog('首充试用物品过期了 背包仓库没武器则送一把giveItemID=%s'%giveItemID, curPlayer.GetID()) - if not ItemControler.GivePlayerItem(curPlayer, giveItemID, 1, True, [IPY_GameWorld.rptItem], True): + if not ItemControler.GivePlayerItem(curPlayer, giveItemID, 1, 0, [IPY_GameWorld.rptItem]): GameWorld.DebugLog('首充试用物品过期了 背包仓库没武器则送一把 没给成功!!giveItemID=%s'%giveItemID, curPlayer.GetID()) return -- Gitblit v1.8.0