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,7 +91,7 @@ function _M.startAdvRpc( agent, data ) | ||
| 91 | --local format = msg.format --编队 | 91 | --local format = msg.format --编队 |
| 92 | local supportIdx = msg.supportIdx --选择的支援效果 | 92 | local supportIdx = msg.supportIdx --选择的支援效果 |
| 93 | if not role:isFuncUnlock(FuncUnlock.Adv) then return end | 93 | if not role:isFuncUnlock(FuncUnlock.Adv) then return end |
| 94 | - | 94 | + |
| 95 | --上一个关卡结束才可以开始新的关卡 | 95 | --上一个关卡结束才可以开始新的关卡 |
| 96 | if role:getAdvData():isRunning() then return 8 end | 96 | if role:getAdvData():isRunning() then return 8 end |
| 97 | local advHang = role:getProperty("advHang") | 97 | local advHang = role:getProperty("advHang") |
| @@ -107,8 +107,10 @@ function _M.startAdvRpc( agent, data ) | @@ -107,8 +107,10 @@ function _M.startAdvRpc( agent, data ) | ||
| 107 | actCfg = actCfg[chapterId] | 107 | actCfg = actCfg[chapterId] |
| 108 | if not actCfg then return 22 end | 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 | if actCfg["prepose"] ~= "" then | 115 | if actCfg["prepose"] ~= "" then |
| 114 | local type, cid = actCfg["prepose"]:toArray(true, "=") | 116 | local type, cid = actCfg["prepose"]:toArray(true, "=") |
| @@ -213,6 +215,38 @@ function _M.startHangRpc(agent, data) | @@ -213,6 +215,38 @@ function _M.startHangRpc(agent, data) | ||
| 213 | local campId = msg.campId or 2 --营地id | 215 | local campId = msg.campId or 2 --营地id |
| 214 | local format = msg.format --编队 | 216 | local format = msg.format --编队 |
| 215 | local index = msg.index or 1--时间索引id | 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 | local chapterData = csvdb["adv_chapter_campsiteCsv"][chapterId] | 251 | local chapterData = csvdb["adv_chapter_campsiteCsv"][chapterId] |
| 218 | if not chapterData then return 1 end | 252 | if not chapterData then return 1 end |