Commit 493a8b1fe91d0dcef6a0551191948ccdf410cf90
1 parent
edd92fd9
拾荒活动关卡开启时间检测
Showing
1 changed file
with
37 additions
and
3 deletions
Show diff stats
src/actions/AdvAction.lua
... | ... | @@ -91,7 +91,7 @@ function _M.startAdvRpc( agent, data ) |
91 | 91 | --local format = msg.format --编队 |
92 | 92 | local supportIdx = msg.supportIdx --选择的支援效果 |
93 | 93 | if not role:isFuncUnlock(FuncUnlock.Adv) then return end |
94 | - | |
94 | + | |
95 | 95 | --上一个关卡结束才可以开始新的关卡 |
96 | 96 | if role:getAdvData():isRunning() then return 8 end |
97 | 97 | local advHang = role:getProperty("advHang") |
... | ... | @@ -107,8 +107,10 @@ function _M.startAdvRpc( agent, data ) |
107 | 107 | actCfg = actCfg[chapterId] |
108 | 108 | if not actCfg then return 22 end |
109 | 109 | |
110 | - local st = toUnixtime(actCfg["unlockTime"]..string_format("%02x", RESET_TIME)) | |
111 | - if st > skynet.timex() then return 23 end | |
110 | + if actCfg["unlockTime"] ~= 0 then | |
111 | + local st = toUnixtime(actCfg["unlockTime"]..string_format("%02x", RESET_TIME)) | |
112 | + if st > skynet.timex() then return 23 end | |
113 | + end | |
112 | 114 | |
113 | 115 | if actCfg["prepose"] ~= "" then |
114 | 116 | local type, cid = actCfg["prepose"]:toArray(true, "=") |
... | ... | @@ -213,6 +215,38 @@ function _M.startHangRpc(agent, data) |
213 | 215 | local campId = msg.campId or 2 --营地id |
214 | 216 | local format = msg.format --编队 |
215 | 217 | local index = msg.index or 1--时间索引id |
218 | + local actid = msg.actid | |
219 | + | |
220 | + -- 检查活动正确性 | |
221 | + if actid then | |
222 | + if not role.activity:isOpenById(actid, "AdvLevel") then | |
223 | + return 20 | |
224 | + end | |
225 | + local actCfg = csvdb["activity_adv_chapterCsv"][actid] | |
226 | + if not actCfg then return 21 end | |
227 | + actCfg = actCfg[chapterId] | |
228 | + if not actCfg then return 22 end | |
229 | + | |
230 | + local st = toUnixtime(actCfg["unlockTime"]..string_format("%02x", RESET_TIME)) | |
231 | + if st > skynet.timex() then return 23 end | |
232 | + | |
233 | + if actCfg["prepose"] ~= "" then | |
234 | + local type, cid = actCfg["prepose"]:toArray(true, "=") | |
235 | + if type == 1 then | |
236 | + local actData = role.activity:getActData("ChallengeLevel") | |
237 | + local battleInfo = actData[cid] or {} | |
238 | + if (battleInfo["star"] or 0) == 0 then | |
239 | + return 24 | |
240 | + end | |
241 | + elseif type == 2 then | |
242 | + local actData = role.activity:getActData("AdvLevel") | |
243 | + local advInfo = actData[cid] or {} | |
244 | + if not advInfo["pass"] then | |
245 | + return 25 | |
246 | + end | |
247 | + end | |
248 | + end | |
249 | + end | |
216 | 250 | |
217 | 251 | local chapterData = csvdb["adv_chapter_campsiteCsv"][chapterId] |
218 | 252 | if not chapterData then return 1 end | ... | ... |