#!/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_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_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"
|
|
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
|
|
|
|
|