| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
|   | 
| ##@package PlayerDBGSEvent  | 
| # Íæ¼Òʼþ´¥·¢¹ÜÀíÆ÷  | 
| #  | 
| # @author Mark  | 
| # @date 2010-5-11  | 
| # @version 4.3  | 
| #  | 
| # ÐÞ¸Äʱ¼ä ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ  | 
| # @change: "2010-05-12 18:30" zhengyang Ìí¼Ó×¢ÊÍ  | 
| # @change: "2011-11-30 10:18" whx Ìí¼Ó¼Ò×åÕ½¿ªÆô×ÖµäÿÌìˢР | 
| # @change: "2011-12-20 12:54" whx ÒƳý¼Ò×åÕù°Ôս֪ͨ×Öµä  | 
| # @change: "2012-03-23 13:30" jiang Ôö¼Óһö¾ÙDef_InitOpenServerTime  | 
| # @change: "2012-05-06 19:30" jiang Ôö¼Óһö¾ÙDef_ServerDay  | 
| # @change: "2012-07-18 11:00" wdb Ôö¼Ó³äÖµ»î¶¯ÉèÖà  | 
| # @change: "2012-08-07 14:00" wdb Ôö¼ÓÅжϿª·þµÚÒ»ÖÜÊÇ·ñ¿ª°ï»áÕ½  | 
| # @change: "2012-08-24 13:59" whx ¼Ç¼»î¶¯¿ªÆôʱ¼ä  | 
| # @change: "2012-09-17 10:30" whx ¼Ç¼¸£Àû»î¶¯¿ªÆôÐÅÏ¢  | 
| # @change: "2012-10-16 17:30" jiang Ôö¼Óһö¾ÙDef_ResetPlayerBillboard  | 
| # @change: "2012-11-01 15:30" wdb ÐÂÔö¿ç·þÈüÌÔÌÈü(¿ç·þ·þÎñÆ÷)µ÷Óà  | 
| # @change: "2012-11-08 14:30" whx ÐÂÔö¿ç·þµ÷ÓÃ  | 
| # @change: "2012-11-21 11:00" wdb ¿ç·þÈü±¨Ãû(ÉÏ´«Êý¾Ý)µ÷Õû  | 
| # @change: "2012-11-29 11:30" jiang OnDay֪ͨ¹úÍõ·þÎñÆ÷¿ªÆôÌìÊý  | 
| # @change: "2012-11-29 13:00" hyx ÐÂÔö¿ç·þÈüʼþö¾Ù  | 
| # @change: "2012-11-29 19:00" wdb Ìí¼ÓÈ«·þ½±Àø  | 
| # @change: "2012-12-05 17:00" wdb Ôö¼ÓgmÃüÁî£¬ÖØÉè»î¶¯ÌìÊý  | 
| # @change: "2012-12-10 15:50" hyx É¾³ý¶àÓàµÄö¾Ù  | 
| # @change: "2013-01-11 11:00" wdb Ôö¼Ó ²Î¼ÓÈÙÒ«Ö®Õ½(¿ç·þ»ìÕ½)ÉÏ´«Êý¾Ý  | 
| # @change: "2013-01-14 15:00" wdb Ôø¼Ó¼Ç¼»î¶¯ÉèÖÃʱµÄʱ¼äÓÃÓÚ±êʶ»î¶¯Î¨Ò»  | 
| # @change: "2014-04-26 19:30" hxp Ôö¼ÓÁìµØÕ½»î¶¯Ìì¼Ç¼  | 
| # @change: "2014-05-17 11:30" xmnathan Ôö¼Ó½»Ò×Ëù¿ª¹Ø£»GetDBGSTrig_ByKey½Ó¿ÚÔö¼Ó Ä¬ÈÏÖµ²ÎÊý  | 
| # @change: "2014-12-01 12:30" hxp Ôö¼ÓºÏ·þ״̬¼°ÌìÊý¼Ç¼  | 
| # @change: "2014-12-03 18:00" hxp Ôö¼ÓºÏ·þÊ×´ÎÆô¶¯Êý¾Ý¼ÓÔØ´¦Àí¼Ç¼  | 
| # @change: "2014-12-08 11:00" hxp Ôö¼ÓºÏ·þʱµÄ¿ª·þÌìÊý¼Ç¼  | 
| # @change: "2015-01-10 16:00" hxp Ôö¼Ó½Ç¶·³¡boss»÷ɱ´ÎÊý  | 
| # @change: "2015-05-07 15:00" ljd Ôö¼ÓÈ«·þºì°ü²ú³ökey  | 
| # @change: "2015-06-05 17:00" hxp Ôö¼ÓPKÖÜÈüÌì  | 
| # @change: "2016-08-29 23:30" hxp ºé»ÄÖ®Á¦  | 
| # @change: "2017-03-24 15:00" hxp Ìػݻ¶¯Ì¬Ñ»·  | 
| #---------------------------------------------------------------------  | 
| """Version = 2017-03-24 15:00"""  | 
| #---------------------------------------------------------------------  | 
| # Ä£¿éÏêϸ˵Ã÷  | 
|   | 
| #Writer £ºMark  | 
| #Íæ¼Òʼþ´¥·¢¹ÜÀíÆ÷  | 
| #µ¼Èë  | 
| import GameWorld  | 
| #---------------------------------------------------------------------  | 
| #È«¾Ö±äÁ¿  | 
| #---------------------------------------------------------------------  | 
|   | 
| #---------------------------------------------------------------------  | 
| #Â߼ʵÏÖ  | 
|   | 
| #Íæ¼Òʼþ´¥·¢±í  | 
| #ÖØÃû¼Ò×åÃû×Ö  | 
| Def_Key_RenameFamily = 'RenameFamily'  | 
|   | 
| #·þÎñÆ÷ÔËÐÐÁ˼¸ÖÜ  | 
| Def_ServerWeek = 'ServerWeek'  | 
|   | 
| #·þÎñÆ÷ÔËÐÐÁ˼¸Ìì  | 
| Def_ServerDay = 'ServerDay'  | 
|   | 
| #¿ª·þÊÇÖܼ¸, 1´ú±íÖÜÒ»  | 
| Def_OpenServerWeekday = 'OpenServerWeekday'  | 
|   | 
| #·þÎñÆ÷ÊÇ·ñÊǺϷþ·þÎñÆ÷  | 
| Def_IsMixServer = 'IsMixServer'  | 
|   | 
| #·þÎñÆ÷ÒѾºÏ·þ¶àÉÙÌì  | 
| Def_MixServerDay = 'MixServerDay'  | 
|   | 
| #·þÎñÆ÷ºÏ·þÊ×´ÎÆô¶¯OK  | 
| Def_IsMixServerInitOK = 'IsMixServerInitOK'  | 
|   | 
| #¿ª·þ»î¶¯°ñµ¥½áËã°æ±¾¸üÐÂʱµÄ¿ª·þÌ죬Ö÷ÒªÓÃÓھɷþÅжϲ»Öظ´·¢·Å½±Àø  | 
| Def_OSCBillAwardVerDay = 'OSCBillAwardVerDay'  | 
| #¿ª·þ»î¶¯°ñµ¥½áËã״̬£¬°´³å°ñÀàÐͶþ½øÖÆÎ»´æ´¢ÊÇ·ñÒѽáËã  | 
| Def_OSCBillAwardRecord = 'OSCBillAwardRecord'  | 
|   | 
| #ÉϴκϷþʱµÄ¿ª·þÌìÊý  | 
| Def_LastMixServerDay = 'LastMixServerDay'  | 
|   | 
| #ÉϴκϷþʱµÄÊÀ½çµÈ¼¶  | 
| Def_LastMixServerWorldLV = 'LastMixServerWorldLV'  | 
|   | 
| #Ê״οª·þʱ¼ä£¬×¢Òâ²»ÒªÓøÃÈÕÆÚ×ö¿ª·þÌìÏà¹ØµÄ¹¦ÄÜÂß¼£¬Èç¹ûÒªÓÿª·þÌ죬ÇëÓàDef_ServerDay  | 
| ''' ÔÒò£º   | 
| ÒòΪĿǰ¿ª·þÌìµÄÂß¼´ó²¿·ÖÊÇÓàDef_ServerDay£¬µ±³öÏÖ·þÎñÆ÷å´»ú³¬¹ý24Сʱʱ£¬¾Í»áµ¼Ö Def_ServerDay Óë Def_InitOpenServerTime ²»¶ÔÓ¦  | 
| ËùÒÔΪÁ˹¦ÄÜÂß¼ºÍÊý¾ÝµÄͳһÐÔ£¬¿ª·þÌìÏà¹ØµÄ¹¦ÄÜÂß¼±ØÐëÓàDef_ServerDay  | 
| Def_InitOpenServerTime Ä¿Ç°½öÓÃÓÚÔ¤ÏÈÉèÖÿª·þÈÕÆÚÓà  | 
| '''  | 
| Def_InitOpenServerTime = 'InitOpenServerTime'  | 
| Def_SetOpenServerTime = 'SetOpenServerTime' # GM¹¤¾ßÔ¤¶¨µÄ¿ª·þʱ¼ä  | 
|   | 
| #ÏÉÃËÁªÈüµ±Ç°Õ½¶·ÂÖ´Î  | 
| Def_FamilyWar_Round = 'FamilyWar_Round'  | 
| #ÏÉÃËÁªÈüÊÇ·ñÒѾ´¦Àí¹ý×ܽáËã  | 
| Def_FamilyWar_AllOver = 'FamilyWar_AllOver'  | 
| #ÏÉÃËÁªÈüÊ×ÂÖ¿ªÊ¼Ê±µÄÊÀ½çµÈ¼¶  | 
| Def_FamilyWar_StartWorldLV = 'FamilyWar_StartWorldLV'  | 
|   | 
| #·þÎñÆ÷¿ª·þ×Ô¶¯Âß¼´¦Àí Äê  | 
| Def_Server_Year = 'Def_Server_Year'  | 
| #·þÎñÆ÷¿ª·þ×Ô¶¯Âß¼´¦Àí Ô  | 
| Def_Server_Month = 'Def_Server_Month'  | 
| #·þÎñÆ÷¿ª·þ×Ô¶¯Âß¼´¦Àí Ô  | 
| Def_Server_MonthEx = 'Def_Server_MonthEx'  | 
| #·þÎñÆ÷¿ª·þ×Ô¶¯Âß¼´¦Àí ÖÜ  | 
| Def_Server_Week = 'Def_Server_Week'  | 
| #·þÎñÆ÷¿ª·þ×Ô¶¯Âß¼´¦Àí ÖÜ  | 
| Def_Server_WeekEx = 'Def_Server_WeekEx'  | 
| #·þÎñÆ÷¿ª·þ×Ô¶¯Âß¼´¦Àí ÈÕ  | 
| Def_Server_Day = 'Def_Server_Day'  | 
| #·þÎñÆ÷¿ª·þ×Ô¶¯Âß¼´¦Àí ÈÕ  | 
| Def_Server_DayEx = 'Def_Server_DayEx'  | 
| #·þÎñÆ÷¿ª·þ×Ô¶¯Âß¼´¦Àí Ð¡Ê±  | 
| Def_Server_Hour = 'Def_Server_Hour'  | 
|   | 
| # ½»Ò×Ëù¿ª¹Ø  | 
| Def_BourseState = "BourseState"  | 
|   | 
| # ±¾·þºì°ü²ú³öÊý  | 
| Def_RedPacketOutput = "RedPacketOutput"  | 
|   | 
| Def_BossRefreshTime = 'BossRefreshTime_%s'  # bossË¢ÐÂʱ¼ä, ²ÎÊýΪNPCID  | 
|   | 
| #ÊÀ½çµÈ¼¶¼ÆËã¶îÍâʱ¼ä²ÎÊý  | 
| Def_WorldLVExtraTime = 'WorldLVExtraTime'  | 
|   | 
| # ÏÉħ֮ÕùÊÇ·ñÈ«²¿½áËã  | 
| Def_XMZZIsOver = "XMZZIsOver"  | 
|   | 
| # ÊÇ·ñµÚÒ»¸ö¿ª·þºì°ü  | 
| Def_OSRedPacket = "OSRedPacket"  | 
|   | 
| # ¼ÙÏÉÃËËæ»ú±àºÅ  | 
| Def_FakeFamilyIndex = 'FakeFamilyIndex_%s'  # ²ÎÊýΪµÚ¼¸¸ö¼ÙÏÉÃË  | 
|   | 
| # ·þÎñÆ÷½¨ÃË´ÎÊý  | 
| Def_ServerCreatFamilyTimes = "CreatFamilyTimes"  | 
|   | 
| #ÉèÖÿç·þÔËÓª»î¶¯IDµÄ±ê¼Ç  | 
| Def_CrossActID = 'CAID_%s_%s' #²ÎÊýΪ(ÔËÓª»î¶¯Ãû, »î¶¯±íÅäÖÃcfgID)  | 
| #ÉèÖÃÔËÓª»î¶¯IDµÄ±ê¼Ç  | 
| Def_OperationActID = 'OperationActID_%s' #²ÎÊýΪÔËÓª»î¶¯Ãû  | 
| #ÔËÓª»î¶¯¿ªÆôʱÊÀ½çµÈ¼¶£¬²ÎÊýΪÔËÓª»î¶¯Ãû  | 
| Def_OActWorldLV = "OActWorldLV_%s"  | 
| #boss¸´»î»î¶¯µ±Ç°¸´»îµã  | 
| Def_BossRebornPoint = "BossRebornPoint"  | 
| #boss¸´»î»î¶¯²ÎÊý·þÎñÆ÷ÈËÊý  | 
| Def_BRServerPlayerCnt = "BRServerPlayerCnt"  | 
| #boss¸´»î»î¶¯ÒѸ´»î´ÎÊý  | 
| Def_BossRebornCnt = "BossRebornCnt"  | 
| #¶àÏÉÃËBoss»÷ɱʱ¼ä  | 
| Def_AllFamilyBossTime = "AllFamilyBossTime"  | 
| #Æï³èBoss»÷ɱʱ¼ä  | 
| Def_HorsePetBossTime = "HorsePetBossTime%s"  | 
| #¿ç·þ·þÎñÆ÷ÊÇ·ñά»¤ÖÐ  | 
| Def_CrossServerClose = "CrossServerClose"  | 
| #¾º¼¼³¡¿ª·þǰ¶¨ÖÆXÌìÈü¼¾×´Ì¬  0-δ±ÈÈü¹ý£¬1-½øÐÐÖУ¬>1½áËãʱµÄ¿ª·þÌì  | 
| Def_ArenaOSSeasonState = "ArenaOSSeasonState"  | 
| #¾º¼¼³¡µ±Ç°Èü¼¾¿ªÊ¼Ê±µÄÊÀ½çµÈ¼¶  | 
| Def_ArenaWorldLV = "ArenaWorldLV"  | 
| #¿ç·þÅÅλÕù°ÔÈü»î¶¯ID  | 
| Def_CrossChampionshipID = "CrossChampionshipID"  | 
| #¿ç·þÅÅλÕù°ÔÈü»î¶¯×´Ì¬  | 
| Def_CrossChampionshipState = "CrossChampionshipState"  | 
| #¿ç·þÅÅλÕù°ÔÈü»î¶¯×´Ì¬ÊÇ·ñÒѾÒì³£ - ¸Ã»î¶¯Ö»Äܰ´×´Ì¬Ë³ÐòÖ´ÐУ¬²»ÄÜÌø×´Ì¬£¬·ñÔòÊÓΪ»î¶¯Òì³£  | 
| Def_CrossChampionshipStateError = "CrossChampionshipStateError"  | 
| #¿ç·þÅÅλÕù°ÔÈü»î¶¯×´Ì¬Òì³£ºóÐø´¦Àí״̬  | 
| Def_CrossChampionshipErrorDo = "CrossChampionshipErrorDo"  | 
|   | 
| def SetInitOpenServerTime(initTime):  | 
|     openDatetime = GameWorld.ChangeTimeNumToDatetime(initTime)  | 
|     openServerWeekday = openDatetime.weekday() + 1  | 
|     SetDBGSTrig_ByKey(Def_InitOpenServerTime, initTime)  | 
|     SetDBGSTrig_ByKey(Def_OpenServerWeekday, openServerWeekday)  | 
|     GameWorld.Log("ÉèÖÿª·þʱ¼ä: %s(%s), ÖÜ%s" % (openDatetime, initTime, openServerWeekday))  | 
|     # ÐèÒªÕâ¸ö²ÎÊýÖ÷ÒªÊÇGM¹¤¾ß»áÅжÏÊÇ·ñÓÐÉèÖùý£¬ËùÒÔ¸ÃÖµÒ»°ãÖ»ÓÐGMÃüÁî»ò¹¤¾ß²ÅÄÜÉèÖà  | 
|     setOpenServerTime = GetDBGSTrig_ByKey(Def_SetOpenServerTime)  | 
|     if setOpenServerTime and setOpenServerTime != initTime:  | 
|         SetDBGSTrig_ByKey(Def_SetOpenServerTime, initTime)  | 
|         GameWorld.Log("    Í¬²½¸üРDef_SetOpenServerTime=%s" % initTime)  | 
|     return  | 
|   | 
| ## ²éÕÒʼþ  | 
| #  @param findID ²éÕÒµÄID  | 
| #  @param key ÓëID×éºÏ³Ékey  | 
| #  @return Ê¼þ¹ÜÀíÆ÷  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def FindDBGSTrig_ByEventID( findID , key ):  | 
|     gsEventTrigManager = GameWorld.GetGameWorld().GetDBGameServerEventTrigManager()  | 
|     return gsEventTrigManager.Find( '%s%s'%( key , findID ) )  | 
|   | 
| ## Ìí¼Óʼþ  | 
| #  @param eventID ÒªÌí¼ÓµÄʼþID  | 
| #  @param key ÓëID×éºÏ³Ékey  | 
| #  @return Ê¼þ¹ÜÀíÆ÷  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def AddDBGSTrig_ByEventID( eventID , key ):  | 
|     gsEventTrigManager = GameWorld.GetGameWorld().GetDBGameServerEventTrigManager()  | 
|     return gsEventTrigManager.AddKey( '%s%s'%( key , eventID ) )  | 
|   | 
|   | 
| ## É趨·þÎñÆ÷ʼþ(¸Ãʼþ¼Ç¼ΪÊýÖµ´Ó1Ò»Ö±ÀÛ¼Ó)  | 
| #  @param key:ʱ¼äkey  | 
| #  @return None  | 
| def SetDBGSTrig_ServerTime(key):  | 
|     gsEventTrigManager = GameWorld.GetGameWorld().GetDBGameServerEventTrigManager()  | 
|       | 
|     trig = gsEventTrigManager.Find(key)  | 
|       | 
|     if not trig:  | 
|         trig = gsEventTrigManager.AddKey(key)  | 
|       | 
|     if not trig.GetIsEvent():  | 
|         trig.SetIsEvent( 1 )  | 
|           | 
|     else:  | 
|         trig.SetIsEvent( trig.GetIsEvent() + 1 )  | 
|       | 
|     return  | 
|           | 
|           | 
| ## È«·þ×ÖµäÀà  | 
| #  @param key Í¨¹ýkey  | 
| #  @param defValue Ä¬ÈÏÖµ  | 
| #  @return ·µ»Øtrig  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def GetDBGSTrig_ByKey( key, defValue=0 ):  | 
|     gsEventTrigManager = GameWorld.GetGameWorld().GetDBGameServerEventTrigManager()  | 
|     trig = gsEventTrigManager.Find( key )  | 
|       | 
|     if not trig:  | 
|         SetDBGSTrig_ByKey(key, defValue)  | 
|         return defValue  | 
|       | 
|     return trig.GetIsEvent()  | 
|   | 
| ## È«·þ×ÖµäÀà( value ÖµÎª0,1 )  | 
| #  @param key Í¨¹ýkey  | 
| #  @param value ÉèÖÃvalue  | 
| #  @return ·µ»Øtrig  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def SetDBGSTrig_ByKey( key , value ):  | 
|     gsEventTrigManager = GameWorld.GetGameWorld().GetDBGameServerEventTrigManager()  | 
|     trig = gsEventTrigManager.Find( key )  | 
|       | 
|     if not trig:  | 
|         trig = gsEventTrigManager.AddKey( key )  | 
|           | 
|     trig.SetIsEvent( value )  | 
|       | 
|     return  | 
|       | 
| def DelDBGSTrig_ByKey(key):  | 
|     GameWorld.GetGameWorld().GetDBGameServerEventTrigManager().DeleteByKey(key)  | 
|     return  | 
|       | 
|   | 
|   | 
|   |