From a1ea5474ffd2b081668f9a0cef8d069aa78db85d Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 12 十二月 2025 20:53:42 +0800
Subject: [PATCH] 389 流向记录(战斗服务器不记录流向)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py |   38 ++++++++++++--------------------------
 1 files changed, 12 insertions(+), 26 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
index 51b29fe..48e7665 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
@@ -18,7 +18,9 @@
 import ItemCommon
 import NPCCommon
 import ReadChConfig
+import PlayerActivity
 import ChPyNetSendPack
+import DataRecordPack
 import NetPackCommon
 import IpyGameDataPY
 import ShareDefine
@@ -27,7 +29,6 @@
 import FBLogic
 import ChConfig
 import PlayerGoldInvest
-import ObjPool
 
 import random
 import json
@@ -169,6 +170,7 @@
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FBPassLineID % mapID, funcLineID)
     if isNotify:
         Sync_FBPlayerFBInfoData(curPlayer, mapID)
+    DataRecordPack.DR_FBPass(curPlayer, mapID, funcLineID)
     return
 
 def CheckCanEnterFBComm(curPlayer, mapID, lineID, fbIpyData, fbLineIpyData, reqEnterCnt=1, isNotify=True, isTeamAsk=False):
@@ -1531,7 +1533,7 @@
 def AddEnterFBCount(curPlayer, fbID, addCount=1, lineBit=-1, isFree=False):
     ## 增加玩家进入副本次数
     ## @param isFree: 是否免费进入的,免费的不增加实际进入次数,但需要触发进入次数额外处理,如活跃、成就等
-    #addCountEx = addCount
+    addCountEx = addCount
     addCount = 0 if isFree else addCount
     fbID = GetRecordMapID(fbID)
     enterCntKey = ChConfig.Def_Player_Dict_FbEnterCnt % fbID
@@ -1543,14 +1545,13 @@
         PlayerControl.NomalDictSetProperty(curPlayer, enterCntKey, updValue)
     else:
         maxCnt = GetEnterFBMaxCnt(curPlayer, fbID)
-        if enterCnt >= maxCnt:
+        if not isFree and enterCnt >= maxCnt:
             return False
         updCnt = min(maxCnt, enterCnt + addCount)
         addCount = updCnt-enterCnt
         PlayerControl.NomalDictSetProperty(curPlayer, enterCntKey, updCnt)
         
-        #PlayerActivity.OnEnterFBActivity(curPlayer, fbID, updCnt, addCountEx)
-        #PlayerSuccess.AddEnterFBSuccess(curPlayer, fbID, addCountEx)
+        PlayerActivity.AddDailyTaskValue(curPlayer, ChConfig.DailyTask_FBFinish, addCountEx, [fbID])
         updValue = updCnt
     GameWorld.DebugLog("    AddEnterFBCount fbID=%s, addCount=%s, lineBit=%s, enterCnt=%s,updValue=%s" 
                        % (fbID, addCount, lineBit, enterCnt, updValue), curPlayer.GetPlayerID())
@@ -1619,9 +1620,10 @@
     if not costType or not payMoneyList:
         GameWorld.DebugLog("没有配置购买副本次数消耗货币数! mapID=%s,costType=%s,payMoneyList=%s" % (mapID, costType, payMoneyList))
         return
-    costMoney = payMoneyList[hasBuyCnt] if len(payMoneyList) > hasBuyCnt else payMoneyList[-1]
-    if not PlayerControl.PayMoney(curPlayer, costType, costMoney, ChConfig.Def_Cost_BuyFBCnt, {"MapID":mapID}):
-        return
+    if not PlayerGoldInvest.IsFBCntBuyFree(curPlayer, mapID):
+        costMoney = payMoneyList[hasBuyCnt] if len(payMoneyList) > hasBuyCnt else payMoneyList[-1]
+        if not PlayerControl.PayMoney(curPlayer, costType, costMoney, ChConfig.Def_Cost_BuyFBCnt, {"MapID":mapID}):
+            return
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FBBuyCnt % mapID, hasBuyCnt + 1)
     Sync_FBPlayerFBInfoData(curPlayer, mapID)
     return
@@ -1678,22 +1680,6 @@
 #            return dataMapID
     return mapID
 
-def GetGeneralTrainMapIDList():
-    ## 获取通用养成副本
-    GeneralTrainMapIDList = IpyGameDataPY.GetConfigEx("GeneralTrainMapIDList")
-    if not GeneralTrainMapIDList:
-        GeneralTrainMapIDList = []
-        ipyDataMgr = IpyGameDataPY.IPY_Data()
-        for i in xrange(ipyDataMgr.GetFBGeneralTrainCount()):
-            ipyData = ipyDataMgr.GetFBGeneralTrainByIndex(i)
-            dMapID = ipyData.GetDataMapID()
-            if dMapID not in GeneralTrainMapIDList:
-                GeneralTrainMapIDList.append(dMapID)
-        GeneralTrainMapIDList = IpyGameDataPY.SetConfigEx("GeneralTrainMapIDList", GeneralTrainMapIDList)
-        #GameWorld.Log("加载GeneralTrainMapIDList=%s" % GeneralTrainMapIDList)
-        
-    return GeneralTrainMapIDList
-
 def Sync_FBPlayerFBInfoData(curPlayer, mapIDInfo=None):
     ## 通知个人通用副本信息
     if not mapIDInfo:
@@ -1704,11 +1690,11 @@
             return
         mapIDList = [mapIDInfo] if type(mapIDInfo) == int else mapIDInfo
         
-    clientPack = ObjPool.GetPoolMgr().acquire(ChPyNetSendPack.tagSCFBInfoList)
+    clientPack = ChPyNetSendPack.tagSCFBInfoList()
     clientPack.FBDataList = []
     
     for mapID in mapIDList:
-        fbInfo = ObjPool.GetPoolMgr().acquire(ChPyNetSendPack.tagSCFBInfo)
+        fbInfo = ChPyNetSendPack.tagSCFBInfo()
         fbInfo.MapID = mapID
         fbInfo.EnterCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FbEnterCnt % mapID)
         fbInfo.ADAddCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FBADCnt % mapID)

--
Gitblit v1.8.0