mcpField
F
fivem-basics

fivem-basics

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

关于 fivem-basics

FiveM basics 是面向 FiveM Lua 资源开发与调试的技能,适用于编写或维护资源的开发者。它涵盖资源结构、清单、客户端与服务器职责、事件、导出、输入验证和调试方法。

主要功能

  1. 01组织资源文件与 fxmanifest.lua
  2. 02划分客户端和服务器逻辑
  3. 03处理本地及网络事件
  4. 04定义并调用跨资源导出
  5. 05在服务器端验证输入与状态
  6. 06根据服务器或 F8 日志调试

适用场景

  1. 01创建或编辑 FiveM 资源
  2. 02实现客户端与服务器事件通信
  3. 03在不同资源间调用函数
  4. 04通过服务器或客户端日志追踪故障

安装

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

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

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

包含的文件

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

rules/
client-server.md
debugging.md
events.md
exports.md
fxmanifest.md
optimization.md
reference-links.md
structure.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 客户端日志

执行步骤

  1. 搭建 client/、server/、shared/ 目录和清单;阅读 rules/structure.md 和 rules/fxmanifest.md。
  2. 确定每段逻辑所在的一侧(原生函数放在客户端,数据和验证放在服务端)。
  3. 根据“决策关口”连接通信;将事件命名为 resource:side:action。
  4. 验证每个服务端处理程序的参数;添加距离和状态检查。
  5. 提供 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 — 官方文档和原生函数参考。

上游文档:https://docs.fivem.net/docs/

评论

支持 Markdown