Commit e51f5f1db65f537bedec42485b55abebf9995a49
Merge branch 'cn/develop' into cn/publish/release
Showing
5 changed files
with
91 additions
and
50 deletions
Show diff stats
src/actions/GmAction.lua
... | ... | @@ -1139,4 +1139,27 @@ function _M.get_draw_hero_pro(role, pms) |
1139 | 1139 | return json.encode(result) |
1140 | 1140 | end |
1141 | 1141 | |
1142 | +function _M.decrePayR(role, pms) | |
1143 | + local id = tonumber(pms.pm1) | |
1144 | + local payR = role.storeData:getProperty("payR") | |
1145 | + if payR[id] > 0 then | |
1146 | + payR[id] = payR[id] - 1 | |
1147 | + if payR[id] == 0 then | |
1148 | + payR[id] = nil | |
1149 | + end | |
1150 | + end | |
1151 | + role.storeData:updateProperty({field = "payR", value = payR}) | |
1152 | + return "指令成功" | |
1153 | +end | |
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 | + | |
1142 | 1165 | return _M |
1143 | 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 | ... | ... |