Commit 3dbbc9f35e0c5d2fd897cff7815ef9c6350b7dfe

Authored by zhouhaihai
1 parent 85083dba

加上新的任务

src/actions/FriendAction.lua
@@ -378,6 +378,7 @@ function _M.listRpc(agent, data) @@ -378,6 +378,7 @@ function _M.listRpc(agent, data)
378 end 378 end
379 if next(clearRed) then 379 if next(clearRed) then
380 redisproxy:hmset(FRIEND_KEY:format(roleId), table_unpack(clearRed)) --清除新好友标记 380 redisproxy:hmset(FRIEND_KEY:format(roleId), table_unpack(clearRed)) --清除新好友标记
  381 + role:checkTaskEnter("AddFriend", {count = #friendList})
381 end 382 end
382 383
383 SendPacket(actionCodes.Friend_listRpc, MsgPack.pack({list = friendList})) 384 SendPacket(actionCodes.Friend_listRpc, MsgPack.pack({list = friendList}))
@@ -518,6 +519,7 @@ function _M.pointRpc(agent, data) @@ -518,6 +519,7 @@ function _M.pointRpc(agent, data)
518 redisproxy:sadd(FRIEND_POINT:format(objId), roleId) 519 redisproxy:sadd(FRIEND_POINT:format(objId), roleId)
519 giveP[objId] = 1 520 giveP[objId] = 1
520 role.dailyData:updateProperty({field = "giveFP", value = giveP}) 521 role.dailyData:updateProperty({field = "giveFP", value = giveP})
  522 + role:checkTaskEnter("GiveFriendP", {count = 1})
521 rpcRole(objId, "SendPacket", actionCodes.Friend_updateProperty, MsgPack.pack({newPoint = 1, roleId = roleId})) 523 rpcRole(objId, "SendPacket", actionCodes.Friend_updateProperty, MsgPack.pack({newPoint = 1, roleId = roleId}))
522 end 524 end
523 elseif cmd == 2 then -- 领取 525 elseif cmd == 2 then -- 领取
@@ -536,25 +538,27 @@ function _M.pointRpc(agent, data) @@ -536,25 +538,27 @@ function _M.pointRpc(agent, data)
536 getP[objId] = 1 538 getP[objId] = 1
537 reward = role:award({[ItemId.FriendPoint] = 1}) 539 reward = role:award({[ItemId.FriendPoint] = 1})
538 role.dailyData:updateProperty({field = "getFP", value = getP}) 540 role.dailyData:updateProperty({field = "getFP", value = getP})
  541 + role:checkTaskEnter("GetFriendP", {count = 1})
539 end 542 end
540 elseif cmd == 3 then -- 一键赠送领取 543 elseif cmd == 3 then -- 一键赠送领取
541 -- 赠送 544 -- 赠送
542 local giveP = role.dailyData:getProperty("giveFP") 545 local giveP = role.dailyData:getProperty("giveFP")
543 local friends = redisproxy:hgetall(FRIEND_KEY:format(roleId)) 546 local friends = redisproxy:hgetall(FRIEND_KEY:format(roleId))
544 - local change = false 547 + local change = 0
545 redisproxy:pipelining(function(red) 548 redisproxy:pipelining(function(red)
546 for i = 1, #friends , 2 do 549 for i = 1, #friends , 2 do
547 local objId = tonumber(friends[i]) 550 local objId = tonumber(friends[i])
548 if not giveP[objId] then 551 if not giveP[objId] then
549 giveP[objId] = 1 552 giveP[objId] = 1
550 - change = true 553 + change = change + 1
551 red:sadd(FRIEND_POINT:format(objId), roleId) 554 red:sadd(FRIEND_POINT:format(objId), roleId)
552 rpcRole(objId, "SendPacket", actionCodes.Friend_updateProperty, MsgPack.pack({newPoint = 1, roleId = roleId})) 555 rpcRole(objId, "SendPacket", actionCodes.Friend_updateProperty, MsgPack.pack({newPoint = 1, roleId = roleId}))
553 end 556 end
554 end 557 end
555 end) 558 end)
556 - if change then 559 + if change > 0 then
557 role.dailyData:updateProperty({field = "giveFP", value = giveP}) 560 role.dailyData:updateProperty({field = "giveFP", value = giveP})
  561 + role:checkTaskEnter("GiveFriendP", {count = change})
558 else 562 else
559 result = 1 563 result = 1
560 end 564 end
@@ -578,6 +582,7 @@ function _M.pointRpc(agent, data) @@ -578,6 +582,7 @@ function _M.pointRpc(agent, data)
578 if getCount > 0 then 582 if getCount > 0 then
579 reward = role:award({[ItemId.FriendPoint] = getCount}) 583 reward = role:award({[ItemId.FriendPoint] = getCount})
580 role.dailyData:updateProperty({field = "getFP", value = getP}) 584 role.dailyData:updateProperty({field = "getFP", value = getP})
  585 + role:checkTaskEnter("GetFriendP", {count = getCount})
581 else 586 else
582 result = (result or 0) + 2 587 result = (result or 0) + 2
583 end 588 end
src/actions/PvpAction.lua
@@ -22,12 +22,12 @@ function _M.formatCommonRpc(agent , data) @@ -22,12 +22,12 @@ function _M.formatCommonRpc(agent , data)
22 local roleId = role:getProperty("id") 22 local roleId = role:getProperty("id")
23 local msg = MsgPack.unpack(data) 23 local msg = MsgPack.unpack(data)
24 local pvpTC = role:getProperty("pvpTC") 24 local pvpTC = role:getProperty("pvpTC")
25 - for slot, heroId in pairs(msg.heros) do 25 + for slot, heroId in pairs(msg.heros or {}) do
26 if not role.heros[heroId] then 26 if not role.heros[heroId] then
27 return 27 return
28 end 28 end
29 end 29 end
30 - if not next(msg.heros) then 30 + if not msg.heros or not next(msg.heros) then
31 return 31 return
32 end 32 end
33 33
@@ -44,7 +44,7 @@ function _M.formatCommonRpc(agent , data) @@ -44,7 +44,7 @@ function _M.formatCommonRpc(agent , data)
44 end 44 end
45 45
46 46
47 -local function getMatchInfo(pvpList, battleCache) 47 +local function getMatchInfo(role, pvpList, battleCache)
48 table.clear(battleCache) 48 table.clear(battleCache)
49 local redret = redisproxy:pipelining(function(red) 49 local redret = redisproxy:pipelining(function(red)
50 for _, info in ipairs(pvpList) do 50 for _, info in ipairs(pvpList) do
@@ -60,7 +60,7 @@ local function getMatchInfo(pvpList, battleCache) @@ -60,7 +60,7 @@ local function getMatchInfo(pvpList, battleCache)
60 local curInfo = {idx = idx} 60 local curInfo = {idx = idx}
61 if info.t == 1 then --玩家 61 if info.t == 1 then --玩家
62 curInfo.roleId = info.id 62 curInfo.roleId = info.id
63 - curInfo.score = tonumber(redret[curIdx] or 0) 63 + curInfo.score = role:unpackPvpScore(redret[curIdx] or 0)
64 curIdx = curIdx + 1 64 curIdx = curIdx + 1
65 -- name, level, headId, battleV, heros 65 -- name, level, headId, battleV, heros
66 local online, roleInfo = rpcRole(curInfo.roleId, "pvpCInfo") 66 local online, roleInfo = rpcRole(curInfo.roleId, "pvpCInfo")
@@ -92,7 +92,7 @@ function _M.infoRpc(agent, data) @@ -92,7 +92,7 @@ function _M.infoRpc(agent, data)
92 red:zscore(RANK_PVP_COMMON, roleId) 92 red:zscore(RANK_PVP_COMMON, roleId)
93 red:zrevrank(RANK_PVP_COMMON, roleId) 93 red:zrevrank(RANK_PVP_COMMON, roleId)
94 end) 94 end)
95 - local score = tonumber(redret[1] or 0) 95 + local score = role:unpackPvpScore(redret[1] or 0)
96 local rank = tonumber(redret[2] or -2) + 1 --排名 1 - ... -1 未上榜 没打过pvp 96 local rank = tonumber(redret[2] or -2) + 1 --排名 1 - ... -1 未上榜 没打过pvp
97 local pvpMC = role:getProperty("pvpMC") 97 local pvpMC = role:getProperty("pvpMC")
98 if not next(pvpMC) then --没有分配过对手 98 if not next(pvpMC) then --没有分配过对手
@@ -103,7 +103,7 @@ function _M.infoRpc(agent, data) @@ -103,7 +103,7 @@ function _M.infoRpc(agent, data)
103 103
104 response.score = score 104 response.score = score
105 response.rank = rank 105 response.rank = rank
106 - response.matches = getMatchInfo(pvpMC, _pvpBattleInfoCacheC) 106 + response.matches = getMatchInfo(role, pvpMC, _pvpBattleInfoCacheC)
107 107
108 elseif ptype == 2 then -- 高级pvp 108 elseif ptype == 2 then -- 高级pvp
109 return 109 return
@@ -120,7 +120,7 @@ function _M.refreshMatchCRpc(agent, data) @@ -120,7 +120,7 @@ function _M.refreshMatchCRpc(agent, data)
120 role:refreshPvpMatchC() 120 role:refreshPvpMatchC()
121 121
122 local pvpMC = role:getProperty("pvpMC") 122 local pvpMC = role:getProperty("pvpMC")
123 - local matches = getMatchInfo(pvpMC, _pvpBattleInfoCacheC) 123 + local matches = getMatchInfo(role, pvpMC, _pvpBattleInfoCacheC)
124 124
125 SendPacket(actionCodes.Pvp_refreshMatchCRpc, MsgPack.pack({matches = matches})) 125 SendPacket(actionCodes.Pvp_refreshMatchCRpc, MsgPack.pack({matches = matches}))
126 return true 126 return true
@@ -151,11 +151,15 @@ function _M.startBattleRpc(agent, data) @@ -151,11 +151,15 @@ function _M.startBattleRpc(agent, data)
151 local idx = msg.idx 151 local idx = msg.idx
152 local revenge = msg.revenge 152 local revenge = msg.revenge
153 153
  154 + local pvpTC = role:getProperty("pvpTC")
  155 + if not pvpTC.heros or not next(pvpTC.heros) then return 1 end
  156 +
154 local matchInfo, result, key, wait 157 local matchInfo, result, key, wait
  158 +
155 local now = skynet.timex() 159 local now = skynet.timex()
156 if revenge then --复仇 160 if revenge then --复仇
157 local temp = _pvpRecordInfoCache[idx] 161 local temp = _pvpRecordInfoCache[idx]
158 - if not temp then return end 162 + if not temp then return 2 end
159 163
160 if not _responseRecord[temp.id] or now >= _responseRecord[temp.id] then 164 if not _responseRecord[temp.id] or now >= _responseRecord[temp.id] then
161 if temp.t == 1 then 165 if temp.t == 1 then
@@ -169,7 +173,7 @@ function _M.startBattleRpc(agent, data) @@ -169,7 +173,7 @@ function _M.startBattleRpc(agent, data)
169 end 173 end
170 else --打正常 174 else --打正常
171 local pvpMC = role:getProperty("pvpMC") 175 local pvpMC = role:getProperty("pvpMC")
172 - if not pvpMC[idx] then return end 176 + if not pvpMC[idx] then return 3 end
173 if pvpMC[idx].t == 1 then 177 if pvpMC[idx].t == 1 then
174 matchInfo = _pvpBattleInfoCacheC[pvpMC[idx].id] 178 matchInfo = _pvpBattleInfoCacheC[pvpMC[idx].id]
175 elseif pvpMC[idx].t == 2 then 179 elseif pvpMC[idx].t == 2 then
@@ -177,14 +181,14 @@ function _M.startBattleRpc(agent, data) @@ -177,14 +181,14 @@ function _M.startBattleRpc(agent, data)
177 end 181 end
178 end 182 end
179 183
180 - if not result and not matchInfo then return end 184 + if not result and not matchInfo then return 4 end
181 185
182 if not result then 186 if not result then
183 -- 次数扣一波 187 -- 次数扣一波
184 local pvpFree = role.dailyData:getProperty("pvpFree") 188 local pvpFree = role.dailyData:getProperty("pvpFree")
185 if pvpFree >= globalCsv.pvp_battle_free_count then 189 if pvpFree >= globalCsv.pvp_battle_free_count then
186 local cost = {[ItemId.PvpKey] = 1} 190 local cost = {[ItemId.PvpKey] = 1}
187 - if not role:checkItemEnough(cost) then return end 191 + if not role:checkItemEnough(cost) then return 5 end
188 role:costItems(cost) 192 role:costItems(cost)
189 else 193 else
190 role.dailyData:updateProperty({field = "pvpFree", delta = 1}) 194 role.dailyData:updateProperty({field = "pvpFree", delta = 1})
@@ -192,6 +196,8 @@ function _M.startBattleRpc(agent, data) @@ -192,6 +196,8 @@ function _M.startBattleRpc(agent, data)
192 196
193 key = tostring(math.random()) 197 key = tostring(math.random())
194 _pvpStartBattleCache = {idx = idx, key = key, revenge = revenge} 198 _pvpStartBattleCache = {idx = idx, key = key, revenge = revenge}
  199 +
  200 + role:checkTaskEnter("PvpBattle")
195 end 201 end
196 202
197 SendPacket(actionCodes.Pvp_startBattleRpc, MsgPack.pack({matchInfo = matchInfo, key = key, result = result, wait = wait})) 203 SendPacket(actionCodes.Pvp_startBattleRpc, MsgPack.pack({matchInfo = matchInfo, key = key, result = result, wait = wait}))
@@ -206,7 +212,8 @@ function _M.endBattleRpc(agent, data) @@ -206,7 +212,8 @@ function _M.endBattleRpc(agent, data)
206 if not msg.key or not _pvpStartBattleCache or msg.key ~= _pvpStartBattleCache.key then 212 if not msg.key or not _pvpStartBattleCache or msg.key ~= _pvpStartBattleCache.key then
207 return 1 213 return 1
208 end 214 end
209 - if not msg.idx or not msg.idx ~= _pvpStartBattleCache.idx then 215 +
  216 + if not msg.idx or msg.idx ~= _pvpStartBattleCache.idx then
210 return 2 217 return 2
211 end 218 end
212 219
@@ -275,6 +282,10 @@ function _M.endBattleRpc(agent, data) @@ -275,6 +282,10 @@ function _M.endBattleRpc(agent, data)
275 red:trim(dbKey, 0, 9) 282 red:trim(dbKey, 0, 9)
276 end 283 end
277 end) 284 end)
  285 +
  286 + if isWin then
  287 + role:checkTaskEnter("PvpWin", {score = myScore})
  288 + end
