Commit 03a6166a38cb1b3d7b358f613258e96890832f82

Authored by zhouhaihai
1 parent 8019d0bb

餐厅优化

src/ProtocolCode.lua
@@ -88,6 +88,8 @@ actionCodes = { @@ -88,6 +88,8 @@ actionCodes = {
88 Diner_expediteSellRpc = 310, 88 Diner_expediteSellRpc = 310,
89 Diner_getGreenhouseRpc = 311, 89 Diner_getGreenhouseRpc = 311,
90 Diner_addWantFoodRpc = 312, 90 Diner_addWantFoodRpc = 312,
  91 + Diner_initTaskRpc = 313,
  92 + Diner_handleTaskRpc = 314,
91 93
92 Tower_roleFormatRpc = 350, 94 Tower_roleFormatRpc = 350,
93 Tower_startBattleRpc = 351, 95 Tower_startBattleRpc = 351,
src/actions/CarAction.lua
@@ -135,7 +135,9 @@ function _M.saleEquipRpc(agent, data ) @@ -135,7 +135,9 @@ function _M.saleEquipRpc(agent, data )
135 if math.illegalNum(count, 1, own) then return end 135 if math.illegalNum(count, 1, own) then return end
136 end 136 end
137 local reward = {} 137 local reward = {}
  138 + local allCount = 0
138 for id, count in pairs(backs) do 139 for id, count in pairs(backs) do
  140 + allCount = allCount + count
139 local itemData = csvdb["itemCsv"][id] 141 local itemData = csvdb["itemCsv"][id]
140 local typ = math.floor((id-7000)/100) 142 local typ = math.floor((id-7000)/100)
141 local lv = (id-7000)%100 143 local lv = (id-7000)%100
@@ -146,6 +148,7 @@ function _M.saleEquipRpc(agent, data ) @@ -146,6 +148,7 @@ function _M.saleEquipRpc(agent, data )
146 reward[k] = (reward[k] or 0) + v * count 148 reward[k] = (reward[k] or 0) + v * count
147 end 149 end
148 end 150 end
  151 + role:checkTaskEnter("SaleEquip", {count = allCount})
149 reward = role:award(reward) 152 reward = role:award(reward)
150 SendPacket(actionCodes.Car_saleEquipRpc, MsgPack.pack({reward = reward})) 153 SendPacket(actionCodes.Car_saleEquipRpc, MsgPack.pack({reward = reward}))
151 return true 154 return true
@@ -158,7 +161,9 @@ function _M.saleRuneRpc(agent, data ) @@ -158,7 +161,9 @@ function _M.saleRuneRpc(agent, data )
158 if not backs then return end 161 if not backs then return end
159 162
160 local reward = {} 163 local reward = {}
  164 + local count = 0
161 for _, uid in pairs(backs) do 165 for _, uid in pairs(backs) do
  166 + count = count + 1
162 local rune = role.runeBag[uid] 167 local rune = role.runeBag[uid]
163 if not rune then return end 168 if not rune then return end
164 if rune:getProperty("refer") ~= 0 then return end 169 if rune:getProperty("refer") ~= 0 then return end
@@ -171,7 +176,7 @@ function _M.saleRuneRpc(agent, data ) @@ -171,7 +176,7 @@ function _M.saleRuneRpc(agent, data )
171 end 176 end
172 177
173 role:delRunes(backs) 178 role:delRunes(backs)
174 - 179 + role:checkTaskEnter("DecoRune", {count = count})
175 reward = role:award(reward) 180 reward = role:award(reward)
176 181
177 SendPacket(actionCodes.Car_saleRuneRpc, MsgPack.pack({reward = reward})) 182 SendPacket(actionCodes.Car_saleRuneRpc, MsgPack.pack({reward = reward}))
src/actions/DinerAction.lua
@@ -9,70 +9,71 @@ local _M = {} @@ -9,70 +9,71 @@ local _M = {}
9 function _M.addSellRpc( agent, data ) 9 function _M.addSellRpc( agent, data )
10 local role = agent.role 10 local role = agent.role
11 local msg = MsgPack.unpack(data) 11 local msg = MsgPack.unpack(data)
12 - for _,sellData in pairs(msg) do  
13 - local slot = sellData.slot  
14 - local sells = json.decode(role.dinerData:getProperty("sells"))  
15 - if sells[slot] and sells[slot].count and sells[slot].count ~= 0 then  
16 - return 0  
17 - end  
18 - if math.illegalNum(slot, 1, role.dinerData:getMaxSlots()) then  
19 - return 1  
20 - end  
21 - slot = tostring(slot) 12 + local sellData = msg
22 13
23 - local dish = sellData.dish  
24 - local dishSet = csvdb["diner_dishCsv"][dish]  
25 - if not dishSet then  
26 - return 2  
27 - end  
28 - local dishLevel = role.dinerData:getProperty("dishTree"):getv(dish, 0)  
29 - if dishLevel == 0 then  
30 - return 3  
31 - end  
32 - local dishData = dishSet[dishLevel]  
33 - if not dishData then  
34 - return 4  
35 - end 14 + local slot = sellData.slot
  15 + local sells = json.decode(role.dinerData:getProperty("sells"))
  16 + if sells[slot] and sells[slot].count and sells[slot].count ~= 0 then
  17 + return 0
  18 + end
  19 + if math.illegalNum(slot, 1, role.dinerData:getMaxSlots()) then
  20 + return 1
  21 + end
  22 + slot = tostring(slot)
36 23
37 - local calSell = role.dinerData:updateSell(slot, true) or {  
38 - deltaCount = 0,  
39 - deltaTime = 0,  
40 - lastCount = 0,  
41 - }  
42 - local count = sellData.count  
43 - local maxDishCount = role.dinerData:getMaxDishs()  
44 - if math.illegalNum(count + calSell.lastCount, 1, maxDishCount) then  
45 - return 5  
46 - end 24 + local dish = sellData.dish
  25 + local dishSet = csvdb["diner_dishCsv"][dish]
  26 + if not dishSet then
  27 + return 2
  28 + end
  29 + local dishLevel = role.dinerData:getProperty("dishTree"):getv(dish, 0)
  30 + if dishLevel == 0 then
  31 + return 3
  32 + end
  33 + local dishData = dishSet[dishLevel]
  34 + if not dishData then
  35 + return 4
  36 + end
47 37
48 - local cost = dishData.material:toNumMap()  
49 - for k, n in pairs(cost) do  
50 - cost[k] = n * count  
51 - end  
52 - if not role:checkItemEnough(cost) then  
53 - return 6  
54 - end 38 + local calSell = role.dinerData:updateSell(slot, true) or {
  39 + deltaCount = 0,
  40 + deltaTime = 0,
  41 + lastCount = 0,
  42 + }
  43 + local count = sellData.count
  44 + local maxDishCount = role.dinerData:getMaxDishs()
  45 + if math.illegalNum(count + calSell.lastCount, 1, maxDishCount) then
  46 + return 5
  47 + end
55 48
56 - role:costItems(cost)  
57 - role.dinerData:updateSell(slot) 49 + local cost = dishData.material:toNumMap()
  50 + for k, n in pairs(cost) do
  51 + cost[k] = n * count
  52 + end
  53 + if not role:checkItemEnough(cost) then
  54 + return 6
  55 + end
58 56
59 - -- local dirty = false  
60 - -- if dirty then  
61 - -- role.dinerData:notifyUpdateProperty("order", role.dinerData:getProperty("order"))  
62 - -- end 57 + role:costItems(cost)
  58 + role.dinerData:updateSell(slot)
63 59
64 - sells = json.decode(role.dinerData:getProperty("sells"))  
65 - if not sells[slot] then  
66 - sells[slot] = {  
67 - reward = "",  
68 - }  
69 - end  
70 - sells[slot].dish = dish  
71 - sells[slot].level = dishLevel  
72 - sells[slot].count = count  
73 - sells[slot].time = skynet.timex() - calSell.deltaTime  
74 - role.dinerData:updateProperty({field = "sells", value = json.encode(sells)}) 60 + role:checkTaskEnter("MakeFood", {id = dish, count = count})
  61 + -- local dirty = false
  62 + -- if dirty then
  63 + -- role.dinerData:notifyUpdateProperty("order", role.dinerData:getProperty("order"))
  64 + -- end
  65 +
  66 + sells = json.decode(role.dinerData:getProperty("sells"))
  67 + if not sells[slot] then
  68 + sells[slot] = {
  69 + reward = "",
  70 + }
75 end 71 end
  72 + sells[slot].dish = dish
  73 + sells[slot].level = dishLevel
  74 + sells[slot].count = count
  75 + sells[slot].time = skynet.timex() - calSell.deltaTime
  76 + role.dinerData:updateProperty({field = "sells", value = json.encode(sells)})
76 SendPacket(actionCodes.Diner_addSellRpc, "") 77 SendPacket(actionCodes.Diner_addSellRpc, "")
77 return true 78 return true
78 end 79 end
@@ -590,4 +591,94 @@ function _M.getGreenhouseRpc( agent, data ) @@ -590,4 +591,94 @@ function _M.getGreenhouseRpc( agent, data )
590 return true 591 return true
591 end 592 end
592 593
  594 +local function refreshTaskRpc(role, task)
  595 + local hadType = {}
  596 + if task.id and csvdb["task_specialCsv"][task.id] then
  597 + hadType[csvdb["task_specialCsv"][task.id].type] = 1
  598 + end
  599 + local spTask = role:getProperty("spTask")
  600 + local taskCount = 0
  601 + for id ,_ in pairs(spTask) do
  602 + hadType[csvdb["task_specialCsv"][id].type] = 1
  603 + taskCount = taskCount + 1
  604 + end
  605 + local pool = {}
  606 + if taskCount < globalCsv.diner_get_task_count_max then
  607 + local curLevel = role:getProperty("level")
  608 + for id, data in pairs(csvdb["task_specialCsv"]) do
  609 + if not hadType[data.type] then
  610 + local level = data.level:toArray(true, "=")
  611 + if curLevel >= level[1] and curLevel <= level[2] then
  612 + table.insert(pool, id)
  613 + end
  614 + end
  615 + end
  616 + end
  617 + if not next(pool) then --每次进都看看有没有任务可以领
  618 + task.id = nil
  619 + task.et = 0
  620 + else
  621 + local id = pool[math.randomInt(1, #pool)]
  622 + task.id = id
  623 + task.et = skynet.timex() + globalCsv.diner_get_task_time_max
  624 + end
  625 + return task
  626 +end
  627 +
  628 +-- 进入餐厅界面调用
  629 +function _M.initTaskRpc(agent, data)
  630 + local role = agent.role
  631 +
  632 + local task = role.dinerData:getProperty("task")
  633 +
  634 + local now = skynet.timex()
  635 +
  636 + if not task.et or task.et <= now then --刷新了
  637 + task = refreshTaskRpc(role, task)
  638 + role.dinerData:updateProperty({field = "task", value = task})
  639 + end
  640 +
  641 + SendPacket(actionCodes.Diner_initTaskRpc, '')
  642 + return true
  643 +end
  644 +
  645 +-- 对任务进行处理调用
  646 +function _M.handleTaskRpc(agent, data)
  647 + local role = agent.role
  648 + local msg = MsgPack.unpack(data)
  649 + local cmd = msg.cmd -- 1 领取任务 2 拒绝任务
  650 +
  651 + local task = role.dinerData:getProperty("task")
  652 + local now = skynet.timex()
  653 + if cmd == 1 then
  654 + if not task.id then return end
  655 + if task.et > now then
  656 + --领取任务
  657 + task.id = nil
  658 + task.et = now + globalCsv.diner_get_task_time_max
  659 + task.refuse = nil
  660 + else
  661 + return
  662 + end
  663 + elseif cmd == 2 then -- 拒绝任务(重新领取)
  664 + if not task.id then return end
  665 + if (task.refuse or 0) >= globalCsv.diner_get_task_refuse_max then
  666 + -- 等待时间
  667 + task.refuse = nil
  668 + task.id = nil
  669 + task.et = now + globalCsv.diner_get_task_time_max
  670 + else
  671 + task.refuse = (task.refuse or 0) + 1
  672 + --刷新任务
  673 + task = refreshTaskRpc(role, task)
  674 + end
  675 + else
  676 + return
  677 + end
  678 + role.dinerData:updateProperty({field = "task", value = task})
  679 +
  680 + SendPacket(actionCodes.Diner_handleTaskRpc, '')
  681 + return true
  682 +end
  683 +
593 return _M 684 return _M
594 \ No newline at end of file 685 \ No newline at end of file
src/actions/GmAction.lua
@@ -51,14 +51,14 @@ function _M.fb(role, pms) -- 直接通关 @@ -51,14 +51,14 @@ function _M.fb(role, pms) -- 直接通关
51 local carbonData = csvdb["idle_battleCsv"][carbonId] 51 local carbonData = csvdb["idle_battleCsv"][carbonId]
52 for _, pre in ipairs(carbonData.prepose:toArray(true, "=")) do 52 for _, pre in ipairs(carbonData.prepose:toArray(true, "=")) do
53 passCarbon[pre] = 1 53 passCarbon[pre] = 1
54 - role:checkTaskEnter(role.TaskType.HangPass, {id = pre}) 54 + role:checkTaskEnter("HangPass", {id = pre})
55 addPre(pre) 55 addPre(pre)
56 end 56 end
57 end 57 end
58 passCarbon[carbonId] = 1 58 passCarbon[carbonId] = 1
59 addPre(carbonId) 59 addPre(carbonId)
60 role:updateProperty({field = "hangPass", value = passCarbon}) 60 role:updateProperty({field = "hangPass", value = passCarbon})
61 - role:checkTaskEnter(role.TaskType.HangPass, {id = carbonId}) 61 + role:checkTaskEnter("HangPass", {id = carbonId})
62 return "成功" 62 return "成功"
63 end 63 end
64 64
@@ -71,14 +71,14 @@ function _M.fbc(role, pms) -- 直接通关 @@ -71,14 +71,14 @@ function _M.fbc(role, pms) -- 直接通关
71 local carbonData = csvdb["idle_battleCsv"][carbonId] 71 local carbonData = csvdb["idle_battleCsv"][carbonId]
72 for _, pre in ipairs(carbonData.prepose:toArray(true, "=")) do 72 for _, pre in ipairs(carbonData.prepose:toArray(true, "=")) do
73 passCarbon[pre] = 1 73 passCarbon[pre] = 1
74 - role:checkTaskEnter(role.TaskType.HangPass, {id = pre}) 74 + role:checkTaskEnter("HangPass", {id = pre})
75 addPre(pre) 75 addPre(pre)
76 end 76 end
77 end 77 end
78 addPre(carbonId) 78 addPre(carbonId)
79 role:updateProperty({field = "hangInfo", value = {}}) 79 role:updateProperty({field = "hangInfo", value = {}})
80 role:updateProperty({field = "hangPass", value = passCarbon}) 80 role:updateProperty({field = "hangPass", value = passCarbon})
81 - role:checkTaskEnter(role.TaskType.HangPass, {id = carbonId}) 81 + role:checkTaskEnter("HangPass", {id = carbonId})
82 return "成功" 82 return "成功"
83 end 83 end
84 84
@@ -98,7 +98,7 @@ function _M.love(role, pms) @@ -98,7 +98,7 @@ function _M.love(role, pms)
98 if role:getProperty("loveStatus"):getv(heroType, 0) < level then 98 if role:getProperty("loveStatus"):getv(heroType, 0) < level then
99 role:changeUpdates({{type = "loveStatus", field = heroType, value = level}}) -- 总的 99 role:changeUpdates({{type = "loveStatus", field = heroType, value = level}}) -- 总的
100 end 100 end
101 - role:checkTaskEnter(role.TaskType.LoveBreak, {heroType = heroType, loveL = level}) 101 + role:checkTaskEnter("LoveBreak", {heroType = heroType, loveL = level})
102 end 102 end
103 end 103 end
104 return "成功" 104 return "成功"
src/actions/HangAction.lua
@@ -181,7 +181,7 @@ function _M.endBattleRpc(agent, data) @@ -181,7 +181,7 @@ function _M.endBattleRpc(agent, data)
181 end 181 end
182 reward = role:award(reward) 182 reward = role:award(reward)
183 183
184 - role:checkTaskEnter(role.TaskType.HangPass, {id = carbonId}) 184 + role:checkTaskEnter("HangPass", {id = carbonId})
185 end 185 end
186 hangInfo.key = nil 186 hangInfo.key = nil
187 role:updateProperty({field = "hangInfo", value = hangInfo}) 187 role:updateProperty({field = "hangInfo", value = hangInfo})
@@ -228,6 +228,7 @@ function _M.getRewardRpc(agent , data) @@ -228,6 +228,7 @@ function _M.getRewardRpc(agent , data)
228 hangInfo.itemTime = nowTime 228 hangInfo.itemTime = nowTime
229 role:updateProperty({field = "hangBag", value = items}) 229 role:updateProperty({field = "hangBag", value = items})
230 role:updateProperty({field = "hangInfo", value = hangInfo}) 230 role:updateProperty({field = "hangInfo", value = hangInfo})
  231 + role:checkTaskEnter("HangGet")
231 232
232 SendPacket(actionCodes.Hang_getRewardRpc, MsgPack.pack({ 233 SendPacket(actionCodes.Hang_getRewardRpc, MsgPack.pack({
233 reward = reward 234 reward = reward
src/actions/HeroAction.lua
@@ -87,7 +87,7 @@ function _M.wakeRpc(agent, data) @@ -87,7 +87,7 @@ function _M.wakeRpc(agent, data)
87 end 87 end
88 hero:updateProperty({field = "wakeL", delta = 1}) 88 hero:updateProperty({field = "wakeL", delta = 1})
89 89
90 - role:checkTaskEnter(role.TaskType.Wake, {heroType = typ, wakeL = hero:getProperty("wakeL")}) 90 + role:checkTaskEnter("Wake", {heroType = typ, wakeL = hero:getProperty("wakeL")})
91 91
92 SendPacket(actionCodes.Hero_wakeRpc, '') 92 SendPacket(actionCodes.Hero_wakeRpc, '')
93 return true 93 return true
@@ -404,7 +404,7 @@ function _M.loveItemRpc(agent, data) @@ -404,7 +404,7 @@ function _M.loveItemRpc(agent, data)
404 role:changeUpdates({{type = "loveStatus", field = curType, value = newLevel}}) -- 总的 404 role:changeUpdates({{type = "loveStatus", field = curType, value = newLevel}}) -- 总的
405 end 405 end
406 406
407 - role:checkTaskEnter(role.TaskType.LoveBreak, {heroType = curType, loveL = newLevel}) 407 + role:checkTaskEnter("LoveBreak", {heroType = curType, loveL = newLevel})
408 408
409 else 409 else
410 local delta = globalCsv.unit_love_presentValue[msg.itemId] 410 local delta = globalCsv.unit_love_presentValue[msg.itemId]
@@ -458,7 +458,7 @@ function _M.loveTaskRpc(agent, data) @@ -458,7 +458,7 @@ function _M.loveTaskRpc(agent, data)
458 role:changeUpdates({{type = "loveStatus", field = curType, value = newLevel}}) -- 总的 458 role:changeUpdates({{type = "loveStatus", field = curType, value = newLevel}}) -- 总的
459 end 459 end
460 460
461 - role:checkTaskEnter(role.TaskType.LoveBreak, {heroType = curType, loveL = newLevel}) 461 + role:checkTaskEnter("LoveBreak", {heroType = curType, loveL = newLevel})
462 462
463 SendPacket(actionCodes.Hero_loveTaskRpc, "") 463 SendPacket(actionCodes.Hero_loveTaskRpc, "")
464 return true 464 return true
@@ -168,7 +168,7 @@ function Adv:over(success) @@ -168,7 +168,7 @@ function Adv:over(success)
168 local reward 168 local reward
169 if success then 169 if success then
170 reward = self.owner:award(self.owner:getProperty("advItems"):toNumMap()) 170 reward = self.owner:award(self.owner:getProperty("advItems"):toNumMap())
171 - self.owner:checkTaskEnter(self.owner.TaskType.AdvPass, {id = self.chapterId}) 171 + self.owner:checkTaskEnter("AdvPass", {id = self.chapterId})
172 172
173 -- 冒险队等级升一下子 173 -- 冒险队等级升一下子
174 local advL = self.owner:getProperty("advL") 174 local advL = self.owner:getProperty("advL")
src/models/Diner.lua
@@ -13,6 +13,7 @@ Diner.schema = { @@ -13,6 +13,7 @@ Diner.schema = {
13 popular = {"number",0}, -- 累计人气 13 popular = {"number",0}, -- 累计人气
14 expedite = {"number",1}, --每日加速次数 14 expedite = {"number",1}, --每日加速次数
15 gfood = {"table", {}}, -- 愿望食材 {{id = 123, st = 1232144},} 15 gfood = {"table", {}}, -- 愿望食材 {{id = 123, st = 1232144},}
  16 + task = {"table", {}}, -- 任务刷新 {et = 消失时间 id = 任务id, refuse = 0}
16 } 17 }
17 18
18 function Diner:refreshDailyData(notify) 19 function Diner:refreshDailyData(notify)
@@ -242,7 +243,7 @@ function Diner:getMaxDishs() @@ -242,7 +243,7 @@ function Diner:getMaxDishs()
242 end 243 end
243 244
244 function Diner:data() 245 function Diner:data()
245 - local properties = {"buildL", "order", "sells", "dishTree", "skillTree","popular","expedite","gfood"} 246 + local properties = {"buildL", "order", "sells", "dishTree", "skillTree","popular","expedite","gfood", "task"}
246 local data = self:getProperties(properties) 247 local data = self:getProperties(properties)
247 return data 248 return data
248 end 249 end
src/models/Role.lua
@@ -73,6 +73,8 @@ Role.schema = { @@ -73,6 +73,8 @@ Role.schema = {
73 73
74 towerInfo = {"table", {c = globalCsv.tower_count_limit, l = 1}}, -- 当天爬塔消耗的次数 -- {t = time, c = count, l = layer, k = battleKey} 74 towerInfo = {"table", {c = globalCsv.tower_count_limit, l = 1}}, -- 当天爬塔消耗的次数 -- {t = time, c = count, l = layer, k = battleKey}
75 towerF = {"table", {}}, -- 爬塔阵容 75 towerF = {"table", {}}, -- 爬塔阵容
  76 +
  77 + spTask = {"table", {}} -- 特殊任务 -- {id = status}
76 } 78 }
77 79
78 80
@@ -208,6 +210,7 @@ function Role:data() @@ -208,6 +210,7 @@ function Role:data()
208 boxL = self:getProperty("boxL"), 210 boxL = self:getProperty("boxL"),
209 towerInfo = self:getProperty("towerInfo"), 211 towerInfo = self:getProperty("towerInfo"),
210 towerF = self:getProperty("towerF"), 212 towerF = self:getProperty("towerF"),
  213 + spTask = self:getProperty("spTask"),
211 214
212 } 215 }
213 end 216 end
src/models/RolePlugin.lua
@@ -86,6 +86,7 @@ function RolePlugin.bind(Role) @@ -86,6 +86,7 @@ function RolePlugin.bind(Role)
86 local typ = math.floor((itemId-7000)/100) 86 local typ = math.floor((itemId-7000)/100)
87 local lv = (itemId-7000)%100 87 local lv = (itemId-7000)%100
88 self:addEquip(typ, lv, count ,pms) 88 self:addEquip(typ, lv, count ,pms)
  89 + self:checkTaskEnter("AddEquip", {equipId = itemId}, pms.notNotify)
89 end, 90 end,
90 [ItemType.Rune] = function() 91 [ItemType.Rune] = function()
91 local typ = math.floor((itemId-2000)/100) 92 local typ = math.floor((itemId-2000)/100)
@@ -312,7 +313,7 @@ function RolePlugin.bind(Role) @@ -312,7 +313,7 @@ function RolePlugin.bind(Role)
312 newHero.owner = self 313 newHero.owner = self
313 newHero:saveBattleValue() 314 newHero:saveBattleValue()
314 self.heros[heroId] = newHero 315 self.heros[heroId] = newHero
315 - self:checkTaskEnter(self.TaskType.AddHero, {heroType = heroType, wakeL = newHero:getProperty("wakeL")}, params.notNotify) 316 + self:checkTaskEnter("AddHero", {heroType = heroType, wakeL = newHero:getProperty("wakeL")}, params.notNotify)
316 if not params.notNotify then 317 if not params.notNotify then
317 local heroResponse = {} 318 local heroResponse = {}
318 table.insert(heroResponse, newHero:data()) 319 table.insert(heroResponse, newHero:data())
src/models/RoleTask.lua
1 1
2 2
3 --- 增加 checkTaskEnter 内的参数 记得增加注释 3 +-- 增加 checkTaskEnter 内的参数 记得增加注释
4 local TaskType = { 4 local TaskType = {
5 - HangPass = 1, -- id  
6 - AdvPass = 2, -- id  
7 - LoveBreak = 3, -- heroType loveL  
8 - Wake = 4, -- heroType wakeL  
9 - AddHero = 5, -- heroType wakeL 5 + HangPass = 1, -- 挂机通关 - id
  6 + AdvPass = 2, -- 冒险通过关 - id
  7 + LoveBreak = 3, -- 好感度进阶 - heroType loveL
  8 + Wake = 4, -- 觉醒 - heroType wakeL
  9 + AddHero = 5, -- 增加角色 - heroType wakeL
  10 + AddEquip = 6, -- 获得装备 - equipId
  11 + DecoRune = 7, -- 分解符文 - count
  12 + SaleEquip = 8, -- 出售装备 - count
  13 + MakeFood = 9, -- 制作料理 - id count
  14 + HangGet = 10, -- 挂机收货
  15 + FoodMGet = 11, -- 食材获取
  16 +
  17 + --todo
  18 + PvpWin = 100, -- pvp胜利
10 } 19 }
11 20
12 local function v(value) 21 local function v(value)
@@ -36,10 +45,12 @@ local RoleTask = {} @@ -36,10 +45,12 @@ local RoleTask = {}
36 45
37 function RoleTask.bind(Role) 46 function RoleTask.bind(Role)
38 47
39 - Role.TaskType = TaskType  
40 -  
41 -- 任务相关入口 48 -- 任务相关入口
42 function Role:checkTaskEnter(taskType, params, notNotify) 49 function Role:checkTaskEnter(taskType, params, notNotify)
  50 + params = params or {}
  51 + if type(taskType) == "string" then
  52 + taskType = TaskType[taskType]
  53 + end
43 for _, listener in ipairs(TaskListeners) do 54 for _, listener in ipairs(TaskListeners) do
44 if listener and listener.listen and listener.listen[taskType] and listener["func"] then 55 if listener and listener.listen and listener.listen[taskType] and listener["func"] then
45 local pms = {} 56 local pms = {}