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,6 +204,7 @@ actionCodes = { | ||
204 | Store_getGrowFundRewardRpc = 561, --成长助力奖励 | 204 | Store_getGrowFundRewardRpc = 561, --成长助力奖励 |
205 | Store_getBattlePassRewardRpc = 562, --赛季卡奖励 | 205 | Store_getBattlePassRewardRpc = 562, --赛季卡奖励 |
206 | Store_getExploreCommandRewardRpc = 563, --探索指令 | 206 | Store_getExploreCommandRewardRpc = 563, --探索指令 |
207 | + Store_getTotalRechargeAwardRpc = 564, -- 累计充值 | ||
207 | 208 | ||
208 | 209 | ||
209 | Email_listRpc = 600, | 210 | Email_listRpc = 600, |
@@ -223,6 +224,7 @@ actionCodes = { | @@ -223,6 +224,7 @@ actionCodes = { | ||
223 | 224 | ||
224 | Radio_startQuestRpc = 700, | 225 | Radio_startQuestRpc = 700, |
225 | Radio_finishQuestRpc = 701, | 226 | Radio_finishQuestRpc = 701, |
227 | + Radio_cancelQuestRpc = 702, | ||
226 | } | 228 | } |
227 | 229 | ||
228 | rpcResponseBegin = 10000 | 230 | rpcResponseBegin = 10000 |
src/actions/RadioAction.lua
@@ -122,7 +122,7 @@ function _M.finishQuestRpc(agent, data) | @@ -122,7 +122,7 @@ function _M.finishQuestRpc(agent, data) | ||
122 | -- get heros | 122 | -- get heros |
123 | local totalCoef = 0 | 123 | local totalCoef = 0 |
124 | local exp = config.time / 60 | 124 | local exp = config.time / 60 |
125 | - heroFaithMap = {} | 125 | + local heroFaithMap = {} |
126 | for _, heroId in ipairs(task.heros) do | 126 | for _, heroId in ipairs(task.heros) do |
127 | local hero = role.heros[heroId] | 127 | local hero = role.heros[heroId] |
128 | if hero then | 128 | if hero then |
@@ -162,4 +162,20 @@ function _M.finishQuestRpc(agent, data) | @@ -162,4 +162,20 @@ function _M.finishQuestRpc(agent, data) | ||
162 | return true | 162 | return true |
163 | end | 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 | return _M | 181 | return _M |
166 | \ No newline at end of file | 182 | \ No newline at end of file |
src/actions/StoreAction.lua
@@ -396,4 +396,24 @@ function _M.getExploreCommandRewardRpc(agent, data) | @@ -396,4 +396,24 @@ function _M.getExploreCommandRewardRpc(agent, data) | ||
396 | return true | 396 | return true |
397 | end | 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 | return _M | 419 | return _M |
400 | \ No newline at end of file | 420 | \ No newline at end of file |
src/models/RoleLog.lua
@@ -45,6 +45,7 @@ local ItemReason = { | @@ -45,6 +45,7 @@ local ItemReason = { | ||
45 | actRecycle = 130, -- 活动道具回收 | 45 | actRecycle = 130, -- 活动道具回收 |
46 | actExchange = 131, -- 兑换活动 | 46 | actExchange = 131, -- 兑换活动 |
47 | actGachakon = 132, -- 扭蛋活动 | 47 | actGachakon = 132, -- 扭蛋活动 |
48 | + totalRecharge = 133, -- 累计充值奖励 | ||
48 | 49 | ||
49 | 50 | ||
50 | advHang = 301, -- 拾荒挂机 | 51 | advHang = 301, -- 拾荒挂机 |
src/models/Store.lua
@@ -33,6 +33,8 @@ Store.schema = { | @@ -33,6 +33,8 @@ Store.schema = { | ||
33 | actGoodsFlag = {"table", {}}, -- ActGoodsType 1购买,0未购买 | 33 | actGoodsFlag = {"table", {}}, -- ActGoodsType 1购买,0未购买 |
34 | 34 | ||
35 | bpInfo = {"table", {}}, -- battle pass 探索指令 1={flag=0 为1表示买了,br=""付费领取记录, fr=""免费领取记录},2,3,4 | 35 | bpInfo = {"table", {}}, -- battle pass 探索指令 1={flag=0 为1表示买了,br=""付费领取记录, fr=""免费领取记录},2,3,4 |
36 | + | ||
37 | + totalRR = {"string", ""}, -- 累计充值奖励领取记录 | ||
36 | } | 38 | } |
37 | 39 | ||
38 | function Store:updateProperty(params) | 40 | function Store:updateProperty(params) |
@@ -464,6 +466,7 @@ function Store:data() | @@ -464,6 +466,7 @@ function Store:data() | ||
464 | --packTrigger = self:getProperty("packTrigger"), | 466 | --packTrigger = self:getProperty("packTrigger"), |
465 | actGoodsFlag = self:getProperty("actGoodsFlag"), | 467 | actGoodsFlag = self:getProperty("actGoodsFlag"), |
466 | bpInfo = self:getProperty("bpInfo"), | 468 | bpInfo = self:getProperty("bpInfo"), |
469 | + totalRR = self:getProperty("totalRR"), | ||
467 | } | 470 | } |
468 | end | 471 | end |
469 | 472 |