| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- local Msg = require("core.Msg")
- local PresentExcel = require("excel.present")
- local Grid = require("bag.Grid")
- local BagLogic = require("bag.BagLogic")
- local BuyLogic = require("topup.BuyLogic")
- local ItemDefine = require("bag.ItemDefine")
- -- 登录推送
- function onLogin(human)
- local msgRet = Msg.gc.GC_ACT_CUSTOMIZE_OPEN
- msgRet.isOpen = checkActIsOpen(human)
- Msg.send(msgRet,human.fd)
- if checkActIsOpen(human) == 1 then
- initHeroRiseDB(human)
- end
- end
- -- 检查活动是否开启
- function checkActIsOpen(human)
- if human.db.lv < 15 then
- return 0
- end
- -- todo
- return 1
- end
- -- 初始化数据
- function initCustomizeDB(human)
- if human.db.customize ~= nil then
- return
- end
- local now = os.time()
- human.db.customize = {}
- local config = PresentExcel.customizeGift
- local len = #config
- for i = 1,len do
- human.db.customize[i] = human.db.customize[i] or {}
- human.db.customize[i].cnt = 0
- human.db.customize[i].item = {}
- human.db.customize[i].selectItem = {}
- end
- end
- function customizeQuery(human)
- local isOpen = checkActIsOpen(human)
- if isOpen == 0 then
- return
- end
- if human.db.customize == nil then
- return
- end
- local msgRet = Msg.gc.GC_ACT_CUSTOMIZE_QUERY
- local config = PresentExcel.customizeGift
- local len = #config
- for i = 1,len do
- local v = config[i]
- local net = msgRet.giftList[i]
- net.id = i
- net.name = v.name
- net.limitCnt = v.limitCnt
- net.nowCnt = human.db.customize[i].cnt
- BuyLogic.fontBuyItem(human, net.buyItem, v.buyID)
- Grid.makeItem(net.zuanshi,ItemDefine.ITEM_ZUANSHI_ID,v.zuanshi)
- local cnt = 0
- for itemID,itemCnt in pairs(human.db.customize[i].item) do
- cnt = cnt + 1
- Grid.makeItem(net.item[cnt],itemID,itemCnt)
- end
- net.item[0] = cnt
- local warehouseLen = #v.first
- for j = 1,warehouseLen do
- local itemID = v.first[j][1]
- local itemCnt = v.first[j][2]
- Grid.makeItem(net.first[j],itemID,itemCnt)
- end
- net.first[0] = warehouseLen
- warehouseLen = #v.second
- for j = 1,warehouseLen do
- local itemID = v.second[j][1]
- local itemCnt = v.second[j][2]
- Grid.makeItem(net.second[j],itemID,itemCnt)
- end
- net.second[0] = warehouseLen
- warehouseLen = #v.third
- for j = 1,warehouseLen do
- local itemID = v.third[j][1]
- local itemCnt = v.third[j][2]
- Grid.makeItem(net.third[j],itemID,itemCnt)
- end
- net.third[0] = warehouseLen
- end
- end
- function selectItem(human,id,first,second,third)
- local msgRet = Msg.gc.GC_ACT_CUSTOMIZE_SELECT
- msgRet.ret = 1
- local isOpen = checkActIsOpen(human)
- if isOpen == 0 then
- msgRet.ret = 0
- Msg.send(msgRet,human.fd)
- return
- end
- if human.db.customize == nil then
- msgRet.ret = 0
- Msg.send(msgRet,human.fd)
- return
- end
- local config = PresentExcel.customizeGift[id]
- if config == nil
- or config.first[first] == nil
- or config.second[second] == nil
- or config.third[third] == nil then
- msgRet.ret = 0
- Msg.send(msgRet,human.fd)
- return
- end
- human.db.customize[id].selectItem[1] = config.first[first]
- human.db.customize[id].selectItem[2] = config.second[second]
- human.db.customize[id].selectItem[3] = config.third[third]
- Msg.send(msgRet,human.fd)
- end
- function onBuyCustomize(human,id)
- local isOpen = checkActIsOpen(human)
- if isOpen == 0 then
- return
- end
- if human.db.customize == nil then
- return
- end
- if #human.db.customize[id].selectItem <= 0 then
- return
- end
-
- local config = PresentExcel.customizeGift[id]
- if human.db.customize[id].cnt >= config.limitCnt then
- return
- end
- human.db.customize[id].cnt = human.db.customize[id].cnt + 1
- if human.db.customize[id].cnt >= config.limitCnt then
- for i = 1,#human.db.customize[id].selectItem do
- local itemID = human.db.customize[id].selectItem[i][1]
- local itemCnt = human.db.customize[id].selectItem[i][2]
- human.db.customize[id].item[itemID] = itemCnt
- end
- end
- --[[ for i = 1,#human.db.customize[id].selectItem do
- local itemID = human.db.customize[id].selectItem[i][1]
- local itemCnt = human.db.customize[id].selectItem[i][2]
- BagLogic.addItem(human,itemID,itemCnt,"customize_gift")
- end
- ]]
- BagLogic.addItemList(human, human.db.customize[id].selectItem, "customize_gift")
- end
|