Commit 4bd3095fd64333da15a48b603a76764a4b50848c

Authored by liuzujun
1 parent ce42bb03

英雄帖任务bug

src/actions/ActivityAction.lua
@@ -222,11 +222,11 @@ function _M.actPaySignRpc(agent, data) @@ -222,11 +222,11 @@ function _M.actPaySignRpc(agent, data)
222 return true 222 return true
223 end 223 end
224 224
225 -function _M.actCalendaActRpc(agent, data) 225 +function _M.actCalendaTaskRpc(agent, data)
226 local role = agent.role 226 local role = agent.role
227 local msg = MsgPack.unpack(data) 227 local msg = MsgPack.unpack(data)
228 local taskId = msg.id 228 local taskId = msg.id
229 - local calTask = role:getProperty("CalTask") 229 + local calTask = role:getProperty("calTask") or {}
230 local record = calTask["r"] or {} 230 local record = calTask["r"] or {}
231 local flag = record[taskId] or 0 231 local flag = record[taskId] or 0
232 if flag == 1 then return 1 end 232 if flag == 1 then return 1 end
@@ -235,18 +235,20 @@ function _M.actCalendaActRpc(agent, data) @@ -235,18 +235,20 @@ function _M.actCalendaActRpc(agent, data)
235 if not open then return 2 end 235 if not open then return 2 end
236 if not actData then return 3 end 236 if not actData then return 3 end
237 237
238 - local taskCfg = csvdb["activity_taskCsv"][taskId]  
239 - if not taskCfg then return 4 end  
240 - if taskCfg.key ~= actData.condition then return 5 end 238 + local taskList = csvdb["activity_taskCsv"][actData.condition]
  239 + if not taskList then return 4 end
  240 + local taskCfg = taskList[taskId]
  241 + if not taskCfg then return 5 end
  242 + if taskCfg.key ~= actData.condition then return 6 end
241 243
242 - if (calTask[taskId] or 0) < taskCfg.condition1 then return 6 end 244 + if (calTask[taskId] or 0) < taskCfg.condition1 then return 7 end
243 245
244 record[taskId] = 1 246 record[taskId] = 1
245 calTask["r"] = record 247 calTask["r"] = record
246 248
247 - role:updateProperty({field = "CalTask", value = calTask}) 249 + role:updateProperty({field = "calTask", value = calTask})
248 250
249 - local reward, change = role:award(taskCfg.reward, {log = {desc = "CalendaTask"}}) 251 + local reward, change = role:award(taskCfg.reward, {log = {desc = "calendaTask"}})
250 252
251 role:log("activity", { 253 role:log("activity", {
252 activity_id = taskId, -- 活动ID(或活动指定任务的ID) 254 activity_id = taskId, -- 活动ID(或活动指定任务的ID)
@@ -255,6 +257,7 @@ function _M.actCalendaActRpc(agent, data) @@ -255,6 +257,7 @@ function _M.actCalendaActRpc(agent, data)
255 }) 257 })
256 258
257 SendPacket(actionCodes.Activity_actCalendaTaskRpc, MsgPack.pack(role:packReward(reward, change))) 259 SendPacket(actionCodes.Activity_actCalendaTaskRpc, MsgPack.pack(role:packReward(reward, change)))
  260 + return true
258 end 261 end
259 262
260 return _M 263 return _M
261 \ No newline at end of file 264 \ No newline at end of file
1 -Subproject commit 9bb26cfdb11f81dbfe6abbc468b44ca9f814deb2 1 +Subproject commit d54c7ca07fd397022166b38b58b80a78f339f592
src/models/RoleLog.lua
@@ -81,6 +81,7 @@ local ItemReason = { @@ -81,6 +81,7 @@ local ItemReason = {
81 birth = 1006, -- 出生奖励 81 birth = 1006, -- 出生奖励
82 actSign = 1007, -- 活动签到 82 actSign = 1007, -- 活动签到
83 actPaySign = 1008, -- 活动付费签到 83 actPaySign = 1008, -- 活动付费签到
  84 + calendaTask = 1009, -- 英雄帖
84 85
85 -- 餐厅 86 -- 餐厅
86 greenHourse = 1101, -- 食材获得 87 greenHourse = 1101, -- 食材获得
src/models/RoleTask.lua
@@ -604,7 +604,6 @@ function RoleTask.bind(Role) @@ -604,7 +604,6 @@ function RoleTask.bind(Role)
604 if k == cid then 604 if k == cid then
605 for id, cfg in pairs(taskList) do 605 for id, cfg in pairs(taskList) do
606 if cfg.type == mainType then 606 if cfg.type == mainType then
607 - dump(cfg)  
608 if subType == 1 then -- 增加数值 607 if subType == 1 then -- 增加数值
609 calTask[id] = (calTask[id] or 0) + param1 608 calTask[id] = (calTask[id] or 0) + param1
610 elseif subType == 2 then -- 直接赋值 609 elseif subType == 2 then -- 直接赋值
@@ -620,7 +619,7 @@ function RoleTask.bind(Role) @@ -620,7 +619,7 @@ function RoleTask.bind(Role)
620 end 619 end
621 end 620 end
622 end 621 end
623 - if calTask[id] < count then 622 + if (calTask[id] or 0) < count then
624 calTask[id] = count 623 calTask[id] = count
625 end 624 end
626 elseif cfg.type == 5 then -- 英雄等级收集进度 625 elseif cfg.type == 5 then -- 英雄等级收集进度
@@ -644,7 +643,6 @@ function RoleTask.bind(Role) @@ -644,7 +643,6 @@ function RoleTask.bind(Role)
644 calTask[id] = count 643 calTask[id] = count
645 end 644 end
646 elseif cfg.type == 18 then -- 挂机累计收获id,y个 645 elseif cfg.type == 18 then -- 挂机累计收获id,y个
647 - dump(param1)  
648 for rid, v in pairs(param1) do 646 for rid, v in pairs(param1) do
649 if cfg.condition2 == rid then 647 if cfg.condition2 == rid then
650 calTask[id] = (calTask[id] or 0) + v 648 calTask[id] = (calTask[id] or 0) + v
@@ -656,7 +654,7 @@ function RoleTask.bind(Role) @@ -656,7 +654,7 @@ function RoleTask.bind(Role)
656 local rcount = 0 654 local rcount = 0
657 for _,uid in pairs(hero:getRunes()) do 655 for _,uid in pairs(hero:getRunes()) do
658 if uid > 0 then 656 if uid > 0 then
659 - local runeData = self.owner.runeBag[uid] 657 + local runeData = self.runeBag[uid]
660 if runeData then 658 if runeData then
661 local csvData = csvdb["runeCsv"][runeData:getProperty("type")][runeData:getProperty("id")] 659 local csvData = csvdb["runeCsv"][runeData:getProperty("type")][runeData:getProperty("id")]
662 660