关于 oxlib
oxlib 是在 FiveM 资源中使用共享库 ox_lib 的技能,指导以 Lua 实现界面、回调、命令和区域,并说明客户端与服务器端的职责及配置要求。
主要功能
- 01通知、对话框与菜单
- 02进度界面与 TextUI
- 03客户端与服务器回调
- 04带类型参数的服务器命令
- 05客户端区域与按键绑定
- 06配置与模块加载指南
适用场景
- 01为资源添加通知或输入对话框
- 02在客户端与服务器之间请求数据
- 03创建权限受限的命令
- 04在玩家进入或离开区域时触发行为
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ germanfndez/ fiveai-skills --skill oxlib安装后在 Claude Code 中输入/oxlib确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
rules/addCommand.mdcallback.mdinit.mdinterface.mdzones.md详细介绍
ox_lib
共享的 FiveM 库:通过全局 lib 提供 UI(通知、对话框、菜单、进度)、客户端/服务器回调、命令和区域。
激活约定
当用户需要通知、警报或输入对话框、菜单、进度条、TextUI、客户端-服务器请求/响应、带类型的服务器命令、区域(“玩家进入/离开区域”)、按键绑定,或任何依赖 ox_lib 的资源时,加载此技能。
硬性规则
- 将
shared_scripts { '@ox_lib/init.lua' }添加到fxmanifest.lua,并确保 ox_lib 在此资源之前启动;否则lib将为 nil。 - 对网络间的数据传输,优先使用
lib.callback/lib.callback.await,而非成对事件或特定框架的回调。 - 在服务器上,
lib.callback.register(name, function(source, ...))会将source作为第一个参数;请在那里验证参数。 - 回调名称必须唯一(
resourcename:action)。 - UI 函数(
lib.notify、lib.alertDialog、lib.inputDialog、lib.progress、lib.context、lib.menu、lib.showTextUI)在客户端渲染;从服务器调用时,应触发客户端来调用它们。 - 图标使用 Font Awesome 6,默认样式为
solid;品牌图标使用{'fab', 'name'}。 lib.addCommand在服务器端使用;权限请使用restricted,并为params指定类型(number、playerId、string、longString)。- 区域:
onEnter、onExit和inside在服务器端不起作用;请在客户端创建区域。保留返回的区域对象,以便调用zone:remove()。 - 模块会在首次使用时加载,也可通过
ox_libs { ... }/lib.require加载。
决策条件
| 需求 | 调用 |
|---|---|
| Toast 消息 | lib.notify({ title, description, type }) |
| 确认 / 确定对话框 | lib.alertDialog({ header, content, centered, cancel }) |
| 表单输入 | lib.inputDialog(title, rows) |
| 客户端请求服务器 | lib.callback.await(name, false, ...) + 服务器端 lib.callback.register |
| 服务器请求客户端 | lib.callback.await(name, source, ...) + 客户端 lib.callback.register |
| 带参数的聊天命令 | lib.addCommand(name, { help, params, restricted }, cb) |
| 区域触发器 | lib.zones.poly / lib.zones.box / lib.zones.sphere |
执行步骤
- 添加清单行并设置启动顺序(阅读 rules/init.md)。
- 从“决策条件”中选择调用方式;阅读对应的规则文件以查看选项表。
- 将请求处理放在服务器回调中;将 UI 放在客户端。
- 回调和命令名称使用资源前缀。
- 保存区域对象,以便移除。
输出约定
返回使用全局 lib 的可运行 Lua;若资源是新建的,还需包含清单行,并明确标注客户端/服务器端。
参考资料
- rules/init.md — fxmanifest、shared_script、ox_libs、lib.require。
- rules/callback.md — lib.callback、await、两端的 register。
- rules/interface.md — notify、alertDialog、inputDialog、其他 UI 模块、图标。
- rules/addCommand.md — 包含 help、params、restricted 的服务器命令。
- rules/zones.md — poly、box、sphere 区域、方法和实用工具。
评论
支持 Markdown