新增BOSS查询功能
This commit is contained in:
parent
93a79319c1
commit
bb41234337
16 changed files with 11604 additions and 11099 deletions
|
|
@ -1,71 +1,105 @@
|
||||||
local config = {
|
local config = {
|
||||||
["邪恶之都"] = {
|
[1] = {
|
||||||
|
mapname = "邪恶之都",
|
||||||
name = "迷失洞主",
|
name = "迷失洞主",
|
||||||
level = "S级",
|
level = "S级",
|
||||||
|
Appr = 651,
|
||||||
},
|
},
|
||||||
["恶魔深渊"] = {
|
[2] = {
|
||||||
|
mapname = "恶魔深渊",
|
||||||
name = "铁血双锤",
|
name = "铁血双锤",
|
||||||
level = "S级",
|
level = "S级",
|
||||||
|
Appr = 20046,
|
||||||
},
|
},
|
||||||
["沃玛大厅"] = {
|
[3] = {
|
||||||
|
mapname = "沃玛大厅",
|
||||||
name = "远古·沃玛魔祖",
|
name = "远古·沃玛魔祖",
|
||||||
level = "S级",
|
level = "S级",
|
||||||
|
Appr = 3021,
|
||||||
},
|
},
|
||||||
["归墟神殿"] = {
|
[4] = {
|
||||||
|
mapname = "归墟神殿",
|
||||||
name = "天雷魔君",
|
name = "天雷魔君",
|
||||||
level = "S级",
|
level = "S级",
|
||||||
|
Appr = 20043,
|
||||||
},
|
},
|
||||||
["祖玛大厅"] = {
|
[5] = {
|
||||||
|
mapname = "祖玛大厅",
|
||||||
name = "洪荒·祖玛教皇",
|
name = "洪荒·祖玛教皇",
|
||||||
level = "S级",
|
level = "S级",
|
||||||
|
Appr = 1226,
|
||||||
},
|
},
|
||||||
["玛法禁地"] = {
|
[6] = {
|
||||||
|
mapname = "玛法禁地",
|
||||||
name = "远古教皇",
|
name = "远古教皇",
|
||||||
level = "S级",
|
level = "S级",
|
||||||
|
Appr = 20072,
|
||||||
},
|
},
|
||||||
["封魔殿"] = {
|
[7] = {
|
||||||
|
mapname = "封魔殿",
|
||||||
name = "虹魔老祖",
|
name = "虹魔老祖",
|
||||||
level = "S级",
|
level = "S级",
|
||||||
|
Appr = 3033,
|
||||||
},
|
},
|
||||||
["般若神殿"] = {
|
[8] = {
|
||||||
|
mapname = "般若神殿",
|
||||||
name = "不灭君主",
|
name = "不灭君主",
|
||||||
level = "S级",
|
level = "S级",
|
||||||
|
Appr = 20073,
|
||||||
},
|
},
|
||||||
["赤月祭坛"] = {
|
[9] = {
|
||||||
|
mapname = "赤月祭坛",
|
||||||
name = "双头老爹",
|
name = "双头老爹",
|
||||||
level = "S级",
|
level = "S级",
|
||||||
|
Appr = 20089,
|
||||||
},
|
},
|
||||||
["洞天秘境"] = {
|
[10] = {
|
||||||
|
mapname = "洞天秘境",
|
||||||
name = "狂暴·风沙之主",
|
name = "狂暴·风沙之主",
|
||||||
level = "S级",
|
level = "S级",
|
||||||
|
Appr = 20050,
|
||||||
},
|
},
|
||||||
["奴隶之家"] = {
|
[11] = {
|
||||||
|
mapname = "奴隶之家",
|
||||||
name = "奴隶统帅",
|
name = "奴隶统帅",
|
||||||
level = "S级",
|
level = "S级",
|
||||||
|
Appr = 20029,
|
||||||
},
|
},
|
||||||
["阴曹地府"] = {
|
[12] = {
|
||||||
|
mapname = "阴曹地府",
|
||||||
name = "孟婆",
|
name = "孟婆",
|
||||||
level = "S级",
|
level = "S级",
|
||||||
|
Appr = 20002,
|
||||||
},
|
},
|
||||||
["仙岛秘境"] = {
|
[13] = {
|
||||||
|
mapname = "仙岛秘境",
|
||||||
name = "七彩神龙",
|
name = "七彩神龙",
|
||||||
level = "S级",
|
level = "S级",
|
||||||
|
Appr = 2020,
|
||||||
},
|
},
|
||||||
["狼烟梦境"] = {
|
[14] = {
|
||||||
|
mapname = "狼烟梦境",
|
||||||
name = "雷帝",
|
name = "雷帝",
|
||||||
level = "S级",
|
level = "S级",
|
||||||
|
Appr = 20139,
|
||||||
},
|
},
|
||||||
["狐月秘境"] = {
|
[15] = {
|
||||||
|
mapname = "狐月秘境",
|
||||||
name = "狐月天珠",
|
name = "狐月天珠",
|
||||||
level = "S级",
|
level = "S级",
|
||||||
|
Appr = 327,
|
||||||
},
|
},
|
||||||
["狐月神殿"] = {
|
[16] = {
|
||||||
|
mapname = "狐月神殿",
|
||||||
name = "齐天至尊",
|
name = "齐天至尊",
|
||||||
level = "S级",
|
level = "S级",
|
||||||
|
Appr = 20136,
|
||||||
},
|
},
|
||||||
["先天秘境"] = {
|
[17] = {
|
||||||
|
mapname = "先天秘境",
|
||||||
name = "迷宫之主",
|
name = "迷宫之主",
|
||||||
level = "S级",
|
level = "S级",
|
||||||
|
Appr = 20012,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
return config
|
return config
|
||||||
|
|
@ -1,4 +1,13 @@
|
||||||
---* 全局定时器
|
---* 全局定时器
|
||||||
|
RebotOBJ.timeExCfg = {
|
||||||
|
-- BOSS查询缓存刷新(每60秒)
|
||||||
|
[99] = {
|
||||||
|
time = 60000,
|
||||||
|
func = function()
|
||||||
|
BOSSqueryOBJ:reloadBossCache()
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
-- RebotOBJ.timeExCfg = {
|
-- RebotOBJ.timeExCfg = {
|
||||||
-- -- [1] = {
|
-- -- [1] = {
|
||||||
-- -- time = 18000,
|
-- -- time = 18000,
|
||||||
|
|
|
||||||
103
Mirserver/Mir200/Envir/QuestDiary/游戏功能/A0_通用类/BOSS查询.lua
Normal file
103
Mirserver/Mir200/Envir/QuestDiary/游戏功能/A0_通用类/BOSS查询.lua
Normal file
|
|
@ -0,0 +1,103 @@
|
||||||
|
-- BOSS查询模块
|
||||||
|
-- 负责:定时缓存BOSS存活状态 + 响应客户端查询请求
|
||||||
|
BOSSqueryOBJ = Up_BaseClass:new()
|
||||||
|
|
||||||
|
BOSSqueryOBJ._name = "BOSSqueryOBJ"
|
||||||
|
|
||||||
|
-- BOSS存活状态缓存
|
||||||
|
BOSSqueryOBJ.bossCache = {}
|
||||||
|
|
||||||
|
-- 配置文件
|
||||||
|
BOSSqueryOBJ.cfg = Func.require("cfg_BOSS查询")
|
||||||
|
|
||||||
|
---* 刷新BOSS缓存(由全局定时器每60秒调用)
|
||||||
|
function BOSSqueryOBJ:reloadBossCache()
|
||||||
|
local cache = {}
|
||||||
|
|
||||||
|
for _, info in ipairs(self.cfg) do
|
||||||
|
-- mapbossinfo 返回格式: {[1] = "怪物名#血量%#复活倒计时秒#X#Y#未知"}
|
||||||
|
-- 例: "奴隶统帅#0#10687#100#99#无" → HP=0(死亡), 10687秒后复活
|
||||||
|
-- 例: "洪荒·祖玛教皇#100#0#20#22#无" → HP=100(存活)
|
||||||
|
local monStatus = mapbossinfo(info.mapname, info.name, 0, 0)
|
||||||
|
|
||||||
|
local alive = false
|
||||||
|
local respawnTime = 0
|
||||||
|
LOGDump(monStatus,info.name)
|
||||||
|
|
||||||
|
|
||||||
|
if monStatus and type(monStatus) == "table" then
|
||||||
|
for _, v in pairs(monStatus) do
|
||||||
|
if type(v) == "string" and v ~= "" then
|
||||||
|
local parts = Func.splitString(v, "#")
|
||||||
|
|
||||||
|
-- parts[1]=怪物名, parts[2]=血量百分比, parts[3]=复活倒计时秒
|
||||||
|
local hpPercent = tonumber(parts[2]) or 0
|
||||||
|
|
||||||
|
if hpPercent > 0 then
|
||||||
|
alive = true
|
||||||
|
end
|
||||||
|
respawnTime = tonumber(parts[3]) or 0
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
table.insert(cache, {
|
||||||
|
map = info.mapname,
|
||||||
|
name = info.name,
|
||||||
|
level = info.level or "S级",
|
||||||
|
alive = alive,
|
||||||
|
reviveStamp = (not alive and respawnTime > 0) and (os.time() + respawnTime) or 0,
|
||||||
|
appr = info.Appr or 0,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
-- -- 存活BOSS置顶
|
||||||
|
-- table.sort(cache, function(a, b)
|
||||||
|
-- if a.alive ~= b.alive then
|
||||||
|
-- return a.alive -- true在前
|
||||||
|
-- end
|
||||||
|
-- return false
|
||||||
|
-- end)
|
||||||
|
|
||||||
|
self.bossCache = cache
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
---* 获取存活BOSS数量
|
||||||
|
function BOSSqueryOBJ:getAliveCount()
|
||||||
|
local count = 0
|
||||||
|
for _, v in ipairs(self.bossCache) do
|
||||||
|
if v.alive then
|
||||||
|
count = count + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return count
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
BOSSqueryOBJ:reloadBossCache()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
---* 客户端请求入口(由 Message.dispatch 自动调用)
|
||||||
|
---@param actor any 玩家对象
|
||||||
|
function BOSSqueryOBJ:main(actor)
|
||||||
|
-- 首次调用时缓存可能为空,立即刷新一次
|
||||||
|
if not self.bossCache or #self.bossCache == 0 then
|
||||||
|
self:reloadBossCache()
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 客户端用 SL:Get_SERVER_TIME() 与 reviveStamp 自行计算剩余倒计时
|
||||||
|
Message:SubLink(actor, self._name .. "_main", {cfg = self.bossCache})
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 允许客户端调用的方法白名单(安全校验)
|
||||||
|
BOSSqueryOBJ.allowFunc = {"main"}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return BOSSqueryOBJ
|
||||||
66
client/dev/GUIExport/game/Tongyong/BOSSqueryUI.lua
Normal file
66
client/dev/GUIExport/game/Tongyong/BOSSqueryUI.lua
Normal file
|
|
@ -0,0 +1,66 @@
|
||||||
|
local ui = {}
|
||||||
|
local _V = function(...) return SL:GetMetaValue(...) end
|
||||||
|
local FUNCQUEUE = {}
|
||||||
|
local TAGOBJ = {}
|
||||||
|
|
||||||
|
function ui.init(parent, __data__, __update__)
|
||||||
|
if __update__ then return ui.update(__data__) end
|
||||||
|
-- Create Layer
|
||||||
|
local Layer = GUI:Node_Create(parent, "Layer", 0, 0)
|
||||||
|
GUI:setTag(Layer, -1)
|
||||||
|
|
||||||
|
-- Create bg_close
|
||||||
|
local bg_close = GUI:Layout_Create(Layer, "bg_close", 0, 0, 0, 0, false)
|
||||||
|
GUI:Layout_setBackGroundColorType(bg_close, 1)
|
||||||
|
GUI:Layout_setBackGroundColor(bg_close, "#000000")
|
||||||
|
GUI:Layout_setBackGroundColorOpacity(bg_close, 0)
|
||||||
|
GUI:setAnchorPoint(bg_close, 0.00, 0.00)
|
||||||
|
GUI:setTouchEnabled(bg_close, true)
|
||||||
|
GUI:setTag(bg_close, -1)
|
||||||
|
|
||||||
|
-- Create nd_root
|
||||||
|
local nd_root = GUI:Node_Create(Layer, "nd_root", 0, 0)
|
||||||
|
GUI:setTag(nd_root, 670)
|
||||||
|
TAGOBJ["670"] = nd_root
|
||||||
|
|
||||||
|
-- Create img_bg
|
||||||
|
local img_bg = GUI:Image_Create(nd_root, "img_bg", 0, 0, "res/custom/43/bg.png")
|
||||||
|
GUI:setChineseName(img_bg, "背景图片")
|
||||||
|
GUI:setAnchorPoint(img_bg, 0.50, 0.50)
|
||||||
|
GUI:setTouchEnabled(img_bg, true)
|
||||||
|
GUI:setTag(img_bg, -1)
|
||||||
|
|
||||||
|
-- Create btn_close
|
||||||
|
local btn_close = GUI:Button_Create(img_bg, "btn_close", 812, 496, "res/public/1900000510.png")
|
||||||
|
GUI:Button_loadTexturePressed(btn_close, "res/public/1900000511.png")
|
||||||
|
GUI:Button_setTitleText(btn_close, [[]])
|
||||||
|
GUI:Button_setTitleColor(btn_close, "#ffffff")
|
||||||
|
GUI:Button_setTitleFontSize(btn_close, 16)
|
||||||
|
GUI:Button_titleEnableOutline(btn_close, "#000000", 1)
|
||||||
|
GUI:setAnchorPoint(btn_close, 0.50, 0.50)
|
||||||
|
GUI:setTouchEnabled(btn_close, true)
|
||||||
|
GUI:setTag(btn_close, -1)
|
||||||
|
|
||||||
|
-- Create tableView
|
||||||
|
local tableView = GUI:TableView_Create(img_bg, "tableView", 54, 42, 500, 390, 1, 498, 56, 12)
|
||||||
|
GUI:setAnchorPoint(tableView, 0.00, 0.00)
|
||||||
|
GUI:setTouchEnabled(tableView, true)
|
||||||
|
GUI:setTag(tableView, 0)
|
||||||
|
|
||||||
|
-- Create boss_model_node
|
||||||
|
local boss_model_node = GUI:Node_Create(img_bg, "boss_model_node", 568, 100)
|
||||||
|
GUI:setContentSize(boss_model_node, 200, 280)
|
||||||
|
GUI:setAnchorPoint(boss_model_node, 0.00, 0.00)
|
||||||
|
GUI:setTag(boss_model_node, -1)
|
||||||
|
|
||||||
|
ui.update(__data__)
|
||||||
|
return Layer
|
||||||
|
end
|
||||||
|
|
||||||
|
function ui.update(data)
|
||||||
|
for _, func in pairs(FUNCQUEUE) do
|
||||||
|
if func then func(data) end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return ui
|
||||||
1222
client/dev/GUIExport/main/main_property_win32.lua
Normal file
1222
client/dev/GUIExport/main/main_property_win32.lua
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
230
client/dev/GUILayout/game/tongyong/BOSSqueryOBJ.lua
Normal file
230
client/dev/GUILayout/game/tongyong/BOSSqueryOBJ.lua
Normal file
|
|
@ -0,0 +1,230 @@
|
||||||
|
BOSSqueryOBJ = Up_BaseClassOBJ:new()
|
||||||
|
|
||||||
|
BOSSqueryOBJ.__cname = "BOSSqueryOBJ"
|
||||||
|
|
||||||
|
-- UI导出文件路径
|
||||||
|
BOSSqueryOBJ.UIfile = "game/Tongyong/BOSSqueryUI"
|
||||||
|
|
||||||
|
-- 数据
|
||||||
|
BOSSqueryOBJ.cfg = {}
|
||||||
|
|
||||||
|
---* 窗口创建入口
|
||||||
|
function BOSSqueryOBJ:main(arg1, arg2, arg3, data)
|
||||||
|
-- 防止重复打开
|
||||||
|
if GUI:Win_IsNotNull(self.__cname) then
|
||||||
|
GUI:Win_Close(self.__cname)
|
||||||
|
end
|
||||||
|
|
||||||
|
local parent = GUI:Win_Create(self.__cname, 0, 0, 0, 0, false, false, true, false)
|
||||||
|
if not parent then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 加载UI导出文件
|
||||||
|
GUI:LoadExport(parent, self.UIfile)
|
||||||
|
|
||||||
|
self._parent = parent
|
||||||
|
self.ui = GUI:ui_delegate(parent)
|
||||||
|
|
||||||
|
-- 窗口居中
|
||||||
|
ssrUIManager:OpenAlgin(self)
|
||||||
|
|
||||||
|
-- 背景图点击关闭
|
||||||
|
GUI:addOnClickEvent(self.ui.bg_close, function()
|
||||||
|
GUI:Win_Close(self._parent)
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- 关闭按钮
|
||||||
|
GUI:addOnClickEvent(self.ui.btn_close, function()
|
||||||
|
GUI:Win_Close(self._parent)
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- 绑定事件
|
||||||
|
self:EventBind()
|
||||||
|
|
||||||
|
-- 接收服务端数据
|
||||||
|
if data and data.cfg then
|
||||||
|
self.cfg = data.cfg
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 创建 TableView(在img_bg上,与Title下方对齐)
|
||||||
|
self.dataList = {}
|
||||||
|
self:CreateTableView()
|
||||||
|
|
||||||
|
-- 构建数据并刷新
|
||||||
|
self:buildDataList()
|
||||||
|
if self.ui.tableView then
|
||||||
|
GUI:TableView_reloadData(self.ui.tableView)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---* 创建 TableView
|
||||||
|
function BOSSqueryOBJ:CreateTableView()
|
||||||
|
-- TableView 已在 UI 文件中创建,此处只配置回调
|
||||||
|
|
||||||
|
-- 设置行数
|
||||||
|
GUI:TableView_setTableViewCellsNumHandler(self.ui.tableView, function()
|
||||||
|
return self.dataList and #self.dataList or 0
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- cell创建回调
|
||||||
|
GUI:TableView_setCellCreateEvent(self.ui.tableView, function(cellParent, idx)
|
||||||
|
local realIdx = (tonumber(idx) or 0)
|
||||||
|
local item = self.dataList[realIdx]
|
||||||
|
if not item then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
self:buildCell(cellParent, item)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
---* 构建数据列表
|
||||||
|
function BOSSqueryOBJ:buildDataList()
|
||||||
|
local cfg = self.cfg or {}
|
||||||
|
self.dataList = {}
|
||||||
|
|
||||||
|
for i, v in ipairs(cfg) do
|
||||||
|
-- 根据绝对复活时间戳计算剩余秒数
|
||||||
|
local respawnTime = 0
|
||||||
|
local reviveStamp = v.reviveStamp or 0
|
||||||
|
if not v.alive and reviveStamp > 0 then
|
||||||
|
local now = SL:GetValue("SERVER_TIME") or 0
|
||||||
|
respawnTime = math.max(0, reviveStamp - now)
|
||||||
|
end
|
||||||
|
local item = {
|
||||||
|
idx = i,
|
||||||
|
map = v.map or "",
|
||||||
|
name = v.name or "",
|
||||||
|
level = v.level or "S级",
|
||||||
|
alive = v.alive or false,
|
||||||
|
respawnTime = respawnTime,
|
||||||
|
appr = v.appr or 0,
|
||||||
|
}
|
||||||
|
table.insert(self.dataList, item)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---* 构建每行UI
|
||||||
|
function BOSSqueryOBJ:buildCell(cellParent, item)
|
||||||
|
-- cellParent会被复用,先清空
|
||||||
|
GUI:removeAllChildren(cellParent)
|
||||||
|
|
||||||
|
-- 行背景图片 (cell宽498, 高56, 垂直居中 y=28)
|
||||||
|
local cell_bg = GUI:Image_Create(cellParent, "cell_bg_" .. item.idx, 0, 0, "res/custom/43/3.png")
|
||||||
|
GUI:setTouchEnabled(cell_bg, true)
|
||||||
|
GUI:setSwallowTouches(cell_bg, false)
|
||||||
|
|
||||||
|
|
||||||
|
-- cell点击事件
|
||||||
|
GUI:addOnClickEvent(cell_bg, function()
|
||||||
|
self.selectedIdx = item.idx
|
||||||
|
GUI:TableView_reloadDataEx(self.ui.tableView)
|
||||||
|
self:showBossModel(item)
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- 地图名称
|
||||||
|
local text_map = GUI:Text_Create(cell_bg, "text_map_" .. item.idx, 64, 28, 15, "#CCAA66", item.map)
|
||||||
|
GUI:setAnchorPoint(text_map, 0.50, 0.50)
|
||||||
|
|
||||||
|
-- BOSS名称
|
||||||
|
local text_name = GUI:Text_Create(cell_bg, "text_name_" .. item.idx, 190, 28, 16, "#FFFFFF", item.name)
|
||||||
|
GUI:setAnchorPoint(text_name, 0.50, 0.50)
|
||||||
|
GUI:Text_enableOutline(text_name, "#000000", 1)
|
||||||
|
|
||||||
|
-- 等级标签
|
||||||
|
local levelColor = "#FF4444"
|
||||||
|
if item.level == "S级" then
|
||||||
|
levelColor = "#FF4444"
|
||||||
|
elseif item.level == "A级" then
|
||||||
|
levelColor = "#FF8800"
|
||||||
|
elseif item.level == "B级" then
|
||||||
|
levelColor = "#FFCC00"
|
||||||
|
end
|
||||||
|
local text_level = GUI:Text_Create(cell_bg, "text_level_" .. item.idx, 380, 28, 15, levelColor, item.level)
|
||||||
|
GUI:setAnchorPoint(text_level, 0.00, 0.50)
|
||||||
|
GUI:Text_enableOutline(text_level, "#000000", 1)
|
||||||
|
|
||||||
|
|
||||||
|
-- 刷新状态
|
||||||
|
local refreshStr, refreshColor
|
||||||
|
if item.alive then
|
||||||
|
refreshStr = "已刷新"
|
||||||
|
refreshColor = "#33FF33"
|
||||||
|
else
|
||||||
|
refreshStr = "未刷新"
|
||||||
|
refreshColor = "#FF4444"
|
||||||
|
end
|
||||||
|
local text_refresh = GUI:Text_Create(cell_bg, "text_refresh_" .. item.idx, 420, 28, 15, refreshColor, refreshStr)
|
||||||
|
GUI:setAnchorPoint(text_refresh, 0.00, 0.50)
|
||||||
|
GUI:Text_enableOutline(text_refresh, "#000000", 1)
|
||||||
|
|
||||||
|
-- 倒计时
|
||||||
|
local text_countdown = GUI:Text_Create(cell_bg, "text_countdown_" .. item.idx, 276, 28, 15, "#FFCC00", "")
|
||||||
|
GUI:setAnchorPoint(text_countdown, 0.00, 0.50)
|
||||||
|
GUI:Text_enableOutline(text_countdown, "#000000", 1)
|
||||||
|
if not item.alive then
|
||||||
|
local respawn = item.respawnTime or 0
|
||||||
|
if respawn > 0 then
|
||||||
|
GUI:Text_COUNTDOWN(text_countdown, respawn, nil, 1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 选中高亮覆盖图
|
||||||
|
if item.idx == self.selectedIdx then
|
||||||
|
GUI:Image_Create(cell_bg, "cell_select_" .. item.idx, 0, 0, "res/custom/43/4.png")
|
||||||
|
end
|
||||||
|
|
||||||
|
return cell_bg
|
||||||
|
end
|
||||||
|
|
||||||
|
---* 展示BOSS模型
|
||||||
|
function BOSSqueryOBJ:showBossModel(item)
|
||||||
|
if not self.ui.boss_model_node then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 清除旧模型
|
||||||
|
GUI:removeAllChildren(self.ui.boss_model_node)
|
||||||
|
|
||||||
|
local appr = item.appr or 0
|
||||||
|
if appr <= 0 then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 使用 Effect_Create 展示怪物模型 (effecttype=2=怪物)
|
||||||
|
local model = GUI:Effect_Create(
|
||||||
|
self.ui.boss_model_node,
|
||||||
|
"boss_model",
|
||||||
|
100, -- x (200宽节点居中)
|
||||||
|
140, -- y (280高节点居中)
|
||||||
|
2, -- effecttype: 怪物
|
||||||
|
appr, -- effectid: 怪物appr
|
||||||
|
0, -- sex
|
||||||
|
0, -- act: 待机
|
||||||
|
3, -- dir
|
||||||
|
1 -- speed
|
||||||
|
)
|
||||||
|
GUI:setScale(model, 1.0)
|
||||||
|
end
|
||||||
|
|
||||||
|
---* 事件绑定
|
||||||
|
function BOSSqueryOBJ:EventBind()
|
||||||
|
--关闭窗口
|
||||||
|
SL:RegisterLUAEvent(LUA_EVENT_CLOSEWIN, self.__cname, function(widgetName)
|
||||||
|
self:OnClose(widgetName)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
--关闭窗口
|
||||||
|
function BOSSqueryOBJ:OnClose(widgetName)
|
||||||
|
if widgetName == self.__cname then
|
||||||
|
self:UnRegisterEvent()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---* 注销事件
|
||||||
|
function BOSSqueryOBJ:UnRegisterEvent()
|
||||||
|
SL:UnRegisterLUAEvent(LUA_EVENT_CLOSEWIN, self.__cname)
|
||||||
|
end
|
||||||
|
|
||||||
|
return BOSSqueryOBJ
|
||||||
|
|
@ -129,8 +129,14 @@ function MainProperty.main()
|
||||||
GUI:addOnClickEvent(MainProperty._ui["jiaoyi_btn"], function()
|
GUI:addOnClickEvent(MainProperty._ui["jiaoyi_btn"], function()
|
||||||
SL:JumpTo(ssrConstCfg.Auction)
|
SL:JumpTo(ssrConstCfg.Auction)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
-- BOSS查询
|
||||||
|
GUI:addOnClickEvent(MainProperty._ui["bossquery"], function()
|
||||||
|
ssrMessage:SubLink("BOSSqueryOBJ_main")
|
||||||
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
------------------------------ 快捷栏 -------------------------------------------------------
|
------------------------------ 快捷栏 -------------------------------------------------------
|
||||||
-- 初始化显示的快捷栏
|
-- 初始化显示的快捷栏
|
||||||
function MainProperty.InitQuickUseItems()
|
function MainProperty.InitQuickUseItems()
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,6 +1 @@
|
||||||
{
|
{"gm":0,"signkey":"634eff98723b31da43ed35f0dd4edf36","oper_mode":1,"modlist":"http:\/\/list.dhsf.xqhuyu.com\/testmodlist\/modlist_tool_11557.txt","resolution":"1024x768","channel":1}
|
||||||
"channel": 1,
|
|
||||||
"gm": 0,
|
|
||||||
"modlist": "http://list.dhsf.xqhuyu.com/testmodlist/modlist_tool_11557.txt",
|
|
||||||
"signkey": "634eff98723b31da43ed35f0dd4edf36"
|
|
||||||
}
|
|
||||||
21
csv/bak/2026-06-18-00-00-38/cfg_BOSS查询.csv
Normal file
21
csv/bak/2026-06-18-00-00-38/cfg_BOSS查询.csv
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
///key,index,Filter,HD
|
||||||
|
///Filter,CS,CS,CS
|
||||||
|
//;地图名,怪物名称,BOSS级别,怪物形象
|
||||||
|
///index,name,level,Appr
|
||||||
|
邪恶之都,迷失洞主,S级,651
|
||||||
|
恶魔深渊,铁血双锤,S级,20046
|
||||||
|
沃玛大厅,远古·沃玛魔祖,S级,3021
|
||||||
|
归墟神殿,天雷魔君,S级,20043
|
||||||
|
祖玛大厅,洪荒·祖玛教皇,S级,1226
|
||||||
|
玛法禁地,远古教皇,S级,20072
|
||||||
|
封魔殿,虹魔老祖,S级,3033
|
||||||
|
般若神殿,不灭君主,S级,20073
|
||||||
|
赤月祭坛,双头老爹,S级,20089
|
||||||
|
洞天秘境,狂暴·风沙之主,S级,20050
|
||||||
|
奴隶之家,奴隶统帅,S级,20029
|
||||||
|
阴曹地府,孟婆,S级,20002
|
||||||
|
仙岛秘境,七彩神龙,S级,2020
|
||||||
|
狼烟梦境,雷帝,S级,20139
|
||||||
|
狐月秘境,狐月天珠,S级,327
|
||||||
|
狐月神殿,齐天至尊,S级,20136
|
||||||
|
先天秘境,迷宫之主,S级,20012
|
||||||
|
21
csv/bak/2026-06-18-00-45-38/cfg_BOSS查询.csv
Normal file
21
csv/bak/2026-06-18-00-45-38/cfg_BOSS查询.csv
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
///key,index,Filter,HD
|
||||||
|
///Filter,CS,CS,CS
|
||||||
|
//;地图名,怪物名称,BOSS级别,怪物形象
|
||||||
|
///index,name,level,Appr
|
||||||
|
邪恶之都,迷失洞主,S级,651
|
||||||
|
恶魔深渊,铁血双锤,S级,20046
|
||||||
|
沃玛大厅,远古·沃玛魔祖,S级,3021
|
||||||
|
归墟神殿,天雷魔君,S级,20043
|
||||||
|
祖玛大厅,洪荒·祖玛教皇,S级,1226
|
||||||
|
玛法禁地,远古教皇,S级,20072
|
||||||
|
封魔殿,虹魔老祖,S级,3033
|
||||||
|
般若神殿,不灭君主,S级,20073
|
||||||
|
赤月祭坛,双头老爹,S级,20089
|
||||||
|
洞天秘境,狂暴·风沙之主,S级,20050
|
||||||
|
奴隶之家,奴隶统帅,S级,20029
|
||||||
|
阴曹地府,孟婆,S级,20002
|
||||||
|
仙岛秘境,七彩神龙,S级,2020
|
||||||
|
狼烟梦境,雷帝,S级,20139
|
||||||
|
狐月秘境,狐月天珠,S级,327
|
||||||
|
狐月神殿,齐天至尊,S级,20136
|
||||||
|
先天秘境,迷宫之主,S级,20012
|
||||||
|
21
csv/bak/2026-06-18-01-00-11/cfg_BOSS查询.csv
Normal file
21
csv/bak/2026-06-18-01-00-11/cfg_BOSS查询.csv
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
///key,index,Filter,HD,
|
||||||
|
///Filter,CS,CS,CS,
|
||||||
|
//;地图名,地图名,怪物名称,BOSS级别,怪物形象
|
||||||
|
///index,mapname,name,level,Appr
|
||||||
|
1,邪恶之都,迷失洞主,S级,651
|
||||||
|
2,恶魔深渊,铁血双锤,S级,20046
|
||||||
|
3,沃玛大厅,远古·沃玛魔祖,S级,3021
|
||||||
|
4,归墟神殿,天雷魔君,S级,20043
|
||||||
|
5,祖玛大厅,洪荒·祖玛教皇,S级,1226
|
||||||
|
6,玛法禁地,远古教皇,S级,20072
|
||||||
|
7,封魔殿,虹魔老祖,S级,3033
|
||||||
|
8,般若神殿,不灭君主,S级,20073
|
||||||
|
9,赤月祭坛,双头老爹,S级,20089
|
||||||
|
10,洞天秘境,狂暴·风沙之主,S级,20050
|
||||||
|
11,奴隶之家,奴隶统帅,S级,20029
|
||||||
|
12,阴曹地府,孟婆,S级,20002
|
||||||
|
13,仙岛秘境,七彩神龙,S级,2020
|
||||||
|
14,狼烟梦境,雷帝,S级,20139
|
||||||
|
15,狐月秘境,狐月天珠,S级,327
|
||||||
|
16,狐月神殿,齐天至尊,S级,20136
|
||||||
|
17,先天秘境,迷宫之主,S级,20012
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
///key,index,Filter,HD
|
///key,index,Filter,HD,
|
||||||
///Filter,CS,CS,
|
///Filter,CS,CS,CS,
|
||||||
//;地图名,怪物名称,BOSS级别,
|
//;地图名,地图名,怪物名称,BOSS级别,怪物形象
|
||||||
///index,name,level,
|
///index,mapname,name,level,Appr
|
||||||
邪恶之都,迷失洞主,S级,
|
1,邪恶之都,迷失洞主,S级,651
|
||||||
恶魔深渊,铁血双锤,S级,
|
2,恶魔深渊,铁血双锤,S级,20046
|
||||||
沃玛大厅,远古·沃玛魔祖,S级,
|
3,沃玛大厅,远古·沃玛魔祖,S级,3021
|
||||||
归墟神殿,天雷魔君,S级,
|
4,归墟神殿,天雷魔君,S级,20043
|
||||||
祖玛大厅,洪荒·祖玛教皇,S级,
|
5,祖玛大厅,洪荒·祖玛教皇,S级,1226
|
||||||
玛法禁地,远古教皇,S级,
|
6,玛法禁地,远古教皇,S级,20072
|
||||||
封魔殿,虹魔老祖,S级,
|
7,封魔殿,虹魔老祖,S级,3033
|
||||||
般若神殿,不灭君主,S级,
|
8,般若神殿,不灭君主,S级,20073
|
||||||
赤月祭坛,双头老爹,S级,
|
9,赤月祭坛,双头老爹,S级,20089
|
||||||
洞天秘境,狂暴·风沙之主,S级,
|
10,洞天秘境,狂暴·风沙之主,S级,20050
|
||||||
奴隶之家,奴隶统帅,S级,
|
11,奴隶之家,奴隶统帅,S级,20029
|
||||||
阴曹地府,孟婆,S级,
|
12,阴曹地府,孟婆,S级,20002
|
||||||
仙岛秘境,七彩神龙,S级,
|
13,仙岛秘境,七彩神龙,S级,2020
|
||||||
狼烟梦境,雷帝,S级,
|
14,狼烟梦境,雷帝,S级,20139
|
||||||
狐月秘境,狐月天珠,S级,
|
15,狐月秘境,狐月天珠,S级,327
|
||||||
狐月神殿,齐天至尊,S级,
|
16,狐月神殿,齐天至尊,S级,20136
|
||||||
先天秘境,迷宫之主,S级,
|
17,先天秘境,迷宫之主,S级,20012
|
||||||
|
|
|
||||||
|
Loading…
Reference in a new issue