BusThreeActTask.lua 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560
  1. --------------------------------
  2. -- 文件名 : BusThreeActTask.lua
  3. -- 文件说明 : 新商业活动3-任务
  4. -- 创建时间 : 2025/09/02
  5. -- 创建人 : FC
  6. --------------------------------
  7. local Util = require("common.Util")
  8. local Msg = require("core.Msg")
  9. local Grid = require("bag.Grid")
  10. local BagLogic = require("bag.BagLogic")
  11. local CommonDefine = require("common.CommonDefine")
  12. local BusThreeActConf = require("excel.BusThreeActivity")
  13. local ObjHuman = require("core.ObjHuman")
  14. local TriggerDefine = require("trigger.TriggerDefine")
  15. local TriggerLogic = require("trigger.TriggerLogic")
  16. local ServerCommerceManager = require("serverCommerce.ServerCommerceManager")
  17. local AbsActLogic = require("absAct.AbsActLogic")
  18. local Broadcast = require("broadcast.Broadcast")
  19. local Lang = require("common.Lang")
  20. local BUSTHREETASKABSID = 7401 -- 对应ABS活动ID
  21. ----------------------------------------- 内部处理开始 -------------------------------------
  22. -- 配置
  23. local function BusThreeActTask_GetTaskCof()
  24. return BusThreeActConf.Task
  25. end
  26. local function BusThreeActTask_GetTaskPointCof()
  27. return BusThreeActConf.TaskPoint
  28. end
  29. -- 订阅事件
  30. local function BusThreeActTask_SubEvent(uuid, nEventType)
  31. TriggerLogic.SubscribeEvent(nEventType, uuid, BusThreeActTask_EventCallBack)
  32. end
  33. -- 创建DB数据
  34. local function CreatDB(human)
  35. human.db.absAct[BUSTHREETASKABSID].Task = {
  36. nTaskPoint = 0, -- 任务积分
  37. TaskPrize = {}, -- 任务数据
  38. TaskPointPrize = {}, -- 任务积分奖励
  39. }
  40. local tConf = BusThreeActTask_GetTaskCof()
  41. local tEvnetType = {}
  42. local tDBTask = human.db.absAct[BUSTHREETASKABSID].Task.TaskPrize
  43. for nID, v in ipairs(tConf) do
  44. if not tDBTask[v.nTaskType] then
  45. tDBTask[v.nTaskType] = {
  46. nFinishNum = 0, -- 完成次数
  47. taskStatus = {}, -- 任务状态
  48. }
  49. end
  50. tDBTask[v.nTaskType].taskStatus[nID] = CommonDefine.COMMON_PRIZE_STATE_NOGET
  51. if not tEvnetType[v.nTaskType] then
  52. BusThreeActTask_SubEvent(human.db._id, v.nTaskType)
  53. tEvnetType[v.nTaskType] = 1
  54. end
  55. end
  56. tConf = BusThreeActTask_GetTaskPointCof()
  57. local tDBTaskPointPrize = human.db.absAct[BUSTHREETASKABSID].Task.TaskPointPrize
  58. for nID, v in pairs(tConf) do
  59. if not tDBTaskPointPrize[nID] then
  60. tDBTaskPointPrize[nID] = CommonDefine.COMMON_PRIZE_STATE_NOGET
  61. end
  62. end
  63. print("[BusThreeActTask_CreatDB] 战区任务 初始化数据完成 name = "..human.db.name)
  64. return true
  65. end
  66. local function CheckAndCreatDB(human)
  67. if not human.db.absAct[BUSTHREETASKABSID] or nil == _G.next(human.db.absAct[BUSTHREETASKABSID])
  68. or not human.db.absAct[BUSTHREETASKABSID].Task then
  69. CreatDB(human)
  70. end
  71. end
  72. -- 获取任务奖励DB数据
  73. local function BusThreeActTask_GetTaskDB(human)
  74. if not human.db.absAct[BUSTHREETASKABSID].Task then
  75. human.db.absAct[BUSTHREETASKABSID].Task = {}
  76. CreatDB(human)
  77. end
  78. return human.db.absAct[BUSTHREETASKABSID].Task
  79. end
  80. -- 获取任务状态
  81. local function BusThreeActTask_GetTaskStatus(human, nID, nTaskType)
  82. local tDBData = BusThreeActTask_GetTaskDB(human)
  83. if not tDBData.TaskPrize or not tDBData.TaskPrize[nTaskType] or not tDBData.TaskPrize[nTaskType].taskStatus[nID] then
  84. print("[BusThreeActTask_GetTaskStatus] 不存在对应的DB数据!!! 没有初始化吗?")
  85. return CommonDefine.COMMON_PRIZE_STATE_NOGET
  86. end
  87. return tDBData.TaskPrize[nTaskType].taskStatus[nID]
  88. end
  89. -- 设置任务状态
  90. local function BusThreeActTask_SetTaskStatus(human, nID, nTaskType, nValue)
  91. local tDBData = BusThreeActTask_GetTaskDB(human)
  92. tDBData.TaskPrize[nTaskType].taskStatus[nID] = nValue
  93. end
  94. -- 获取任务完成次数
  95. local function BusThreeActTask_GetTaskFinishNum(human, nTaskType)
  96. local tDBData = BusThreeActTask_GetTaskDB(human)
  97. if not tDBData.TaskPrize[nTaskType] then
  98. return -1
  99. end
  100. return tDBData.TaskPrize[nTaskType].nFinishNum
  101. end
  102. -- 增加任务完成次数
  103. local function BusThreeActTask_AddTaskFinishNum(human, nTaskType, nAddNum)
  104. local tDBData = BusThreeActTask_GetTaskDB(human)
  105. if not tDBData.TaskPrize[nTaskType] then
  106. return
  107. end
  108. tDBData.TaskPrize[nTaskType].nFinishNum = tDBData.TaskPrize[nTaskType].nFinishNum + nAddNum
  109. end
  110. -- 获取任务积分
  111. local function BusThreeActTask_GetTaskPoint(human)
  112. local tDBData = BusThreeActTask_GetTaskDB(human)
  113. return tDBData.nTaskPoint
  114. end
  115. -- 增加任务积分
  116. local function BusThreeActTask_AddTaskPoint(human, nPoint)
  117. local tDBData = BusThreeActTask_GetTaskDB(human)
  118. tDBData.nTaskPoint = tDBData.nTaskPoint + nPoint
  119. end
  120. -- 获取任务积分奖励状态
  121. local function BusThreeActTask_GetTaskPointPrizeStatus(human, nID)
  122. local tDBData = BusThreeActTask_GetTaskDB(human)
  123. if not tDBData.TaskPointPrize or not tDBData.TaskPointPrize[nID] then
  124. return CommonDefine.COMMON_PRIZE_STATE_NOGET
  125. end
  126. return tDBData.TaskPointPrize[nID]
  127. end
  128. -- 设置 任务积分奖励状态
  129. local function BusThreeActTask_SetTaskPointPrizeStatus(human, nID, nValue)
  130. local tDBData = BusThreeActTask_GetTaskDB(human)
  131. tDBData.TaskPointPrize[nID] = nValue
  132. end
  133. -- 检查任务是否完成
  134. local function BusThreeActTask_CheckTaskStatus(human, nTaskType)
  135. local tConf = BusThreeActTask_GetTaskCof()
  136. local nNowFinishNum = BusThreeActTask_GetTaskFinishNum(human, nTaskType)
  137. print("[BusThreeActTask_CheckTaskStatus] nNowFinishNum = "..nNowFinishNum)
  138. local nDay
  139. for nID, v in ipairs(tConf) do
  140. if v.nTaskType == nTaskType then
  141. if nNowFinishNum >= v.nValue then
  142. local nState = BusThreeActTask_GetTaskStatus(human, nID, nTaskType)
  143. if CommonDefine.COMMON_PRIZE_STATE_NOGET == nState then
  144. BusThreeActTask_SetTaskStatus(human, nID, v.nTaskType, CommonDefine.COMMON_PRIZE_STATE_CANGET)
  145. -- BusThreeActTask_AddPoint(human, 1)
  146. if not nDay then
  147. nDay = v.nDay
  148. end
  149. end
  150. else
  151. break
  152. end
  153. end
  154. end
  155. end
  156. -- 检查任务点数奖励状态
  157. local function BusThreeActTask_CheckTaskPointStatus(human)
  158. local nNowPoint = BusThreeActTask_GetTaskPoint(human)
  159. local tConf = BusThreeActTask_GetTaskPointCof()
  160. local bSendClient = false
  161. for nID, v in ipairs(tConf) do
  162. if nNowPoint >= v.nPoint then
  163. local nState = BusThreeActTask_GetTaskPointPrizeStatus(human, nID)
  164. if CommonDefine.COMMON_PRIZE_STATE_NOGET == nState then
  165. bSendClient = true
  166. BusThreeActTask_SetTaskPointPrizeStatus(human, nID, CommonDefine.COMMON_PRIZE_STATE_CANGET)
  167. end
  168. else
  169. break
  170. end
  171. end
  172. if true == bSendClient then
  173. BusThreeActTask_QueryTaskPoint(human)
  174. end
  175. end
  176. ----------------------------------------回调处理---------------------------------------------------
  177. -- 事件回调通用处理
  178. local function BusThreeActTask_EvnentCommon(nEventType, uuid, nValue)
  179. print("[BusThreeActTask_EvnentCommon] 事件回调通用处理 nEventType = "..nEventType.." uuid = "..uuid)
  180. local human = ObjHuman.onlineUuid[uuid]
  181. if not human then
  182. print("[BusThreeActTask_EvnentCommon] 玩家不在线了? nEventType = "..nEventType)
  183. return
  184. end
  185. print("[BusThreeActTask_EvnentCommon] nEventType = "..nEventType.." nValue = "..nValue.." name = "..human.db.name)
  186. local nOldNum = BusThreeActTask_GetTaskFinishNum(human, nEventType)
  187. print("[BusThreeActTask_EvnentCommon] 久的次数 nOldNum = "..nOldNum)
  188. -- 增加完成次数
  189. BusThreeActTask_AddTaskFinishNum(human, nEventType, nValue)
  190. -- 检查任务状态
  191. BusThreeActTask_CheckTaskStatus(human, nEventType)
  192. end
  193. -- 事件-获得英雄处理
  194. local function BusThreeActTask_EvnentGetHero(nEventType, uuid, nValue1, nValue2)
  195. local human = ObjHuman.onlineUuid[uuid]
  196. if not human then
  197. return
  198. end
  199. local nNum = nValue1
  200. local nStar = nValue2
  201. print("[BusThreeActTask_EvnentGetHero] nEventType = "..nEventType.." nNum = "..nNum.." nStar = "..nStar.." name = "..human.db.name)
  202. local bCheck = false
  203. local tConf = BusThreeActTask_GetTaskCof()
  204. for nID, v in ipairs(tConf) do
  205. if v.nTaskType == nEventType then
  206. if not v.nTaskArgument or v.nTaskArgument == "" then
  207. print("[BusThreeActTask_EvnentGetHero] 获得英雄但是没有获取到对应的配置参数要求")
  208. else
  209. --print("[BusThreeActTask_EvnentGetHero] 存在对应参数 nTaskArgument = "..v.nTaskArgument)
  210. local tTaskArgument = Util.split(v.nTaskArgument , "|")
  211. -- table.print_lua_table(tTaskArgument)
  212. if 2 ~= #tTaskArgument then
  213. print("[BusThreeActTask_EvnentGetHero] 获取的任务 参数数量不正确")
  214. else
  215. if nNum >= tonumber(tTaskArgument[1]) and nStar == tonumber(tTaskArgument[2]) then
  216. --print("BusThreeActTask_EvnentGetHero 条件满足")
  217. BusThreeActTask_AddTaskFinishNum(human, nEventType, 1)
  218. --local nNewNum = BusThreeActTask_GetTaskFinishNum(human, nEventType)
  219. --print("BusThreeActTask_EvnentGetHero 条件满足, 新的数量为 nNewNum = "..nNewNum)
  220. bCheck = true
  221. end
  222. end
  223. end
  224. end
  225. end
  226. BusThreeActTask_CheckTaskStatus(human, nEventType)
  227. end
  228. -- 事件处理
  229. local tEventHandler = nil
  230. -- 起服处理
  231. function Init()
  232. tEventHandler = {
  233. [TriggerDefine.EVENT_TYPE_SWEEP] = BusThreeActTask_EvnentCommon,
  234. [TriggerDefine.CHAT_TIMES] = BusThreeActTask_EvnentCommon,
  235. [TriggerDefine.FRIEND_COMBAT] = BusThreeActTask_EvnentCommon,
  236. [TriggerDefine.EVENT_TYPE_FINDSTAR] = BusThreeActTask_EvnentCommon,
  237. [TriggerDefine.EVENT_TYPE_FATESUMMON] = BusThreeActTask_EvnentCommon,
  238. [TriggerDefine.EVENT_TYPE_OPENBOX] = BusThreeActTask_EvnentCommon,
  239. [TriggerDefine.EVENT_TYPE_CHAMPIONSNUM] = BusThreeActTask_EvnentCommon,
  240. [TriggerDefine.EVENT_TYPE_GETHERO] = BusThreeActTask_EvnentGetHero,
  241. [TriggerDefine.EVENT_TYPE_SHOPBUY] = BusThreeActTask_EvnentCommon,
  242. [TriggerDefine.EVENT_TYPE_UNIONSKILLUP] = BusThreeActTask_EvnentCommon,
  243. [TriggerDefine.DRAWCALL_SERNIOR_CNT] = BusThreeActTask_EvnentCommon,
  244. }
  245. print("[CommerceActTask - Init] tEventHandler 初始化完成")
  246. end
  247. ----------------------------------------- 外部调用开始 -------------------------------------
  248. function BusThreeActTask_EventCallBack(nEventType, uuid, nValue1, nValue2)
  249. if not tEventHandler then
  250. Init()
  251. end
  252. if not tEventHandler or not tEventHandler[nEventType] then
  253. print("[BusThreeActTask_EventCallBack] 不存在对应的处理函数 nEventType = "..nEventType)
  254. return
  255. end
  256. print("[BusThreeActTask_EventCallBack] 收到事件触发回调 nEventType = "..nEventType)
  257. pcall(tEventHandler[nEventType], nEventType, uuid, nValue1, nValue2)
  258. end
  259. function BusThreeActTask_AddPoint(human, nAddPoint)
  260. -- 增加积分
  261. BusThreeActTask_AddTaskPoint(human, nAddPoint)
  262. -- 检查积分奖励状态
  263. BusThreeActTask_CheckTaskPointStatus(human)
  264. end
  265. ----------------------------------------- 客户端请求 -------------------------------------
  266. -- 请求战区集结任务信息
  267. function BusThreeActTask_QueryTask(human, nDay)
  268. local state, nEndTime, nOpenTime = AbsActLogic.isStarted(human, BUSTHREETASKABSID)
  269. if not state then
  270. return Broadcast.sendErr(human, Lang.YUNYING_ERR_TIME)
  271. end
  272. print("[BusThreeActTask_QueryTask] 进入查询任务信息 nDay = "..nDay.." name = "..human.db.name)
  273. CheckAndCreatDB(human)
  274. local tConf = BusThreeActTask_GetTaskCof()
  275. local nDiffDay = Util.diffDay(nOpenTime) + 1
  276. local tMsgData = Msg.gc.GC_NEW_BUSTHREEACT_TASKQUERY
  277. tMsgData.nDay = nDay
  278. tMsgData.nNowDay = nDiffDay
  279. tMsgData.nNowPoint = BusThreeActTask_GetTaskPoint(human)
  280. tMsgData.leftTime = nEndTime - os.time()
  281. print("[BusThreeActTask_QueryTask] nDay = "..nDay.." nDiffDay = "..nDiffDay.." name = "..human.db.name)
  282. local tDay = {}
  283. local tRed = tMsgData.tRed
  284. tRed[0] = 0
  285. local tListData = tMsgData.list
  286. tListData[0] = 0
  287. for nID, v in ipairs(tConf) do
  288. if v.nDay == nDay then
  289. tListData[0] = tListData[0] + 1
  290. local tNode = tListData[tListData[0]]
  291. tNode.nID = nID
  292. tNode.nState = BusThreeActTask_GetTaskStatus(human, nID, v.nTaskType)
  293. tNode.nDay = v.nDay
  294. tNode.nValue = v.nValue
  295. -- tNode.nPoint = v.nPoint
  296. tNode.Desc = v.szDes
  297. tNode.nFinish = BusThreeActTask_GetTaskFinishNum(human, v.nTaskType)
  298. tNode.item[0] = #v.Prize
  299. for i, tItemData in ipairs(v.Prize) do
  300. Grid.makeItem(tNode.item[i], tItemData[1], tItemData[2])
  301. end
  302. end
  303. if not tDay[v.nDay] then
  304. tDay[v.nDay] = 1
  305. tRed[0] = tRed[0] + 1
  306. tRed[v.nDay] = 0
  307. end
  308. if tRed[v.nDay] == 0 and v.nDay <= nDiffDay then
  309. local nState = BusThreeActTask_GetTaskStatus(human, nID, v.nTaskType)
  310. if nState == CommonDefine.COMMON_PRIZE_STATE_CANGET then
  311. tRed[v.nDay] = 1
  312. end
  313. end
  314. end
  315. Msg.send(tMsgData, human.fd)
  316. print("[BusThreeActTask_QueryTask] 发送任务信息完成 name = "..human.db.name)
  317. end
  318. -- 请求领取任务奖励
  319. function BusThreeActTask_GetTaskPrize(human, nDay)
  320. local tConf = BusThreeActTask_GetTaskCof()
  321. local tGoods = {}
  322. local nFinishNum = 0
  323. for nID, v in ipairs(tConf) do
  324. if v.nDay == nDay then
  325. local nState = BusThreeActTask_GetTaskStatus(human, nID, v.nTaskType)
  326. if CommonDefine.COMMON_PRIZE_STATE_CANGET == nState then
  327. for i, tItemData in ipairs(v.Prize) do
  328. if not tGoods[tItemData[1]] then
  329. tGoods[tItemData[1]] = 0
  330. end
  331. tGoods[tItemData[1]] = tGoods[tItemData[1]] + tItemData[2]
  332. end
  333. BusThreeActTask_SetTaskStatus(human, nID, v.nTaskType, CommonDefine.COMMON_PRIZE_STATE_GET)
  334. nFinishNum = nFinishNum + 1
  335. end
  336. end
  337. end
  338. if nil ~= _G.next(tGoods) then
  339. local tItem = {}
  340. for nID, nNum in pairs(tGoods) do
  341. table.insert(tItem, {nID, nNum})
  342. end
  343. BagLogic.addItemList(human, tItem, "BusThreeTask")
  344. BusThreeActTask_AddPoint(human, nFinishNum)
  345. BusThreeActTask_QueryTask(human, nDay)
  346. BusThreeActTask_QueryTaskPoint(human)
  347. end
  348. end
  349. -- 请求任务积分信息
  350. function BusThreeActTask_QueryTaskPoint(human)
  351. print("[BusThreeActTask_QueryTaskPoint] 进入查询任务积分信息 name = "..human.db.name)
  352. local tConf = BusThreeActTask_GetTaskPointCof()
  353. local tMsgData = Msg.gc.GC_NEW_BUSTHREEACT_TASKPOINTQUERY
  354. tMsgData.nNowPoint = BusThreeActTask_GetTaskPoint(human)
  355. CheckAndCreatDB(human)
  356. local tListData = tMsgData.listPoint
  357. tListData[0] = 0
  358. for nID, v in ipairs(tConf) do
  359. tListData[0] = tListData[0] + 1
  360. local tNode = tListData[tListData[0]]
  361. tNode.nID = nID
  362. tNode.nNeedPoint = v.nPoint
  363. tNode.nState = BusThreeActTask_GetTaskPointPrizeStatus(human, nID)
  364. tNode.item[0] = #v.Prize
  365. for i, tItemData in ipairs(v.Prize) do
  366. Grid.makeItem(tNode.item[i], tItemData[1], tItemData[2])
  367. end
  368. end
  369. Msg.send(tMsgData, human.fd)
  370. end
  371. -- 领取任务积分奖励
  372. function BusThreeActTask_GetTaskPointPrize(human)
  373. local tConf = BusThreeActTask_GetTaskPointCof()
  374. local tGoods = {}
  375. for nID, v in ipairs(tConf) do
  376. local nState = BusThreeActTask_GetTaskPointPrizeStatus(human, nID)
  377. if CommonDefine.COMMON_PRIZE_STATE_CANGET == nState then
  378. for i, tItemData in ipairs(v.Prize) do
  379. if not tGoods[tItemData[1]] then
  380. tGoods[tItemData[1]] = 0
  381. end
  382. tGoods[tItemData[1]] = tGoods[tItemData[1]] + tItemData[2]
  383. end
  384. BusThreeActTask_SetTaskPointPrizeStatus(human, nID, CommonDefine.COMMON_PRIZE_STATE_GET)
  385. end
  386. end
  387. if nil ~= _G.next(tGoods) then
  388. local tItem = {}
  389. for nID, nNum in pairs(tGoods) do
  390. table.insert(tItem, {nID, nNum})
  391. end
  392. BagLogic.addItemList(human, tItem, "BusThreeTask")
  393. BusThreeActTask_QueryTaskPoint(human)
  394. end
  395. end
  396. function isRed(human)
  397. local tConf = BusThreeActTask_GetTaskCof()
  398. local state, nEndTime, nOpenTime = AbsActLogic.isStarted(human, BUSTHREETASKABSID)
  399. if not state then
  400. return Broadcast.sendErr(human, Lang.YUNYING_ERR_TIME)
  401. end
  402. CheckAndCreatDB(human)
  403. if 0 >= nOpenTime then
  404. print("[BusThreeActTask_isRed] 不正确的活动开启时间")
  405. return false
  406. end
  407. local nDiffDay = Util.diffDay(nOpenTime) + 1
  408. for nID, v in ipairs(tConf) do
  409. if v.nDay <= nDiffDay then
  410. local nState = BusThreeActTask_GetTaskStatus(human, nID, v.nTaskType)
  411. if CommonDefine.COMMON_PRIZE_STATE_CANGET == nState then
  412. return true
  413. end
  414. end
  415. end
  416. tConf = BusThreeActTask_GetTaskPointCof()
  417. for nID, v in ipairs(tConf) do
  418. local nState = BusThreeActTask_GetTaskPointPrizeStatus(human, nID)
  419. if CommonDefine.COMMON_PRIZE_STATE_CANGET == nState then
  420. return true
  421. end
  422. end
  423. return false
  424. end
  425. -- 订阅任务数据
  426. function BusThreeActTask_HumanSubEvent(human)
  427. local tConf = BusThreeActTask_GetTaskCof()
  428. local tTaskType = {}
  429. for nID, v in ipairs(tConf) do
  430. if not tTaskType[v.nTaskType] then
  431. local nState = BusThreeActTask_GetTaskStatus(human, nID, v.nTaskType)
  432. -- 没有完成才订阅
  433. if nState == CommonDefine.COMMON_PRIZE_STATE_NOGET then
  434. tTaskType[v.nTaskType] = 1
  435. end
  436. end
  437. end
  438. -- 订阅事件
  439. for nTaskType, v in pairs(tTaskType) do
  440. BusThreeActTask_SubEvent(human.db._id, nTaskType)
  441. print("[BusThreeActTask_SubEvent] 玩家订阅了事件 nTaskType = "..nTaskType)
  442. end
  443. end
  444. function onLogin(human)
  445. local state, nEndTime, nOpenTime = AbsActLogic.isStarted(human, BUSTHREETASKABSID)
  446. if not state then
  447. return
  448. end
  449. BusThreeActTask_HumanSubEvent(human)
  450. print("[BusThreeActTask_onLogin] 玩家登录订阅事件完成 name = "..human.db.name)
  451. end
  452. function isOpen(human, YYInfo, funcConfig)
  453. print("[BusThreeActTask__isOpen] 进入判断")
  454. local state, endTime, startTime = AbsActLogic.isStarted(human, funcConfig and funcConfig.funcID or BUSTHREETASKABSID)
  455. if not state then
  456. print("[BusThreeActTask_isOpen] 当前活动未开启")
  457. return
  458. end
  459. print("[BusThreeActTask__isOpen] 进入判断 endTime = "..endTime.." startTime = "..startTime)
  460. return true, endTime, startTime
  461. end
  462. function isActive(human, YYInfo, funcConfig)
  463. return not isOpen(human, YYInfo, funcConfig)
  464. end