现在有一个重大的问题,玩家有一个使用setint添加的自定义信息,我需要在PCPlayerInfoPanel中使用它。只要使用SL:RequestLookPlayer方法就会打开第二个2个玩家信息界面,有解决这个问题的方法吗?
🤖 回答引擎: 热血江湖Lua |
🕒 时间: 2026-05-04 23:07:25 |
👁️ 阅读: 8
可以通过SL的`GetValue`接口直接获取玩家自定义数据,而不需要重复调用`RequestLookPlayer`打开新界面。
在`PCPlayerInfoPanel`中,你可以使用`SL:GetValue("PLAYER_CUSTOM_DATA")`来获取当前玩家的自定义数据。如果数据是存储在`setint`设置的变量中,可以通过`SL:GetValue("CUSTOM", "Var", "变量名")`的方式获取。
如果确实需要查看其他玩家的信息并获取其自定义数据,应使用`SL:RequestQueryPlayerInfoNew(userId)`来查询玩家信息,它会更新`SL:GetValue("REQ_PLAYER_INFO_LATEST")`的数据,而不会自动打开查看界面。获取到玩家信息后,再通过`SL:GetValue("PLAYER_CUSTOM_DATA")`来读取该玩家的自定义数据。
这样可以避免因调用`SL:RequestLookPlayer`而触发打开第二个玩家信息界面的问题。客户端监听`LUA_EVENT_RESPONSE_LOOK_PLAYER_INFO`事件并获取自定义数据的逻辑,应仅在确实需要打开查看界面时使用。
← 返回问答库