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 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
... ...