From abe9dbc7d8eb82602cc975284a7d2ae8894e4ef9 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 12 十二月 2025 17:35:03 +0800
Subject: [PATCH] 389 流向记录(登录、下线、主线任务、主线关卡、副本、货币、物品)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py | 36 +++++++++++++++++++++++++-----------
1 files changed, 25 insertions(+), 11 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
index 805893f..2420dbf 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
@@ -23,16 +23,16 @@
import PlayerViewCache
import ChPyNetSendPack
import PlayerFamilyEmblem
-#import PlayerFamilyZhenfa
import PlayerFamilyZhenbaoge
+import PlayerFamilyTaofa
import IPY_PlayerDefine
import IpyGameDataPY
import IPY_GameWorld
import ItemControler
import GameFuncComm
+import PlayerTask
import DBDataMgr
import DirtyList
-import ObjPool
import random
import time
@@ -82,8 +82,8 @@
family = familyManager.GetAt(i)
familyID = family.GetID()
- #珍宝阁
PlayerFamilyZhenbaoge.OnDay(family)
+ PlayerFamilyTaofa.OnDay(family)
for index in xrange(family.GetCount()):
member = family.GetAt(index)
@@ -100,6 +100,7 @@
return
ResetDailyDonateCnt(curPlayer)
PlayerFamilyZhenbaoge.PlayerOnDay(curPlayer)
+ PlayerFamilyTaofa.PlayerOnDay(curPlayer)
return
def OnPlayerLogin(curPlayer, tick):
@@ -108,8 +109,8 @@
PlayerLoginRefreshFamily(curPlayer, tick)
Sync_RequestAddFamilyInfo(curPlayer, False)
SyncDonateCntInfo(curPlayer)
- #PlayerFamilyZhenfa.OnPlayerLogin(curPlayer)
PlayerFamilyZhenbaoge.OnPlayerLogin(curPlayer)
+ PlayerFamilyTaofa.OnPlayerLogin(curPlayer)
return
def OnPlayerLogout(curPlayer):
@@ -463,6 +464,8 @@
familyMgr = DBDataMgr.GetFamilyMgr()
familyMgr.DelPlayerReqJoinFamilyIDAll(curPlayer.GetPlayerID())
Sync_RequestAddFamilyInfo(curPlayer)
+ PlayerFamilyTaofa.OnPlayerEnterFamily(curPlayer)
+ PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_ReqOrJoinFamily)
return
def __OnLeaveFamily(curPlayer, isVoluntarily, tick):
@@ -497,6 +500,8 @@
delMoney = int(nowMoney * delMoneyPer / 100.0)
GameWorld.DebugLog(" 扣除货币: delMoneyType=%s,delMoneyPer=%s,nowMoney=%s,delMoney=%s" % (delMoneyType, delMoneyPer, nowMoney, delMoney))
PlayerControl.PayMoney(curPlayer, delMoneyType, delMoney, "LeaveFamily")
+
+ PlayerFamilyTaofa.OnPlayerLeaveFamily(curPlayer)
FBLogic.OnLeaveFamily(curPlayer, tick)
return
@@ -657,6 +662,7 @@
# 申请加入
if requestType == 0:
+ PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_ReqOrJoinFamily, 1)
if not tagFamilyID:
AutoJoinFamily(curPlayer)
else:
@@ -713,17 +719,17 @@
family = familyMgr.GetAt(index)
if not family:
continue
- familyID = family.GetID()
+ #familyID = family.GetID()
lvMin = family.GetJoinLVMin()
if lvMin and realmLV < lvMin:
- GameWorld.DebugLog(" 官职不足的不处理! familyID=%s,lvMin=%s" % (familyID, lvMin), playerID)
+ #GameWorld.DebugLog(" 官职不足的不处理! familyID=%s,lvMin=%s" % (familyID, lvMin), playerID)
continue
if family.GetJoinReview():
- GameWorld.DebugLog(" 需要审核的不处理! familyID=%s" % familyID, playerID)
+ #GameWorld.DebugLog(" 需要审核的不处理! familyID=%s" % familyID, playerID)
continue
MemberMax = GetFamilySetting(family.GetLV(), "MemberMax")
if family.GetCount() >= MemberMax:
- GameWorld.DebugLog(" 成员已满的不处理! familyID=%s" % familyID, playerID)
+ #GameWorld.DebugLog(" 成员已满的不处理! familyID=%s" % familyID, playerID)
continue
#直接加入
@@ -1221,6 +1227,7 @@
#XW_JZ_LeaveFamily <n color="0,190,255">{%S1%}</n><n color="255,255,0">退出了家族!</n> 25 - -
NotifyAllFamilyMemberMsg(familyID, "XW_JZ_LeaveFamily", [curPlayer.GetName()])
+ __DoPlayerLeaveFamilyByID(family, playerID, curPlayer)
MapServer_FamilyRefresh(curPlayer, 0, 1)
if family.GetCount() == 0:
@@ -1286,10 +1293,16 @@
#删除玩家
tagPlayer = GameWorld.GetPlayerManager().FindPlayerByID(tagMemberID)
+ __DoPlayerLeaveFamilyByID(family, tagPlayerID, tagPlayer)
if tagPlayer:
MapServer_FamilyRefresh(tagPlayer, 0)
Broadcast_FamilyChange(familyID, FamilyChangeType_MemLeave)
+ return
+
+def __DoPlayerLeaveFamilyByID(curFamily, leavePlayerID, tagPlayer=None):
+ ## 有玩家离开家族处理,主要针对家族层级的,玩家个人的在 __OnLeaveFamily 处理
+ PlayerFamilyTaofa.OnFamilyMemberLeave(curFamily, leavePlayerID, tagPlayer)
return
#// A6 11 家族改名 #tagCMRenameFamily
@@ -1486,7 +1499,7 @@
curMember.SetDonateCntTotal(memDonateCntTotal)
GameWorld.DebugLog("家族捐献: donateType=%s,donateCnt=%s,%s,memDonateCntDay=%s,memDonateCntDay=%s"
% (donateType, donateCnt, awardItemList, memDonateCntDay, memDonateCntTotal), playerID)
- ItemControler.GivePlayerItemOrMail(curPlayer, awardItemList)
+ ItemControler.GivePlayerItemOrMail(curPlayer, awardItemList, event=["FamilyMoneyDonate", False, {}])
return
def ResetDailyDonateCnt(curPlayer):
@@ -1513,7 +1526,7 @@
donateCntList.append(donateCnt)
if not donateCntList:
return
- clientPack = ObjPool.GetPoolMgr().acquire(ChPyNetSendPack.tagSCDonateCntInfo)
+ clientPack = ChPyNetSendPack.tagSCDonateCntInfo()
clientPack.DonateCntList = donateCntList
clientPack.Count = len(clientPack.DonateCntList)
NetPackCommon.SendFakePack(curPlayer, clientPack)
@@ -1606,7 +1619,8 @@
def SendFamilyActionInfo(curPlayer, familyID, actionType):
## 发送家族行为
# @param curPlayer: 为None时通知该仙盟所有成员
-
+ if not familyID:
+ return
familyAction = DBDataMgr.GetFamilyActionMgr().GetFamilyAction(familyID, actionType)
clientPack = ChPyNetSendPack.tagMCFamilyActionInfo()
--
Gitblit v1.8.0