Commit e51f5f1db65f537bedec42485b55abebf9995a49

Authored by jiyue
2 parents febda4c3 c8981ed2

Merge branch 'cn/develop' into cn/publish/release

src/actions/GmAction.lua
@@ -1139,4 +1139,27 @@ function _M.get_draw_hero_pro(role, pms) @@ -1139,4 +1139,27 @@ function _M.get_draw_hero_pro(role, pms)
1139 return json.encode(result) 1139 return json.encode(result)
1140 end 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 return _M 1165 return _M
1143 \ No newline at end of file 1166 \ No newline at end of file
src/actions/HangAction.lua
@@ -570,18 +570,18 @@ function _M.buyBonusCountRpc(agent, data) @@ -570,18 +570,18 @@ function _M.buyBonusCountRpc(agent, data)
570 570
571 local bonusC = role.dailyData:getProperty("bonusC") 571 local bonusC = role.dailyData:getProperty("bonusC")
572 local extraCnt = role.storeData:getBonusExtraFightCount() 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 --local lastCount = (globalCsv.bonus_daily_buy_count + role:getBnousChangeBuyCount()) * coef + extraCnt - bonusC[btype]["b"] 574 --local lastCount = (globalCsv.bonus_daily_buy_count + role:getBnousChangeBuyCount()) * coef + extraCnt - bonusC[btype]["b"]
575 --if math.illegalNum(count, 1, lastCount) then return 1 end 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 local cost = table.findMinKeyByIndex(globalCsv.bonus_buy_cost, costCount, 1) 578 local cost = table.findMinKeyByIndex(globalCsv.bonus_buy_cost, costCount, 1)
579 579
580 if not role:checkItemEnough({[ItemId.Jade] = cost}) then return 2 end 580 if not role:checkItemEnough({[ItemId.Jade] = cost}) then return 2 end
581 581
582 role:costItems({[ItemId.Jade] = cost}, {log = {desc = "buyBonusCount", int1 = btype, int2 = count}}) 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 role.dailyData:updateProperty({field = "bonusC", value = bonusC}) 586 role.dailyData:updateProperty({field = "bonusC", value = bonusC})
587 587
@@ -664,7 +664,7 @@ function _M.startBonusBattleRpc(agent, data) @@ -664,7 +664,7 @@ function _M.startBonusBattleRpc(agent, data)
664 664
665 if bonusStar[id] and bonusStar[id] >= (1 << #bonusData.sweep_condition:toTableArray(true)) - 1 then 665 if bonusStar[id] and bonusStar[id] >= (1 << #bonusData.sweep_condition:toTableArray(true)) - 1 then
666 local bonusC = role.dailyData:getProperty("bonusC") 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 local actData = csvdb["activity_ctrlCsv"][actId] 669 local actData = csvdb["activity_ctrlCsv"][actId]
670 local extraCnt = role.storeData:getBonusExtraFightCount() 670 local extraCnt = role.storeData:getBonusExtraFightCount()
@@ -672,9 +672,9 @@ function _M.startBonusBattleRpc(agent, data) @@ -672,9 +672,9 @@ function _M.startBonusBattleRpc(agent, data)
672 if open and actData then 672 if open and actData then
673 coef = tonumber(actData.condition2) 673 coef = tonumber(actData.condition2)
674 end 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 role.dailyData:updateProperty({field = "bonusC", value = bonusC}) 678 role.dailyData:updateProperty({field = "bonusC", value = bonusC})
679 679
680 local reward, change = bonusWinReward(role, bonusData, 3, count, true) 680 local reward, change = bonusWinReward(role, bonusData, 3, count, true)
src/actions/RoleAction.lua
@@ -1240,6 +1240,12 @@ function _M.chatRpc(agent, data) @@ -1240,6 +1240,12 @@ function _M.chatRpc(agent, data)
1240 return 1240 return
1241 end 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 role._worldChatLimit = role._worldChatLimit or {start = 0, count = 0, canSayt = 0} --第一次开始说话时间 从第一次说话次数 能说话的时间 1249 role._worldChatLimit = role._worldChatLimit or {start = 0, count = 0, canSayt = 0} --第一次开始说话时间 从第一次说话次数 能说话的时间
1244 1250
1245 if now < role._worldChatLimit.canSayt then 1251 if now < role._worldChatLimit.canSayt then
@@ -1268,6 +1274,8 @@ function _M.chatRpc(agent, data) @@ -1268,6 +1274,8 @@ function _M.chatRpc(agent, data)
1268 else 1274 else
1269 mcast_util.pub_world(actionCodes.Role_chat, MsgPack.pack(response)) 1275 mcast_util.pub_world(actionCodes.Role_chat, MsgPack.pack(response))
1270 end 1276 end
  1277 + dailyChatTimes = dailyChatTimes + 1
  1278 + role.dailyData:updateProperty({field="chatTimes", value=dailyChatTimes})
1271 -- pcall(skynet.send, '.globald', "lua", "sendWorldMsg", role._channelIdx, response) 1279 -- pcall(skynet.send, '.globald', "lua", "sendWorldMsg", role._channelIdx, response)
1272 role:mylog("role_action", {desc = "chatWorld", text1 = content}) 1280 role:mylog("role_action", {desc = "chatWorld", text1 = content})
1273 end, 1281 end,
@@ -1355,53 +1363,23 @@ end @@ -1355,53 +1363,23 @@ end
1355 1363
1356 function _M.drawCodeRpc(agent, data) 1364 function _M.drawCodeRpc(agent, data)
1357 local msg = MsgPack.unpack(data) 1365 local msg = MsgPack.unpack(data)
1358 - local codeurl = skynet.getenv("codeurl")  
1359 local role = agent.role 1366 local role = agent.role
1360 - local msg = MsgPack.unpack(data)  
1361 local code = msg.code 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 end 1380 end
1404 - SendPacket(actionCodes.Role_drawCodeRpc, MsgPack.pack({result = -1})) 1381 +
  1382 + SendPacket(actionCodes.Role_drawCodeRpc, MsgPack.pack({result = ret}))
1405 return true 1383 return true
1406 end 1384 end
1407 1385
src/models/Daily.lua
@@ -17,7 +17,7 @@ Daily.schema = { @@ -17,7 +17,7 @@ Daily.schema = {
17 advBC = {"number", 0}, -- 冒险次数购买次数(冒险体力购买次数) 17 advBC = {"number", 0}, -- 冒险次数购买次数(冒险体力购买次数)
18 advElBC = {"number", 0}, -- 无尽次数购买次数(冒险体力购买次数) 18 advElBC = {"number", 0}, -- 无尽次数购买次数(冒险体力购买次数)
19 advWs = {"table", {}}, -- 冒险队工坊 19 advWs = {"table", {}}, -- 冒险队工坊
20 - bonusC = {"table", {}}, -- 奖励副本 次数 {[type] = {c = 0, b = 0}} 20 + bonusC = {"table", {}}, -- 奖励副本 次数 {[type] = {c = 0, b = 0}} 修改为 {c=0, b=0}
21 giveFP = {"table", {}}, -- 给谁送过心心 21 giveFP = {"table", {}}, -- 给谁送过心心
22 getFP = {"table", {}}, -- 领过谁的心心 22 getFP = {"table", {}}, -- 领过谁的心心
23 pvpFree = {"number", 0}, -- pvp使用免费次数 23 pvpFree = {"number", 0}, -- pvp使用免费次数
@@ -36,6 +36,8 @@ Daily.schema = { @@ -36,6 +36,8 @@ Daily.schema = {
36 36
37 treasureBase = {"number", 0}, -- 资源值 37 treasureBase = {"number", 0}, -- 资源值
38 treasureList = {"table", {}}, --挂机图鉴 38 treasureList = {"table", {}}, --挂机图鉴
  39 +
  40 + chatTimes = {"number", 0}, --每日发言次数
39 } 41 }
40 42
41 function Daily:updateProperty(params) 43 function Daily:updateProperty(params)
@@ -415,6 +417,7 @@ function Daily:data() @@ -415,6 +417,7 @@ function Daily:data()
415 curPool = self:getProperty("curPool"), 417 curPool = self:getProperty("curPool"),
416 treasureBase = self:getProperty("treasureBase"), 418 treasureBase = self:getProperty("treasureBase"),
417 treasureList = self:getProperty("treasureList"), 419 treasureList = self:getProperty("treasureList"),
  420 + chatTimes = self:getProperty("chatTimes"),
418 } 421 }
419 end 422 end
420 423
src/models/RolePlugin.lua
@@ -3303,6 +3303,43 @@ function RolePlugin.bind(Role) @@ -3303,6 +3303,43 @@ function RolePlugin.bind(Role)
3303 end 3303 end
3304 self:updateProperty({field = "worldChangePoints", value = worldChangePoints}) 3304 self:updateProperty({field = "worldChangePoints", value = worldChangePoints})
3305 end 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 end 3343 end
3307 3344
3308 return RolePlugin 3345 return RolePlugin
3309 \ No newline at end of file 3346 \ No newline at end of file