From 0ff8e21c92b39adfdf062b40c4e0147213bba70a Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 26 十一月 2018 23:18:29 +0800
Subject: [PATCH] 4923 【后端】【1.3】神兵技能

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py |   50 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 47 insertions(+), 3 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py
index 23b3ac8..f471d91 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py
@@ -482,10 +482,26 @@
         return mainServerID
     return GetServerID()
 
+
+#===============================================================================
+# 平台ID = appid
+# 运营ID = spid
+# 服务器账号更改
+# 原先账号组合为
+# 运营提供的玩家账号ID + 平台ID + 区服组成
+# 
+# 因为IOS和安卓在支持混服的情况下,还要能支持同一个角色号,故引入一个新的运营ID(客户端打包配置),以保证玩家账号为同一个
+# 账号组合变更
+# 运营提供的玩家账号ID + 运营ID + 区服组成
+# 
+# 原游戏中获取平台ID接口变更
+# 1. db 从数据库中的账号表获取AppID
+# 2. GameServer和MapServer 接口改为GetOperator 参考 GetPlayerPlatform
+#===============================================================================
+
 ##获取玩家所属平台
-def GetPlayerPlatform(gameAccID):
-    infoList = gameAccID.split(Def_AccID_Split_Sign)
-    return "" if len(infoList) < 3 else infoList[-2]
+def GetPlayerPlatform(curPlayer):
+    return curPlayer.GetAccountInfo().GetOperator()
 
 ##获取平台账号
 def GetPlatformAccID(gameAccID):
@@ -535,6 +551,19 @@
     return tagPlayer.GetRealMapID()
 
 #---------------------------------------------------------------------
+
+def GetOperationActionDateStr(dateInfo, openServerDay):
+    '''获取运营活动对应日期,存数字代表开服天配置,需要转化为对应的日期
+    @param dateInfo: 运营活动表配置的日期信息, 如果是纯数字代表开服天
+    @param openServerDay: 当前开服天
+    '''
+    if not dateInfo.isdigit():
+        return dateInfo
+    actionServerDay = int(dateInfo)
+    curDateTime = datetime.datetime.today()
+    actionDateTime = curDateTime + datetime.timedelta(days=(actionServerDay-openServerDay))
+    return "%d-%d-%d" % (actionDateTime.year, actionDateTime.month, actionDateTime.day)
+
 ##获得系统时间
 # @param 无意义
 # @return 系统时间
@@ -985,4 +1014,19 @@
     except:
         return inputText
     
+    return inputText
+
+# 服务器默认GBK,转配置编码如UTF8,一般用于与显示层交互,不判断是否base64
+def CodeToGBK(inputText):
+    encodingList = ReadChConfig.GetEvalChConfig("EncodingTex")
+    
+    if len(encodingList) != 2:
+        ErrLog("EncodingTex.txt Error len != 2")
+        return inputText
+    
+    try:
+        return inputText.decode(GetCharacterEncoding()).encode(ShareDefine.Def_Game_Character_Encoding)
+    except:
+        return inputText
+    
     return inputText
\ No newline at end of file

--
Gitblit v1.8.0