From d7f8d55a035e5351c6af9f6c49ec5339c844d903 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 04 十一月 2019 21:12:40 +0800
Subject: [PATCH] 8321 【主干】【后端】GM工具优化(非禁言状态时上线也通知)

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py
index 674e250..6e70a9c 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py
@@ -544,6 +544,15 @@
     @param dateInfo: 运营活动表配置的日期信息, 如果是纯数字代表开服天
     @param openServerDay: 当前开服天
     '''
+    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 = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_MixServerDay) + 1
         actionServerDay = int(dateInfo[3:])
@@ -917,6 +926,19 @@
     
     return defValue
 
+## 从列表中产生物品,[[权重, object], ....]
+#  @param weightList 待选列表
+def GetResultByWeightList(weightList):
+    randList = []
+    weight = 0
+    for info in weightList:
+        weight += info[0]
+        randList.append([weight, info[1] if len(info) == 2 else info[1:]])
+    if not randList:
+        return
+    rate = random.randint(1, randList[-1][0])
+    return GetResultByRiseList(randList, rate)
+
 ## 根据字典key获取value值
 #  @return 
 def GetDictValueByKey(attrDict, findKey, defaultValue=None):

--
Gitblit v1.8.0