|
|
@@ -18,6 +18,7 @@ local JjcNewLadderDefine = require("jjcnewladder.jjcNewLadderDefine")
|
|
|
local Timer = require("core.Timer")
|
|
|
local JjcNewLadderMiddle = require("jjcnewladder.jjcNewLadderMiddle")
|
|
|
local ObjHuman = require("core.ObjHuman")
|
|
|
+local Log = require("common.Log")
|
|
|
|
|
|
|
|
|
local nServerOffSet = 810538 -- 配置中服务器ID偏移量
|
|
|
@@ -31,10 +32,16 @@ UUID_2_RANK = {}
|
|
|
local JJCLADDER_RANDNUM = 50 -- 随机次数,防止找到重复的
|
|
|
local JJCLADDER_FINDRIVALNUM = 5 -- 匹配的对手
|
|
|
local JJCLADDER_FINDBIGNUM = 4 -- 匹配大于当前排位人数
|
|
|
+local JJCLADDER_SPECIALRANK = 5 -- 特殊处理的前五名
|
|
|
|
|
|
local Jjc_QueryByUuid = {uuid = nil} -- DB查询数据
|
|
|
|
|
|
-------------------------------- 以下是战区归宿的第一个服操作 ---------------------------
|
|
|
+-- 写日志
|
|
|
+local function JjcNewLadderDB_WriteLog(szText)
|
|
|
+ Log.write(Log.LOGID_OSS_JJCNEWLADDER, szText)
|
|
|
+end
|
|
|
+
|
|
|
-- 获取战区服务器ID
|
|
|
function JjcNewLadderDB_ConfServerID2TrueServerID(nServerIDConf)
|
|
|
return nServerIDConf + nServerOffSet - 1
|
|
|
@@ -82,6 +89,7 @@ function JjcNewLadderDB_SetEndTime()
|
|
|
CommonDB.SetJjcLadderEndTime(nEndTime)
|
|
|
|
|
|
print("[JjcNewLadderDB_SetEndTime] 设置了活动结束时间 nEndTime = "..nEndTime)
|
|
|
+ JjcNewLadderDB_WriteLog("[JjcNewLadderDB_SetEndTime] 设置活动结束时间 nEndTime = "..nEndTime)
|
|
|
end
|
|
|
end
|
|
|
|
|
|
@@ -211,6 +219,7 @@ local function JjcNewLadderDB_FirstServerRest(nOperate)
|
|
|
UUID_2_RANK = {}
|
|
|
LuaMongo.remove(DB.db_jjcLadder)
|
|
|
|
|
|
+ JjcNewLadderDB_WriteLog("[JjcNewLadderDB_FirstServerRest] 清理数据完成")
|
|
|
-- for i = 1, nLen, 1 do
|
|
|
-- local tRankData = JJCNEWLADDERDB_ALL_RANK[i]
|
|
|
-- if false == JjcNewLadderDB_isNpc(tRankData) then
|
|
|
@@ -228,6 +237,8 @@ local function JjcNewLadderDB_FirstServerRest(nOperate)
|
|
|
|
|
|
-- 进行排序和映射
|
|
|
JjcNewLadderDB_SortRank()
|
|
|
+
|
|
|
+ JjcNewLadderDB_WriteLog("[JjcNewLadderDB_FirstServerRest] 生成机器人,重新排序完成")
|
|
|
end
|
|
|
|
|
|
-- 根据 uuid从db中取data
|
|
|
@@ -300,6 +311,8 @@ local function JjcNewLadderDB_LoadData()
|
|
|
|
|
|
print("[JjcNewLadderDB_LoadData] 加载数据完成,共加载 "..#JJCNEWLADDERDB_ALL_RANK)
|
|
|
|
|
|
+ JjcNewLadderDB_WriteLog("[JjcNewLadderDB_LoadData] 加载数据完成,共加载 "..#JJCNEWLADDERDB_ALL_RANK)
|
|
|
+
|
|
|
-- 加载完排序
|
|
|
JjcNewLadderDB_SortRank()
|
|
|
|
|
|
@@ -335,9 +348,11 @@ function JjcNewLadderDB_initAfterStart()
|
|
|
-- 直接重置
|
|
|
JjcNewLadderDB_Init()
|
|
|
print("[JjcNewLadderDB_initAfterStart] 重置DB数据结束")
|
|
|
+ JjcNewLadderDB_WriteLog("[JjcNewLadderDB_initAfterStart] 战区所属服 重置DB数据结束 ")
|
|
|
else
|
|
|
-- 清理录像
|
|
|
CombatVideo.cleanJJCLadderVideo()
|
|
|
+ JjcNewLadderDB_WriteLog("[JjcNewLadderDB_initAfterStart] 战区 清理录像 ")
|
|
|
end
|
|
|
else
|
|
|
local nNowTime = os.time()
|
|
|
@@ -396,15 +411,23 @@ end
|
|
|
function JjcNewLadderDB_CheckIsReset()
|
|
|
local nNowTime = os.time()
|
|
|
local nEndTime = CommonDB.GetJjcLadderEndTime()
|
|
|
+ local tDate = os.date("*t",nNowTime)
|
|
|
+ print("[JjcNewLadderDB_CheckIsReset] 进入重置检测 nNowTime = "..nNowTime.." nEndTime = "..nEndTime)
|
|
|
+
|
|
|
if 0 >= nEndTime then
|
|
|
- local tDate = os.date("*t",nNowTime)
|
|
|
- if tDate.wday >= JjcNewLadderDefine.JJC_NEWLADDER_OPENDAY and JjcNewLadderDefine.JJC_NEWLADDER_OPENDAY <= tDate.wday then
|
|
|
+ if tDate.wday >= JjcNewLadderDefine.JJC_NEWLADDER_OPENDAY and JjcNewLadderDefine.JJC_NEWLADDER_ENDDAY >= tDate.wday then
|
|
|
return true
|
|
|
end
|
|
|
|
|
|
return false
|
|
|
else
|
|
|
- return nNowTime > nEndTime
|
|
|
+ -- 在活动时间内
|
|
|
+ if tDate.wday >= JjcNewLadderDefine.JJC_NEWLADDER_OPENDAY and JjcNewLadderDefine.JJC_NEWLADDER_ENDDAY >= tDate.wday then
|
|
|
+ return nNowTime > nEndTime
|
|
|
+ end
|
|
|
+
|
|
|
+ -- 不在不处理
|
|
|
+ return false
|
|
|
end
|
|
|
end
|
|
|
|
|
|
@@ -451,6 +474,8 @@ function JjcNewLadderDB_AddHuman(tData)
|
|
|
JJCNEWLADDERDB_ALL_RANK[#JJCNEWLADDERDB_ALL_RANK + 1] = JjcDBData
|
|
|
JjcNewLadderDB_SortRank()
|
|
|
|
|
|
+ JjcNewLadderDB_WriteLog("[JjcNewLadderDB_AddHuman] 玩家加入天梯赛活动 name = "..tData.name.." uuid = "..tData.uuid.." nServerID = "..tData.nServerID)
|
|
|
+
|
|
|
return true
|
|
|
end
|
|
|
|
|
|
@@ -472,8 +497,19 @@ function JjcNewLadderDB_MatchRival(uuid)
|
|
|
local tChoseID, nFindNum = {}, 0
|
|
|
|
|
|
local bFindBig = true
|
|
|
- if nMachRank <= 4 then
|
|
|
+ -- 前5特殊处理
|
|
|
+ if nMachRank <= JJCLADDER_SPECIALRANK then
|
|
|
bFindBig = false
|
|
|
+
|
|
|
+ -- 不是第一名
|
|
|
+ if nNowRank ~= 1 then
|
|
|
+ for i = 1, JJCLADDER_SPECIALRANK, 1 do
|
|
|
+ if i ~= nNowRank then
|
|
|
+ tChoseID[i] = 1
|
|
|
+ nFindNum = nFindNum + 1
|
|
|
+ end
|
|
|
+ end
|
|
|
+ end
|
|
|
end
|
|
|
|
|
|
-- 找50次
|
|
|
@@ -608,11 +644,20 @@ function JjcNewLadderDB_ExChangeRank(uuid, uuidEnemy)
|
|
|
|
|
|
if tRankData.nRank > tRankEnemyData.nRank then
|
|
|
print("[JjcNewLadderDB_ExChangeRank] 111 nRank = "..tRankData.nRank.." nRank2 = "..tRankEnemyData.nRank)
|
|
|
+
|
|
|
+ local szText = "[JjcNewLadderDB_ExChangeRank] 开始交换排名 我方排名 nRank = "..tRankData.nRank.." 敌方排名 nEnemyRank = "..tRankEnemyData.nRank
|
|
|
+ .. " name = "..tRankData.name.." nServerID = "..tRankData.nServerID
|
|
|
+ if tRankEnemyData.nIsHuman == 1 then
|
|
|
+ szText = szText.." 敌方为真人 name = "..tRankEnemyData.name.." nServerID = "..tRankEnemyData.nServerID
|
|
|
+ end
|
|
|
+ JjcNewLadderDB_WriteLog(szText)
|
|
|
+
|
|
|
local nNewRank = tRankEnemyData.nRank
|
|
|
tRankEnemyData.nRank = tRankData.nRank
|
|
|
tRankData.nRank = nNewRank
|
|
|
|
|
|
print("[JjcNewLadderDB_ExChangeRank] 222 nRank = "..tRankData.nRank.." nRank2 = "..tRankEnemyData.nRank)
|
|
|
+
|
|
|
local tNewData = Util.copyTable(tRankData)
|
|
|
tNewData._id = nil
|
|
|
-- 更新DB数据
|
|
|
@@ -631,6 +676,7 @@ end
|
|
|
|
|
|
-- 发送对应的数据给奖励
|
|
|
function JjcNewLadderDB_OnSendPlayerRank(uuid, nServerID, nRank)
|
|
|
+ JjcNewLadderDB_WriteLog("[JjcNewLadderDB_OnSendPlayerRank] 发送奖励 uuid = "..uuid.." nServerID = "..nServerID.." nRank = "..nRank)
|
|
|
JjcNewLadderMiddle.JjcNewLadderMiddle_SendPrizeMail(uuid, nServerID, nRank)
|
|
|
end
|
|
|
|
|
|
@@ -664,11 +710,14 @@ function JjcNewLadderDB_OnTimeSendMail()
|
|
|
worshipCnt = 0,
|
|
|
}
|
|
|
|
|
|
- table.insert(tQueryWorShip, {uuid = tInfo.uuid, nServerID = tInfo.uuid})
|
|
|
+ JjcNewLadderDB_WriteLog("[JjcNewLadderDB_OnTimeSendMail] 插入前三排名是真人的玩家 name = "..tInfo.name.." uuid = "..tInfo.uuid.." nServerID = "..tInfo.nServerID)
|
|
|
+
|
|
|
+ table.insert(tQueryWorShip, {uuid = tInfo.uuid, nServerID = tInfo.nServerID})
|
|
|
table.insert(tLastRankInfo, tInfo)
|
|
|
|
|
|
if JjcNewLadderDefine.JJCN_NEWLADDER_LASTRANK_INFO == nRank then
|
|
|
CommonDB.SetJjcLadderLast3RankInfo(tLastRankInfo)
|
|
|
+ JjcNewLadderDB_WriteLog("[JjcNewLadderDB_OnTimeSendMail] 插入前三数据完成")
|
|
|
end
|
|
|
end
|
|
|
end
|