From d57475ffe460133d146d377e66ed19ccb77b11a7 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 20 十月 2025 17:22:00 +0800
Subject: [PATCH] 121 【武将】武将系统-服务端(寻宝支持定制第x次x抽必出)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 54 +++++++++++++++++++++++++++++++-----------------------
1 files changed, 31 insertions(+), 23 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 fd02f54..93a6a3d 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
@@ -51,7 +50,6 @@
import PlayerCostRebate
import PlayerActLunhuidian
import GY_Query_CrossRealmReg
-import PlayerTongTianLing
import FunctionNPCCommon
import PlayerGoldInvest
import CrossRealmPlayer
@@ -61,6 +59,7 @@
import PlayerOnline
import PlayerTask
import PlayerMail
+import PlayerLLMJ
import ChPlayer
import GameObj
@@ -2776,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)
#轮回殿
@@ -2802,6 +2799,7 @@
unXiantaoCntBooty = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_UnXiantaoCntBooty % itemID)
NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_UnXiantaoCntBooty % itemID, unXiantaoCntBooty + price)
+ PlayerLLMJ.AddUseZhanchui(curPlayer, price)
PlayerPrestigeSys.AddRealmTaskValue(curPlayer, PlayerPrestigeSys.RealmTaskType_UseXiantao, price)
PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_CutTree, price)
@@ -3031,8 +3029,6 @@
return
updValue = min(ChConfig.Def_UpperLimit_DWord, curCurrency + value)
SetPlayerCurrency(curPlayer, priceType, updValue)
- if priceType == ShareDefine.TYPE_Price_RealmPoint:
- PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_GetRealmPoint, value)
else:
GameWorld.ErrLog("金钱类型错误, priceType=%s,value=%s,giveType=%s" % (priceType, value, giveType), curPlayer.GetPlayerID())
DataRecordPack.DR_GiveMoneyError(curPlayer, priceType, value, giveType, addDataDict)
@@ -3512,10 +3508,8 @@
#aftFreePoint = curPlayer.GetFreePoint()
if aftLV > befLV:
curPlayer.SetLV(aftLV, False) # 这里不再通知GameServer
- PlayerTongTianLing.AddTongTianTaskValue(curPlayer, ChConfig.TTLTaskType_LVUp, aftLV - befLV)
+ #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)
@@ -4366,6 +4360,7 @@
lvID = chapterID * 100 + levelNum
PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_MainLevel, lvID)
PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_MainLevel)
+ PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_MainLevel, lvID)
return value
def GetMainLevelPassInfo(curPlayer):
## 获取主线关卡过关进度信息
@@ -4406,6 +4401,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
@@ -4414,12 +4416,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()
@@ -4449,8 +4448,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)
@@ -4462,11 +4461,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):
@@ -4518,13 +4512,27 @@
## 获取玩家在本地图中的境界难度层级,必须在境界地图且有选择境界难度才算,否则为默认0;该难度值同时也是视野层级
return 0
+
+##玩家退出仙盟信息: 主动离开次数*100 + 被踢次数*10 + 最后一次是否主动离开的
+def GetLeaveFamilyInfo(curPlayer):
+ # @return: 主动离开次数, 最后一次是否主动离开的
+ value = curPlayer.GetExAttr12()
+ leaveCnt = value / 100
+ kickedCnt = value % 100 / 10
+ lastVoluntarily = value % 10
+ return leaveCnt, kickedCnt, lastVoluntarily
+def SetLeaveFamilyInfo(curPlayer, leaveCnt, kickedCnt, lastVoluntarily):
+ value = min(9, leaveCnt) * 100 + min(9, kickedCnt) * 10 + lastVoluntarily
+ curPlayer.SetExAttr12(value) # IPY_PlayerDefine.CDBPlayerRefresh_ExAttr12
+ GameWorld.DebugLog(" SetLeaveFamilyInfo: value=%s" % (value))
+ return value
##玩家离开仙盟时间(主动或被踢都算)
def GetLeaveFamilyTimeEx(curPlayer):return curPlayer.GetExAttr19()
def SetLeaveFamilyTimeEx(curPlayer, value):
curPlayer.SetExAttr19(value)
#curPlayer.SendGameServerRefreshState(ShareDefine.CDBPlayerRefresh_ExAttr19, value, 0)
curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_ExAttr19, value, 0, False)
- return
+ return value
##总战斗力,支持超过20E = 各模块战力总和
def GetFightPower(curPlayer): return curPlayer.GetFightPowerEx() * ChConfig.Def_PerPointValue + curPlayer.GetFightPower()
--
Gitblit v1.8.0