|
|
@@ -185,10 +185,12 @@ local function genMacthArr()
|
|
|
joinSrvArr_cp[srvCnt] = nil
|
|
|
srvCnt = srvCnt - 1
|
|
|
|
|
|
+ -- 新修改: 被移除的服务器为轮空服, 轮空服改为发战败服奖励, 发奖励时需要用到参战玩家数据, 所以不删除轮空服数据
|
|
|
+
|
|
|
-- 把被移除的服务器从服务器数据列表中移除
|
|
|
- local serverList = AreaBattleDB.GetServerList()
|
|
|
- serverList[deleteSrvId] = nil
|
|
|
- AreaBattleDB.UpdateServerList(serverList)
|
|
|
+ -- local serverList = AreaBattleDB.GetServerList()
|
|
|
+ -- serverList[deleteSrvId] = nil
|
|
|
+ -- AreaBattleDB.UpdateServerList(serverList)
|
|
|
|
|
|
-- 记录日志
|
|
|
local logStr = "移除多余的区服, 区服Id: " .. deleteSrvId
|
|
|
@@ -358,24 +360,43 @@ local function updateDBBattleResult(battleInfo)
|
|
|
AreaBattleDB.UpdateServerList(serverList)
|
|
|
end
|
|
|
|
|
|
+-- 检查服务器是否是轮空服
|
|
|
+local function isByeServer(matchSrvArr, serverId)
|
|
|
+ local isBye = true
|
|
|
+ for _, serverTb in ipairs(matchSrvArr or {}) do
|
|
|
+ if table.find(serverTb, serverId) then
|
|
|
+ isBye = false
|
|
|
+ break
|
|
|
+ end
|
|
|
+ end
|
|
|
+
|
|
|
+ return isBye
|
|
|
+end
|
|
|
|
|
|
-- 生成用于通知各个普通服发奖的数据
|
|
|
-local function genNotifyInfo(serverInfo)
|
|
|
+local function genNotifyInfo(serverInfo, matchSrvArr, serverId)
|
|
|
local info = {
|
|
|
isWin = 0,
|
|
|
winPlayerArr = {},
|
|
|
- defeatPlayerArr = {}
|
|
|
+ defeatPlayerArr = {},
|
|
|
+ isBye = 0, -- 是否轮空
|
|
|
}
|
|
|
|
|
|
- if (serverInfo.winTimes or 0) > (serverInfo.defeatTimes or 0) then
|
|
|
- info.isWin = 1
|
|
|
- end
|
|
|
+ local isBye = isByeServer(matchSrvArr, serverId)
|
|
|
|
|
|
- for _, playerInfo in ipairs(serverInfo.playerInfoArr) do
|
|
|
- if table.find(serverInfo.winPlayerArr, playerInfo.uuid) then
|
|
|
- table.insert(info.winPlayerArr, playerInfo.uuid)
|
|
|
- else
|
|
|
- table.insert(info.defeatPlayerArr, playerInfo.uuid)
|
|
|
+ if isBye then
|
|
|
+ info.isBye = 1
|
|
|
+ else
|
|
|
+ if (serverInfo.winTimes or 0) > (serverInfo.defeatTimes or 0) then
|
|
|
+ info.isWin = 1
|
|
|
+ end
|
|
|
+
|
|
|
+ for _, playerInfo in ipairs(serverInfo.playerInfoArr) do
|
|
|
+ if table.find(serverInfo.winPlayerArr, playerInfo.uuid) then
|
|
|
+ table.insert(info.winPlayerArr, playerInfo.uuid)
|
|
|
+ else
|
|
|
+ table.insert(info.defeatPlayerArr, playerInfo.uuid)
|
|
|
+ end
|
|
|
end
|
|
|
end
|
|
|
|
|
|
@@ -773,7 +794,7 @@ function BatchServer()
|
|
|
local fd = MiddleManager.getFDBySvrIndex(serverId)
|
|
|
if fd then
|
|
|
len = len + 1
|
|
|
- local notifyInfo = genNotifyInfo(serverInfo)
|
|
|
+ local notifyInfo = genNotifyInfo(serverInfo, matchSrvArr, serverId)
|
|
|
srvTb[fd] = notifyInfo
|
|
|
end
|
|
|
|