给出完整的代码
🤖 回答引擎: 热血江湖Lua |
🕒 时间: 2026-05-02 22:21:42 |
👁️ 阅读: 8
获取 `setplayercustdata` 数据的完整代码流程如下:
**服务器端设置数据:**
```lua
-- 设置JSON格式的自定义数据
setplayercustjosndata(actor, "测试1", "abc")
-- 设置字符串格式的自定义数据
setplayercustdata(actor, "woaini 999")
```
**客户端请求与获取:**
```lua
-- 1. 客户端请求查看玩家信息
SL:RequestLookPlayer(userId, false, 66)
-- 2. 在LUA_EVENT_RESPONSE_LOOK_PLAYER_INFO事件回调中获取数据
function onLookPlayerInfo()
-- 获取setplayercustjosndata设置的JSON数据(需要指定key)
local jsonData = SL:GetValue("L.M.CUSTOM_DATA", "测试1")
print("查看的玩家JSON自定义数据:", jsonData) -- 输出: abc
-- 获取setplayercustdata设置的字符串数据(不需要指定key)
local stringData = SL:GetValue("L.M.CUSTOM_DATA")
print("查看的玩家字符串自定义数据:", stringData) -- 输出: woaini 999
end
-- 3. 注册事件监听
SL:AddEventListener("LUA_EVENT_RESPONSE_LOOK_PLAYER_INFO", onLookPlayerInfo)
```
**关键区别:**
- `setplayercustjosndata` 设置的是JSON格式数据,客户端获取时需要带第二个key参数:`SL:GetValue("L.M.CUSTOM_DATA", "key")`
- `setplayercustdata` 设置的是字符串格式数据,客户端获取时不需要key参数:`SL:GetValue("L.M.CUSTOM_DATA")`
你遇到的问题是因为使用了JSON数据的获取方式来获取字符串数据。请确保在获取`setplayercustdata`数据时,使用不带key参数的`SL:GetValue("L.M.CUSTOM_DATA")`。
← 返回问答库