From 1d314dd1b124b38f2f64d05211ecda7065691ec0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 15 十月 2024 17:04:56 +0800
Subject: [PATCH] 5328 【越南】【英文】【砍树】神兽装备格子拓展(扩展为150格)
---
ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 50 insertions(+), 4 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py
index 721975c..12c07f6 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py
@@ -118,6 +118,14 @@
except ValueError:
return defValue
+def ToFloat(input, defValue = 0):
+ try:
+ result = float(input)
+ return result
+
+ except ValueError:
+ return defValue
+
## 判断2个对象是否同国籍
# @param srcObj 起点对象
# @param desObj 目标对象
@@ -449,8 +457,8 @@
##获取玩家所属区服ID
# @param curPlayer
# @return
-def GetPlayerServerID(curPlayer):
- accID = curPlayer.GetAccID()
+def GetPlayerServerID(curPlayer): return GetAccIDServerID(curPlayer.GetAccID())
+def GetAccIDServerID(accID):
infoList = accID.split(Def_AccID_Split_Sign)
return 0 if len(infoList) < 3 else int(infoList[-1][1:])
@@ -468,6 +476,17 @@
return mainServerID
return 0
+def CheckServerIDInList(serverID, serverIDList):
+ if serverIDList == None:
+ return False
+ if not serverIDList:
+ return True
+ for serverIDInfo in serverIDList:
+ if (isinstance(serverIDInfo, tuple) and serverIDInfo[0] <= serverID <= serverIDInfo[1]) \
+ or (isinstance(serverIDInfo, list) and serverIDInfo[0] <= serverID <= serverIDInfo[1]) \
+ or (isinstance(serverIDInfo, int) and serverIDInfo == serverID):
+ return True
+ return False
#===============================================================================
# 平台ID = appid
@@ -537,6 +556,23 @@
return tagPlayer.GetRealMapID()
#---------------------------------------------------------------------
+
+def GetTemplateID(ipyData, cfgID, dayIndex):
+ if cfgID == None or dayIndex == None or not ipyData:
+ return 0
+ templateIDList = ipyData.GetTemplateIDList()
+ if not templateIDList:
+ return 0
+ templateID = templateIDList[-1] if dayIndex >= len(templateIDList) else templateIDList[dayIndex]
+ return templateID
+
+def GetTemplateIDByList(templateIDList, dayIndex):
+ if dayIndex == None:
+ return 0
+ if not templateIDList:
+ return 0
+ templateID = templateIDList[-1] if dayIndex >= len(templateIDList) else templateIDList[dayIndex]
+ return templateID
def GetOperationActionDateStr(ipyData):
## 获取运营活动对应日期,存数字代表开服天配置,需要转化为对应的日期
@@ -675,6 +711,15 @@
return pastTimeDelta.days * 24 * 60 * 60 + pastTimeDelta.seconds
#---------------------------------------------------------------------
+
+def GetDiff_Day(timeA , timeB):
+ ## 获取 timeA - timeB 相差的日期天数
+ dateTimeA = ChangeTimeNumToDatetime(timeA)
+ dateTimeA = datetime.datetime(dateTimeA.year, dateTimeA.month, dateTimeA.day, 0, 0, 0)
+ dateTimeB = ChangeTimeNumToDatetime(timeB)
+ dateTimeB = datetime.datetime(dateTimeB.year, dateTimeB.month, dateTimeB.day, 0, 0, 0)
+ return (dateTimeA - dateTimeB).days
+
##设置世界服务器字典
# @param key 字典值
# @param tick 时间戳
@@ -1115,13 +1160,14 @@
return 0
-def DebugAnswer(curPlayer, text):
+def DebugAnswer(curPlayer, text, isLog=True):
'''转码后再发DebugAnswer'''
#===========================================================================
# if not GetGameWorld().GetDebugLevel():
# return
#===========================================================================
- DebugLog(text)
+ if isLog:
+ DebugLog(text)
text = text.decode(ShareDefine.Def_Game_Character_Encoding).encode(GetCharacterEncoding())
curPlayer.DebugAnswer(text)
return
--
Gitblit v1.8.0