Commit 4f7cffe51af3895b46bdef58e9affef9c4e19802
1 parent
782c178b
多队挂机任务取消功能,累充奖励
Showing
5 changed files
with
43 additions
and
1 deletions
Show diff stats
src/ProtocolCode.lua
... | ... | @@ -204,6 +204,7 @@ actionCodes = { |
204 | 204 | Store_getGrowFundRewardRpc = 561, --成长助力奖励 |
205 | 205 | Store_getBattlePassRewardRpc = 562, --赛季卡奖励 |
206 | 206 | Store_getExploreCommandRewardRpc = 563, --探索指令 |
207 | + Store_getTotalRechargeAwardRpc = 564, -- 累计充值 | |
207 | 208 | |
208 | 209 | |
209 | 210 | Email_listRpc = 600, |
... | ... | @@ -223,6 +224,7 @@ actionCodes = { |
223 | 224 | |
224 | 225 | Radio_startQuestRpc = 700, |
225 | 226 | Radio_finishQuestRpc = 701, |
227 | + Radio_cancelQuestRpc = 702, | |
226 | 228 | } |
227 | 229 | |
228 | 230 | rpcResponseBegin = 10000 | ... | ... |
src/actions/RadioAction.lua
... | ... | @@ -122,7 +122,7 @@ function _M.finishQuestRpc(agent, data) |
122 | 122 | -- get heros |
123 | 123 | local totalCoef = 0 |
124 | 124 | local exp = config.time / 60 |
125 | - heroFaithMap = {} | |
125 | + local heroFaithMap = {} | |
126 | 126 | for _, heroId in ipairs(task.heros) do |
127 | 127 | local hero = role.heros[heroId] |
128 | 128 | if hero then |
... | ... | @@ -162,4 +162,20 @@ function _M.finishQuestRpc(agent, data) |
162 | 162 | return true |
163 | 163 | end |
164 | 164 | |
165 | +function _M.cancelQuestRpc(agent, data) | |
166 | + local role = agent.role | |
167 | + local msg = MsgPack.unpack(data) | |
168 | + local id = msg.id | |
169 | + -- check finish time | |
170 | + local radioTask = role:getProperty("radioTask") | |
171 | + local task = radioTask[id] | |
172 | + if not task then return 1 end | |
173 | + if skynet.timex() > task.time then return 2 end | |
174 | + radioTask[id] = nil | |
175 | + role:updateProperty({field="radioTask", value=radioTask, notNotify = true}) | |
176 | + | |
177 | + SendPacket(actionCodes.Radio_cancelQuestRpc, MsgPack.pack({id = id})) | |
178 | + return true | |
179 | +end | |
180 | + | |
165 | 181 | return _M |
166 | 182 | \ No newline at end of file | ... | ... |
src/actions/StoreAction.lua
... | ... | @@ -396,4 +396,24 @@ function _M.getExploreCommandRewardRpc(agent, data) |
396 | 396 | return true |
397 | 397 | end |
398 | 398 | |
399 | +-- 累充奖励 | |
400 | +function _M.getTotalRechargeAwardRpc(agent, data) | |
401 | + local role = agent.role | |
402 | + local msg = MsgPack.unpack(data) | |
403 | + local index = msg.index -- 领取的索引id | |
404 | + local totalRechargeRecord = role.storeData:getProperty("totalRR") | |
405 | + local flag = string.char(string.getbit(totalRechargeRecord, index)) | |
406 | + if flag == "1" then | |
407 | + return 1 | |
408 | + end | |
409 | + totalRechargeRecord = string.setbit(totalRechargeRecord, index) | |
410 | + role.storeData:updateProperty({field = "totalRR", value = totalRechargeRecord}) | |
411 | + local cfg = csvdb["Csv"][index] | |
412 | + if not cfg then return 2 end | |
413 | + | |
414 | + local reward, _ = role:award(cfg.reward, {log = {desc = "totalRecharge", int1 = index}}) | |
415 | + SendPacket(actionCodes.Store_getTotalRechargeAwardRpc, MsgPack.pack({reward = reward})) | |
416 | + return true | |
417 | +end | |
418 | + | |
399 | 419 | return _M |
400 | 420 | \ No newline at end of file | ... | ... |
src/models/RoleLog.lua
src/models/Store.lua
... | ... | @@ -33,6 +33,8 @@ Store.schema = { |
33 | 33 | actGoodsFlag = {"table", {}}, -- ActGoodsType 1购买,0未购买 |
34 | 34 | |
35 | 35 | bpInfo = {"table", {}}, -- battle pass 探索指令 1={flag=0 为1表示买了,br=""付费领取记录, fr=""免费领取记录},2,3,4 |
36 | + | |
37 | + totalRR = {"string", ""}, -- 累计充值奖励领取记录 | |
36 | 38 | } |
37 | 39 | |
38 | 40 | function Store:updateProperty(params) |
... | ... | @@ -464,6 +466,7 @@ function Store:data() |
464 | 466 | --packTrigger = self:getProperty("packTrigger"), |
465 | 467 | actGoodsFlag = self:getProperty("actGoodsFlag"), |
466 | 468 | bpInfo = self:getProperty("bpInfo"), |
469 | + totalRR = self:getProperty("totalRR"), | |
467 | 470 | } |
468 | 471 | end |
469 | 472 | ... | ... |