From 11c9a3b5846401523e4dafc17f2a074a712730da Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 11 三月 2026 18:27:10 +0800
Subject: [PATCH] 526 【挑战】PVP群英榜-后端(本服群英榜;优化机器人表支持按功能加载不同的机器人;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

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 c18a1dc..b604704 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -56,6 +56,7 @@
 import PlayerActManyDayRecharge
 import PlayerActSingleRecharge
 import OpenServerActivity
+import GameLogic_Qunying
 import ChNetSendPack
 import PlayerArena
 import PyGameData
@@ -697,7 +698,12 @@
     #首登邮件
     mailList = IpyGameDataPY.GetFuncEvalCfg("MailLVAward", 2)
     for mailTypeKey, mailItemList in mailList:
-        PlayerControl.SendMailByKey(mailTypeKey, [curPlayer.GetPlayerID()], mailItemList)
+        PlayerMail.SendMailByKey(mailTypeKey, playerID, mailItemList)
+    appID = GameWorld.GetAppIDByAccID(curPlayer.GetAccID())
+    appIDMailDict = IpyGameDataPY.GetFuncEvalCfg("MailLVAward", 3, {})
+    mailDict = appIDMailDict.get(appID, {})
+    for mailTypeKey, mailItemList in mailDict.items():
+        PlayerMail.SendMailByKey(mailTypeKey, playerID, mailItemList)
         
     PlayerHero.OnPlayerFirstLogin(curPlayer)
     
@@ -765,7 +771,7 @@
     PlayerControl.SendMailByKey("MixServer1", [playerID], addItemList, gold=gold, silver=silver, detail=detailDict)
     
     # 同步排行榜
-    PlayerBillboard.UpdatePlayerBillboardOnLeaveServer(curPlayer, isAll=True)
+    #PlayerBillboard.UpdatePlayerBillboardOnLeaveServer(curPlayer, isAll=True)
     return
 #---------------------------------------------------------------------
         
@@ -1371,6 +1377,7 @@
     if (curPlayer.GetAccState() & pow(2, ChConfig.Def_PysForbidByPy)) <= 0:
         return True
     
+    GameWorld.Log("玩家被封号禁止登录" , curPlayer.GetPlayerID())
     curPlayer.Kick(IPY_GameWorld.disGMKick)
     return
 
@@ -3141,6 +3148,9 @@
     # 领取活动签到奖励 70
     elif rewardType == ChConfig.Def_RewardType_ActSignAward:
         PlayerActSign.OnGetActSignAward(curPlayer, dataEx, dataExStr)
+    # 群英榜历史最高名次奖励 7
+    elif rewardType == ChConfig.Def_RewardType_QunyingRankHighest:
+        GameLogic_Qunying.GetQunyingRankHighestAward(curPlayer)
         
         
     # 首充礼包奖励
@@ -3196,16 +3206,16 @@
         PlayerZhanling.GetZhanlingReward(curPlayer, dataEx, dataExStr)
     #玩法前瞻奖励
     elif rewardType == ChConfig.Def_RewardType_GameNotice:
-        OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_GameNoticeAwardState, IpyGameDataPY.GetFuncEvalCfg("GameNoticeReward", 1))
+        OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_GameNoticeAwardState, IpyGameDataPY.GetFuncEvalCfg("GameNoticeReward", 1), "GameNotice")
     #每日分享奖励34
     elif rewardType == ChConfig.Def_RewardType_ShareGame:
-        OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_ShareGameAwardState, IpyGameDataPY.GetFuncEvalCfg("ShareGameReward", 1))
+        OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_ShareGameAwardState, IpyGameDataPY.GetFuncEvalCfg("ShareGameReward", 1), "ShareGame")
     #游戏好评奖励35
     elif rewardType == ChConfig.Def_RewardType_GoodGame:
-        OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_GoodGameAwardState, IpyGameDataPY.GetFuncEvalCfg("GoodGameReward", 1))
+        OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_GoodGameAwardState, IpyGameDataPY.GetFuncEvalCfg("GoodGameReward", 1), "GoodGame")
     #游戏点赞奖励67
     elif rewardType == ChConfig.Def_RewardType_LikeGame:
-        OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_LikeGameAwardState, IpyGameDataPY.GetFuncEvalCfg("GoodGameReward", 4))
+        OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_LikeGameAwardState, IpyGameDataPY.GetFuncEvalCfg("GoodGameReward", 4), "LikeGame")
     #领取开服每日奖励
     elif rewardType == ChConfig.Def_RewardType_OpenServerDailyAward:
         openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1

--
Gitblit v1.8.0