#!/usr/bin/python # -*- coding: GBK -*- #--------------------------------------------------------------------- # #--------------------------------------------------------------------- ##@package GY_Query_FamilyArrestAward # @todo: ÁìÈ¡°ï»áÐüÉÍÈÎÎñ½±Àø # # @author: jiang # @date 2012-02-14 # @version 1.2 # # @note: # @change: "2014-10-31 13:30" hxp »Ö¸´Õ½ÃËÐüÉÍÈÎÎñ£»Ôö¼Ó¸øÎïÆ·½±Àø # @change: "2015-02-11 16:40" ljd Áì½±¼Ç¼Á÷Ïò #--------------------------------------------------------------------- """Version = 2015-02-11 16:40""" #--------------------------------------------------------------------- import IPY_GameWorld import GameWorld import ChConfig import ReadChConfig import ItemCommon import PlayerControl import ItemControler import ShareDefine import ChPlayer import DataRecordPack #--------------------------------------------------------------------- #--------------------------------------------------------------------- #Âß¼­ÊµÏÖ ## ÁìÈ¡°ï»áÐüÉÍÈÎÎñ½±Àø # @param query_Type ÇëÇóÀàÐÍ # @param query_ID ÇëÇóµÄÍæ¼ÒID # @param packCMDList ·¢°üÃüÁî # @param tick µ±Ç°Ê±¼ä # @return "True" or "False" or "" # @remarks º¯ÊýÏêϸ˵Ã÷. def DoLogic(query_Type, query_ID, packCMDList, tick): return '' #--------------------------------------------------------------------- ## Ö´Ðнá¹û # @param curPlayer ·¢³öÇëÇóµÄÍæ¼Ò # @param callFunName ¹¦ÄÜÃû³Æ # @param funResult ²éѯµÄ½á¹û # @param tick µ±Ç°Ê±¼ä # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def DoResult(curPlayer, callFunName, funResult, tick): #¸ü¸Ä²éѯ״̬ curPlayer.SetDict(ChConfig.Def_PlayerKey_FamilyArrestQueryState, 0) result, arrestID = eval(funResult) if not result: #¸ÃÐüÉÍÈÎÎñ»¹Ã»ÓÐÍê³É GameWorld.DebugLog("¸ÃÐüÉÍÈÎÎñ»¹Ã»ÓÐÍê³É") return state = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FamilyArrestAwardState) bit = ShareDefine.Def_ArrestOverState_BitDic.get(arrestID) if state & pow(2, bit): #ÒѾ­ÁìÈ¡¹ý GameWorld.DebugLog("¸ÃÐüÉÍÈÎÎñ½±ÀøÒѾ­ÁìÈ¡¹ý") return arrestAwardDict = ReadChConfig.GetEvalChConfig("FamilyArrestAward") awardItemInfo = arrestAwardDict.get(arrestID) if awardItemInfo == None: #ÕÒ²»µ½ÐüÉͽ±ÀøµÄÍþÍû GameWorld.ErrLog("PlayerFamilyArrest arrestID = %s no award"%arrestID) return needSpace, awardItemList = awardItemInfo # ¼ì²é±³°ü packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem) if needSpace > packSpace: PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371") return # ¸øÎïÆ· for itemID, itemCnt, isBind in awardItemList: recordData = {'FamilyArrest':state, 'ArrestID':arrestID} ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, 0, [IPY_GameWorld.rptItem], event=["FamilyArrestAward", False, recordData]) #ÉèÖý±ÀøÁìÈ¡³É¹¦ state = state|pow(2, bit) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FamilyArrestAwardState, state) #½±ÀøÁìÈ¡Çé¿ö ChPlayer.Sync_FamilyArrestAwardReceiveState(curPlayer) return