SuperAPI AI 工具集

fivem-basics

编程与开发

查看项目

更新于 10-15 21:51

技能介绍

用途:在用户创建或编辑 FiveM 资源、fxmanifest.lua、client*.lua 或 server*.lua,询问客户端/服务端、事件或 exports 如何工作,或报告需要服务端日志与 F8 日志区分的 bug 时加载本技能。

主要规则:manifest 使用 fx_version 'cerulean' 与 game 'gta5'(或 'rdr3' / 'common');所有客户端下发文件放入 files。跨网络事件用 RegisterNetEvent 注册,本地事件只用 AddEventHandler,绝不用 RegisterNetEvent。服务端处理器从 source 读取发送者,用 TriggerClientEvent(event, -1, ...) 广播。GetInvokingResource() 在所有跨网络的 net 事件中为 nil,不能作为鉴权。禁止在客户端处理金钱或物品交易,需在服务端校验并执行。shared_scripts 中不得使用游戏 native,除非按环境加以守卫。使用 PlayerPedId() 而非 GetPlayerPed(-1),使用 #(a - b) 而非 GetDistanceBetweenCoords。优先 local,优先变量式 Wait() 而非固定 Wait(0)。资源名用下划线,不含空格或特殊字符。

通信选择:客户端到服务端用 TriggerServerEvent(event, ...);服务端到单个或全部客户端用 TriggerClientEvent(event, playerId | -1, ...);同侧通信用 TriggerEvent + AddEventHandler;跨网络返回数据用回调(ox_lib / 框架),不要用成对事件;单资源非网络调用用普通函数;跨资源函数用 manifest 中的 exports / server_export 与 exports.res:fn()。

执行步骤:先布置 client/、server/、shared/ 与 manifest;为每段逻辑决定所属侧;按上述方式接线并命名事件为 resource:side:action;校验每个服务端处理器参数并加距离与状态检查;native 查询参考 https://docs.fivem.net/natives/。