From 2b91d1223f3d78bd2efa970478d1ed63666e131c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 10 十二月 2025 11:40:43 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(优化演武场匹配逻辑;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 324 +++++++++++++++--------------------------------------
1 files changed, 93 insertions(+), 231 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 461d7a6..4f620fd 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -43,7 +43,6 @@
import PlayerPrestigeSys
import PlayerFamily
import PlayerLoginDayAward
-import PlayerGodWeapon
import PlayerGoldInvest
import PlayerActivity
import FBCommon
@@ -53,19 +52,16 @@
import PlayerCrossRealmPK
import PlayerCrossChampionship
import GameFuncComm
-import PlayerBossReborn
+import PlayerFamilyTaofa
import PlayerWeekParty
import PlayerFeastWeekParty
-import PlayerFeastTravel
import PlayerFeastLogin
import PlayerFeastWish
import PlayerActLogin
import PlayerTreasure
import PlayerRune
-import PlayerFamilyRedPacket
import IpyGameDataPY
import EventReport
-import OpenServerCampaign
import PassiveBuffEffMng
import PlayerFlashSale
import PlayerFlashGiftbag
@@ -83,17 +79,15 @@
import PlayerActManyDayRecharge
import PlayerActSingleRecharge
import PlayerSpringSale
-import GY_Query_BossFirstKill
import PlayerCrossYaomoBoss
-import PlayerFeastRedPacket
import PlayerLuckyCloudBuy
import PlayerLuckyTreasure
-import Item_ResetAttrPoint
import CrossActCTGBillboard
import CrossActAllRecharge
import PlayerFuncSysPrivilege
import PlayerActTurntable
import PlayerTongTianLing
+import OpenServerActivity
import CrossRealmPlayer
import ChNetSendPack
import PlayerArena
@@ -106,10 +100,10 @@
import PlayerFaQi
import SkillShell
import PlayerGubao
-import PlayerShentong
import PlayerCustomAward
import PlayerZhanling
import PlayerTree
+import PlayerLLMJ
import PlayerLianTi
import PlayerTask
import PlayerYinji
@@ -135,6 +129,8 @@
import PlayerTalk
import PlayerHero
import PlayerOnline
+import PlayerBeauty
+import PlayerTravel
import TurnAttack
import PlayerHJG
import ObjPool
@@ -496,7 +492,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)
@@ -507,9 +502,6 @@
#玩家扩展信息
__SyncPlayerInfoEx(curPlayer)
-
- #补丁包下载奖励
- GiveDownloadPatchAward(curPlayer)
#PK模式
#SyncPKModel(curPlayer)
@@ -547,12 +539,6 @@
# 通知累计登陆礼
PlayerLoginDayAward.OnLoginNotifyLoginDayAward(curPlayer)
-
- # 开服活动奖励信息
- OpenServerCampaign.OnOpenServerCampaignLogin(curPlayer)
-
- # 采集NPC次数通知
- #NPCCommon.SyncCollNPCTime(curPlayer)
# 副本进入时间
FBCommon.FBOnLogin(curPlayer)
@@ -624,17 +610,12 @@
ChItem.Sync_ItemDayUseCnt(curPlayer)
# 符印登录通知
PlayerRune.PlayerRuneLogin(curPlayer)
- # 仙盟红包登录通知
- PlayerFamilyRedPacket.OnPlayerLogin(curPlayer)
- PlayerFeastRedPacket.DoPlayerOnLogin(curPlayer)
# 商店物品购买次数登录通知
FunctionNPCCommon.ShopItemOnLogin(curPlayer)
# 通知设置的被动功法
#PassiveBuffEffMng.OnLoginGFPassive(curPlayer)
# 极品白拿
PlayerFreeGoods.OnLogin(curPlayer)
- # BOSS复活活动
- PlayerBossReborn.OnLogin(curPlayer)
# 周狂欢活动
PlayerWeekParty.OnLogin(curPlayer)
# 购买次数礼包活动
@@ -653,8 +634,6 @@
PlayerFeastLogin.OnPlayerLogin(curPlayer)
# 节日祝福活动
PlayerFeastWish.OnPlayerLogin(curPlayer)
- # 节日游历活动
- PlayerFeastTravel.OnPlayerLogin(curPlayer)
# 登录奖励活动
PlayerActLogin.OnLogin(curPlayer)
# 炼器活动
@@ -682,8 +661,6 @@
PlayerFB.OnLogin(curPlayer)
#技能专精信息
#SkillShell.NotifyElementSkillInfo(curPlayer)
- #Boss首杀
- GY_Query_BossFirstKill.OnPlayerLogin(curPlayer)
#通天令
PlayerTongTianLing.OnPlayerLogin(curPlayer)
#创角奖励
@@ -741,7 +718,6 @@
PlayerHJG.OnPlayerLogin(curPlayer)
PlayerXiangong.OnPlayerLogin(curPlayer)
PlayerGubao.OnPlayerLogin(curPlayer)
- PlayerShentong.OnPlayerLogin(curPlayer)
PlayerZhanling.OnPlayerLogin(curPlayer)
PlayerTask.OnPlayerLogin(curPlayer)
PlayerTree.OnPlayerLogin(curPlayer)
@@ -751,9 +727,13 @@
SyncADCntInfo(curPlayer)
UpdatePlayerName.OnPlayerLogin(curPlayer)
PlayerActivity.OnPlayerLogin(curPlayer)
+ PlayerLLMJ.OnPlayerLogin(curPlayer)
+ PlayerBeauty.OnPlayerLogin(curPlayer)
+ PlayerTravel.OnPlayerLogin(curPlayer)
+ OpenServerActivity.OnPlayerLogin(curPlayer)
# 上线查询一次充值订单
- curPlayer.SendDBQueryRecharge()
+ # curPlayer.SendDBQueryRecharge() 不查了,由在线轮询触发即可
# 通知GameServer地图最终登录成功了
isMixServerFirstLogin = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MixServerFirstLogin)
@@ -849,9 +829,6 @@
# 重置首充双倍
PlayerCoin.DoResetCTGCount(curPlayer, "MixServer")
-
- # 重置商店购买次数,暂定只重置类型 7 的
- FunctionNPCCommon.ResetShopItemBuyCount(curPlayer, [7])
# 合服邮件,盟主专属邮件在GameServer处理
mailItemList = IpyGameDataPY.GetFuncEvalCfg("MixServerMail", 1)
@@ -1386,30 +1363,6 @@
#if curPlayer.GetPlayerAction() != IPY_GameWorld.paEvent:
curPlayer.SetCanMove(True)
- #同步客户端tick
- #这个封包要在EndLoadMap, 上马之前发, 否则客户端处理时机不对(客户端封包缓存机制)
- #curPlayer.Sync_ClientTick()
-
- #做上一个地图的上马/骠车逻辑
- #恢复自己的状态
- playerVehicle = curPlayer.GetLastMapPlayerVehicle()
- if playerVehicle == IPY_GameWorld.pvHorse:
- #玩家在骑马中
- if not PlayerHorse.PlayerRideHorseUp(curPlayer, False, False):
- #=======================================================================
- # playerHorseState = curPlayer.GetLastMapPlayerRidehorseState()
- # if playerHorseState != IPY_GameWorld.prsNormal:
- # #切换地图, 恢复急行状态
- # curPlayer.SetPlayerRidehorseState(playerHorseState)
- #
- # #刷新人物属性 所有状态
- # playerControl = PlayerControl.PlayerControl(curPlayer)
- # playerControl.RefreshAllState()
- # else:
- #=======================================================================
- #此时已经是下马状态不需要刷状态 但是需要通知客户端下马
- PlayerHorse.PlayerRideHorseDown(curPlayer, False)
-
#激活玩家(保证持续性Buff处理间隔)
PlayerControl.SetIsNeedProcess(curPlayer, True)
@@ -1624,7 +1577,7 @@
return
ItemCommon.ReduceItem(curPlayer, itemPack, [delIndex], 1, False, ChConfig.ItemDel_ResetAttrPoint)
- Item_ResetAttrPoint.DoResetAttrPoint(curPlayer, 0, 0, 0)
+ #Item_ResetAttrPoint.DoResetAttrPoint(curPlayer, 0, 0, 0)
return
def NotifyPlayerBasePoint(curPlayer, syncAttrIDList=[]):
@@ -1758,9 +1711,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
#不可移动行为状态, 判断客户端限制
@@ -2126,18 +2079,6 @@
#流向记录玩家下线
DataRecordPack.DR_PlayerDisconnect(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)
@@ -3171,54 +3112,6 @@
curPlayer.Syn_OfflineTimeQueryResult() # 通知客服端离线时间
return
-
-#//B0 24 领取家族悬赏奖励 #tagReceiveFamilyArrestAward
-#
-#struct tagReceiveFamilyArrestAward
-#
-#{
-# tagHead Head;
-# DWORD ArrestID; //悬赏任务ID
-#};
-## 领取家族悬赏奖励
-# @param index: 玩家索引
-# @param clientData: 封包结构体
-# @param tick: 时间戳
-# @return: None
-def ReceiveFamilyArrestAward(index, clientData, tick):
- return
-
-
-#//B0 26 请求家族悬赏奖励领取情况 #tagQueryFamilyArrestAwardReceiveState
-#
-#struct tagQueryFamilyArrestAwardReceiveState
-#
-#{
-# tagHead Head;
-#};
-## 请求家族悬赏奖励领取情况
-# @param index: 玩家索引
-# @param clientData: 封包结构体
-# @param tick: 时间戳
-# @return: None
-def QueryFamilyArrestAwardReceiveState(index, clientData, tick):
- curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
- Sync_FamilyArrestAwardReceiveState(curPlayer)
- return
-
-
-## 通知客户端家族悬赏任务奖励领取情况
-# @param curPlayer: 玩家实例
-# @return: None
-def Sync_FamilyArrestAwardReceiveState(curPlayer):
- awardReceiveState = ChPyNetSendPack.tagFamilyArrestAwardReceiveState()
- awardReceiveState.Clear()
-
- state = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FamilyArrestAwardState)
- awardReceiveState.ReceiveState = state
- NetPackCommon.SendFakePack(curPlayer, awardReceiveState)
- return
-
def PlayerOnDay(curPlayer):
#玩法前瞻奖励
gameNoticeAwardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GameNoticeAwardState)
@@ -3270,18 +3163,41 @@
# 每日任务奖励
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)
+ PlayerTree.FreeReduceTreeLVTime(curPlayer, dataEx)
# 广告奖励
elif rewardType == ChConfig.Def_RewardType_ADAward:
OnGetADAward(curPlayer, dataEx)
+ # 历练秘笈升级
+ elif rewardType == ChConfig.Def_RewardType_LLMJLVUp:
+ PlayerLLMJ.OnLLMJLVUp(curPlayer)
+ # 公会讨伐领取宝箱奖励
+ elif rewardType == ChConfig.Def_RewardType_FamilyTaofaBox:
+ PlayerFamilyTaofa.GetTaofaBoxAward(curPlayer)
+ # 阵容推荐奖励
+ elif rewardType == ChConfig.Def_RewardType_LineupRecommend:
+ PlayerHero.GetLineupRecommendAward(curPlayer, dataEx, dataExStr)
+ # 功能开启奖励
+ elif rewardType == ChConfig.Def_RewardType_OpenFunc:
+ GameFuncComm.GetFuncOpenAward(curPlayer, dataEx)
+ # 红颜等级奖励
+ elif rewardType == ChConfig.Def_RewardType_BeautyLVAward:
+ PlayerBeauty.GetBeautyLVAward(curPlayer, dataEx)
+ # 领取分包下载奖励
+ elif rewardType == ChConfig.Def_RewardType_DownLoad:
+ GetDownloadAward(curPlayer, dataEx)
+ # 开服庆典积分阶段奖励
+ elif rewardType == ChConfig.Def_RewardType_OSACelebrationPointAward:
+ OpenServerActivity.GetOSACelebrationPointAward(curPlayer, dataEx)
+
+
# 每日免费直购礼包
elif rewardType == ChConfig.Def_RewardType_DayFreeGoldGift:
PlayerDailyGiftbag.OnGetDailyFreeGiftbag(curPlayer)
- # 仙盟每日福利奖励
- #elif rewardType == ChConfig.Def_RewardType_FamilyDayAward:
- # PlayerFamily.GetFamilyDayAward(curPlayer)
# 玩家等级奖励
elif rewardType == ChConfig.Def_RewardType_LVAward:
PlayerLVAward.GetPlayerLVAward(curPlayer, dataEx)
@@ -3303,18 +3219,9 @@
# 领取单笔累充领取
elif rewardType == ChConfig.Def_RewardType_SingleRecharge:
PlayerActSingleRecharge.OnGetSingleRechargeAward(curPlayer, dataEx, dataExStr)
- # 领取boss复活活动奖励
- elif rewardType == ChConfig.Def_RewardType_BossReborn:
- PlayerBossReborn.GetBossRebornActionAward(curPlayer, dataEx)
- # 领取分包下载奖励
- elif rewardType == ChConfig.Def_RewardType_DownLoad:
- GetDownloadAward(curPlayer, dataEx)
# 领取许愿池奖励
elif rewardType == ChConfig.Def_RewardType_WishingWell:
PlayerWishingWell.DoGetWishingAward(curPlayer)
- # 功能开启奖励
- elif rewardType == ChConfig.Def_RewardType_OpenFunc:
- GameFuncComm.GetFuncOpenAward(curPlayer, dataEx)
# 领取周狂欢活动奖励
elif rewardType == ChConfig.Def_RewardType_WeekPartyAct:
PlayerWeekParty.GetWeekPartyActionAward(curPlayer, dataEx, dataExStr)
@@ -3333,9 +3240,6 @@
# 领取节日登录奖励
elif rewardType == ChConfig.Def_RewardType_FeastLogin:
PlayerFeastLogin.GetFeastLoginAward(curPlayer, dataEx)
- # 领取节日游历奖励
- elif rewardType == ChConfig.Def_RewardType_FeastTravel:
- PlayerFeastTravel.GetFeastTravelAward(curPlayer, dataEx)
# 领取登录活动奖励
elif rewardType == ChConfig.Def_RewardType_ActLoginAwardNew:
PlayerActLoginNew.OnGetActLoginAward(curPlayer, dataEx, dataExStr)
@@ -3354,12 +3258,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)
@@ -3381,9 +3279,6 @@
#历史累计充值领取
elif rewardType == ChConfig.Def_RewardType_HistoryChargeAward:
PlayerGoldGift.OnGetHistoryRechargeAward(curPlayer, dataEx)
- #在线特惠充值额外奖励
- elif rewardType == ChConfig.Def_RewardType_OnlineRechargeTH:
- PlayerCoin.OnGetOnlineRechargeTH(curPlayer)
#创角奖励
elif rewardType == ChConfig.Def_RewardType_CreateRole:
OnGetCreateRoleAward(curPlayer)
@@ -3431,22 +3326,34 @@
return
adCntMax = ipyData.GetADCntMax()
adCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ADCnt % adID)
- if adCnt >= adCntMax:
+ if adCntMax and 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))
+ adAwardType = ipyData.GetADAwardType()
+ adAwardValue = ipyData.GetADAwardValue()
+ GameWorld.DebugLog("领取广告奖励! adID=%s,adCnt=%s,adAwardType=%s,adAwardValue=%s,awardItemList=%s" % (adID, adCnt, adAwardType, adAwardValue, awardItemList))
SyncADCntInfo(curPlayer, [adID])
- if adMapID:
- FBCommon.AddFBADCnt(curPlayer, adMapID)
-
if awardItemList:
ItemControler.GivePlayerItemOrMail(curPlayer, awardItemList, event=["ADAward", False, {}])
+ # 领取祝福树充能奖励
+ if adAwardType == 1:
+ PlayerTree.GetTreeEnergyAward(curPlayer, False)
+ # 副本次数
+ elif adAwardType == 2:
+ adMapID = adAwardValue
+ FBCommon.AddFBADCnt(curPlayer, adMapID)
+ # 寻宝
+ elif adAwardType == 3:
+ treasureType = adAwardValue
+ PlayerTreasure.DoTreasure(curPlayer, treasureType, PlayerTreasure.CostType_ADFree)
+ # 游历体力
+ elif adAwardType == 4:
+ PlayerTravel.AddTravelEnergy(curPlayer, adAwardValue)
return
def ADCntOnDay(curPlayer):
@@ -3527,6 +3434,37 @@
sendPack = ChPyNetSendPack.tagMCCreateRoleAwardState()
sendPack.Clear()
sendPack.GetState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CreateRoleAwardState)
+ NetPackCommon.SendFakePack(curPlayer, sendPack)
+ return
+
+def GetDownloadAward(curPlayer, dataEx):
+ ##分包下载奖励 dataEx 0直接领取 1发邮件
+ playerID = curPlayer.GetPlayerID()
+ downloadAwardNum = IpyGameDataPY.GetFuncCfg('DownReward', 2)
+ curAwardNum = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState)
+ if curAwardNum == downloadAwardNum:
+ GameWorld.DebugLog("已领取分包奖励! curAwardNum(%s) == downloadAwardNum(%s)" % (curAwardNum, downloadAwardNum), playerID)
+ return
+
+ awardItemList = IpyGameDataPY.GetFuncEvalCfg('DownReward', 1)
+ if not awardItemList:
+ return
+
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DownloadAwardState, downloadAwardNum)
+ GameWorld.DebugLog("领取分包下载奖励: curAwardNum=%s,downloadAwardNum=%s" % (curAwardNum, downloadAwardNum), playerID)
+ if dataEx == 1:
+ PlayerMail.SendMailByKey('SubpackageDownload', curPlayer.GetID(), awardItemList)
+ else:
+ ItemControler.GivePlayerItemOrMail(curPlayer, awardItemList, event=["PackDownload", False, {}])
+ SyncPackDownloadAward(curPlayer)
+ return
+
+def SyncPackDownloadAward(curPlayer):
+ #分包下载奖励记录通知
+ downloadAwardNum = IpyGameDataPY.GetFuncCfg('DownReward', 2)
+ sendPack = ChPyNetSendPack.tagMCPackDownloadRecord()
+ sendPack.Clear()
+ sendPack.Record = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState) == downloadAwardNum
NetPackCommon.SendFakePack(curPlayer, sendPack)
return
@@ -3801,24 +3739,6 @@
clientPack.NowMicSecond = serverTime.microsecond
clientPack.WeekOfYear = GameWorld.GetWeekOfYear()
NetPackCommon.SendFakePack(curPlayer, clientPack)
-
- #旧包先保留,之后删除
- gw = GameWorld.GetGameWorld()
- packData = ChPyNetSendPack.tagOpenServerDay()
- packData.Clear()
- packData.Day = gw.GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay)
- packData.IsMixServer = gw.GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_IsMixServer)
- packData.MixDay = gw.GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_MixServerDay)
- packData.OpenWeekday = gw.GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_OpenServerWeekday)
- packData.NowYear = serverTime.year
- packData.NowMonth = serverTime.month
- packData.NowDay = serverTime.day
- packData.NowHour = serverTime.hour
- packData.NowMinute = serverTime.minute
- packData.NowSecond = serverTime.second
- packData.NowMicSecond = serverTime.microsecond
- packData.WeekOfYear = GameWorld.GetWeekOfYear()
- NetPackCommon.SendFakePack(curPlayer, packData)
return
#===============================================================================
@@ -3842,9 +3762,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()
@@ -3997,64 +3917,6 @@
sendPack.MoveType = moveType
# NotifyAll 做过滤或者数量处理
PlayerControl.PyNotifyAll(curPlayer, sendPack, False, 0)
- return
-
-def GiveDownloadPatchAward(curPlayer):
- ## 发放下载补丁包奖励
- playerID = curPlayer.GetPlayerID()
- patchAwardNum = IpyGameDataPY.GetFuncCfg('DownReward', 4)
- curAwardNum = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadPatchAward)
- if curAwardNum == patchAwardNum:
- GameWorld.DebugLog("已发放下载补丁包奖励! curAwardNum(%s) == patchAwardNum(%s)" % (curAwardNum, patchAwardNum), playerID)
- return
-
- awardItemList = IpyGameDataPY.GetFuncEvalCfg('DownReward', 3)
- if not awardItemList:
- return
-
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DownloadPatchAward, patchAwardNum)
- GameWorld.DebugLog("发放补丁包下载奖励: curAwardNum=%s,patchAwardNum=%s" % (curAwardNum, patchAwardNum), playerID)
- PlayerControl.SendMailByKey("DownloadPatchAward", [playerID], awardItemList)
- return
-
-def GetDownloadAward(curPlayer, dataEx):
- ##分包下载奖励 dataEx 0直接领取 1发邮件
- playerID = curPlayer.GetPlayerID()
- downloadAwardNum = IpyGameDataPY.GetFuncCfg('DownReward', 5)
- curAwardNum = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState)
- if curAwardNum == downloadAwardNum:
- GameWorld.DebugLog("已领取分包奖励! curAwardNum(%s) == downloadAwardNum(%s)" % (curAwardNum, downloadAwardNum), playerID)
- return
-
- awardItemList = IpyGameDataPY.GetFuncEvalCfg('DownReward', 1)
- if not awardItemList:
- return
-
- # 检查背包
- if dataEx == 0:
- needSpace = len(awardItemList)
- packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
- if needSpace > packSpace:
- PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
- return
-
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DownloadAwardState, downloadAwardNum)
- GameWorld.DebugLog("领取分包下载奖励: curAwardNum=%s,downloadAwardNum=%s" % (curAwardNum, downloadAwardNum), playerID)
- if dataEx == 1:
- PlayerControl.SendMailByKey('SubpackageDownload', [curPlayer.GetID()], awardItemList)
- else:
- for itemID, itemCnt, isBind in awardItemList:
- ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, 0, [IPY_GameWorld.rptItem])
- SyncPackDownloadAward(curPlayer)
- return
-
-def SyncPackDownloadAward(curPlayer):
- #分包下载奖励记录通知
- downloadAwardNum = IpyGameDataPY.GetFuncCfg('DownReward', 5)
- sendPack = ChPyNetSendPack.tagMCPackDownloadRecord()
- sendPack.Clear()
- sendPack.Record = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState) == downloadAwardNum
- NetPackCommon.SendFakePack(curPlayer, sendPack)
return
def NotifyPlayerMove(curPlayer, posX, posY, npcID=0):
--
Gitblit v1.8.0