278 289
279 SendPacket(actionCodes.Pvp_endBattleRpc, MsgPack.pack({ 290 SendPacket(actionCodes.Pvp_endBattleRpc, MsgPack.pack({
280 reward = reward, 291 reward = reward,
@@ -301,13 +312,13 @@ function _M.rankListRpc(agent, data) @@ -301,13 +312,13 @@ function _M.rankListRpc(agent, data)
301 red:zrevrank(RANK_PVP_COMMON, roleId) 312 red:zrevrank(RANK_PVP_COMMON, roleId)
302 red:zrevrange(RANK_PVP_COMMON, 0, 99, "WITHSCORES") 313 red:zrevrange(RANK_PVP_COMMON, 0, 99, "WITHSCORES")
303 end) 314 end)
304 - local score = tonumber(redret[1] or 0) 315 + local score = role:unpackPvpScore(redret[1] or 0)
305 local rank = tonumber(redret[2] or -2) + 1 --排名 1 - ... -1 未上榜 没打过pvp 316 local rank = tonumber(redret[2] or -2) + 1 --排名 1 - ... -1 未上榜 没打过pvp
306 317
307 local rankList = {} 318 local rankList = {}
308 for i = 1, #redret[3], 2 do 319 for i = 1, #redret[3], 2 do
309 local roleId = tonumber(redret[i]) 320 local roleId = tonumber(redret[i])
310 - local score = tonumber(redret[i + 1]) 321 + local score = role:unpackPvpScore(redret[i + 1])
311 local online, curInfo = rpcRole(roleId, "friendSInfo") 322 local online, curInfo = rpcRole(roleId, "friendSInfo")
312 curInfo.score = score 323 curInfo.score = score
313 curInfo.roleId = roleId 324 curInfo.roleId = roleId
@@ -345,7 +356,7 @@ function _M.recordListRpc(agent, data) @@ -345,7 +356,7 @@ function _M.recordListRpc(agent, data)
345 end 356 end
346 _pvpRecordInfoCache = tempList 357 _pvpRecordInfoCache = tempList
347 358
348 - recordList = getMatchInfo(tempList, _pvpRecordBattleInfoCache) 359 + recordList = getMatchInfo(role, tempList, _pvpRecordBattleInfoCache)
349 for idx, info in ipairs(recordList) do 360 for idx, info in ipairs(recordList) do
350 local temp = tempList[idx] 361 local temp = tempList[idx]
351 info.win = temp.win 362 info.win = temp.win
src/models/RolePlugin.lua
@@ -835,18 +835,19 @@ function RolePlugin.bind(Role) @@ -835,18 +835,19 @@ function RolePlugin.bind(Role)
835 end 835 end
836 836
837 function Role:getTeamBattleValue(heros) 837 function Role:getTeamBattleValue(heros)
838 - local battleV = 0  
839 - for _, heroId in pairs(heros or {}) do  
840 - local hero = self.heros[heroId]  
841 - battleV = battleV + hero:getProperty("battleV")  
842 - end  
843 - return battleV 838 + -- local battleV = 0
  839 + -- for _, heroId in pairs(heros or {}) do
  840 + -- local hero = self.heros[heroId]
  841 + -- battleV = battleV + hero:getProperty("battleV")
  842 + -- end
  843 + -- return battleV
  844 + return self:getRealBattleValue(heros)
844 end 845 end
845 846
846 -- 不传参数 只修改保存的阵容信息 847 -- 不传参数 只修改保存的阵容信息
847 function Role:saveHangTeam(team) 848 function Role:saveHangTeam(team)
848 if not team then 849 if not team then
849 - team = self:getProperty("pvpTSC") 850 + team = self:getProperty("hangTeam")
850 else 851 else
851 self:updateProperty({field = "hangTeam", value = team}) 852 self:updateProperty({field = "hangTeam", value = team})
852 end 853 end
@@ -859,9 +860,9 @@ function RolePlugin.bind(Role) @@ -859,9 +860,9 @@ function RolePlugin.bind(Role)
859 860
860 function Role:savePvpCTeam(team) 861 function Role:savePvpCTeam(team)
861 if not team then 862 if not team then
862 - team = self:getProperty("pvpTSC") 863 + team = self:getProperty("pvpTC")
863 else 864 else
864 - self:updateProperty({field = "pvpTSC", value = team}) 865 + self:updateProperty({field = "pvpTC", value = team})
865 end 866 end
866 self:setProperties({ 867 self:setProperties({
867 pvpTSC = self:getTeamHerosInfo(team.heros), 868 pvpTSC = self:getTeamHerosInfo(team.heros),
src/models/RolePvp.lua
@@ -8,17 +8,17 @@ local PVP_RANK_TIME_SORT_PLACE = 1000000 -- 时间戳占据 6位数 @@ -8,17 +8,17 @@ local PVP_RANK_TIME_SORT_PLACE = 1000000 -- 时间戳占据 6位数
8 local PVP_RANK_TIME_SORT_PRECISION = 360 -- 时间精度 每6分钟忽略差异 8 local PVP_RANK_TIME_SORT_PRECISION = 360 -- 时间精度 每6分钟忽略差异
9 local PVP_RANK_ROBOT_SCORE = 1000 -- 机器人积分 9 local PVP_RANK_ROBOT_SCORE = 1000 -- 机器人积分
10 10
11 -local function unpackScore(score) 11 +
  12 +function Role:unpackPvpScore(score)
12 score = tonumber(score or 0) 13 score = tonumber(score or 0)
13 return math.floor(score / PVP_RANK_TIME_SORT_PLACE) 14 return math.floor(score / PVP_RANK_TIME_SORT_PLACE)
14 end 15 end
15 16
16 -local function packScore(score, now) 17 +function Role:packPvpScore(score, now)
17 now = now or skynet.timex() 18 now = now or skynet.timex()
18 return math.floor(score * PVP_RANK_TIME_SORT_PLACE + (PVP_RANK_TIME_SORT_STD - now) / PVP_RANK_TIME_SORT_PRECISION) 19 return math.floor(score * PVP_RANK_TIME_SORT_PLACE + (PVP_RANK_TIME_SORT_STD - now) / PVP_RANK_TIME_SORT_PRECISION)
19 end 20 end
20 21
21 -  
22 function Role:changePvpScoreCommon(matchId, isWin) 22 function Role:changePvpScoreCommon(matchId, isWin)
23 local roleId = self:getProperty("id") 23 local roleId = self:getProperty("id")
24 local isPlayer = matchId ~= -1 24 local isPlayer = matchId ~= -1
@@ -29,11 +29,11 @@ function Role:changePvpScoreCommon(matchId, isWin) @@ -29,11 +29,11 @@ function Role:changePvpScoreCommon(matchId, isWin)
29 red:zscore(RANK_PVP_COMMON, matchId) 29 red:zscore(RANK_PVP_COMMON, matchId)
30 end 30 end
31 end) 31 end)
32 - local myScore = unpackScore(redret[1]) 32 + local myScore = self:unpackPvpScore(redret[1])
33 local oldMyRank = tonumber(redret[2] or -2) + 1 33 local oldMyRank = tonumber(redret[2] or -2) + 1
34 local matchScore = PVP_RANK_ROBOT_SCORE 34 local matchScore = PVP_RANK_ROBOT_SCORE
35 if isPlayer then 35 if isPlayer then
36 - matchScore = unpackScore(redret[3]) 36 + matchScore = self:unpackPvpScore(redret[3])
37 end 37 end
38 local oldmyScore, oldMatchScore = myScore, matchScore 38 local oldmyScore, oldMatchScore = myScore, matchScore
39 39
@@ -52,9 +52,9 @@ function Role:changePvpScoreCommon(matchId, isWin) @@ -52,9 +52,9 @@ function Role:changePvpScoreCommon(matchId, isWin)
52 52
53 local now = skynet.timex() 53 local now = skynet.timex()
54 redisproxy:pipelining(function(red) 54 redisproxy:pipelining(function(red)
55 - red:zadd(RANK_PVP_COMMON, packScore(myScore, now), roleId) 55 + red:zadd(RANK_PVP_COMMON, self:packPvpScore(myScore, now), roleId)
56 if isPlayer then 56 if isPlayer then
57 - red:zadd(RANK_PVP_COMMON, packScore(matchScore, now), matchId) 57 + red:zadd(RANK_PVP_COMMON, self:packPvpScore(matchScore, now), matchId)
58 end 58 end
59 red:zrevrank(RANK_PVP_COMMON, roleId) 59 red:zrevrank(RANK_PVP_COMMON, roleId)
60 end) 60 end)
@@ -70,7 +70,7 @@ end @@ -70,7 +70,7 @@ end
70 70
71 function Role:refreshPvpMatchC(score) 71 function Role:refreshPvpMatchC(score)
72 local roleId = self:getProperty("id") 72 local roleId = self:getProperty("id")
73 - local score = score or redisproxy:zscore(RANK_PVP_COMMON, roleId) or 0 73 + local score = score or self:unpackPvpScore(redisproxy:zscore(RANK_PVP_COMMON, roleId))
74 74
75 local function getPlayers(levels) 75 local function getPlayers(levels)
76 local redret = redisproxy:pipelining(function(red) 76 local redret = redisproxy:pipelining(function(red)
src/models/RoleTask.lua
@@ -65,22 +65,25 @@ local TaskType = { @@ -65,22 +65,25 @@ local TaskType = {
65 OpenBox = 702, -- 拆解时间箱 65 OpenBox = 702, -- 拆解时间箱
66 66
67 67
  68 + -- pvp相关
  69 + PvpWin = 751, -- pvp胜利 - score
  70 + PvpBattle = 752, -- pvp挑战
  71 +
  72 + --好友相关
  73 + GiveFriendP = 801, -- 赠送友情点 - count
  74 + AddFriend = 802, -- 加入一个好友 - count
  75 + GetFriendP = 803, -- 获得友情点 - count
  76 +
68 --功能未实现 todo 77 --功能未实现 todo
69 - PvpWin = 1000, -- pvp胜利 - score  
70 - PvpBattle = 1001, -- pvp挑战  
71 AdvShop = 1002, -- 冒险商城 78 AdvShop = 1002, -- 冒险商城
72 - GiveFriendP = 1003, -- 赠送友情点  
73 UnionBoss = 1004, -- 工会boss 79 UnionBoss = 1004, -- 工会boss
74 UnionBattle = 1005, -- 工会战 80 UnionBattle = 1005, -- 工会战
75 AddUnion = 1006, -- 加入一个公会 81 AddUnion = 1006, -- 加入一个公会
76 - AddFriend = 1007, -- 加入一个好友 - count  
77 BindPhone = 1008, -- 绑定手机 82 BindPhone = 1008, -- 绑定手机
78 WeChat = 1009, -- 关注微信 83 WeChat = 1009, -- 关注微信
79 WeBlog = 1010, -- 关注微博 84 WeBlog = 1010, -- 关注微博
80 SignIn = 1011, -- 签到 85 SignIn = 1011, -- 签到
81 - GetFriendP = 1012, -- 获得友情点 - count  
82 ShopAll = 1013, -- 在任意商店购买 86 ShopAll = 1013, -- 在任意商店购买
83 -  
84 } 87 }
85 88
86 local function v(value) 89 local function v(value)
@@ -126,7 +129,7 @@ local CommonListener = { @@ -126,7 +129,7 @@ local CommonListener = {
126 [TaskType.HeroLevelUp] = {{v(17)}}, 129 [TaskType.HeroLevelUp] = {{v(17)}},
127 [TaskType.Wake] = {{v(18)}}, 130 [TaskType.Wake] = {{v(18)}},
128 [TaskType.EquipUp] = {{v(19), f("count")}}, 131 [TaskType.EquipUp] = {{v(19), f("count")}},
129 - [TaskType.GiveFriendP] = {{v(20)}}, 132 + [TaskType.GiveFriendP] = {{v(20), f("count")}},
130 [TaskType.UnionBoss] = {{v(21)}}, 133 [TaskType.UnionBoss] = {{v(21)}},
131 [TaskType.GetFriendP] = {{v(22), f("count")}}, 134 [TaskType.GetFriendP] = {{v(22), f("count")}},
132 [TaskType.BonusPass] = {{v(23)}}, 135 [TaskType.BonusPass] = {{v(23)}},