From 7bf88131759c20d54e175010d5b80da5d8148713 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期日, 28 九月 2025 19:47:56 +0800 Subject: [PATCH] 16 卡牌服务端(删除资源找回;前端自定义副本,公共扫荡;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 130 +++++++++++++++++++------------------------ 1 files changed, 58 insertions(+), 72 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 3e6b376..4fef199 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,7 +36,6 @@ import ChPyNetSendPack import DataRecordPack import PlayerBillboard -import UpdatePlayerName import PlayerOnlinePrize import PlayerLVAward import PlayerGoldGift @@ -54,8 +52,6 @@ import PlayerSuccess import PlayerDienstgrad import PlayerFreeGoods -import PlayerRecover -import PlayerEquipDecompose import PlayerCrossRealmPK import PlayerCrossChampionship import GameFuncComm @@ -82,18 +78,12 @@ 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 @@ -131,7 +121,7 @@ import PlayerFace import PlayerChatBox import PlayerXiangong -import PlayerMineArea +import PlayerGoldRush import PlayerActLoginNew import PlayerActBuyCountGift import PlayerActLunhuidian @@ -266,9 +256,6 @@ if PlayerControl.GetCrossMapID(curPlayer): CrossRealmPlayer.DoExitCrossRealm(curPlayer) - - if curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene): - PlayerFB.DoExitCustomScene(curPlayer) PetControl.DoLogic_PetLoadMapOK(curPlayer) @@ -548,9 +535,6 @@ #通知玩家死亡时间 #PlayerControl.PlayerControl(curPlayer).NotifyPlayerDeadTime(curPlayer) - #角色改名次数 - #UpdatePlayerName.Sync_UpdatePlayerNameCount(curPlayer) - # 坐骑相关通知 PlayerHorse.PlayerHorseLogin(curPlayer) @@ -597,8 +581,6 @@ #PlayerDienstgrad.RefreshBillBoardDienstgrad(curPlayer) # 称号 PlayerDienstgrad.Sync_AllDienstgradOnLogin(curPlayer) - # 资源找回OnLogin - PlayerRecover.RecoverOnLogin(curPlayer) # 时装 PlayerCoat.OnLogin_Coat(curPlayer) @@ -658,16 +640,10 @@ # 通知设置的被动功法 #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 +666,6 @@ PlayerFeastTravel.OnPlayerLogin(curPlayer) # 登录奖励活动 PlayerActLogin.OnLogin(curPlayer) - # 垃圾分类活动 - PlayerActGarbageSorting.OnPlayerLogin(curPlayer) - # 仙匣秘境活动 - PlayerActXianXiaMJ.OnPlayerLogin(curPlayer) - # 古宝养成活动 - PlayerActGubao.OnPlayerLogin(curPlayer) - # 骑宠养成活动 - PlayerActHorsePetTrain.OnPlayerLogin(curPlayer) # 炼器活动 PlayerActLianqi.OnPlayerLogin(curPlayer) # 天帝礼包活动 @@ -787,7 +755,7 @@ PlayerZhanling.OnPlayerLogin(curPlayer) PlayerTask.OnPlayerLogin(curPlayer) PlayerTree.OnPlayerLogin(curPlayer) - PlayerMineArea.OnPlayerLogin(curPlayer) + PlayerGoldRush.OnPlayerLogin(curPlayer) PlayerActFamilyGCZ.OnPlayerLogin(curPlayer) PlayerTalk.OnPlayerLogin(curPlayer) @@ -824,6 +792,8 @@ # 那么在DoPlayerLogin 中设置的数据将不会被保存, 如会导致第一个任务重复触发问题,记录多次发送 EventReport.WriteEvent_Entry(curPlayer, 4) #EventReport.EventReport(ShareDefine.Def_UserAction_FirstLogin, "", curPlayer) + + curPlayer.SetFightPoint(1) # 初始化为1倍消耗 #---补满血满魔--- GameObj.SetHP(curPlayer, GameObj.GetMaxHP(curPlayer)) @@ -851,6 +821,9 @@ PlayerControl.SendMailByKey(mailTypeKey, [curPlayer.GetPlayerID()], mailItemList) PlayerHero.OnPlayerFirstLogin(curPlayer) + + #淘金初始化 + PlayerGoldRush.InitGoldEnergy(curPlayer) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FirstLogin, 1) return @@ -915,17 +888,6 @@ # 同步排行榜 PlayerBillboard.UpdatePlayerBillboardOnLeaveServer(curPlayer, isAll=True) - - # boss凭证 - PlayerActBossTrial.OnMixFirstLogin(curPlayer) - # 仙匣秘境 - PlayerActXianXiaMJ.OnMixFirstLogin(curPlayer) - # 古宝养成 - PlayerActGubao.OnMixFirstLogin(curPlayer) - # 骑宠养成 - PlayerActHorsePetTrain.OnMixFirstLogin(curPlayer) - # 重置玩家改名次数 - #UpdatePlayerName.ResetChangeNameCnt(curPlayer) return #--------------------------------------------------------------------- @@ -1059,16 +1021,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(): @@ -1411,16 +1364,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) @@ -2190,8 +2134,6 @@ #在线时间 PlayerOnlinePrize.CalcOnlineTime(curPlayer) - #首充提示时间 - PlayerGoldGift.UpdateFirstGoldTime(curPlayer) #玩家未回图形验证码下线将会记录错误次数 #=========================================================================== # if curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_Captcha_WaitSign) \ @@ -3324,8 +3266,8 @@ 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) @@ -3440,9 +3382,6 @@ #战令奖励 elif rewardType == ChConfig.Def_RewardType_Zhanling: PlayerZhanling.GetZhanlingReward(curPlayer, dataEx, dataExStr) - #福地聚宝盆奖励 - elif rewardType == ChConfig.Def_RewardType_MineTreasure: - PlayerMineArea.GetMineTreasureAward(curPlayer, dataEx) #玩法前瞻奖励 elif rewardType == ChConfig.Def_RewardType_GameNotice: OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_GameNoticeAwardState, IpyGameDataPY.GetFuncEvalCfg("GameNoticeReward", 1)) @@ -4081,3 +4020,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