From 0458fc4fe34e9b1816781ad91cd1cc3b963d0bc6 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 09 十二月 2025 11:19:38 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(个人战报ServerID改为玩家账号ServerID)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py | 22 ++++++++++++++++++++--
1 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
index adc5d47..c2bb1c8 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
@@ -123,6 +123,10 @@
#重新加载已经预存的脚本
for name, reloadPath in sys.modules.items():
try:
+ pathStr = str(reloadPath)
+ if "\\Lib\\" in pathStr or "\\DLLs\\" in pathStr:
+ #DebugLog("Py库脚本不重读,会引起类继承出现问题导致报错! %s, %s" % (name, reloadPath))
+ continue
if name in ["PyGameData"]:
DebugLog("%s 模块不重读!" % name)
continue
@@ -509,7 +513,7 @@
def CanHappen(rate, maxRate=ShareDefine.Def_MaxRateValue):
if rate <= 0:
return 0
- if random.randint(0, maxRate -1) < rate:
+ if rate >= maxRate or random.randint(0, maxRate -1) < rate:
return 1
return 0
@@ -974,6 +978,16 @@
dateTimeB = datetime.datetime(dateTimeB.year, dateTimeB.month, dateTimeB.day, 0, 0, 0)
return (dateTimeA - dateTimeB).days
+def GetEndTimeByZeroTime(startTime, addDays):
+ ## 获取结束时间,根据0点结束计算
+ # @param startTime: 起始时间戳
+ # @param addDays: 增加的天数,如果是1天实际为当天,即1代表当天
+ startDate = ChangeTimeNumToDatetime(startTime)
+ startZeroDate = datetime.datetime(startDate.year, startDate.month, startDate.day, 23, 59, 59)
+ startZeroTime = int(time.mktime(startZeroDate.timetuple()))
+ endTime = startTime + (startZeroTime - startTime) + max(addDays - 1, 0) * 24 * 3600
+ return endTime
+
#---------------------------------------------------------------------
##获取与当前时间相差天数的datetime格式数据
# @param diffDays 差距天数
@@ -1435,6 +1449,10 @@
paInfoList = infoList[:-2]
platformAccID = Def_AccID_Split_Sign.join(paInfoList)
return platformAccID
+def GetAppIDByAccID(gameAccID):
+ ## 根据账号获取appID
+ infoList = gameAccID.split(Def_AccID_Split_Sign)
+ return infoList[-2]
def GetSessionID(curPlayer):
return md5.md5(curPlayer.GetAccID() + curPlayer.GetAccountData().GetLastLoginTime() +'mobile').hexdigest()
@@ -1934,7 +1952,7 @@
## 跨服服务器时间
if IsCrossServer():
return GetCurrentDataTimeStr()
- lastCrossServerTime, lastServerTime, _ = PyGameData.g_crossServerTimeInfo
+ lastCrossServerTime, lastServerTime = PyGameData.g_crossServerTimeInfo
if not lastCrossServerTime:
return GetCurrentDataTimeStr()
curTime = int(time.time())
--
Gitblit v1.8.0