你可以使用SL:GetMetaValue函数来读取这些配置数据。根据浮生梦老师前端课程内容,你需要先定义一个配置表,然后通过索引或遍历来获取具体数据。
以下是读取配置的示例代码:
```lua
-- 定义配置表
local config = {
[1] = {
monName = "甲壳虫",
monShowItems = {
[1] = 60298,
[2] = 60299,
[3] = 60300
}
},
[2] = {
monName = "蠕虫",
monShowItems = {
[1] = 60298,
[2] = 60299,
[3] = 60300
}
},
[3] = {
monName = "变异虫王",
monShowItems = {
[1] = 60300,
[2] = 60301,
[3] = 60302
}
},
[4] = {
monName = "虫皇",
monShowItems = {
[1] = 60305,
[2] = 60306,
[3] = 60307
}
}
}
-- 1. 读取单个配置
local function getMonsterConfig(index)
if config[index] then
local monName = config[index].monName
local monShowItems = config[index].monShowItems
SL:print("怪物" .. index .. "名称: " .. monName)
SL:print("显示物品数量: " .. #monShowItems)
-- 遍历物品列表
for i, itemId in ipairs(monShowItems) do
SL:print("物品" .. i .. ": " .. itemId)
end
return config[index]
else
SL:print("配置索引" .. index .. "不存在")
return nil
end
end
-- 使用示例
local monster1 = getMonsterConfig(1) -- 获取甲壳虫配置
local monster3 = getMonsterConfig(3) -- 获取变异虫王配置
-- 2. 遍历所有配置
local function getAllMonsters()
for index, data in pairs(config) do
SL:print("=== 怪物配置 " .. index .. " ===")
SL:print("名称: " .. data.monName)
SL:print("物品列表: ")
for i, itemId in ipairs(data.monShowItems) do
SL:print(" [" .. i .. "] = " .. itemId)
end
end
end
-- 3. 根据怪物名称查找配置
local function findMonsterByName(name)
for index, data in pairs(config) do
if data.monName == name then
SL:print("找到怪物: " .. name .. ", 索引: " .. index)
return data
end
end
SL:print("未找到怪物: " .. name)
return nil
end
-- 使用示例
local wormConfig = findMonsterByName("蠕虫")
local insectKingConfig = findMonsterByName("虫皇")
-- 4. 获取特定怪物的物品列表
local function getMonsterItems(monsterName)
local config = findMonsterByName(monsterName)
if config then
return config.monShowItems
end
return {}
end
-- 5. 检查物品是否在怪物掉落中
local function isItemInMonsterDrop(itemId)
for _, data in pairs(config) do
for _, dropItemId in ipairs(data.monShowItems) do
if dropItemId == itemId then
SL:print("物品" .. itemId .. "在怪物" .. data.monName .. "的掉落中")
return true, data.monName
end
end
end
return false
end
-- 测试代码
getAllMonsters() -- 打印所有配置
local items = getMonsterItems("甲壳虫") -- 获取甲壳虫的物品列表
local found = isItemInMonsterDrop(60300) -- 检查60300在哪些怪物掉落中
```
这样你就可以通过索引、名称或其他条件来灵活读取配置数据了。记得在实际使用中根据需求调整读取逻辑。