Ver Fonte

中心服0点去请求普通服数据

SCFC há 1 ano atrás
pai
commit
e06d0f65fa

+ 4 - 4
script/core/ObjHuman.lua

@@ -225,10 +225,10 @@ function onLogout(human)
     YunYingLogic.onCallBack(human, "onLogout")
 	TriggerLogic.onLogout(human)
 
-	local tMsgData = Msg.gc.GC_ONLINETIME_REPORT
-    tMsgData.time = nowTime - human.db.onlineTimeDayReport
-	tMsgData.nType = 0
-    Msg.send(tMsgData, human.fd)
+	-- local tMsgData = Msg.gc.GC_ONLINETIME_REPORT
+    -- tMsgData.time = nowTime - human.db.onlineTimeDayReport
+	-- tMsgData.nType = 0
+    -- Msg.send(tMsgData, human.fd)
 end
 
 

+ 2 - 0
script/core/Timer.lua

@@ -43,6 +43,7 @@ local MoZhuMiddleLogic = require("mozhu.MoZhuMiddleLogic")
 local LostTempleLogic = require("lostTemple.lostTempleLogic")
 local MainDianLogic = require("MaiDian.MaiDianLogic")
 local VoucherShopLogic = require("voucher.VoucherShopLogic")
+local ServerCommerceMiddle = require("serverCommerce.ServerCommerceMiddle")
 
 register_timer = {    
 	monitor = 60000,            -- 
@@ -118,6 +119,7 @@ function doZhengDian(hour)
         LostTempleLogic.onZero()
 	    VoucherShopLogic.VoucherShop_OnZero()
         MainDianLogic.MaiDian_OnTime()
+        ServerCommerceMiddle.CommerceMiddle_OnZero()
     end       
     --if hour == 21 then
     --    if _G.is_middle ~= true then 

+ 1 - 0
script/module/dailyTask/Handler.lua

@@ -65,6 +65,7 @@ end
 
 -- 领取荣耀任务奖励
 function CG_HONORJOURNEY_GET_REWARD(human, msg)
+	print("[CG_HONORJOURNEY_GET_REWARD] 收到领取奖励请求")
 	HonorJourney.HonorJourneyTaskGetReward(human, msg.taskID)
 end
 

+ 24 - 15
script/module/dailyTask/HonorJourney.lua

@@ -100,7 +100,7 @@ end
 local function HonorJourney_GetTaskFinishNum(human, nID)
     local tDBData = HonorJourneyTask_GetTaskDB(human)
     if not tDBData.TaskPrize[nID] then
-        return -1
+        return 0
     end
 
     return tDBData.TaskPrize[nID].nFinishNum
@@ -227,13 +227,20 @@ function HonorJourneyTaskQuery(human, isOnLogin)
     local cnt = 0
     for nID, value in pairs(HonorJourneyConfig) do 
         local nPreTaskID = HonorJourney_Gettaskpre(nID)
-        local nState = human.db.HonorJourney.TaskPrize[nID].nState
-        local nFinishNum = human.db.HonorJourney.TaskPrize[nID].nFinishNum
+        -- 临时测试代码,解决老号问题
+        if not human.db.HonorJourney.TaskPrize or not human.db.HonorJourney.TaskPrize[nID] or not human.db.HonorJourney.TaskPrize[nID].nState then
+            HonorJourneyTask_CreateDB(human)
+        end
+
+        local nState = HonorJourney_GetTaskStatus(human, nID)
+        local nFinishNum = HonorJourney_GetTaskFinishNum(human, nID)
+        print("[HonorJourneyTaskQuery] nID = "..nID.." nState = "..nState.." nFinishNum = "..nFinishNum.." maxCnt = "..value.taskProcess)
         if CommonDefine.COMMON_PRIZE_STATE_GET ~= nState then
             local bSow = true
             -- 获取前置任务状态
             if nPreTaskID then
                 local nPreTaskState = HonorJourney_GetTaskStatus(human, nPreTaskID)
+                print("[HonorJourneyTaskQuery] 存在前置任务 nID = "..nID.." nPreTaskID = "..nPreTaskID.." nPreTaskState = "..nPreTaskState)
                 if CommonDefine.COMMON_PRIZE_STATE_NOGET == nPreTaskState then
                     bSow = false
                 end
@@ -254,16 +261,14 @@ function HonorJourneyTaskQuery(human, isOnLogin)
                     Grid.makeItem(msgRet.list[cnt].itemData[len], itemId, itemCnt)
                 end
                 msgRet.list[cnt].itemData[0] = len
-                msgRet.list[cnt].finishCnt = 0
-                msgRet.list[cnt].isGet = 0
                 msgRet.list[cnt].jump = value.panelID or 0
 
                 msgRet.list[cnt].finishCnt = HonorJourney_GetTaskFinishNum(human, nID)
-                msgRet.list[cnt].isGet = (nState == CommonDefine.COMMON_PRIZE_STATE_GET) and 1 or 0
+                msgRet.list[cnt].isGet = (nState == CommonDefine.COMMON_PRIZE_STATE_CANGET) and 1 or 0
             end
         end
     end
-
+    msgRet.list[0] = cnt
 
     local huoYueBoxConfig = HonorJourneyExcel.Reward
     local nNowPoint = HonorJourney_GetTaskPoint(human)
@@ -276,12 +281,10 @@ function HonorJourneyTaskQuery(human, isOnLogin)
         if nState ~= CommonDefine.COMMON_PRIZE_STATE_GET then
             msgRet.huoYueBox[ret].boxID = nID
             msgRet.huoYueBox[ret].needHuoYue = v.needcnt
-            msgRet.huoYueBox[ret].items = msgRet.huoYueBox[i].items or {}
             msgRet.huoYueBox[ret].items[0] = 1  -- 现在每个box只有1个奖励
             local itemID = v.reward[1]
             local itemCnt = v.reward[2]
             
-            msgRet.huoYueBox[ret].items[0] = 1
             Grid.makeItem(msgRet.huoYueBox[ret].items[1], itemID, itemCnt)
 
             msgRet.huoYueBox[ret].isGet = 0
@@ -320,13 +323,15 @@ end
 
 function HonorJourneyTaskGetReward(human)
     if RoleSystemLogic.isOpen(human, RoleSystemDefine.ROLE_SYS_ID_801) ~= true then
+        print("[HonorJourneyTaskGetReward] 未开启直接返回")
 		return
 	end
 
-
+    print("[HonorJourneyTaskGetReward] 1111111")
     local tAddItem, nAddPoint = {}, 0
-	for nID, v in ipairs(HonorJourneyExcel.HonorJourney) do
+	for nID, v in pairs(HonorJourneyExcel.HonorJourney) do
         local nState = HonorJourney_GetTaskStatus(human, nID)
+        print("[HonorJourneyTaskGetReward] nID = "..nID.." nState = "..nState)
         if CommonDefine.COMMON_PRIZE_STATE_CANGET == nState then
             HonorJourney_SetTaskStatus(human, nID, CommonDefine.COMMON_PRIZE_STATE_GET)
             for _, tGoods in ipairs(v.reward) do
@@ -341,7 +346,11 @@ function HonorJourneyTaskGetReward(human)
         end
     end
 
+    print("[HonorJourneyTaskGetReward] 22222")
+
 	if nil ~= _G.next(tAddItem) then
+        print("[HonorJourneyTaskGetReward] 333333")
+
 		local tAddGoods = {}
         for nGoodsID, nGoodsNum in pairs(tAddItem) do
             table.insert(tAddGoods, {nGoodsID, nGoodsNum})
@@ -409,7 +418,7 @@ function isDot(human)
 
     HonorJourneyTask_CheckCreateDB(human)
 
-    for nID, v in ipairs(HonorJourneyExcel.HonorJourney) do
+    for nID, v in pairs(HonorJourneyExcel.HonorJourney) do
         local nState = HonorJourney_GetTaskStatus(human, nID)
         if nState == CommonDefine.COMMON_PRIZE_STATE_CANGET then
             return true
@@ -492,7 +501,7 @@ local function HonorJourney_PowerChange(nEventType, uuid, nValue1, nValue2)
     end
 
     local tTaksID = {}
-    for nID, v in ipairs(HonorJourneyExcel.HonorJourney) do
+    for nID, v in pairs(HonorJourneyExcel.HonorJourney) do
         if v.triggerType == nEventType then
             local nState = HonorJourney_GetTaskStatus(human, nID)
             if nValue1 >= v.taskProcess and nState == CommonDefine.COMMON_PRIZE_STATE_NOGET then
@@ -519,7 +528,7 @@ local function HonorJourney_FengHuangLv(nEventType, uuid, nValue1, nValue2)
     end
 
     local tTaksID = {}
-    for nID, v in ipairs(HonorJourneyExcel.HonorJourney) do
+    for nID, v in pairs(HonorJourneyExcel.HonorJourney) do
         if v.triggerType == nEventType then
             local nState = HonorJourney_GetTaskStatus(human, nID)
             if nValue1 >= v.taskProcess and nState == CommonDefine.COMMON_PRIZE_STATE_NOGET then
@@ -546,7 +555,7 @@ local function HonorJourney_OpenBox(nEventType, uuid, nValue1, nBoxType)
     end
 
     local tTaksID = {}
-    for nID, v in ipairs(HonorJourneyExcel.HonorJourney) do
+    for nID, v in pairs(HonorJourneyExcel.HonorJourney) do
         if v.triggerType == nEventType then
             local nNeedBoxType = v.taskArgument
             local nState = HonorJourney_GetTaskStatus(human, nID)

+ 10 - 0
script/module/serverCommerce/ServerCommerceMiddle.lua

@@ -25,6 +25,16 @@ function CommerceMiddle_InitServer()
     print("[CommerceMiddle_InitServer] 起服定时去获取数据 nTime = "..ServerCommerceActDefine.COMMERCEACT_INITOPENDAY)
 end
 
+-- 定时获取普通服开服信息
+function CommerceMiddle_OnZero()
+    if _G.is_middle ~= true then 
+        return
+    end
+
+    Timer.addLater(15, CommerceMiddle_GetOpen)
+    print("[CommerceMiddle_OnZero] 整点定时去获取数据")
+end
+
 -- 获取(中心服主动去获取)
 function CommerceMiddle_GetOpen()
     if _G.is_middle ~= true then