From 718f530accc19969f39d1a8ce199fe947508e29a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 16 十月 2025 19:19:09 +0800
Subject: [PATCH] 237 【福利内容】每日任务/每周任务/章节奖励-服务端(每日任务、每周奖励;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 88 +++++++++++++++-----------------------------
1 files changed, 30 insertions(+), 58 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
index 6acc07c..d4fde0d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -37,7 +37,6 @@
import NetPackCommon
import DataRecordPack
import PlayerPrestigeSys
-import PlayerActivity
import FBCommon
import PassiveBuffEffMng
import EventReport
@@ -58,7 +57,6 @@
import CrossPlayerData
import ChNetSendPack
import PlayerState
-import PlayerGubao
import PlayerOnline
import PlayerTask
import PlayerMail
@@ -414,10 +412,6 @@
if not GameWorld.IsCrossServer() and GetCrossMapID(curPlayer):
NotifyCode(curPlayer, "CrossMap10")
- return False
-
- if curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene):
- GameWorld.Log("客户端自定义场景下无法传送!", curPlayer.GetPlayerID())
return False
return True
@@ -1002,7 +996,6 @@
CrossPlayerData.ClearCrossSyncDataCache(curPlayer)
#清除地图玩家缓存
PyGameData.g_playerReqEnterFBEx.pop(playerID, None)
- NPCCommon.ClearPriWoodPile(curPlayer)
#移除地图缓存的境界难度玩家ID信息
for playerIDList in PyGameData.g_realmDiffPlayerDict.values():
if playerID in playerIDList:
@@ -1407,7 +1400,7 @@
#进入副本通用检查
fbIpyData = FBCommon.GetFBIpyData(mapID)
fbLineIpyData = FBCommon.GetFBLineIpyData(mapID, lineID)
- sceneMapID = mapID if not fbLineIpyData else fbLineIpyData.GetMapID()
+ sceneMapID = mapID #if not fbLineIpyData else fbLineIpyData.GetMapID()
#过滤封包地图ID
if not GameWorld.GetMap().IsMapIDExist(sceneMapID):
GameWorld.ErrLog('###非法地图数据,sceneMapID: %s' % (sceneMapID), curPlayer.GetID())
@@ -1436,15 +1429,14 @@
GameWorld.Log("非队长,无法发起进入组队副本请求!", curPlayer.GetPlayerID())
return
isSendToGameServer = True
- if isSendToGameServer or mapID in ChConfig.Def_MapID_SendToGameServer \
- or mapID in ReadChConfig.GetEvalChConfig("MapID_SendToGameServer"):
+ if isSendToGameServer:
extendParamList = []
if mapID in ChConfig.Def_MapID_LineIDToPropertyID:
- enterCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFbCntDay % mapID)
+ enterCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FbEnterCnt % mapID)
extendParamList = [enterCnt]
- elif mapID in ChConfig.MirrorBattleMapIDList:
- reqInfoEx["sceneMapID"] = sceneMapID
- extendParamList = [reqInfoEx]
+ #elif mapID in ChConfig.MirrorBattleMapIDList:
+ # reqInfoEx["sceneMapID"] = sceneMapID
+ # extendParamList = [reqInfoEx]
SendToGameServerEnterFB(curPlayer, mapID, lineID, tick, extendParamList)
return
@@ -1535,12 +1527,6 @@
if isNotify:
NotifyCode(curPlayer, "Carry_lhs_697674")
return ShareDefine.EntFBAskRet_Sit
-
- if curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene):
- if isNotify:
- NotifyCode(curPlayer, "Carry_lhs_697674")
- GameWorld.Log("客户端自定义场景下无法进入副本!", curPlayer.GetPlayerID())
- return ShareDefine.EntFBAskRet_Other
if playerAction in ChConfig.Def_Player_Cannot_TransState:
#Carry_lhs_697674:您当前所处的状态不能进行传送!
@@ -1674,8 +1660,7 @@
curPlayer.SetDict(ChConfig.Def_PlayerKey_TransTick, tick)
mapID = FBCommon.GetRecordMapID(mapID)
- fbLineIpyData = FBCommon.GetFBLineIpyData(mapID, funcLineID)
- sceneMapID = mapID if not fbLineIpyData else fbLineIpyData.GetMapID()
+ sceneMapID = mapID #if not fbLineIpyData else fbLineIpyData.GetMapID()
# 地图分流, 减少单地图压力
FBMapShuntDict = ReadChConfig.GetEvalChConfig("FBMapShunt")
@@ -1835,8 +1820,8 @@
return tagLineID
tagLinePlayerCountDict = PyGameData.g_commMapLinePlayerCountDict[tagMapID] # 此分线包含所有分线,含未开放的及活动分线
- if bossID and tagMapID != ChConfig.Def_FBMapID_BossHome:
- tagLineID = 0 # Boss的话未分流前先强制1线,即为0
+ #if bossID and tagMapID != ChConfig.Def_FBMapID_BossHome:
+ # tagLineID = 0 # Boss的话未分流前先强制1线,即为0
playerID = curPlayer.GetPlayerID()
playChangeLineID = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_PlayChangeLineID)
funcChangeLineID = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FuncChangeLineID)
@@ -2790,9 +2775,7 @@
#银票支付
elif type_Price == IPY_GameWorld.TYPE_Price_Silver_Paper:
__PayMoneyAfterBySilverPaper(curPlayer, price)
-
- #活跃度处理
- PlayerActivity.OnPayMoneyActivity(curPlayer, type_Price, price)
+
#转盘活动
PlayerActTurntable.OnPlayerUseGold(curPlayer, type_Price, price)
#轮回殿
@@ -2994,6 +2977,9 @@
GameWorld.SendMsgToClientServer(ShareDefine.CrossServerMsg_GiveMoney, msgInfo, [serverGroupID])
return True
+ if priceType == ShareDefine.TYPE_Price_FamilyExp:
+ return PlayerFamily.AddFamilyExp(curPlayer, value)
+
befMoney = GetMoney(curPlayer, priceType)
if priceType == IPY_GameWorld.TYPE_Price_Gold_Money:
updPlayerGold = GetMoneyReal(curPlayer, priceType) + value
@@ -3076,6 +3062,9 @@
PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_GetMoney, value, [priceType])
+ if priceType == ShareDefine.TYPE_Price_FamilyCoin:
+ PlayerFamily.AddFamilyContrib(curPlayer, value) # 公会币同步增加公会贡献
+
if priceType not in [IPY_GameWorld.TYPE_Price_Gold_Money, IPY_GameWorld.TYPE_Price_Gold_Paper, ShareDefine.TYPE_Price_PayCoin] \
and giveType == ChConfig.Def_GiveMoney_Unknown:
#GameWorld.DebugLog("该货币没有指定来源类型不记录!priceType=%s,giveType=%s" % (priceType, giveType))
@@ -3523,11 +3512,9 @@
PlayerTongTianLing.AddTongTianTaskValue(curPlayer, ChConfig.TTLTaskType_LVUp, aftLV - befLV)
PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_LV)
PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_HeroLV, aftLV)
- PlayerActivity.DoAddActivityByLV(curPlayer, befLV, aftLV)
#if aftFreePoint > befFreePoint:
# curPlayer.SetFreePoint(aftFreePoint)
- PlayerGubao.DoGubaoAddFreePoint(curPlayer)
# 升级需要执行的游戏功能处理
GameFuncComm.DoFuncOpenLogic(curPlayer)
@@ -4213,11 +4200,11 @@
if actExpIpyData and curPlayer.GetLV() >= actExpIpyData.GetLVLimit():
fightExpRate += actExpIpyData.GetAddExpRate()
- if curPlayer.GetMapID() not in [ChConfig.Def_FBMapID_FamilyInvade]: #守卫人皇不加组队加成
- fightExpRate += curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_TeamExpRate) # 组队
+ #if curPlayer.GetMapID() not in [ChConfig.Def_FBMapID_FamilyInvade]: #守卫人皇不加组队加成
+ # fightExpRate += curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_TeamExpRate) # 组队
#地图多倍经验加成,默认是1倍不加成
- mapExpAddMultiple = max(0, FBCommon.GetAreaRewardMultiple(curPlayer) - 1)
+ mapExpAddMultiple = 0
fightExpRate += mapExpAddMultiple * ChConfig.Def_MaxRateValue
if totalExpRate != fightExpRate:
@@ -4415,6 +4402,13 @@
wave = value % 100
return chapterID, levelNum, wave
+## 获取佩戴的称号ID
+def GetTitleID(curPlayer): return curPlayer.GetExAttr3()
+def SetTitleID(curPlayer, titleID):
+ curPlayer.SetExAttr3(titleID, False, False)
+ PlayerFamily.RefreshFamilyMember(curPlayer)
+ return
+
## 协助目标玩家ID
def GetAssistTagPlayerID(curPlayer): return 0
@@ -4423,12 +4417,9 @@
def SetTeamCheckState(curPlayer, checkState): return
## 副本功能线路ID, 这里做db存储,防止在合并地图副本中掉线重上时前端无法加载正确的场景资源,登录加载场景时机为0102包
def SetFBFuncLineID(curPlayer, mapID, funcLineID):
- value = mapID * 1000 + funcLineID
- if value != curPlayer.GetExAttr3():
- curPlayer.SetExAttr3(value, False, True)
return
-def GetFBFuncMapID(curPlayer): return curPlayer.GetExAttr3() / 1000
-def GetFBFuncLineID(curPlayer): return curPlayer.GetExAttr3() % 1000
+def GetFBFuncMapID(curPlayer): return 0
+def GetFBFuncLineID(curPlayer): return 0
## 跨服状态所在地图ID: 0-非跨服状态,非0-跨服状态对应的地图ID
def GetCrossMapID(curPlayer): return curPlayer.GetExAttr5()
@@ -4436,16 +4427,6 @@
curPlayer.SetExAttr5(value, False, True)
if not value:
CrossPlayerData.ClearCrossSyncDataCache(curPlayer)
- return
-
-## 前端自定义场景
-def GetCustomMapID(curPlayer): return curPlayer.GetExAttr14() / 1000
-def GetCustomLineID(curPlayer): return curPlayer.GetExAttr14() % 1000
-## 自定义场景后端判断已结算后需直接重置为0,防止前端没有退出场景直接下线导致数据没有重置,可能引发可以重复进
-def SetCustomMap(curPlayer, mapID, lineID):
- value = mapID * 1000 + lineID
- if value != curPlayer.GetExAttr14():
- curPlayer.SetExAttr14(value, False, True)
return
## 铜钱点, 支持铜钱超20亿
@@ -4468,8 +4449,8 @@
def SetVIPLVUpTime(curPlayer, lvUpTime): return
##聊天气泡框
-def GetChatBubbleBox(curPlayer): return curPlayer.GetExAttr10()
-def SetChatBubbleBox(curPlayer, value): return curPlayer.SetExAttr10(value, False, True)
+def GetChatBox(curPlayer): return curPlayer.GetExAttr10()
+def SetChatBox(curPlayer, value): return curPlayer.SetExAttr10(value, False, True)
##游戏充值支付代币
def GetPayCoinTotal(curPlayer): return GetPayCoin(curPlayer) + GetPlayerCurrency(curPlayer, ShareDefine.TYPE_Price_PayCoinDay)
@@ -4481,11 +4462,6 @@
if payCoinDay > 0:
PayMoney(curPlayer, ShareDefine.TYPE_Price_PayCoin, payCoinDay, "PayCoinOnDay")
return
-
-## 获取佩戴的称号ID
-def GetTitleID(curPlayer):
- curDienstgradMgr = curPlayer.GetDienstgradManager()
- return curDienstgradMgr.GetCurGradID()
##伴侣
def GetCoupleID(curPlayer):
@@ -4855,10 +4831,6 @@
# 血瓶恢复效果
def GetHPCureEnhance(curPlayer): return 0
-
-# 仙盟徽章ID
-def GetFamilyEmblemID(curPlayer): return curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FamilyEmblemID)
-def SetFamilyEmblemID(curPlayer, emblemID): NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FamilyEmblemID, emblemID)
# 仙盟职位,使用 GetReceivedSalary,因为FamilyMemberLV没有入库
def GetFamilyMemberLV(curPlayer): return curPlayer.GetReceivedSalary()
--
Gitblit v1.8.0