From fd85134c0d4ac18f7286d1d92eb84fa64c8defc5 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 30 五月 2025 10:23:20 +0800
Subject: [PATCH] 16 卡牌服务端(首登修改)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini | 17 --
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py | 72 ----------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py | 191 ---------------------------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py | 14 --
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 88 +-----------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 4
6 files changed, 10 insertions(+), 376 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
index 898ea20..1b74e06 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
@@ -1101,23 +1101,6 @@
PacketSubCMD_1=0x11
PacketCallFunc_1=OnQueryOpenServerCampaignAward
-
-;事件汇报
-[EventReport]
-ScriptName = EventReport.py
-Writer = hxp
-Releaser = hxp
-RegType = 0
-RegisterPackCount = 2
-
-PacketCMD_1=0xA1
-PacketSubCMD_1=0x01
-PacketCallFunc_1=ReceiveClientPCInfo
-
-PacketCMD_2=0xA2
-PacketSubCMD_2=0x19
-PacketCallFunc_2=OnSubmitBugSuggest
-
;装备分解
[EquipDecompose]
ScriptName = Player\PlayerEquipDecompose.py
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index 3301fa1..89ba876 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -3403,7 +3403,6 @@
Def_Player_Dict_PlayerFromPID = "PlayerFromPID" # pid
Def_Player_Dict_Account_Type = "account_type" # account_type
Def_Player_Dict_FirstLogin = "FirstLogin" # 首登标记 0-未首登; 1-首登过
-Def_Player_Dict_RealLoginOK = "RealLoginOK" # 真正登录成功标记
Def_GuideStateKeyCount = 8 # 引导状态key最大个数
Def_Player_Dict_GuideState = "GuideState_%s" # 引导状态记录,参数为key个数编号
Def_Player_Dict_VersionFix = "VersionFix_%s" # 版本修正标记,参数为key个数编号, 支持n个版本修正标记,每个key支持31个
@@ -3483,8 +3482,6 @@
Def_Player_Dict_GameFuncAwardState = "GameFuncAwardState_%s" # 服务端功能开启领奖状态; 参数, key编号
Def_Player_Dict_MissionFinish = "MissionFinish_%s" # 任务是否完成; 参数, 任务ID, 只会记录部分需要记录的任务ID
Def_Player_Dict_FamilyArrestAwardState = "ArrestAwardState_103" # 家族悬赏奖励领取情况
-Def_Player_Dict_OtherDayLogin = "OtherDayLogin_105" # 非同一天二次登陆
-Def_Player_Dict_LoginValid = "LoginValid_106" # 新增有效登陆标记
Def_Player_Dict_RequestAddFamilyCnt = "RequestAddFamilyCnt_107" # 已申请加入家族的个数
Def_Player_Dict_RequestAddFamilyID = "AddFamilyID%s_108" # 申请加入的家族ID, %s为第几个
Def_Player_Dict_LastFamilyID = "LastFamilyID" # 记录玩家上一个家族ID
@@ -3493,7 +3490,6 @@
Def_Player_Dict_ActivityValueDay = "ActivityValueDay_117" #每日活跃值
Def_Player_Dict_GiveActivityAward = "GiveActivityAward_118" #每日活跃值奖励领取
Def_Player_CrazyBilling_VIP_Coin = "CrazyBillingVIPCoin_119" # 扶持账号真实充值
-Def_Player_Dict_LoginType = "LoginType_122" # 玩家登入方式
Def_Player_Dict_CommonNewGuyCardState = "CommonNGCard_%s" # 通用新手卡使用记录, 参数为key编号, 二进制位存储
Def_Player_Dict_IDNewGuyCardState = "IDNGCard_%s" # 绑定账号新手卡使用记录, 参数为key编号, 二进制位存储
Def_Player_Dict_UseNewGuyCardState = "NGCardState_%s" # 是否使用过某类型的新手卡,参数为key编号, 二进制位存储
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
index b3da437..5d07bd5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -5584,126 +5584,6 @@
#------------------------------------------------------
-# A1 01 玩家电脑信息 #tagCMPCInfo
-
-class tagCMPCInfo(Structure):
- Head = tagHead()
- PCOSLen = 0 #(BYTE PCOSLen)
- PCOS = "" #(String PCOS)// 操作系统
- ResolutionLen = 0 #(BYTE ResolutionLen)
- Resolution = "" #(String Resolution)// 分辨率
- BrowserLen = 0 #(BYTE BrowserLen)
- Browser = "" #(String Browser)// 浏览器
- ScribeTypeLen = 0 #(BYTE ScribeTypeLen)
- ScribeType = "" #(String ScribeType)// 记录类型
- ScribeDataLen = 0 #(BYTE ScribeDataLen)
- ScribeData = "" #(String ScribeData)// 记录扩展信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA1
- self.Head.SubCmd = 0x01
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.PCOSLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.PCOS,_pos = CommFunc.ReadString(_lpData, _pos,self.PCOSLen)
- self.ResolutionLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.Resolution,_pos = CommFunc.ReadString(_lpData, _pos,self.ResolutionLen)
- self.BrowserLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.Browser,_pos = CommFunc.ReadString(_lpData, _pos,self.BrowserLen)
- self.ScribeTypeLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ScribeType,_pos = CommFunc.ReadString(_lpData, _pos,self.ScribeTypeLen)
- self.ScribeDataLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ScribeData,_pos = CommFunc.ReadString(_lpData, _pos,self.ScribeDataLen)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA1
- self.Head.SubCmd = 0x01
- self.PCOSLen = 0
- self.PCOS = ""
- self.ResolutionLen = 0
- self.Resolution = ""
- self.BrowserLen = 0
- self.Browser = ""
- self.ScribeTypeLen = 0
- self.ScribeType = ""
- self.ScribeDataLen = 0
- self.ScribeData = ""
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += len(self.PCOS)
- length += 1
- length += len(self.Resolution)
- length += 1
- length += len(self.Browser)
- length += 1
- length += len(self.ScribeType)
- length += 1
- length += len(self.ScribeData)
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.PCOSLen)
- data = CommFunc.WriteString(data, self.PCOSLen, self.PCOS)
- data = CommFunc.WriteBYTE(data, self.ResolutionLen)
- data = CommFunc.WriteString(data, self.ResolutionLen, self.Resolution)
- data = CommFunc.WriteBYTE(data, self.BrowserLen)
- data = CommFunc.WriteString(data, self.BrowserLen, self.Browser)
- data = CommFunc.WriteBYTE(data, self.ScribeTypeLen)
- data = CommFunc.WriteString(data, self.ScribeTypeLen, self.ScribeType)
- data = CommFunc.WriteBYTE(data, self.ScribeDataLen)
- data = CommFunc.WriteString(data, self.ScribeDataLen, self.ScribeData)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- PCOSLen:%d,
- PCOS:%s,
- ResolutionLen:%d,
- Resolution:%s,
- BrowserLen:%d,
- Browser:%s,
- ScribeTypeLen:%d,
- ScribeType:%s,
- ScribeDataLen:%d,
- ScribeData:%s
- '''\
- %(
- self.Head.OutputString(),
- self.PCOSLen,
- self.PCOS,
- self.ResolutionLen,
- self.Resolution,
- self.BrowserLen,
- self.Browser,
- self.ScribeTypeLen,
- self.ScribeType,
- self.ScribeDataLen,
- self.ScribeData
- )
- return DumpString
-
-
-m_NAtagCMPCInfo=tagCMPCInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPCInfo.Head.Cmd,m_NAtagCMPCInfo.Head.SubCmd))] = m_NAtagCMPCInfo
-
-
-#------------------------------------------------------
# A1 23 查询充值次数 #tagCMQueryCoinToGoldCount
class tagCMQueryCoinToGoldCount(Structure):
@@ -6155,77 +6035,6 @@
m_NAtagCMViewBillboard=tagCMViewBillboard()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMViewBillboard.Cmd,m_NAtagCMViewBillboard.SubCmd))] = m_NAtagCMViewBillboard
-
-
-#------------------------------------------------------
-# A2 19 游戏建议收集 #tagCMAdviceSubmit
-
-class tagCMAdviceSubmit(Structure):
- Head = tagHead()
- Type = 0 #(BYTE Type)//提交类型
- Len = 0 #(WORD Len)
- Content = "" #(String Content)//size = Len
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA2
- self.Head.SubCmd = 0x19
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Type,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.Len,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.Content,_pos = CommFunc.ReadString(_lpData, _pos,self.Len)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA2
- self.Head.SubCmd = 0x19
- self.Type = 0
- self.Len = 0
- self.Content = ""
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 2
- length += len(self.Content)
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.Type)
- data = CommFunc.WriteWORD(data, self.Len)
- data = CommFunc.WriteString(data, self.Len, self.Content)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Type:%d,
- Len:%d,
- Content:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Type,
- self.Len,
- self.Content
- )
- return DumpString
-
-
-m_NAtagCMAdviceSubmit=tagCMAdviceSubmit()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMAdviceSubmit.Head.Cmd,m_NAtagCMAdviceSubmit.Head.SubCmd))] = m_NAtagCMAdviceSubmit
#------------------------------------------------------
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
index 3ff1e5c..014408a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
@@ -134,20 +134,6 @@
GameWorld.GetGameWorld().EventShell_SendEventEx(eventTypeStr, len(eventTypeStr), dataStr, len(dataStr))
return
-
-## 二次非同天登陆
-# @param accID: 账号ID
-# @param ip: ip
-# @return: None
-def DR_OtherDayLogin(accID, ip, curPlayer):
-
- dataDict = {'AccID':accID, 'IP':ip}
-
- #发送封包
- SendEventPack("OtherDayLogin", dataDict, curPlayer)
- return
-
-
## 登陆
# @param curPlayer 玩家实例
# @return: None
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py
index 3396ab3..fa374e0 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py
@@ -895,78 +895,6 @@
#===========================================================================
return
-#// A1 01 玩家电脑信息 #tagCMPCInfo
-#
-#struct tagCMPCInfo
-#{
-# tagHead Head;
-# BYTE PCOSLen;
-# char PCOS[PCOSLen]; // 操作系统
-# BYTE ResolutionLen;
-# char Resolution[ResolutionLen]; // 分辨率
-# BYTE BrowserLen;
-# char Browser[BrowserLen]; // 浏览器
-# BYTE ScribeTypeLen;
-# char ScribeType[ScribeTypeLen]; // 记录类型
-# BYTE ScribeDataLen;
-# char ScribeData[ScribeDataLen]; // 记录扩展信息
-#};
-def ReceiveClientPCInfo(index, clientData, tick):
- #===========================================================================
- # curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
- # PCOS = clientData.PCOS
- # Resolution = clientData.Resolution
- # Browser = clientData.Browser
- # ScribeType = clientData.ScribeType
- # #ScribeData = clientData.ScribeData
- #
- # GameWorld.DebugLog("ReceiveClientPCInfo %s" % ScribeType)
- # GameWorld.DebugLog(" PCOS=%s" % PCOS)
- # GameWorld.DebugLog(" Resolution=%s" % Resolution)
- # GameWorld.DebugLog(" Browser=%s" % Browser)
- #
- # # 转化为对方所需格式
- # if PCOS and "Windows" in PCOS:
- # PCOS = " ".join(PCOS.split(" ")[:2])
- #
- # # 转化为对方所需格式
- # if Resolution:
- # Resolution = "%s*%s" % eval(Resolution)
- #
- # if ScribeType == ShareDefine.Def_UserAction_Login:
- # firstLogin = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FirstLogin)
- # if not firstLogin:
- # PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FirstLogin, 1)
- # WriteEvent_entry_firstlogin(curPlayer, Browser, Resolution, PCOS)
- # if curPlayer.GetLV() == 1:
- # WriteEvent_level_up(curPlayer) # 首登发送一次1级数据
- # GameWorld.DebugLog(" entry_firstlogin")
- #
- # WriteEvent_login(curPlayer, Browser, Resolution, PCOS)
- #===========================================================================
-
- return
-
-#// A2 19 游戏建议收集 #tagCMAdviceSubmit
-#
-#struct tagCMAdviceSubmit
-#{
-# tagHead Head;
-# BYTE Type; //提交类型
-# WORD Len;
-# char Content[Len]; //size = Len
-#};
-def OnSubmitBugSuggest(index, clientData, tick):
- #===========================================================================
- # curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
- # subType = clientData.Type
- # content = clientData.Content
- # eventName = Def_Custom_Events_Bug if subType == 0 else Def_Custom_Events_Suggest
- # WriteEvent_custom_events(curPlayer, eventName, content)
- # DataRecordPack.DR_BugSuggest(curPlayer, eventName, content)
- #===========================================================================
- return
-
def GetScribeEvent_chr_level(curPlayer):
transCnt, showLV = GameWorld.GetClientLV(curPlayer)
return transCnt * 1000 + showLV
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
index 1678a8b..61daa51 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -218,37 +218,6 @@
PlayerEventCounter.UpdatePlayerLoginTime(curPlayer)
return
-##非同一天二次登陆
-# @param curPlayer 玩家实例
-# @return None
-def NoteOtherDayLogin(curPlayer):
- #记录过或者未登陆过 不记录
- if curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_OtherDayLogin) != 1:
- return
-
- logoffTimeStr = curPlayer.GetLogoffTime().strip()
- loginTimeStr = curPlayer.GetLoginTime().strip()
- #curTimeStr = GameWorld.GetCurrentDataTimeStr()
-
- #防范外部逻辑错误,或异常情况
- if logoffTimeStr in ['', '0'] or loginTimeStr in ['', '0']:
- return
-
- logoffTimeDate = GameWorld.GetDateTimeByStr(logoffTimeStr.split()[0], ChConfig.TYPE_Time_Format_Day)
-
- #同一天不记录
- if logoffTimeDate == GameWorld.GetDateTimeByStr(loginTimeStr.split()[0], ChConfig.TYPE_Time_Format_Day):
- return
-
- #GameWorld.Log("OtherDayLogin offtime = %s" % logoffTimeDate)
-
- DataRecordPack.DR_OtherDayLogin(curPlayer.GetAccID(), curPlayer.GetIP(), curPlayer)
-
- #标记为已记录
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_OtherDayLogin, 2)
-
- return
-
#// A1 20 货币兑换 #tagCMMoneyExchange
#
#struct tagCMMoneyExchange
@@ -480,7 +449,6 @@
def DoPlayerLogin(curPlayer, tick):
#这里只做初始化逻辑
curPlayer.SetDict(ChConfig.Def_PlayerKey_LoadMapIsLogin, 1)
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_RealLoginOK, 0) # 每次登录重置
#通知时间
Sync_PyServerDataTimeToClient(curPlayer)
@@ -577,14 +545,13 @@
PlayerPrestigeSys.OnLogin(curPlayer)
#DataRecordPack.DR_PlayerLogin(curPlayer)
EventReport.WriteEvent_login(curPlayer)
-
+
+ __FirstLoginOnEnter(curPlayer)
+
# 合服首登处理
__DoMixServerFirstLogin(curPlayer)
PlayerBillboard.BillboardOnLogin(curPlayer)
- #非同一天二次登陆, 应该放在该函数中的SetLoginTime之后
- NoteOtherDayLogin(curPlayer)
-
#上线时通知脱机挂时被击杀的离线时间
__Sync_PlayerOffline(curPlayer, tick)
@@ -612,8 +579,6 @@
#---玩家上线, 宠物逻辑处理---
PetControl.DoLogic_PetInfo_OnLogin(curPlayer, tick)
PlayerPet.OnPlayerPetLogin(curPlayer)
-
- __FirstLoginOnEnter(curPlayer)
#清空玩家万能背包中的任务物品
ItemControler.ClearPackEventItem(curPlayer, IPY_GameWorld.rptAnyWhere)
@@ -909,11 +874,6 @@
该函数为地图最终登录成功才会执行到,以后一些功能类的登录处理建议均写到这里
旧的功能先不动( __DoPlayerLoginServer 函数中的功能),如果有登录相关的bug再考虑是否移动到此函数
'''
-
- if curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_RealLoginOK):
- #切地图的不处理,切地图的也会触发该函数
- return
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_RealLoginOK, 1)
GameWorld.Log("MapServer->DoPlayerRealLoginOK", curPlayer.GetPlayerID())
if GameWorld.IsCrossServer():
@@ -956,9 +916,11 @@
return
def __FirstLoginOnEnter(curPlayer):
- ## 首登处理,先return
- return
+ ## 首登处理
+
playerID = curPlayer.GetID()
+ if curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FirstLogin):
+ return
GameWorld.Log('玩家是第一次进入游戏', playerID)
# 特殊说明: 如果地图没有完全初始化好,客户端断开或者异常等情况会触发RunGateGameServerMapServerKickOutPlayerNoSave
@@ -969,8 +931,6 @@
#---补满血满魔---
GameObj.SetHP(curPlayer, GameObj.GetMaxHP(curPlayer))
curPlayer.SetMP(curPlayer.GetMaxMP())
-
- #---给予玩家新手物品---
#默认触发一次功能开启
if curPlayer.GetLV() == 1:
@@ -984,9 +944,6 @@
#玩家默认恶名值
curPlayer.SetInfamyValue(ChConfig.Def_FirstLogin_InfamyValue)
- #标记已登陆过,用于非同一天二次登陆
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_OtherDayLogin, 1)
-
#curPlayer.SetDict("ThunderLogin", 1)
#记录第一次登陆
DataRecordPack.DR_FirstLogin(curPlayer.GetAccID(), curPlayer.GetIP(), curPlayer)
@@ -995,12 +952,12 @@
mailList = IpyGameDataPY.GetFuncEvalCfg("MailLVAward", 2)
for mailTypeKey, mailItemList in mailList:
PlayerControl.SendMailByKey(mailTypeKey, [curPlayer.GetPlayerID()], mailItemList)
+
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FirstLogin, 1)
return
-## 合服首登处理
-# @param curPlayer
-# @return None
def __DoMixServerFirstLogin(curPlayer):
+ ## 合服首登处理
isMixServer = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_IsMixServer)
if not isMixServer:
return
@@ -2392,28 +2349,6 @@
def PlayerDisconnect(index, tick):
GameWorld.GetPsycoFunc(__Func_PlayerDisconnect)(index, tick)
return
-#---------------------------------------------------------------------
-
-##记录新增有效登陆玩家,登陆10分钟以上玩家才算有效
-# @param curPlayer 玩家实例
-# @return None
-def NoteLoginValid(curPlayer):
- if curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_LoginValid) == 1:
- #已记录
- return
-
- #计算时间, 当前减去登陆时间
- diffTime = GameWorld.GetCurrentTime() - GameWorld.GetDateTimeByStr(curPlayer.GetLoginTime().strip())
-
- #10分钟以上才算有效玩家
- if diffTime.days == 0 and diffTime.seconds < 10 * 60:
- return
-
- DataRecordPack.DR_LoginValid(curPlayer.GetAccID(), curPlayer.GetIP(), curPlayer)
-
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_LoginValid, 1)
- return
-
##C++封包触发, 玩家下线
#@param index 玩家索引
@@ -2462,9 +2397,6 @@
#流向记录玩家下线
DataRecordPack.DR_PlayerDisconnect(curPlayer)
-
- #记录新增有效登陆玩家
- NoteLoginValid(curPlayer)
#VIP时间
#PlayerVip.CalcVIPTimeByTick(curPlayer, tick, False)
--
Gitblit v1.8.0