Commit 79b0326094caee89462735d3c213bb263c2afb21
Merge branch 'cn/develop' into cn/publish/preview
Showing
5 changed files
with
78 additions
and
50 deletions
Show diff stats
src/actions/GmAction.lua
| ... | ... | @@ -1152,4 +1152,14 @@ function _M.decrePayR(role, pms) |
| 1152 | 1152 | return "指令成功" |
| 1153 | 1153 | end |
| 1154 | 1154 | |
| 1155 | +function _M.draw_code(role, pms) | |
| 1156 | + local code = pms.pm1 | |
| 1157 | + if type(code) ~= "string" then return -2 end | |
| 1158 | + if code:find("[^0-9a-zA-Z]") then return -3 end | |
| 1159 | + | |
| 1160 | + local ret, _, _= role:getCodeGift(code) | |
| 1161 | + return ret | |
| 1162 | +end | |
| 1163 | + | |
| 1164 | + | |
| 1155 | 1165 | return _M |
| 1156 | 1166 | \ No newline at end of file | ... | ... |
src/actions/HangAction.lua
| ... | ... | @@ -570,18 +570,18 @@ function _M.buyBonusCountRpc(agent, data) |
| 570 | 570 | |
| 571 | 571 | local bonusC = role.dailyData:getProperty("bonusC") |
| 572 | 572 | local extraCnt = role.storeData:getBonusExtraFightCount() |
| 573 | - bonusC[btype] = bonusC[btype] or {c = 0, b = 0} | |
| 573 | + --bonusC[btype] = bonusC[btype] or {c = 0, b = 0} | |
| 574 | 574 | --local lastCount = (globalCsv.bonus_daily_buy_count + role:getBnousChangeBuyCount()) * coef + extraCnt - bonusC[btype]["b"] |
| 575 | 575 | --if math.illegalNum(count, 1, lastCount) then return 1 end |
| 576 | 576 | |
| 577 | - local costCount = bonusC[btype]["b"] + count | |
| 577 | + local costCount = (bonusC["b"] or 0 )+ count | |
| 578 | 578 | local cost = table.findMinKeyByIndex(globalCsv.bonus_buy_cost, costCount, 1) |
| 579 | 579 | |
| 580 | 580 | if not role:checkItemEnough({[ItemId.Jade] = cost}) then return 2 end |
| 581 | 581 | |
| 582 | 582 | role:costItems({[ItemId.Jade] = cost}, {log = {desc = "buyBonusCount", int1 = btype, int2 = count}}) |
| 583 | - bonusC[btype]["b"] = costCount | |
| 584 | - bonusC[btype]["c"] = bonusC[btype]["c"] - count | |
| 583 | + bonusC["b"] = costCount | |
| 584 | + bonusC["c"] = (bonusC["c"] or 0) - count | |
| 585 | 585 | |
| 586 | 586 | role.dailyData:updateProperty({field = "bonusC", value = bonusC}) |
| 587 | 587 | |
| ... | ... | @@ -664,7 +664,7 @@ function _M.startBonusBattleRpc(agent, data) |
| 664 | 664 | |
| 665 | 665 | if bonusStar[id] and bonusStar[id] >= (1 << #bonusData.sweep_condition:toTableArray(true)) - 1 then |
| 666 | 666 | local bonusC = role.dailyData:getProperty("bonusC") |
| 667 | - bonusC[bonusData.type] = bonusC[bonusData.type] or {c = 0, b = 0} | |
| 667 | + --bonusC[bonusData.type] = bonusC[bonusData.type] or {c = 0, b = 0} | |
| 668 | 668 | |
| 669 | 669 | local actData = csvdb["activity_ctrlCsv"][actId] |
| 670 | 670 | local extraCnt = role.storeData:getBonusExtraFightCount() |
| ... | ... | @@ -672,9 +672,9 @@ function _M.startBonusBattleRpc(agent, data) |
| 672 | 672 | if open and actData then |
| 673 | 673 | coef = tonumber(actData.condition2) |
| 674 | 674 | end |
| 675 | - if math.illegalNum(count, 1, (globalCsv.bonus_daily_count + role:getBnousChangeBaseCount()) * coef + extraCnt - bonusC[bonusData.type]["c"]) then return 7 end | |
| 675 | + if math.illegalNum(count, 1, (globalCsv.bonus_daily_count + role:getBnousChangeBaseCount()) * coef + extraCnt - (bonusC["c"] or 0)) then return 7 end | |
| 676 | 676 | |
| 677 | - bonusC[bonusData.type]["c"] = bonusC[bonusData.type]["c"] + count | |
| 677 | + bonusC["c"] = (bonusC["c"] or 0) + count | |
| 678 | 678 | role.dailyData:updateProperty({field = "bonusC", value = bonusC}) |
| 679 | 679 | |
| 680 | 680 | local reward, change = bonusWinReward(role, bonusData, 3, count, true) | ... | ... |
src/actions/RoleAction.lua
| ... | ... | @@ -1240,6 +1240,12 @@ function _M.chatRpc(agent, data) |
| 1240 | 1240 | return |
| 1241 | 1241 | end |
| 1242 | 1242 | |
| 1243 | + local dailyChatTimes = role.dailyData:getProperty("chatTimes") | |
| 1244 | + if dailyChatTimes > (globalCsv.chat_world_day_limit or 15) then | |
| 1245 | + result = 4 | |
| 1246 | + return | |
| 1247 | + end | |
| 1248 | + | |
| 1243 | 1249 | role._worldChatLimit = role._worldChatLimit or {start = 0, count = 0, canSayt = 0} --第一次开始说话时间 从第一次说话次数 能说话的时间 |
| 1244 | 1250 | |
| 1245 | 1251 | if now < role._worldChatLimit.canSayt then |
| ... | ... | @@ -1268,6 +1274,8 @@ function _M.chatRpc(agent, data) |
| 1268 | 1274 | else |
| 1269 | 1275 | mcast_util.pub_world(actionCodes.Role_chat, MsgPack.pack(response)) |
| 1270 | 1276 | end |
| 1277 | + dailyChatTimes = dailyChatTimes + 1 | |
| 1278 | + role.dailyData:updateProperty({field="chatTimes", value=dailyChatTimes}) | |
| 1271 | 1279 | -- pcall(skynet.send, '.globald', "lua", "sendWorldMsg", role._channelIdx, response) |
| 1272 | 1280 | role:mylog("role_action", {desc = "chatWorld", text1 = content}) |
| 1273 | 1281 | end, |
| ... | ... | @@ -1355,53 +1363,23 @@ end |
| 1355 | 1363 | |
| 1356 | 1364 | function _M.drawCodeRpc(agent, data) |
| 1357 | 1365 | local msg = MsgPack.unpack(data) |
| 1358 | - local codeurl = skynet.getenv("codeurl") | |
| 1359 | 1366 | local role = agent.role |
| 1360 | - local msg = MsgPack.unpack(data) | |
| 1361 | 1367 | local code = msg.code |
| 1362 | 1368 | |
| 1363 | - if type(code) ~= "string" then return end | |
| 1364 | - if code:find("[^0-9a-zA-Z]") then return end | |
| 1369 | + if type(code) ~= "string" then return 1 end | |
| 1370 | + if code:find("[^0-9a-zA-Z]") then return 2 end | |
| 1365 | 1371 | |
| 1366 | - local codestr = role:getProperty("codeStr") | |
| 1367 | - local content = { | |
| 1368 | - ["platformId"] = role:getProperty("sid"), | |
| 1369 | - ["code"] = code, | |
| 1370 | - ["itemIds"] = codestr, | |
| 1371 | - ["key"] = "zhaolugame20170831", | |
| 1372 | - } | |
| 1373 | - local status, body = httpc.get(codeurl, "/libaoma?" .. httpGetFormatData(content), {}) | |
| 1374 | - if status == 200 then | |
| 1375 | - local result = json.decode(body) | |
| 1376 | - local ret = tonum(result.ret) | |
| 1377 | - if ret == 0 then | |
| 1378 | - local giftId = tonumber(result.giftId) | |
| 1379 | - role:setProperty("codeStr", codestr:setv(giftId, 1)) | |
| 1380 | - local reward, change = role:award(result.gift, {log = {desc = "drawCode", int1 = giftId}}) | |
| 1381 | - | |
| 1382 | - role:log("get_gift", { | |
| 1383 | - gift_id = giftId, -- 礼包ID | |
| 1384 | - gift_key = code, -- 礼包key | |
| 1385 | - gift_reward = reward, -- 礼包奖励,json格式记录,{"itemid1":123,"itemid2":12,……….} | |
| 1386 | - gift_name = "", -- 礼包名称 | |
| 1387 | - gift_reason = 0, -- 礼包发放原因,见发放原因枚举表 | |
| 1388 | - }) | |
| 1389 | - role:mylog("role_action", {desc = "drawCode", int1 = giftId, key1 = code, key2 = role:getRewardLogStr(result.gift)}) | |
| 1390 | - SendPacket(actionCodes.Role_drawCodeRpc, MsgPack.pack({ | |
| 1391 | - result = ret, | |
| 1392 | - reward = reward, | |
| 1393 | - change = change, | |
| 1394 | - })) | |
| 1395 | - return true | |
| 1396 | - end | |
| 1397 | - -- 1 不存在的礼包码 | |
| 1398 | - -- 2 已经领取过相同类型物品 | |
| 1399 | - -- 3 领取数量达到上限 | |
| 1400 | - -- 4 过期了 | |
| 1401 | - SendPacket(actionCodes.Role_drawCodeRpc, MsgPack.pack({result = ret})) | |
| 1402 | - return true | |
| 1372 | + local ret, reward, change= role:getCodeGift(code) | |
| 1373 | + if ret == 0 then | |
| 1374 | + SendPacket(actionCodes.Role_drawCodeRpc, MsgPack.pack({ | |
| 1375 | + result = ret, | |
| 1376 | + reward = reward, | |
| 1377 | + change = change, | |
| 1378 | + })) | |
| 1379 | + return true | |
| 1403 | 1380 | end |
| 1404 | - SendPacket(actionCodes.Role_drawCodeRpc, MsgPack.pack({result = -1})) | |
| 1381 | + | |
| 1382 | + SendPacket(actionCodes.Role_drawCodeRpc, MsgPack.pack({result = ret})) | |
| 1405 | 1383 | return true |
| 1406 | 1384 | end |
| 1407 | 1385 | ... | ... |
src/models/Daily.lua
| ... | ... | @@ -17,7 +17,7 @@ Daily.schema = { |
| 17 | 17 | advBC = {"number", 0}, -- 冒险次数购买次数(冒险体力购买次数) |
| 18 | 18 | advElBC = {"number", 0}, -- 无尽次数购买次数(冒险体力购买次数) |
| 19 | 19 | advWs = {"table", {}}, -- 冒险队工坊 |
| 20 | - bonusC = {"table", {}}, -- 奖励副本 次数 {[type] = {c = 0, b = 0}} | |
| 20 | + bonusC = {"table", {}}, -- 奖励副本 次数 {[type] = {c = 0, b = 0}} 修改为 {c=0, b=0} | |
| 21 | 21 | giveFP = {"table", {}}, -- 给谁送过心心 |
| 22 | 22 | getFP = {"table", {}}, -- 领过谁的心心 |
| 23 | 23 | pvpFree = {"number", 0}, -- pvp使用免费次数 |
| ... | ... | @@ -36,6 +36,8 @@ Daily.schema = { |
| 36 | 36 | |
| 37 | 37 | treasureBase = {"number", 0}, -- 资源值 |
| 38 | 38 | treasureList = {"table", {}}, --挂机图鉴 |
| 39 | + | |
| 40 | + chatTimes = {"number", 0}, --每日发言次数 | |
| 39 | 41 | } |
| 40 | 42 | |
| 41 | 43 | function Daily:updateProperty(params) |
| ... | ... | @@ -415,6 +417,7 @@ function Daily:data() |
| 415 | 417 | curPool = self:getProperty("curPool"), |
| 416 | 418 | treasureBase = self:getProperty("treasureBase"), |
| 417 | 419 | treasureList = self:getProperty("treasureList"), |
| 420 | + chatTimes = self:getProperty("chatTimes"), | |
| 418 | 421 | } |
| 419 | 422 | end |
| 420 | 423 | ... | ... |
src/models/RolePlugin.lua
| ... | ... | @@ -3303,6 +3303,43 @@ function RolePlugin.bind(Role) |
| 3303 | 3303 | end |
| 3304 | 3304 | self:updateProperty({field = "worldChangePoints", value = worldChangePoints}) |
| 3305 | 3305 | end |
| 3306 | + | |
| 3307 | + function Role:getCodeGift(code) | |
| 3308 | + local codeurl = skynet.getenv("codeurl") | |
| 3309 | + local codestr = self:getProperty("codeStr") | |
| 3310 | + local content = { | |
| 3311 | + ["platformId"] = self:getProperty("sid"), | |
| 3312 | + ["code"] = code, | |
| 3313 | + ["itemIds"] = codestr, | |
| 3314 | + ["key"] = "zhaolugame20170831", | |
| 3315 | + } | |
| 3316 | + local status, body = httpc.get(codeurl, "/libaoma?" .. httpGetFormatData(content), {}) | |
| 3317 | + if status == 200 then | |
| 3318 | + local result = json.decode(body) | |
| 3319 | + local ret = tonum(result.ret) | |
| 3320 | + if ret == 0 then | |
| 3321 | + local giftId = tonumber(result.giftId) | |
| 3322 | + self:setProperty("codeStr", codestr:setv(giftId, 1)) | |
| 3323 | + local reward, change = self:award(result.gift, {log = {desc = "drawCode", int1 = giftId}}) | |
| 3324 | + | |
| 3325 | + self:log("get_gift", { | |
| 3326 | + gift_id = giftId, -- 礼包ID | |
| 3327 | + gift_key = code, -- 礼包key | |
| 3328 | + gift_reward = reward, -- 礼包奖励,json格式记录,{"itemid1":123,"itemid2":12,……….} | |
| 3329 | + gift_name = "", -- 礼包名称 | |
| 3330 | + gift_reason = 0, -- 礼包发放原因,见发放原因枚举表 | |
| 3331 | + }) | |
| 3332 | + self:mylog("role_action", {desc = "drawCode", int1 = giftId, key1 = code, key2 = self:getRewardLogStr(result.gift)}) | |
| 3333 | + return ret, result, reward, change | |
| 3334 | + end | |
| 3335 | + -- 1 不存在的礼包码 | |
| 3336 | + -- 2 已经领取过相同类型物品 | |
| 3337 | + -- 3 领取数量达到上限 | |
| 3338 | + -- 4 过期了 | |
| 3339 | + return ret | |
| 3340 | + end | |
| 3341 | + return -1 | |
| 3342 | + end | |
| 3306 | 3343 | end |
| 3307 | 3344 | |
| 3308 | 3345 | return RolePlugin |
| 3309 | 3346 | \ No newline at end of file | ... | ... |