| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- local Msg = require("core.Msg")
- local Util = require("common.Util")
- local Lang = require("common.Lang")
- local BagLogic = require("bag.BagLogic")
- local YunYingLogic = require("yunying.YunYingLogic")
- local OpenActExcel = require("excel.openAct")
- local BuyLogic = require("topup.BuyLogic")
- local Grid = require("bag.Grid")
- local OpenAct = require("present.OpenAct")
- local Broadcast = require("broadcast.Broadcast")
- local function OpenServerGiftPackage_CreatDB(human)
- human.db.OpenServerGiftPackage = {}
- for nID, v in ipairs(OpenActExcel.OpenGiftPackage) do
- human.db.OpenServerGiftPackage[nID] = v.amount
- end
- end
- local function OpenServerGiftPackage_CheckDB(human)
- if not human.db.OpenServerGiftPackage then
- OpenServerGiftPackage_CreatDB(human)
- end
- end
- local function OpenServerGiftPackage_GetNum(human, nID)
- if not human.db.OpenServerGiftPackage[nID] then
- if OpenActExcel.OpenGiftPackage[nID] then
- human.db.OpenServerGiftPackage[nID] = OpenActExcel.OpenGiftPackage[nID].amount
- end
- end
- return human.db.OpenServerGiftPackage[nID]
- end
- local function OpenServerGiftPackage_SetNum(human, nID, nNum)
- human.db.OpenServerGiftPackage[nID] = human.db.OpenServerGiftPackage[nID] + nNum
- end
- function OpenServerGiftPackage_Query(human)
- OpenServerGiftPackage_CheckDB(human)
- local tMsgData = Msg.gc.GC_OPENSERVER_GIFTPACKAGE_QUERY
- tMsgData.tList[0] = #OpenActExcel.OpenGiftPackage
- for nID, v in ipairs(OpenActExcel.OpenGiftPackage) do
- local tData = tMsgData.tList[nID]
- tData.nID = nID
- tData.nMaxCnt = v.amount
- tData.nNowCnt = OpenServerGiftPackage_GetNum(human, nID)
-
- BuyLogic.fontBuyItem(human, tData.tBuyInfo, v.buyID)
- tData.tItemList[0] = #v.rewards
- for i, tItem in ipairs(v.rewards) do
- Grid.makeItem(tData.tItemList[i], tItem[1], tItem[2])
- end
- end
- Msg.send(tMsgData, human.fd)
- -- print("[OpenServerGiftPackage_Query] 发送数据完成")
- end
- function onCharge(human, nBuyID, nBuNum)
- -- print("[OpenServerGiftPackage_onCharge] 进入购买函数")
- local tItem, nChoseID = nil, nil
- for nID, v in ipairs(OpenActExcel.OpenGiftPackage) do
- if v.buyID == nBuyID then
- nChoseID = nID
- tItem = v.rewards
- end
- end
- if nChoseID and tItem then
- -- print("[OpenServerGiftPackage_onCharge] 开始发送奖励")
- local nNowCnt = OpenServerGiftPackage_GetNum(human, nChoseID)
- if nNowCnt > 0 then
- OpenServerGiftPackage_SetNum(human, nChoseID, -1)
- BagLogic.addItemList(human, tItem, "OpenServerGiftPackage")
- -- OpenServerGiftPackage_SetNum(human, nChoseID, -nBuNum)
- -- local tItemList = {}
- -- for _, v in ipairs(tItem) do
- -- table.insert(tItemList, {v[1], v[2]*nBuNum})
- -- end
- -- BagLogic.addItemList(human, tItemList, "OpenServerGiftPackage")
- OpenServerGiftPackage_Query(human)
- end
- end
- end
- function isRed(human)
- return false
- end
- function isActive(human, YYInfo, funcConfig)
- return not isOpen(human, YYInfo, funcConfig)
- end
- function isBaseOpen(human, YYInfo, funcConfig, noSend)
- if human.db.lv < funcConfig.openLv then
- if not noSend then
- local str = Util.format(Lang.ROLE_LEV_ERROR, funcConfig.openLv)
- return Broadcast.sendErr(human, str)
- end
- end
- local flag = OpenAct.getOpenActTime(funcConfig.param)
- if not flag then return end
- return true
- end
- function isOpen(human, YYInfo, funcConfig)
- if isBaseOpen(human, YYInfo, funcConfig, true) then return true end
- end
- -- function GetRemainNum(human, nBuyID)
- -- local nChoseID = nil
- -- for nID, v in ipairs(OpenActExcel.OpenGiftPackage) do
- -- if v.buyID == nBuyID then
- -- nChoseID = nID
- -- break
- -- end
- -- end
- -- if not nChoseID then
- -- return 0
- -- end
- -- local nNowCnt = OpenServerGiftPackage_GetNum(human, nChoseID)
- -- return nNowCnt
- -- end
|