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 | ... | ... |