358 【内政】红颜系统-服务端(修改游历体力为DWORD;红颜时装升级改为使用背包物品;)
| | |
| | |
|
| | | class tagSCTravelInfo(Structure):
|
| | | Head = tagHead()
|
| | | Energy = 0 #(BYTE Energy)//剩余体力
|
| | | Energy = 0 #(DWORD Energy)//剩余体力
|
| | | EnergyTime = 0 #(DWORD EnergyTime)//上次恢复体力时间戳
|
| | | TravelCnt = 0 #(DWORD TravelCnt)//累计游历次数
|
| | | SceneryType = 0 #(BYTE SceneryType)//景观类型
|
| | |
| | | def ReadData(self, _lpData, _pos=0, _Len=0):
|
| | | self.Clear()
|
| | | _pos = self.Head.ReadData(_lpData, _pos)
|
| | | self.Energy,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.Energy,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.EnergyTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.TravelCnt,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.SceneryType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | |
| | | def GetLength(self):
|
| | | length = 0
|
| | | length += self.Head.GetLength()
|
| | | length += 1
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 1
|
| | |
| | | def GetBuffer(self):
|
| | | data = ''
|
| | | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
|
| | | data = CommFunc.WriteBYTE(data, self.Energy)
|
| | | data = CommFunc.WriteDWORD(data, self.Energy)
|
| | | data = CommFunc.WriteDWORD(data, self.EnergyTime)
|
| | | data = CommFunc.WriteDWORD(data, self.TravelCnt)
|
| | | data = CommFunc.WriteBYTE(data, self.SceneryType)
|
| | |
| | | needItemCnt = ipyData.GetUpNeedCnt()
|
| | | if not needItemID or not needItemCnt:
|
| | | return
|
| | | itemCount = ItemControler.GetItemCountByID(curPlayer, needItemID)
|
| | | if itemCount < needItemCnt:
|
| | | GameWorld.DebugLog("红颜时装升星物品不足! skinID=%s,needItemID=%s,itemCount=%s < %s" % (skinID, needItemID, itemCount, needItemCnt))
|
| | | |
| | | costItemIndexList, bindCnt, unBindCnt = ItemCommon.GetPackItemBindStateIndexInfo(curPlayer, needItemID, needItemCnt)
|
| | | lackCnt = needItemCnt - bindCnt - unBindCnt
|
| | | if lackCnt > 0:
|
| | | GameWorld.DebugLog("红颜时装升星物品不足! skinID=%s,needItemID=%s,needItemCnt=%s,lackCnt=%s" % (skinID, needItemID, needItemCnt, lackCnt))
|
| | | return
|
| | | ItemControler.DelItemCountByID(curPlayer, needItemID, needItemCnt)
|
| | | ItemCommon.DelCostItemByBind(curPlayer, costItemIndexList, bindCnt, unBindCnt, needItemCnt, "Beauty")
|
| | |
|
| | | nextStar = curStar + 1
|
| | | GameWorld.DebugLog("红颜时装升星! skinID=%s,nextStar=%s" % (skinID, nextStar), playerID)
|