mcpField
O
oxlib

oxlib

github.com/germanfndez开发1971 次安装2 周前更新
代码仓库

关于 oxlib

oxlib 是在 FiveM 资源中使用共享库 ox_lib 的技能,指导以 Lua 实现界面、回调、命令和区域,并说明客户端与服务器端的职责及配置要求。

主要功能

  1. 01通知、对话框与菜单
  2. 02进度界面与 TextUI
  3. 03客户端与服务器回调
  4. 04带类型参数的服务器命令
  5. 05客户端区域与按键绑定
  6. 06配置与模块加载指南

适用场景

  1. 01为资源添加通知或输入对话框
  2. 02在客户端与服务器之间请求数据
  3. 03创建权限受限的命令
  4. 04在玩家进入或离开区域时触发行为

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/germanfndez/fiveai-skills --skill oxlib

安装后在 Claude Code 中输入/oxlib确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

rules/
addCommand.md
callback.md
init.md
interface.md
zones.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

执行步骤

  1. 添加清单行并设置启动顺序(阅读 rules/init.md)。
  2. 从“决策条件”中选择调用方式;阅读对应的规则文件以查看选项表。
  3. 将请求处理放在服务器回调中;将 UI 放在客户端。
  4. 回调和命令名称使用资源前缀。
  5. 保存区域对象,以便移除。

输出约定

返回使用全局 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 区域、方法和实用工具。

上游文档:https://overextended.dev/ox_lib

评论

支持 Markdown