From 4062fd563a5c50118556bee85451a43dcf530983 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 13 四月 2019 14:45:02 +0800
Subject: [PATCH] 6459 【后端】【2.0】缥缈仙域开发单(自定义场景无奖励也回包,防止卡流程)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossRealmPK.py | 41 ++++++++++++++++++++++-------------------
1 files changed, 22 insertions(+), 19 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossRealmPK.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossRealmPK.py
index 3f3bafd..8590cf6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossRealmPK.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossRealmPK.py
@@ -238,10 +238,17 @@
# 进行匹配
if requestType == 1:
- if not CheckHavePKCount(curPlayer):
- GameWorld.DebugLog("PK次数不足,无法发起匹配!", curPlayer.GetPlayerID())
- return
-
+ dayFreeMatchCountMax = IpyGameDataPY.GetFuncCfg("CrossRealmPKMatchCount", 1)
+ if dayFreeMatchCountMax:
+ todayPKCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CrossPK_TodayPKCount)
+ todayBuyCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CrossPK_TodayBuyCount)
+ todayItemAddCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CrossPK_ItemAddCount)
+
+ if todayPKCount >= (dayFreeMatchCountMax + todayBuyCount + todayItemAddCount):
+ GameWorld.DebugLog("PK次数不足,无法发起匹配! todayPKCount=%s >= (dayFreeMatchCountMax=%s + todayBuyCount=%s + todayItemAddCount=%s)"
+ % (todayPKCount, dayFreeMatchCountMax, todayBuyCount, todayItemAddCount), playerID)
+ return
+
dataMsg = {
"seasonID":GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_CrossPKSeasonID), # 赛季ID
"pkZoneID":GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_CrossPKZoneID), # PK赛区
@@ -269,18 +276,6 @@
GameWorld.Log(" 发送取消匹配到GameServer sendMsg=%s" % str(sendMsg), playerID)
return
-
-def CheckHavePKCount(curPlayer):
- ## 检查是否有PK次数
- dayFreeMatchCountMax = IpyGameDataPY.GetFuncCfg("CrossRealmPKMatchCount", 1)
- if dayFreeMatchCountMax:
- todayPKCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CrossPK_TodayPKCount)
- todayBuyCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CrossPK_TodayBuyCount)
- todayItemAddCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CrossPK_ItemAddCount)
-
- if todayPKCount >= (dayFreeMatchCountMax + todayBuyCount + todayItemAddCount):
- return False
- return True
def CrossServerMsg_PKOverInfo(curPlayer, overInfo):
## 收到跨服服务器的PK结算信息
@@ -447,11 +442,19 @@
if not IsCrossRealmPKMatchState():
GameWorld.DebugLog("跨服匹配未开启,不可进行购买次数!", playerID)
return
- if CheckHavePKCount(curPlayer):
- GameWorld.DebugLog("有PK次数,不需要购买次数!", playerID)
+ dayFreeMatchCountMax = IpyGameDataPY.GetFuncCfg("CrossRealmPKMatchCount", 1)
+ if not dayFreeMatchCountMax:
+ GameWorld.DebugLog("每日匹配次数没有限制,不需要购买次数!", playerID)
+ return
+ todayPKCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CrossPK_TodayPKCount)
+ todayBuyCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CrossPK_TodayBuyCount)
+ todayItemAddCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CrossPK_ItemAddCount)
+ canPKCount = dayFreeMatchCountMax + todayBuyCount + todayItemAddCount - todayPKCount
+ if canPKCount >= dayFreeMatchCountMax:
+ GameWorld.DebugLog("可PK次数不能大于每日免费次数!", playerID)
return
dayBuyCountMax = IpyGameDataPY.GetFuncCfg("CrossRealmPKMatchCount", 2)
- todayBuyCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CrossPK_TodayBuyCount)
+ #todayBuyCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CrossPK_TodayBuyCount)
if dayBuyCountMax and todayBuyCount >= dayBuyCountMax:
GameWorld.DebugLog("今日购买次数已满,无法购买!todayBuyCount=%s" % (todayBuyCount), playerID)
return
--
Gitblit v1.8.0