cfgmons:这是一个假设的怪物配置表
配置表是写在前端还是后端,具体怎么写
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-23 21:52:14 |
👁️ 阅读: 15
在996引擎中,怪物配置表(cfgmons)通常是写在后端的。
**后端配置表写法示例(服务端脚本):**
```lua
-- 假设在服务端脚本中定义怪物配置
local cfgmons = {
[1] = {
id = 1001,
name = "野猪",
hp = 100,
attack = 10,
mapM_x = 100, -- 世界坐标X
mapM_y = 200, -- 世界坐标Y
posM_x = 50, -- 地图坐标X
posM_y = 60 -- 地图坐标Y
},
[2] = {
id = 1002,
name = "骷髅",
hp = 150,
attack = 15,
mapM_x = 150,
mapM_y = 250,
posM_x = 70,
posM_y = 80
}
}
```
**前端如何获取怪物配置:**
前端通过服务端发送的消息获取怪物数据,例如:
```lua
-- 服务端发送怪物数据给前端
sendluamsg(actor, 999, 0, 0, 23, tbl2json(cfg_posM))
-- 前端接收并解析
local mon1_cfg = data[1] -- 获取第一个怪物配置
local mon2_cfg = data[2] -- 获取第二个怪物配置
SL:Print("怪物1坐标", mon1_cfg.posM_x, mon1_cfg.posM_y)
SL:Print("怪物2坐标", mon2_cfg.posM_x, mon2_cfg.posM_y)
```
**配置表使用场景:**
1. **服务端控制**:怪物属性、刷新位置、掉落等逻辑由服务端配置表管理
2. **前端显示**:前端通过`SL:GetMetaValue`或服务端消息获取怪物数据用于显示
3. **坐标转换**:服务端提供世界坐标(mapM_x/mapM_y)和地图坐标(posM_x/posM_y)
**注意**:实际项目中配置表通常存储在CSV文件或数据库表中,通过`ssrRequireCsvCfg("cfg_itemshow")`类似方式加载。前端一般不直接写死怪物配置,而是通过服务端动态获取。
← 返回问答库