| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- local NoticeExcel = require("excel.notice")
- local HeroExcel = require("excel.hero")
- local Util = require("common.Util")
- local Lang = require("common.Lang")
- local Msg = require("core.Msg")
- DEFAULT_SYSTEM_SET = 0 -- 默认设置
- FAQ_TYPE_1 = 1 -- 1:faq
- FAQ_TYPE_2 = 2 -- 2:help
- -- 客户端设置
- function set(human, flag)
- human.db.systemSet = flag
-
- if human.db.systemSet == DEFAULT_SYSTEM_SET then
- human.db.systemSet = nil
- end
-
- query(human)
- end
- -- 客户端设置查询
- function query(human)
- local msgRet = Msg.gc.GC_SETTING_SYSTEM
- msgRet.flag = human.db.systemSet or DEFAULT_SYSTEM_SET
- Msg.send(msgRet, human.fd)
- end
- -- 帮助分类查询
- function faqQueryBase(human)
- local config = NoticeExcel.faq
- local msgRet = Msg.gc.GC_FAQ_QUERY_BASE
- msgRet.list[0] = #config
- for i = 1, #config do
- msgRet.list[i].id = i
- msgRet.list[i].title = config[i].title
- end
-
- Msg.send(msgRet, human.fd)
- end
- -- 帮助分类具体内容查询
- function faqQueryDetail(human, id)
- local config = NoticeExcel.faq
-
- local msgRet = Msg.gc.GC_FAQ_QUERY_DETAIL
- msgRet.id = id
- msgRet.content = config[id].content
- Msg.send(msgRet, human.fd)
- end
- -- 通用的问号叹号面板查询
- function helpMiscQuery(human, id)
- local config = NoticeExcel.tips[id]
- if config == nil then
- assert(nil)
- end
- local msgRet = Msg.gc.GC_HELP_MISC_QUERY
- msgRet.id = id
- msgRet.title = config.title
- msgRet.type = config.type
- msgRet.content = config.content
- Msg.send(msgRet, human.fd)
- end
- ----------------------------------------------
- -------------- 设置相关具体功能---------------
- ----------------------------------------------
- function isNoShowVip(human)
- local flag = human.db.systemSet or DEFAULT_SYSTEM_SET
- local isNoShow = Util.getBit(flag, 3)
- if isNoShow == 1 then
- return true
- end
- end
- function isNoPrivateChat(human)
- local flag = human.db.systemSet or DEFAULT_SYSTEM_SET
- local isNoPrivateChat = Util.getBit(flag, 4)
- if isNoPrivateChat == 1 then
- return true
- end
- end
- function explainDetail(human, id)
- local config = NoticeExcel.strategy[id]
- if config == nil then
- assert(nil)
- end
- local msgRet = Msg.gc.GC_EXPLAIN_DETAIL
- msgRet.id = id
- msgRet.title = config.title
- msgRet.content = config.content
- Msg.send(msgRet, human.fd)
- end
- local function wrapperGetwayInfo(human, net, id, conf)
- if not conf then
- conf = NoticeExcel.resource[id]
- end
- net.id = id
- net.title = tostring(conf.title)
- net.desc = tostring(conf.desc)
- net.icon = tostring(conf.icon)
- net.funlist[0] = 0
- for _,v in ipairs(conf.func) do
- net.funlist[0] = net.funlist[0] + 1
- net.funlist[net.funlist[0]].id = v[1]
- net.funlist[net.funlist[0]].name = tostring(v[2])
- net.funlist[net.funlist[0]].desc = v[3] and tostring(v[3]) or ""
- end
- end
- function resourceQuery(human)
- local msgRet = Msg.gc.GC_RESOURCE_QUERY
- msgRet.list[0] = 0
- for id, conf in Util.pairsByKeys(NoticeExcel.resource) do
- msgRet.list[0] = msgRet.list[0] + 1
- wrapperGetwayInfo(human, msgRet.list[msgRet.list[0]], id, conf)
- end
- Msg.send(msgRet, human.fd)
- end
- function strategyQuery(human)
- local config = NoticeExcel.strategy
- local msgRet = Msg.gc.GC_STRATEGY_QUERY
- local len = #config
- msgRet.list[0] = len
- for i = 1, len do
- local index = 0
- msgRet.list[i].id = i
- msgRet.list[i].name = config[i].name
- msgRet.list[i].desc = config[i].desc or ""
- if config[i].team then
- local teamLen = #config[i].team
- for j = 1,teamLen do
- local heroID = config[i].team[j]
- local heroMsg = HeroExcel.hero[heroID]
- index = index + 1
- msgRet.list[i].team[index].icon = heroMsg.head
- msgRet.list[i].team[index].lv = 100
- msgRet.list[i].team[index].camp = heroMsg.camp
- msgRet.list[i].team[index].star = heroMsg.star
- msgRet.list[i].team[index].id = heroID
- msgRet.list[i].team[index].label = heroMsg.label
- end
- end
- msgRet.list[i].team[0] = index
- end
-
- Msg.send(msgRet, human.fd)
- end
- -- 声音设置
- function settingSound(human, music, acoustic, voice, isSend)
- human.db.systemSound = human.db.systemSound or {}
- human.db.systemSound.music = music
- human.db.systemSound.acoustic = acoustic
- human.db.systemSound.voice = voice
-
- if isSend then
- settingSoundQuery(human)
- end
- end
- -- 发送声音设置
- function settingSoundQuery(human)
- if not human.db.systemSound then return end
- if not human.db.systemSound.music then return end
-
- local msgRet = Msg.gc.GC_SETTING_SOUND
- msgRet.music = human.db.systemSound.music or 0
- msgRet.acoustic = human.db.systemSound.acoustic or 0
- msgRet.voice = human.db.systemSound.voice or 0
- Msg.send(msgRet, human.fd)
- end
- -- 语言设置
- function settingLang(human, lang)
- human.db.systemSound = human.db.systemSound or {}
- human.db.systemSound.lang = lang
- settingLangQuery(human)
- end
- -- 发送语言设置
- function settingLangQuery(human)
- if not human.db.systemSound then return end
- local msgRet = Msg.gc.GC_SETTING_LANGUAGE
- msgRet.lang = human.db.systemSound.lang or 0
- Msg.send(msgRet, human.fd)
- end
- function onLogin(human)
- settingSoundQuery(human)
- settingLangQuery(human)
- end
|