From a02d7379e60b7b3fe0ae8d1ada4cf86fc4d0a1be Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 11 九月 2020 14:27:11 +0800
Subject: [PATCH] 1111 媒体卡固定码支持按appid配置;
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py | 69 +++++++++++++++++++++++++++-------
1 files changed, 54 insertions(+), 15 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
index 51e2f23..624c85e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
@@ -45,17 +45,15 @@
import datetime
import ChConfig
import os
-import MapConfig
import CommFunc
import ShareDefine
-import PyMapTable
#import psyco
from decimal import Decimal
import time
import copy
import ConfigParser
import PyGameData
-
+import urllib
import md5
#---------------------------------------------------------------------
#设置允许的最大迭代数目, 默认1000
@@ -597,11 +595,25 @@
@param dateInfo: 运营活动表配置的日期信息, 如果是纯数字代表开服天
@param openServerDay: 当前开服天
'''
- if not dateInfo.isdigit():
+ if not dateInfo:
+ curDateTime = datetime.datetime.today()
+ return "%d-%d-%d" % (curDateTime.year, curDateTime.month, curDateTime.day)
+ if dateInfo.startswith("W"):
+ curDateTime = datetime.datetime.today()
+ curWeekday = curDateTime.weekday() + 1
+ actionWeekday = int(dateInfo[1:])
+ actionDateTime = curDateTime + datetime.timedelta(days=(actionWeekday-curWeekday))
+ return "%d-%d-%d" % (actionDateTime.year, actionDateTime.month, actionDateTime.day)
+ if dateInfo.startswith("Mix"):
+ diffDay = GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_MixServerDay) + 1
+ actionServerDay = int(dateInfo[3:])
+ elif not dateInfo.isdigit():
return dateInfo
- actionServerDay = int(dateInfo)
+ else:
+ diffDay = openServerDay
+ actionServerDay = int(dateInfo)
curDateTime = datetime.datetime.today()
- actionDateTime = curDateTime + datetime.timedelta(days=(actionServerDay-openServerDay))
+ actionDateTime = curDateTime + datetime.timedelta(days=(actionServerDay-diffDay))
return "%d-%d-%d" % (actionDateTime.year, actionDateTime.month, actionDateTime.day)
##获得服务器系统时间
@@ -747,6 +759,17 @@
return curNPC
return
+def FindNPCByNPCIDEx(copyMapID, npcID):
+ #查询某条分线的npc
+ gameNPCManager = GetNPCManager()
+ for index in xrange(gameNPCManager.GetNPCCountByGWIndex(copyMapID)):
+ curNPC = gameNPCManager.GetNPCByIndexByGWIndex(copyMapID, index)
+ curID = curNPC.GetID()
+ if curID == 0:
+ continue
+ if npcID == curNPC.GetNPCID():
+ return curNPC
+ return
#---------------------------------------------------------------------
##根据NPC的类型选择返回对象
# @param npcIndex NPC索引
@@ -1036,15 +1059,19 @@
def GetPlatform():
return ReadChConfig.GetPyMongoConfig("platform", "PlatformName")
-##获得当前服务器ID
-# @param 无
-# @return
-def GetServerID():
- return ToIntDef(GetServerSID()[1:], 0)
+#===============================================================================
+# ##获得当前服务器ID
+# # @param 无
+# # @return
+# def GetServerID():
+# return ToIntDef(GetServerSID()[1:], 0)
+#===============================================================================
-def GetServerSID():
- ##获得当前服务器ID, 带s的
- return ReadChConfig.GetPyMongoConfig("platform", "ServerID")
+#===============================================================================
+# def GetServerSID():
+# ##获得当前服务器ID, 带s的
+# return ReadChConfig.GetPyMongoConfig("platform", "ServerID")
+#===============================================================================
def GetCreateRoleDays(curPlayer):
# 获取创角第几天
@@ -1075,7 +1102,7 @@
mainServerID = ToIntDef(ReadChConfig.GetPyMongoConfig("platform", "%sMainServerID" % accIDPlatform), None)
if mainServerID != None:
return mainServerID
- return GetServerID()
+ return 0
#===============================================================================
@@ -1967,3 +1994,15 @@
return
+# 向运维发送邮件,用于需要紧急处理的信息
+# 此处不包含服务器报错的汇报
+def SendGameStateMail(msgInfo):
+ # 使用方式 向OpenStateUrl 发送Type为GameWarning,那么就会收到一封游戏内容警告邮件,信息为MsgInfo
+ getUrl = ReadChConfig.GetPyMongoConfig("EventReport", "OpenStateUrl")
+ groupID = ReadChConfig.GetPyMongoConfig("platform", "GroupID")
+ userDBName = ReadChConfig.GetPyMongoConfig("connect", "USER_DB_NAME")
+ getUrl = getUrl + "?Type=GameWarning&groupID=%s&userDBName=%s&MsgInfo=%s"%(groupID, userDBName, urllib.quote_plus(msgInfo))
+
+ GetGameWorld().EventReport_EventReport("", "", "", "", 0, getUrl)
+
+
--
Gitblit v1.8.0