关于 fivem-basics
FiveM basics 是面向 FiveM Lua 资源开发与调试的技能,适用于编写或维护资源的开发者。它涵盖资源结构、清单、客户端与服务器职责、事件、导出、输入验证和调试方法。
主要功能
- 01组织资源文件与 fxmanifest.lua
- 02划分客户端和服务器逻辑
- 03处理本地及网络事件
- 04定义并调用跨资源导出
- 05在服务器端验证输入与状态
- 06根据服务器或 F8 日志调试
适用场景
- 01创建或编辑 FiveM 资源
- 02实现客户端与服务器事件通信
- 03在不同资源间调用函数
- 04通过服务器或客户端日志追踪故障
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ germanfndez/ fiveai-skills --skill fivem-basics安装后在 Claude Code 中输入/fivem-basics确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
rules/client-server.mddebugging.mdevents.mdexports.mdfxmanifest.mdoptimization.mdreference-links.mdstructure.md详细介绍
FiveM 基础
FiveM Lua 的资源结构、fxmanifest、客户端/服务端划分、事件、导出和调试。
激活约定
当用户创建或编辑任何 FiveM 资源、fxmanifest.lua、client*.lua 或 server*.lua,询问客户端/服务端、事件或导出的工作方式,或报告需要查看服务端日志与 F8 日志才能排查的错误时,加载此技能。
硬性规则
- 清单:使用
fx_version 'cerulean'和game 'gta5'(或'rdr3'/'common');所有提供给客户端的文件都要放入files。 - 使用
RegisterNetEvent注册网络事件;仅本地事件只使用AddEventHandler,绝不使用RegisterNetEvent。 - 服务端处理程序从
source读取发送者;使用TriggerClientEvent(event, -1, ...)广播。 - 对于跨网络传输的所有网络事件,
GetInvokingResource()都是 nil;它不是身份验证检查。应改为验证类型、范围和服务端持有的状态。 - 绝不在客户端处理金钱或物品交易;应在服务端验证并执行。
- 除非有环境保护逻辑,否则不要在
shared_scripts中使用游戏原生函数。 - 使用
PlayerPedId(),不要使用GetPlayerPed(-1);使用#(a - b),不要使用GetDistanceBetweenCoords。 - 优先使用
local;优先使用变量化的Wait(),而不是固定的Wait(0)。 - 资源名称使用下划线,不要包含空格或特殊字符。
决策关口
| 需求 | 使用方式 |
|---|---|
| 客户端到服务端 | TriggerServerEvent(event, ...) |
| 服务端到一个/所有客户端 | TriggerClientEvent(event, playerId | -1, ...) |
| 仅限同一侧 | TriggerEvent + AddEventHandler |
| 跨网络返回数据 | 使用回调(ox_lib / 框架),不要使用成对事件 |
| 单个资源内的非网络调用 | 使用普通函数,不要使用事件 |
| 跨资源函数 | 在清单中使用 exports / server_export,调用 exports.res:fn() |
| 服务端控制台无错误但仍有问题 | 请用户提供 F8 客户端日志 |
执行步骤
- 搭建
client/、server/、shared/目录和清单;阅读 rules/structure.md 和 rules/fxmanifest.md。 - 确定每段逻辑所在的一侧(原生函数放在客户端,数据和验证放在服务端)。
- 根据“决策关口”连接通信;将事件命名为
resource:side:action。 - 验证每个服务端处理程序的参数;添加距离和状态检查。
- 提供 https://docs.fivem.net/natives/ 以供查询原生函数。
输出约定
返回清单以及按客户端/服务端划分、可运行的 Lua 代码,并明确标注事件名称、验证逻辑和 source 的处理方式。
参考资料
- rules/structure.md — 作用范围、客户端/服务端分离、命名。
- rules/fxmanifest.md — 清单条目、glob 模式、最小示例。
- rules/client-server.md — 各部分的运行位置及通信方式。
- rules/events.md — 注册、触发、命名、事件与函数的区别、安全性。
- rules/exports.md — 定义和使用导出。
- rules/debugging.md — 服务端控制台与 F8 日志。
- rules/optimization.md — 局部变量、表、原生函数、循环、安全性。
- rules/reference-links.md — 官方文档和原生函数参考。
评论
支持 Markdown