| | |
| | | # tagHead Head;
|
| | | #};
|
| | | def OnTryFirstGoldItem(index, clientData, tick):
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FirstGoldTry) != 1:
|
| | | return
|
| | | tryItemDict = IpyGameDataPY.GetFuncEvalCfg('FirstGoldTryItem', 1, {})
|
| | | tryItemID = tryItemDict.get(curPlayer.GetJob(), 0)
|
| | | if not tryItemID:
|
| | | return
|
| | | |
| | | |
| | | #先卸下主手武器(若背包满则发邮件),再穿上送的武器
|
| | | equipPlace = ShareDefine.retWeapon
|
| | | curPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)
|
| | | curItem = curPack.GetAt(equipPlace)
|
| | | if ItemCommon.CheckItemCanUse(curItem):
|
| | | spaceIndex = ItemControler.GetItemPackSpaceIndex(curPlayer, IPY_GameWorld.rptItem)
|
| | | if spaceIndex == -1:
|
| | | itemObj = ItemCommon.GetMailItemDict(curItem)
|
| | | PlayerControl.SendMailByKey('', [curPlayer.GetID()], [itemObj])
|
| | | ItemCommon.DelItem(curPlayer, curItem, 1, False)
|
| | | else:
|
| | | result = ItemControler.PlayerItemControler(curPlayer).UnEquipItem(equipPlace, spaceIndex)
|
| | | if not result:
|
| | | GameWorld.Log(' 试用首充武器 卸下原装备失败!!', curPlayer.GetID())
|
| | | return
|
| | | tryItem = ItemControler.GetOutPutItemObj(tryItemID)
|
| | | if ChEquip.DoPlayerEquipItem(curPlayer, tryItem, ItemCommon.GetEquipPackIndex(tryItem), tick):
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FirstGoldTry, 2)
|
| | | else:
|
| | | curItem.clear()
|
| | | GameWorld.Log(' 试用首充武器 试穿失败!!tryItemID=%s'%tryItemID, curPlayer.GetID())
|
| | | Sync_FirstGoldInfo(curPlayer)
|
| | | return
|
| | |
|
| | | def FirstGoldTryItemOutTime(curPlayer):
|
| | | ##首充试用物品过期了 若背包仓库没武器则送一把
|
| | | |
| | | haveEquip = False #是否有可穿的武器
|
| | | playerItemControl = ItemControler.PlayerItemControler(curPlayer)
|
| | | for packIndex in [IPY_GameWorld.rptItem, IPY_GameWorld.rptWarehouse]:
|
| | | curPack = curPlayer.GetItemManager().GetPack(packIndex)
|
| | | for i in range(0, curPack.GetCount()):
|
| | | curItem = curPack.GetAt(i)
|
| | | if not ItemCommon.CheckItemCanUse(curItem):
|
| | | continue
|
| | | if curItem.GetEquipPlace() != ShareDefine.retWeapon:
|
| | | continue
|
| | | if not ItemCommon.CheckItemCanUseByExpireTime(curItem):
|
| | | # 过期
|
| | | continue
|
| | | if not playerItemControl.PlayerCanEquipItem(curItem, False):
|
| | | continue
|
| | | haveEquip = True
|
| | | break
|
| | | if not haveEquip:
|
| | | giveItemDict = IpyGameDataPY.GetFuncEvalCfg('FirstGoldTryItem', 2, {})
|
| | | giveItemID = giveItemDict.get(curPlayer.GetJob(), 0)
|
| | | if not giveItemID:
|
| | | return
|
| | | GameWorld.DebugLog('首充试用物品过期了 背包仓库没武器则送一把giveItemID=%s'%giveItemID, curPlayer.GetID())
|
| | | if not ItemControler.GivePlayerItem(curPlayer, giveItemID, 1, 0, [IPY_GameWorld.rptItem]):
|
| | | GameWorld.DebugLog('首充试用物品过期了 背包仓库没武器则送一把 没给成功!!giveItemID=%s'%giveItemID, curPlayer.GetID())
|
| | | |
| | | return
|
| | |
|
| | | def OnGetHistoryRechargeAward(curPlayer, awardID):
|