From 5925409bdea13d819e4e4356a51043de5f3f9bd8 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 22 十月 2025 14:20:10 +0800
Subject: [PATCH] 16 卡牌服务端(删除神兵)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 301 ++++++++++++++++++++++++++++---------------------
1 files changed, 172 insertions(+), 129 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 857fa73..be2576c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -26,7 +26,6 @@
import ChItem
import ItemCommon
import ItemControler
-import ChEquip
import FunctionNPCCommon
import PlayerGMOper
import ReadChConfig
@@ -37,8 +36,6 @@
import ChPyNetSendPack
import DataRecordPack
import PlayerBillboard
-import UpdatePlayerName
-import PlayerOnlinePrize
import PlayerLVAward
import PlayerGoldGift
import PlayerSignDay
@@ -46,16 +43,12 @@
import PlayerPrestigeSys
import PlayerFamily
import PlayerLoginDayAward
-import PlayerGodWeapon
import PlayerGoldInvest
import PlayerActivity
import FBCommon
import PlayerWishingWell
import PlayerSuccess
-import PlayerDienstgrad
import PlayerFreeGoods
-import PlayerRecover
-import PlayerEquipDecompose
import PlayerCrossRealmPK
import PlayerCrossChampionship
import GameFuncComm
@@ -68,10 +61,8 @@
import PlayerActLogin
import PlayerTreasure
import PlayerRune
-import PlayerFamilyRedPacket
import IpyGameDataPY
import EventReport
-import OpenServerCampaign
import PassiveBuffEffMng
import PlayerFlashSale
import PlayerFlashGiftbag
@@ -82,22 +73,15 @@
import PlayerActCollectWords
import PlayerActTotalRecharge
import PlayerActRechargePrize
-import PlayerActGarbageSorting
-import PlayerActXianXiaMJ
-import PlayerActGubao
-import PlayerActHorsePetTrain
import PlayerActLianqi
import PlayerActGodGift
import PlayerActFamilyCTGAssist
import PlayerActRechargeRebateGold
import PlayerActManyDayRecharge
import PlayerActSingleRecharge
-import PlayerActHorsePetFeast
-import PlayerActBossTrial
import PlayerSpringSale
import GY_Query_BossFirstKill
import PlayerCrossYaomoBoss
-import PlayerFeastRedPacket
import PlayerLuckyCloudBuy
import PlayerLuckyTreasure
import Item_ResetAttrPoint
@@ -122,14 +106,13 @@
import PlayerCustomAward
import PlayerZhanling
import PlayerTree
+import PlayerLLMJ
import PlayerLianTi
import PlayerTask
import PlayerYinji
import PlayerLove
import GameObj
import PlayerChangeJob
-import PlayerFace
-import PlayerChatBox
import PlayerXiangong
import PlayerGoldRush
import PlayerActLoginNew
@@ -140,6 +123,7 @@
import PlayerActTask
import PlayerMail
import DBDataMgr
+import UpdatePlayerName
import GameServerRefresh
import IPY_ServerDefine
import CommFunc
@@ -149,6 +133,8 @@
import PlayerHero
import PlayerOnline
import TurnAttack
+import PlayerHJG
+import ObjPool
import datetime
import time
@@ -266,9 +252,6 @@
if PlayerControl.GetCrossMapID(curPlayer):
CrossRealmPlayer.DoExitCrossRealm(curPlayer)
-
- if curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene):
- PlayerFB.DoExitCustomScene(curPlayer)
PetControl.DoLogic_PetLoadMapOK(curPlayer)
@@ -510,7 +493,6 @@
PlayerControl.SyncOnLineTimeTotal(curPlayer)
#PlayerControl.SyncOnLineTimeLastOpenPack(curPlayer, IPY_GameWorld.rptItem)
PlayerControl.SyncTrainRealmLV(curPlayer)
- PlayerGodWeapon.OnLogin(curPlayer)
PlayerPrestigeSys.OnLogin(curPlayer)
#DataRecordPack.DR_PlayerLogin(curPlayer)
EventReport.WriteEvent_login(curPlayer)
@@ -548,9 +530,6 @@
#通知玩家死亡时间
#PlayerControl.PlayerControl(curPlayer).NotifyPlayerDeadTime(curPlayer)
- #角色改名次数
- #UpdatePlayerName.Sync_UpdatePlayerNameCount(curPlayer)
-
# 坐骑相关通知
PlayerHorse.PlayerHorseLogin(curPlayer)
@@ -564,15 +543,6 @@
# 通知累计登陆礼
PlayerLoginDayAward.OnLoginNotifyLoginDayAward(curPlayer)
-
- # 开服活动奖励信息
- OpenServerCampaign.OnOpenServerCampaignLogin(curPlayer)
-
- # 采集NPC次数通知
- #NPCCommon.SyncCollNPCTime(curPlayer)
-
- # 每日活跃度
- PlayerActivity.OnLogin(curPlayer)
# 副本进入时间
FBCommon.FBOnLogin(curPlayer)
@@ -593,12 +563,6 @@
# Sync_AutoFightSetting(curPlayer)
PlayerFamily.OnPlayerLogin(curPlayer, tick)
- #改到 GameServerRefresh GameSever_PlayerInitOK后处理才能保证玩家已经在Gameserver注册
- #PlayerDienstgrad.RefreshBillBoardDienstgrad(curPlayer)
- # 称号
- PlayerDienstgrad.Sync_AllDienstgradOnLogin(curPlayer)
- # 资源找回OnLogin
- PlayerRecover.RecoverOnLogin(curPlayer)
# 时装
PlayerCoat.OnLogin_Coat(curPlayer)
@@ -650,24 +614,14 @@
ChItem.Sync_ItemDayUseCnt(curPlayer)
# 符印登录通知
PlayerRune.PlayerRuneLogin(curPlayer)
- # 仙盟红包登录通知
- PlayerFamilyRedPacket.OnPlayerLogin(curPlayer)
- PlayerFeastRedPacket.DoPlayerOnLogin(curPlayer)
# 商店物品购买次数登录通知
FunctionNPCCommon.ShopItemOnLogin(curPlayer)
# 通知设置的被动功法
#PassiveBuffEffMng.OnLoginGFPassive(curPlayer)
- PlayerOnlinePrize.OnPlayerLogin(curPlayer)
- #装备分解
- #PlayerEquipDecompose.PlayerLogin(curPlayer)
# 极品白拿
PlayerFreeGoods.OnLogin(curPlayer)
# BOSS复活活动
PlayerBossReborn.OnLogin(curPlayer)
- # boss历练
- PlayerActBossTrial.OnPlayerLogin(curPlayer)
- # 骑宠盛宴活动
- PlayerActHorsePetFeast.OnLogin(curPlayer)
# 周狂欢活动
PlayerWeekParty.OnLogin(curPlayer)
# 购买次数礼包活动
@@ -690,14 +644,6 @@
PlayerFeastTravel.OnPlayerLogin(curPlayer)
# 登录奖励活动
PlayerActLogin.OnLogin(curPlayer)
- # 垃圾分类活动
- PlayerActGarbageSorting.OnPlayerLogin(curPlayer)
- # 仙匣秘境活动
- PlayerActXianXiaMJ.OnPlayerLogin(curPlayer)
- # 古宝养成活动
- PlayerActGubao.OnPlayerLogin(curPlayer)
- # 骑宠养成活动
- PlayerActHorsePetTrain.OnPlayerLogin(curPlayer)
# 炼器活动
PlayerActLianqi.OnPlayerLogin(curPlayer)
# 天帝礼包活动
@@ -779,8 +725,7 @@
PyMongoMain.GetUserCtrlDB().OnPlayerLogin(curPlayer)
PlayerHero.OnPlayerLogin(curPlayer)
PlayerMail.OnPlayerLogin(curPlayer)
- PlayerChatBox.OnPlayerLogin(curPlayer)
- PlayerFace.OnPlayerLogin(curPlayer)
+ PlayerHJG.OnPlayerLogin(curPlayer)
PlayerXiangong.OnPlayerLogin(curPlayer)
PlayerGubao.OnPlayerLogin(curPlayer)
PlayerShentong.OnPlayerLogin(curPlayer)
@@ -790,6 +735,10 @@
PlayerGoldRush.OnPlayerLogin(curPlayer)
PlayerActFamilyGCZ.OnPlayerLogin(curPlayer)
PlayerTalk.OnPlayerLogin(curPlayer)
+ SyncADCntInfo(curPlayer)
+ UpdatePlayerName.OnPlayerLogin(curPlayer)
+ PlayerActivity.OnPlayerLogin(curPlayer)
+ PlayerLLMJ.OnPlayerLogin(curPlayer)
# 上线查询一次充值订单
curPlayer.SendDBQueryRecharge()
@@ -824,6 +773,8 @@
# 那么在DoPlayerLogin 中设置的数据将不会被保存, 如会导致第一个任务重复触发问题,记录多次发送
EventReport.WriteEvent_Entry(curPlayer, 4)
#EventReport.EventReport(ShareDefine.Def_UserAction_FirstLogin, "", curPlayer)
+
+ curPlayer.SetFightPoint(1) # 初始化为1倍消耗
#---补满血满魔---
GameObj.SetHP(curPlayer, GameObj.GetMaxHP(curPlayer))
@@ -882,11 +833,10 @@
curPlayer.SetDict(ChConfig.Def_PlayerKey_MixServerFirstLogin, 1)
+ PlayerSignDay.ResetDaySign(curPlayer) # 重置签到
+
# 重置首充双倍
PlayerCoin.DoResetCTGCount(curPlayer, "MixServer")
-
- # 重置商店购买次数,暂定只重置类型 7 的
- FunctionNPCCommon.ResetShopItemBuyCount(curPlayer, [7])
# 合服邮件,盟主专属邮件在GameServer处理
mailItemList = IpyGameDataPY.GetFuncEvalCfg("MixServerMail", 1)
@@ -918,17 +868,6 @@
# 同步排行榜
PlayerBillboard.UpdatePlayerBillboardOnLeaveServer(curPlayer, isAll=True)
-
- # boss凭证
- PlayerActBossTrial.OnMixFirstLogin(curPlayer)
- # 仙匣秘境
- PlayerActXianXiaMJ.OnMixFirstLogin(curPlayer)
- # 古宝养成
- PlayerActGubao.OnMixFirstLogin(curPlayer)
- # 骑宠养成
- PlayerActHorsePetTrain.OnMixFirstLogin(curPlayer)
- # 重置玩家改名次数
- #UpdatePlayerName.ResetChangeNameCnt(curPlayer)
return
#---------------------------------------------------------------------
@@ -1062,16 +1001,7 @@
PlayerControl.SetPlayerSightLevel(curPlayer, curPlayer.GetID())
if curPlayer.GetSight() != 0:
PlayerControl.SetSight(curPlayer, 0)
- #刷新玩家的视野
- #if not GameWorld.IsCrossServer() and (PlayerControl.GetCrossMapID(curPlayer) or PlayerControl.GetCustomMapID(curPlayer)):
- # GameWorld.DebugLog("===登录本服地图时,处于跨服或自定义场景状态,不刷新视野!", curPlayer.GetPlayerID())
- # PlayerControl.SetPlayerSightLevel(curPlayer, curPlayer.GetID())
- #elif not GameWorld.IsCrossServer():
- # realmDifficulty = PlayerControl.GetMapRealmDifficulty(curPlayer)
- # if realmDifficulty:
- # GameWorld.DebugLog("===登录本服地图时,处于境界难度地图,自动设置难度! realmDifficulty=%s" % realmDifficulty, curPlayer.GetPlayerID())
- # PlayerControl.SetRealmDifficulty(curPlayer, realmDifficulty)
-
+
PlayerState.ChangePlayerSigh(curPlayer, tick)
if GameWorld.IsCrossServer():
@@ -1414,16 +1344,7 @@
PlayerControl.SetPlayerSightLevel(curPlayer, curPlayer.GetID())
if curPlayer.GetSight() != 0:
PlayerControl.SetSight(curPlayer, 0)
- #刷新自己的视野
- #if not GameWorld.IsCrossServer() and (PlayerControl.GetCrossMapID(curPlayer) or curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene)):
- # GameWorld.DebugLog("===本服LoadMapOK时玩家处于跨服或自定义场景状态,不设置可见!", curPlayer.GetPlayerID())
- # PlayerControl.SetPlayerSightLevel(curPlayer, curPlayer.GetID())
- #elif not GameWorld.IsCrossServer():
- # realmDifficulty = PlayerControl.GetMapRealmDifficulty(curPlayer)
- # if realmDifficulty:
- # GameWorld.DebugLog("===本服LoadMapOK时玩家处于境界难度地图,自动设置难度!realmDifficulty=%s" % realmDifficulty, curPlayer.GetPlayerID())
- # PlayerControl.SetRealmDifficulty(curPlayer, realmDifficulty)
-
+
curPlayer.RefreshView()
curPlayer.SetVisible(True)
@@ -1822,9 +1743,9 @@
curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
#防外挂 不可移动
- if curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_AutoCheckHack_State) \
- == ChConfig.Def_AutoCheck_State_Danger:
- return
+ #if curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_AutoCheckHack_State) \
+ # == ChConfig.Def_AutoCheck_State_Danger:
+ # return
#不可移动行为状态, 判断客户端限制
@@ -2190,22 +2111,6 @@
#流向记录玩家下线
DataRecordPack.DR_PlayerDisconnect(curPlayer)
-
- #在线时间
- PlayerOnlinePrize.CalcOnlineTime(curPlayer)
- #首充提示时间
- PlayerGoldGift.UpdateFirstGoldTime(curPlayer)
- #玩家未回图形验证码下线将会记录错误次数
- #===========================================================================
- # if curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_Captcha_WaitSign) \
- # == PlayerAutoCheckOnline.Def_Captcha_WaitAnswer:
- # PlayerAutoCheckOnline.CaptchaAnswerErr(curPlayer, tick, False)
- #
- # PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_Captcha_WaitSign, PlayerAutoCheckOnline.Def_Captcha_Safe)
- #
- #===========================================================================
- #@warning: 等字段统一修改,删除双倍经验BUFF
- #PlayerDoubleExpSys.DeleteDoubleExpBuff(curPlayer, ChConfig.Def_DoubleExpNote_StopOff)
#设置RouteServerInitOK字典
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_RouteServerInitOK, 0)
@@ -3287,6 +3192,30 @@
NetPackCommon.SendFakePack(curPlayer, awardReceiveState)
return
+def PlayerOnDay(curPlayer):
+ #玩法前瞻奖励
+ gameNoticeAwardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GameNoticeAwardState)
+ if gameNoticeAwardState:
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GameNoticeAwardState, 0)
+ Sync_RewardGetRecordInfo(curPlayer, ChConfig.Def_RewardType_GameNotice, 0)
+ #每日分享奖励重置
+ shareGameAwardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ShareGameAwardState)
+ if shareGameAwardState:
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ShareGameAwardState, 0)
+ Sync_RewardGetRecordInfo(curPlayer, ChConfig.Def_RewardType_ShareGame, 0)
+ #开服每日奖励
+ awardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OpenSererDailyAward)
+ if awardState:
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OpenSererDailyAward, 0)
+ Sync_RewardGetRecordInfo(curPlayer, ChConfig.Def_RewardType_OpenServerDailyAward, 0)
+ #开服每日奖励
+ awardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RechargeDayAward)
+ if awardState:
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RechargeDayAward, 0)
+ Sync_RewardGetRecordInfo(curPlayer, ChConfig.Def_RewardType_RechargeDayAward, 0)
+ ADCntOnDay(curPlayer)
+ return
+
#//A5 04 玩家领取奖励 #tagCMPlayerGetReward
#
#struct tagCMPlayerGetReward
@@ -3311,24 +3240,33 @@
# 活跃度奖励
if rewardType == ChConfig.Def_RewardType_Activity:
PlayerActivity.GetActivityAward(curPlayer, dataEx)
- # 活跃放置奖励
- elif rewardType == ChConfig.Def_RewardType_ActivityPlace:
- PlayerActivity.GetActivityPlaceReward(curPlayer)
+ # 每日任务奖励
+ elif rewardType == ChConfig.Def_RewardType_DailyTask:
+ PlayerActivity.GetDailyTaskAward(curPlayer, dataEx)
+ # 成就奖励
+ elif rewardType == ChConfig.Def_RewardType_Success:
+ PlayerSuccess.GetSuccessAward(curPlayer, dataEx)
# 仙树免费减时
elif rewardType == ChConfig.Def_RewardType_TreeFreeTime:
PlayerTree.FreeReduceTreeLVTime(curPlayer)
+ # 广告奖励
+ elif rewardType == ChConfig.Def_RewardType_ADAward:
+ OnGetADAward(curPlayer, dataEx)
+ # 历练秘笈升级
+ elif rewardType == ChConfig.Def_RewardType_LLMJLVUp:
+ PlayerLLMJ.OnLLMJLVUp(curPlayer)
# 每日免费直购礼包
elif rewardType == ChConfig.Def_RewardType_DayFreeGoldGift:
PlayerDailyGiftbag.OnGetDailyFreeGiftbag(curPlayer)
# 仙盟每日福利奖励
- elif rewardType == ChConfig.Def_RewardType_FamilyDayAward:
- PlayerFamily.GetFamilyDayAward(curPlayer)
+ #elif rewardType == ChConfig.Def_RewardType_FamilyDayAward:
+ # PlayerFamily.GetFamilyDayAward(curPlayer)
# 玩家等级奖励
elif rewardType == ChConfig.Def_RewardType_LVAward:
PlayerLVAward.GetPlayerLVAward(curPlayer, dataEx)
# 首充礼包奖励
- elif rewardType == ChConfig.Def_RewardType_GoldGiftFirst:
- PlayerGoldGift.GetPlayerGoldGiftFirst(curPlayer, dataEx)
+ elif rewardType == ChConfig.Def_RewardType_FirstCharge:
+ PlayerGoldGift.GetPlayerFirstCharge(curPlayer, dataEx, dataExStr)
# 领取极品白拿
elif rewardType == ChConfig.Def_RewardType_FreeGoods:
PlayerFreeGoods.OnGetFreeGoods(curPlayer, dataEx)
@@ -3395,12 +3333,6 @@
# 跨服妖魔boss伤害奖励
elif rewardType == ChConfig.Def_RewardType_CrossYaomoBossHurt:
PlayerCrossYaomoBoss.GetCrossYaomoBossHurtAward(curPlayer, dataEx, tick)
- # 古宝特殊效果物品奖励
- elif rewardType == ChConfig.Def_RewardType_GubaoItemEff:
- PlayerGubao.GetGubaoItemEffAward(curPlayer, dataEx, dataExStr)
- # 成就积分奖励
- elif rewardType == ChConfig.Def_RewardType_SuccessScore:
- PlayerSuccess.GetSuccessScoreAward(curPlayer, dataEx)
# 买一送多活动免费奖励
elif rewardType == ChConfig.Def_RewardType_BuyOne:
PlayerActBuyOne.GetBuyOneFreeAward(curPlayer, dataEx, dataExStr)
@@ -3465,7 +3397,71 @@
elif rewardType == ChConfig.Def_RewardType_RechargeDayAward:
OnGetRechargeDayAward(curPlayer, rewardType)
return
+
+def OnGetADAward(curPlayer, adID):
+ ipyData = IpyGameDataPY.GetIpyGameData("ADAward", adID)
+ if not ipyData:
+ return
+ adCntMax = ipyData.GetADCntMax()
+ adCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ADCnt % adID)
+ if adCnt >= adCntMax:
+ GameWorld.DebugLog("今日该广告奖励已达上限! adID=%s,adCnt=%s > %s" % (adID, adCnt, adCntMax))
+ return
+ adCnt += 1
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ADCnt % adID, adCnt)
+ awardItemList = ipyData.GetADAwardItemList()
+ adMapID = ipyData.GetADMapID()
+ GameWorld.DebugLog("领取广告奖励! adID=%s,adCnt=%s,adMapID=%s,awardItemList=%s" % (adID, adCnt, adMapID, awardItemList))
+ SyncADCntInfo(curPlayer, [adID])
+ if adMapID:
+ FBCommon.AddFBADCnt(curPlayer, adMapID)
+
+ if awardItemList:
+ ItemControler.GivePlayerItemOrMail(curPlayer, awardItemList, event=["ADAward", False, {}])
+
+ return
+
+def ADCntOnDay(curPlayer):
+ syncADIDList = []
+ ipyDataMgr = IpyGameDataPY.IPY_Data()
+ for index in xrange(ipyDataMgr.GetADAwardCount()):
+ ipyData = ipyDataMgr.GetADAwardByIndex(index)
+ adID = ipyData.GetADID()
+ if not curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ADCnt % adID):
+ continue
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ADCnt % adID, 0)
+ syncADIDList.append(adID)
+ if syncADIDList:
+ SyncADCntInfo(curPlayer, syncADIDList)
+ return
+
+def SyncADCntInfo(curPlayer, syncADIDList=None):
+ if not syncADIDList:
+ ipyDataMgr = IpyGameDataPY.IPY_Data()
+ adIDList = [ipyDataMgr.GetADAwardByIndex(i).GetADID() for i in xrange(ipyDataMgr.GetADAwardCount())]
+ else:
+ adIDList = syncADIDList
+
+ adInfoList = []
+ for adID in adIDList:
+ adCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ADCnt % adID)
+ if not adCnt and syncADIDList == None:
+ continue
+ adInfo = ObjPool.GetPoolMgr().acquire(ChPyNetSendPack.tagSCADInfo)
+ adInfo.ADID = adID
+ adInfo.ADCnt = adCnt
+ adInfoList.append(adInfo)
+
+ if not adInfoList:
+ return
+
+ clientPack = ObjPool.GetPoolMgr().acquire(ChPyNetSendPack.tagSCADInfoList)
+ clientPack.ADInfoList = adInfoList[:255]
+ clientPack.Count = len(clientPack.ADInfoList)
+ NetPackCommon.SendFakePack(curPlayer, clientPack)
+ return
+
def OnGetRechargeDayAward(curPlayer, rewardType):
## 领取累充每日奖励,取最高档
realTotal = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGRealTotal)
@@ -3819,9 +3815,9 @@
curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
#防外挂 不可移动
- if curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_AutoCheckHack_State) \
- == ChConfig.Def_AutoCheck_State_Danger:
- return
+ #if curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_AutoCheckHack_State) \
+ # == ChConfig.Def_AutoCheck_State_Danger:
+ # return
if not PYPlayerNormalMove(curPlayer, clientPack, tick):
posX, posY = curPlayer.GetPosX(), curPlayer.GetPosY()
@@ -4081,3 +4077,50 @@
#PlayerControl.SetRealmDifficulty(curPlayer, clientData.RealmDifficulty)
return
+#// A0 08 查看通用记录 #tagCSViewGameRec
+#
+#struct tagCSViewGameRec
+#{
+# tagHead Head;
+# WORD RecType; //记录类型
+# DWORD RecID; //自定义记录ID
+#};
+def OnViewGameRec(index, clientData, tick):
+ curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
+ recType = clientData.RecType
+ recID = clientData.RecID
+ if recType not in ShareDefine.Def_GameRecTypeList:
+ return
+ if recType in ShareDefine.Def_ViewGameRecSelfList:
+ recID = curPlayer.GetPlayerID()
+ recTypeIDMgr = DBDataMgr.GetGameRecMgr().GetRecTypeIDMgr(recType, recID)
+ SyncGameRecInfo(curPlayer, recType, recID, recTypeIDMgr.GetDataList())
+ return
+
+def SyncGameRecInfo(curPlayer, recType, recID, recDataList):
+ recList = []
+ for recData in recDataList:
+ if not recData:
+ continue
+ rec = ChPyNetSendPack.tagSCGameRec()
+ rec.Time = recData.GetTime()
+ rec.Value1 = recData.GetValue1()
+ rec.Value2 = recData.GetValue2()
+ rec.Value3 = recData.GetValue3()
+ rec.Value4 = recData.GetValue4()
+ rec.Value5 = recData.GetValue5()
+ rec.Value6 = recData.GetValue6()
+ rec.Value7 = recData.GetValue7()
+ rec.Value8 = recData.GetValue8()
+ rec.UserData = recData.GetUserData()
+ rec.UserDataLen = len(rec.UserData)
+ recList.append(rec)
+
+ clientPack = ChPyNetSendPack.tagSCGameRecInfo()
+ clientPack.Clear()
+ clientPack.RecType = recType
+ clientPack.RecID = recID
+ clientPack.RecList = recList
+ clientPack.Count = len(clientPack.RecList)
+ NetPackCommon.SendFakePack(curPlayer, clientPack)
+ return
--
Gitblit v1.8.0