d763fb14
zhouhaihai
签到 九宫格
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
local ipairs = ipairs
local table = table
local math = math
local string = string
local redisproxy = redisproxy
local MsgPack = MsgPack
local string_format = string.format
local tonumber = tonumber
local table_insert = table.insert
local table_unpack = table.unpack
local table_find = table.find
local table_nums = table.nums
local math_random = math.randomInt
local _M = {}
function _M.sudokuRpc(agent, data)
local role = agent.role
local msg = MsgPack.unpack(data)
local id = msg.id
local sudoku = role:getProperty("sudoku")
local phase = sudoku[-1] or 1
local curData = (csvdb["guide_sudokuCsv"][phase] or {})[id]
if phase == -1 or not curData then return 1 end
sudoku.task = sudoku.task or {}
sudoku.task[phase] = sudoku.task[phase] or {}
if (sudoku.task[phase][id] or 0) < curData.con1 then return 2 end
sudoku.task[phase][id] = -1
|
7bb30dca
zhouhaihai
修改发奖
|
35
|
local task, tchange = role:award(curData.reward, {log = {desc = "sudoku", int1 = id, int2 = phase}}) -- 任务奖励
|
d763fb14
zhouhaihai
签到 九宫格
|
36
|
|
7bb30dca
zhouhaihai
修改发奖
|
37
|
local reward, rchange = {}
|
d763fb14
zhouhaihai
签到 九宫格
|
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
local rId = {}
for pid, pdata in pairs(csvdb["guide_sudoku_rewardCsv"][phase] or {}) do
local pos = pdata.pos:toArray(true, "=")
local ok, is = true, false
for _, one in pairs(pos) do
if one == id then
is = true
end
if sudoku.task[phase][one] ~= -1 then
ok = false
break
end
end
if ok and is then
for itemId, count in pairs(pdata.reward:toNumMap()) do
reward[itemId] = (reward[itemId] or 0) + count
end
table.insert(rId, pid)
end
end
if not next(reward) then
reward = nil
else
|
7bb30dca
zhouhaihai
修改发奖
|
63
|
reward, rchange = role:award(reward, {log = {desc = "sudokuR", int1 = id, int2 = phase}})
|
d763fb14
zhouhaihai
签到 九宫格
|
64
65
66
67
|
end
role:updateProperty({field = "sudoku", value = sudoku})
|
c59e058b
zhouhaihai
新一批日志记录
|
68
69
70
|
role:log("activity", {
activity_id = id, -- 活动ID(或活动指定任务的ID)
activity_type = 0, -- 活动类型,见活动类型枚举表
|
56c7a1c5
liuzujun
修改报错,下载cv奖励记录字段
|
71
|
activity_reward = reward or {}, -- 活动奖励,json格式记录,{'itemid1':123,'itemid2':456,………...}
|
c59e058b
zhouhaihai
新一批日志记录
|
72
|
})
|
f22a33af
zhouhaihai
自己的日志
|
73
|
role:mylog("act_action", {desc = "sudoku", int1 = id, int2 = phase})
|
d763fb14
zhouhaihai
签到 九宫格
|
74
|
|
7bb30dca
zhouhaihai
修改发奖
|
75
|
SendPacket(actionCodes.Activity_sudokuRpc, MsgPack.pack({task = role:packReward(task, tchange), reward = role:packReward(reward, rchange), rId = rId}))
|
d763fb14
zhouhaihai
签到 九宫格
|
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
return true
end
function _M.sudokuRewardRpc(agent, data)
local role = agent.role
local sudoku = role:getProperty("sudoku")
local phase = sudoku[-1] or 1
local curData = csvdb["guide_sudokuCsv"][phase]
if not curData then return end
if not globalCsv.guide_sudoku_reward[phase] then return end
local curTask = (sudoku.task or {})[phase] or {}
for id, _ in pairs(curData) do
if curTask[id] ~= -1 then
return
end
end
|
7bb30dca
zhouhaihai
修改发奖
|
98
|
local reward, change = role:award(globalCsv.guide_sudoku_reward[phase], {log = {desc = "sudokuRP", int1 = phase}})
|
d763fb14
zhouhaihai
签到 九宫格
|
99
100
101
102
103
104
105
106
107
|
sudoku[-1] = phase + 1
sudoku.task[phase] = nil
if not csvdb["guide_sudokuCsv"][sudoku[-1]] then
sudoku[-1] = -1
sudoku.task = nil
end
role:updateProperty({field = "sudoku", value = sudoku})
|
c59e058b
zhouhaihai
新一批日志记录
|
108
109
110
|
role:log("activity", {
activity_id = 10000 + phase, -- 活动ID(或活动指定任务的ID)
activity_type = 0, -- 活动类型,见活动类型枚举表
|
887c1843
zhouhaihai
日志新一批
|
111
|
activity_reward = reward, -- 活动奖励,json格式记录,{'itemid1':123,'itemid2':456,………...}
|
c59e058b
zhouhaihai
新一批日志记录
|
112
113
|
})
|
7bb30dca
zhouhaihai
修改发奖
|
114
|
SendPacket(actionCodes.Activity_sudokuRewardRpc, MsgPack.pack(role:packReward(reward, change)))
|
d763fb14
zhouhaihai
签到 九宫格
|
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
return true
end
function _M.signRpc(agent, data)
local role = agent.role
local serverT = skynet.timex()
local tm = os.date("*t", serverT)
local curDay = tm.day
local yearMonth = tm.year * 100 + tm.month
local monthData = csvdb["daily_signInCsv"][yearMonth]
if not monthData or not monthData[curDay] then
return 1
end
local signs = role:getProperty("sign")
if signs[curDay] == yearMonth then -- 未重置的还可以签到正常(本月已经签到)
return 2
end
signs[curDay] = yearMonth
|
7bb30dca
zhouhaihai
修改发奖
|
139
|
local reward, change = role:award(monthData[curDay].item, {log = {desc = "sign", int1 = yearMonth, int2 = curDay}})
|
d763fb14
zhouhaihai
签到 九宫格
|
140
|
role:changeUpdates({{type = "sign", field = curDay, value = yearMonth}})
|
e7806e6f
zhouhaihai
签到成就
|
141
|
role:checkTaskEnter("SignIn")
|
d763fb14
zhouhaihai
签到 九宫格
|
142
|
|
7bb30dca
zhouhaihai
修改发奖
|
143
|
SendPacket(actionCodes.Activity_signRpc, MsgPack.pack(role:packReward(reward, change)))
|
d763fb14
zhouhaihai
签到 九宫格
|
144
145
146
147
|
return true
end
|
ea40710f
zhouhaihai
活动
|
148
149
|
function _M.actSignRpc(agent, data)
local role = agent.role
|
be4e8031
zhouhaihai
活动 拾荒
|
150
|
if not role.activity:isOpen("Sign") then return 1 end
|
ea40710f
zhouhaihai
活动
|
151
152
|
local curData = role.activity:getActData("Sign")
|
7bb30dca
zhouhaihai
修改发奖
|
153
|
local reward, change = {}
|
be4e8031
zhouhaihai
活动 拾荒
|
154
|
for day, csvData in ipairs(csvdb["new_signInCsv"]) do
|
ea40710f
zhouhaihai
活动
|
155
156
157
158
159
160
161
162
163
164
165
166
167
|
if day <= (curData[0] or 0) then
if not curData[day] then
curData[day] = -1
-- 奖励
for itemId, count in pairs(csvData.reward:toNumMap()) do
reward[itemId] = (reward[itemId] or 0) + count
end
end
else
break
end
end
if next(reward) then
|
be4e8031
zhouhaihai
活动 拾荒
|
168
|
role.activity:updateActData("Sign", curData)
|
7bb30dca
zhouhaihai
修改发奖
|
169
|
reward, change = role:award(reward, {log = {desc = "actSign"}})
|
ea40710f
zhouhaihai
活动
|
170
|
end
|
c59e058b
zhouhaihai
新一批日志记录
|
171
172
173
174
|
role:log("activity", {
activity_id = curData[0], -- 活动ID(或活动指定任务的ID)
activity_type = role.activity.ActivityType.Sign, -- 活动类型,见活动类型枚举表
|
887c1843
zhouhaihai
日志新一批
|
175
|
activity_reward = reward, -- 活动奖励,json格式记录,{'itemid1':123,'itemid2':456,………...}
|
c59e058b
zhouhaihai
新一批日志记录
|
176
177
|
})
|
7bb30dca
zhouhaihai
修改发奖
|
178
|
SendPacket(actionCodes.Activity_actSignRpc, MsgPack.pack(role:packReward(reward, change)))
|
ea40710f
zhouhaihai
活动
|
179
180
181
|
return true
end
|
d763fb14
zhouhaihai
签到 九宫格
|
182
|
|
51d9d20b
liuzujun
付费签到,应用市场反馈
|
183
184
185
|
function _M.actPaySignRpc(agent, data)
local role = agent.role
local msg = MsgPack.unpack(data)
|
460afa6e
liuzujun
付费签到改为主动领取,战斗关卡不一...
|
186
|
local dayIndex = msg.day
|
51d9d20b
liuzujun
付费签到,应用市场反馈
|
187
188
|
local actGoodsFlag = role.storeData:getProperty("actGoodsFlag")
local index = GetActGoodsIndex("paySignIn")
|
460afa6e
liuzujun
付费签到改为主动领取,战斗关卡不一...
|
189
190
|
local ts = actGoodsFlag[index] or 0
if ts == 0 then return 1 end
|
51d9d20b
liuzujun
付费签到,应用市场反馈
|
191
|
|
460afa6e
liuzujun
付费签到改为主动领取,战斗关卡不一...
|
192
193
|
local open, actId = role.activity:isOpen("PaySignIn")
if not open then return 2 end
|
51d9d20b
liuzujun
付费签到,应用市场反馈
|
194
|
|
460afa6e
liuzujun
付费签到改为主动领取,战斗关卡不一...
|
195
|
local diffDay = diffFromTs(ts) + 1
|
51d9d20b
liuzujun
付费签到,应用市场反馈
|
196
197
|
local curData = role.activity:getActData("PaySignIn")
|
b1644d3b
liuzujun
付费签到天数bug
|
198
|
if not curData then return 3 end
|
51d9d20b
liuzujun
付费签到,应用市场反馈
|
199
200
|
local reward, change = {}
for day, csvData in ipairs(csvdb["pay_signInCsv"]) do
|
460afa6e
liuzujun
付费签到改为主动领取,战斗关卡不一...
|
201
|
if day <= diffDay and day == dayIndex then
|
51d9d20b
liuzujun
付费签到,应用市场反馈
|
202
203
204
205
206
207
208
|
if not curData[day] then
curData[day] = 1
-- 奖励
for itemId, count in pairs(csvData.reward:toNumMap()) do
reward[itemId] = (reward[itemId] or 0) + count
end
end
|
460afa6e
liuzujun
付费签到改为主动领取,战斗关卡不一...
|
209
210
|
--else
-- break
|
51d9d20b
liuzujun
付费签到,应用市场反馈
|
211
212
213
214
215
216
217
218
|
end
end
if next(reward) then
role.activity:updateActData("PaySignIn", curData)
reward, change = role:award(reward, {log = {desc = "actPaySign"}})
end
role:log("activity", {
|
460afa6e
liuzujun
付费签到改为主动领取,战斗关卡不一...
|
219
|
activity_id = actId, -- 活动ID(或活动指定任务的ID)
|
51d9d20b
liuzujun
付费签到,应用市场反馈
|
220
221
222
223
224
225
226
|
activity_type = role.activity.ActivityType.PaySignIn, -- 活动类型,见活动类型枚举表
activity_reward = reward, -- 活动奖励,json格式记录,{'itemid1':123,'itemid2':456,………...}
})
SendPacket(actionCodes.Activity_actPaySignRpc, MsgPack.pack(role:packReward(reward, change)))
return true
end
|
d763fb14
zhouhaihai
签到 九宫格
|
227
|
|
4bd3095f
liuzujun
英雄帖任务bug
|
228
|
function _M.actCalendaTaskRpc(agent, data)
|
190e1415
liuzujun
英雄帖活动初始化
|
229
230
231
|
local role = agent.role
local msg = MsgPack.unpack(data)
local taskId = msg.id
|
4bd3095f
liuzujun
英雄帖任务bug
|
232
|
local calTask = role:getProperty("calTask") or {}
|
190e1415
liuzujun
英雄帖活动初始化
|
233
234
235
236
237
238
239
240
|
local record = calTask["r"] or {}
local flag = record[taskId] or 0
if flag == 1 then return 1 end
local open, actId = role.activity:isOpen("CalendaTask")
local actData = csvdb["activity_ctrlCsv"][actId]
if not open then return 2 end
if not actData then return 3 end
|
4bd3095f
liuzujun
英雄帖任务bug
|
241
242
243
244
245
|
local taskList = csvdb["activity_taskCsv"][actData.condition]
if not taskList then return 4 end
local taskCfg = taskList[taskId]
if not taskCfg then return 5 end
if taskCfg.key ~= actData.condition then return 6 end
|
190e1415
liuzujun
英雄帖活动初始化
|
246
|
|
4bd3095f
liuzujun
英雄帖任务bug
|
247
|
if (calTask[taskId] or 0) < taskCfg.condition1 then return 7 end
|
190e1415
liuzujun
英雄帖活动初始化
|
248
249
250
251
|
record[taskId] = 1
calTask["r"] = record
|
4bd3095f
liuzujun
英雄帖任务bug
|
252
|
role:updateProperty({field = "calTask", value = calTask})
|
190e1415
liuzujun
英雄帖活动初始化
|
253
|
|
4bd3095f
liuzujun
英雄帖任务bug
|
254
|
local reward, change = role:award(taskCfg.reward, {log = {desc = "calendaTask"}})
|
190e1415
liuzujun
英雄帖活动初始化
|
255
256
257
258
259
260
261
262
|
role:log("activity", {
activity_id = taskId, -- 活动ID(或活动指定任务的ID)
activity_type = role.activity.ActivityType.CalendaTask, -- 活动类型,见活动类型枚举表
activity_reward = reward, -- 活动奖励,json格式记录,{'itemid1':123,'itemid2':456,………...}
})
SendPacket(actionCodes.Activity_actCalendaTaskRpc, MsgPack.pack(role:packReward(reward, change)))
|
4bd3095f
liuzujun
英雄帖任务bug
|
263
|
return true
|
190e1415
liuzujun
英雄帖活动初始化
|
264
265
|
end
|
d763fb14
zhouhaihai
签到 九宫格
|
266
|
return _M
|