Commit a0013f0b66f36f14f252f5c4599c849360ceec23
1 parent
ffe27b94
零件分批推送
Showing
2 changed files
with
32 additions
and
7 deletions
Show diff stats
src/actions/GmAction.lua
@@ -55,7 +55,7 @@ function _M.get(role, pms) | @@ -55,7 +55,7 @@ function _M.get(role, pms) | ||
55 | elseif pms.pm1 == "RUNE" then | 55 | elseif pms.pm1 == "RUNE" then |
56 | for itemId = 2000 , 3000 do | 56 | for itemId = 2000 , 3000 do |
57 | if csvdb["itemCsv"][itemId] then | 57 | if csvdb["itemCsv"][itemId] then |
58 | - role:award({[itemId] = 3}) | 58 | + role:award({[itemId] = 1}) |
59 | end | 59 | end |
60 | end | 60 | end |
61 | elseif pms.pm1 == "FRAG" then | 61 | elseif pms.pm1 == "FRAG" then |
src/actions/RoleAction.lua
@@ -15,6 +15,7 @@ local tconcat = table.concat | @@ -15,6 +15,7 @@ local tconcat = table.concat | ||
15 | local httpc = require("http.httpc") | 15 | local httpc = require("http.httpc") |
16 | 16 | ||
17 | local WAVE_HERO_NUMS = 150 | 17 | local WAVE_HERO_NUMS = 150 |
18 | +local WAVE_RUNE_NUMS = 150 | ||
18 | 19 | ||
19 | local function validName(name) | 20 | local function validName(name) |
20 | name = string.upper(name) | 21 | name = string.upper(name) |
@@ -141,6 +142,16 @@ function _M.loginRpc( agent, data ) | @@ -141,6 +142,16 @@ function _M.loginRpc( agent, data ) | ||
141 | table_insert(modules, "heros") | 142 | table_insert(modules, "heros") |
142 | end | 143 | end |
143 | 144 | ||
145 | + local runeIds = {} | ||
146 | + for id ,_ in pairs(role.runeBag) do | ||
147 | + table.insert(runeIds, id) | ||
148 | + end | ||
149 | + local runeWave = math.ceil(#runeIds / WAVE_RUNE_NUMS) | ||
150 | + if #runeIds <= 50 then | ||
151 | + runeWave = 0 | ||
152 | + table_insert(modules, "runeBag") | ||
153 | + end | ||
154 | + | ||
144 | for _, name in ipairs(modules) do | 155 | for _, name in ipairs(modules) do |
145 | response[name] = {} | 156 | response[name] = {} |
146 | for id, unit in pairs(role[name]) do | 157 | for id, unit in pairs(role[name]) do |
@@ -148,18 +159,31 @@ function _M.loginRpc( agent, data ) | @@ -148,18 +159,31 @@ function _M.loginRpc( agent, data ) | ||
148 | end | 159 | end |
149 | end | 160 | end |
150 | 161 | ||
151 | - response.wave = 2 + heroWave | 162 | + response.wave = 1 + heroWave + runeWave |
152 | 163 | ||
153 | SendPacket(actionCodes.Role_loginRpc, MsgPack.pack(response)) | 164 | SendPacket(actionCodes.Role_loginRpc, MsgPack.pack(response)) |
154 | 165 | ||
155 | - local runeResp = {runeBag = {}} | ||
156 | - for _,rune in pairs(role.runeBag) do | ||
157 | - runeResp.runeBag[rune:getProperty("uid")]=rune:data() | 166 | + local curWave = 1 |
167 | + | ||
168 | + local runeIndex = 1 | ||
169 | + for index = curWave + 1, curWave + runeWave do | ||
170 | + local runeResponse = {runeBag = {}} | ||
171 | + for i = runeIndex, runeIndex + WAVE_RUNE_NUMS do | ||
172 | + local runeId = runeIds[i] | ||
173 | + if not runeId then | ||
174 | + break | ||
175 | + end | ||
176 | + local rune = role.runeBag[runeId] | ||
177 | + table.insert(runeResponse.runeBag, rune:data()) | ||
178 | + runeIndex = runeIndex + 1 | ||
179 | + end | ||
180 | + runeResponse.runeWave = index | ||
181 | + SendPacket(actionCodes.Role_loginRpc, MsgPack.pack(runeResponse)) | ||
158 | end | 182 | end |
159 | - SendPacket(actionCodes.Role_loginRpc, MsgPack.pack(runeResp)) | 183 | + curWave = curWave + runeWave |
160 | 184 | ||
161 | local heroIndex = 1 | 185 | local heroIndex = 1 |
162 | - for index = 3, heroWave + 2 do | 186 | + for index = curWave + 1, curWave + heroWave do |
163 | local heroResponse = {heros = {}} | 187 | local heroResponse = {heros = {}} |
164 | for i = heroIndex, heroIndex + WAVE_HERO_NUMS do | 188 | for i = heroIndex, heroIndex + WAVE_HERO_NUMS do |
165 | local heroId = heroIds[i] | 189 | local heroId = heroIds[i] |
@@ -173,6 +197,7 @@ function _M.loginRpc( agent, data ) | @@ -173,6 +197,7 @@ function _M.loginRpc( agent, data ) | ||
173 | heroResponse.heroWave = index | 197 | heroResponse.heroWave = index |
174 | SendPacket(actionCodes.Role_loginRpc, MsgPack.pack(heroResponse)) | 198 | SendPacket(actionCodes.Role_loginRpc, MsgPack.pack(heroResponse)) |
175 | end | 199 | end |
200 | + curWave = curWave + heroWave | ||
176 | 201 | ||
177 | -- role:log("login", { ip = agent.ip, diamond = role:getProperty("diamond"), reDiamond = role:getProperty("reDiamond")}) | 202 | -- role:log("login", { ip = agent.ip, diamond = role:getProperty("diamond"), reDiamond = role:getProperty("reDiamond")}) |
178 | 203 |