给出完整的代码?我目前使用的是SL:RequestLookPlayer(userId, false, 66),结果还是返回的json数据而不是字符串
🤖 回答引擎: 热血江湖Lua |
🕒 时间: 2026-05-02 22:04:15 |
👁️ 阅读: 11
要获取字符串格式的自定义玩家数据,需要在 `SL:RequestLookPlayer` 调用中不指定 `attList?` 参数。以下是完整的客户端代码示例:
```lua
-- 客户端代码:请求查看玩家信息,获取字符串格式的自定义数据
function RequestLookPlayerForStringData(userId)
-- 关键:第四个参数 attList? 不传或传 nil/空表
SL:RequestLookPlayer(userId, false, 66) -- 或者 SL:RequestLookPlayer(userId, false, 66, nil)
end
-- 注册查看玩家信息响应事件
function MainBtnPanel:RegisterEvent()
SL:RegisterLUAEvent(LUA_EVENT_RESPONSE_LOOK_PLAYER_INFO, "MainBtnPanel", handler(self, self.OnLookPlayerInfo))
end
-- 事件回调函数
function MainBtnPanel:OnLookPlayerInfo(...)
-- 获取字符串格式的自定义数据
local customDataString = SL:GetValue("L.M.CUSTOM_DATA")
print("获取到的自定义字符串数据:", customDataString)
end
```
**说明:**
- 当 `SL:RequestLookPlayer` 的 `attList?` 参数为空(不传或传 `nil`)时,服务器返回 `setplayercustdata` 设置的字符串数据。
- 在事件回调中,使用 `SL:GetValue("L.M.CUSTOM_DATA")`(不带键参数)获取整个字符串。
- 如果指定了 `attList?` 参数(如 `{"测试1","测试2"}`),服务器将返回 `setplayercustjosndata` 设置的 JSON 格式数据,此时需要用 `SL:GetValue("L.M.CUSTOM_DATA", "key")` 获取特定键的值。
← 返回问答库