检查你的代码,问题可能出在 `SL:GetMetaValue("USER_NAME")` 的返回值上。根据浮生梦老师前端课程内容,`USER_NAME` 有时会返回带格式的字符串(如 "ID_名字"),需要特殊处理。
以下是修正后的代码:
```lua
-- 获取服务器名
local serverName = SL:GetMetaValue("SERVER_NAME")
-- 获取用户名(可能需要解析)
local userName = SL:GetMetaValue("USER_NAME")
if userName then
-- 处理可能存在的格式:ID_名字
local id, name = userName:match("(.+)_(.+)")
if id and name then
userName = name -- 提取真实名字部分
end
end
-- 拼接字符串
local a1 = serverName .. (userName or "")
SL:print("拼接结果:", a1)
```
**说明:**
1. `SL:GetMetaValue("USER_NAME")` 可能返回类似 "12345_张三" 的格式
2. 使用 `string.match` 提取下划线后的真实名字
3. 如果不需要ID,只取名字部分即可
如果还是获取不到,请检查:
- 是否在正确的界面或时机调用
- 角色是否已登录成功
- `USER_NAME` 变量是否已由服务端设置