Scripting en FiveM: recursos, fxmanifest, eventos y la skill de IA

375 instalaciones en skills.sh

Actualizado

¿No quieres gestionar las skills tú mismo? Consigue la app completa.

Un recurso de FiveM es una carpeta con un fxmanifest.lua y scripts de cliente, servidor y compartidos que se comunican con eventos. Esta guía explica esa estructura, los errores que impiden que un recurso arranque y la skill de IA que los evita.

El scripting en FiveM empieza por los recursos: carpetas que contienen un fxmanifest.lua y los scripts de cliente, servidor y compartidos que forman una funcionalidad. Cada framework, script de trabajo o interfaz de un servidor es un recurso, así que estas bases aplican a cualquiera que programe para FiveM. Esta página explica qué documenta la skill de fundamentos de FiveM de FiveAI, los errores que impiden que un recurso arranque y cómo instalar la skill en tu asistente de IA.

Qué te da la skill de fundamentos de FiveM

La skill es un archivo SKILL.md con un archivo de reglas por tema:

  • structure: cómo organizar un recurso, separación de cliente y servidor, agrupación lógica y nombres.
  • fxmanifest: las claves del manifiesto que importan: fx_version, game, client_scripts, server_scripts, shared_scripts, files y dependencies.
  • client-server: qué corre en cada lado, código compartido y los patrones de comunicación entre ambos.
  • events: RegisterNetEvent, TriggerServerEvent, TriggerClientEvent, convenciones de nombres y seguridad.
  • exports: cómo definir un export y llamarlo desde otro recurso.
  • debugging: la consola del servidor frente a la consola F8 del cliente, y cuándo pedir los logs de F8 si el servidor no muestra nada.
  • optimization: locales, tiempos de bucle, cacheo de PlayerPedId(), distancia con vectores, state bags y estructura de carpetas.
  • reference-links: la documentación oficial en https://docs.fivem.net/docs/ y la referencia de natives en https://docs.fivem.net/natives/.

Úsala siempre que crees o edites un recurso, sin importar qué framework corra encima.

Errores comunes con recursos de FiveM

  • fx_version o game ausentes o incorrectos en fxmanifest.lua. Síntoma: el recurso no arranca y la consola del servidor imprime un error de manifiesto. Solución: declara fx_version 'cerulean' y game 'gta5' al inicio del manifiesto y luego lista tus scripts.
  • Lógica de servidor en un archivo de cliente. Síntoma: una consulta a base de datos o un native exclusivo de servidor corre en el cliente, falla o expone datos a todos los jugadores. Solución: mantén todo lo que toque base de datos, dinero o permisos en server_scripts y envía resultados al cliente mediante eventos.
  • RegisterNetEvent sin handler, o nombres de handler que no coinciden con el trigger. Síntoma: el evento se dispara y no pasa nada, sin error en ninguna consola. Solución: registra el evento y añade el handler con la misma cadena, y usa un prefijo de recurso como mirecurso:server:hacerAlgo para que los nombres nunca choquen.
  • Orden de ensure incorrecto en server.cfg. Síntoma: un recurso arranca antes que el framework o la librería que necesita, así que sus exports son nil al cargar. Solución: añade dependency 'ox_lib' (o dependencies { ... }) en fxmanifest.lua y haz el ensure de la dependencia antes en server.cfg.
  • Bucles pesados while true do Wait(0) end y globales por todas partes. Síntoma: tiempo alto de recurso en resmon y colisiones de nombres entre scripts. Solución: usa un Wait más largo cuando no haya nada cerca, cachea PlayerPedId() fuera del bucle, compara distancias con vectores y declara variables con local.

Por qué los asistentes de IA se equivocan con FiveM

Un asistente genérico no sabe a qué lado de la red pertenece un native, así que llama natives de cliente en el servidor, inventa exports que un recurso nunca tuvo y escribe manifiestos de memoria con un fx_version desactualizado o sin la línea game. También recurre a la sintaxis de eventos más antigua de sus datos de entrenamiento y rara vez añade un prefijo de recurso a los nombres de eventos.

La skill le da una referencia corta para cada una de esas áreas: las claves del manifiesto, la separación cliente y servidor, las funciones de eventos con sus reglas de nombres y seguridad, el patrón de exports y la guía de optimización. También le indica que consulte la referencia de natives en docs.fivem.net en lugar de adivinar la firma de un native, y que pida los logs de F8 cuando un bug de cliente deja limpia la consola del servidor. Eso convierte un script plausible en uno que arranca y funciona.

Instala la skill de fundamentos de FiveM en 30 segundos

  1. Haz clic en "Download SKILL.md" en la parte superior de esta página.
  2. Descomprímelo en la carpeta de skills o reglas de tu herramienta de IA. La sección de instalación de abajo muestra la ruta exacta para Claude Code, Cursor y VS Code.
  3. Pide al asistente algo concreto, como un recurso con un evento de servidor y un comando de cliente, y comprueba que el manifiesto tiene fx_version y game y que los nombres de eventos coinciden en ambos lados.

Cómo instalar esta skill

Descarga el zip, descomprímelo y coloca la carpeta donde tu herramienta carga skills o reglas. La ruta exacta depende de la herramienta:

Claude Code

Descomprime en .claude/skills/fivem-basics/ dentro del proyecto (la carpeta debe contener SKILL.md). Para todos los proyectos, usa ~/.claude/skills/fivem-basics/.

Documentación de skills de Claude Code

Cursor

Cursor carga las reglas del proyecto desde .cursor/rules/. Añade ahí un archivo de regla que apunte a la skill descomprimida, o pega el contenido de SKILL.md y los archivos de reglas en una regla. El formato es .mdc con frontmatter y cambia entre versiones, así que revisa la documentación de tu versión.

Documentación de reglas de Cursor

VS Code / Copilot

Copilot lee archivos de instrucciones desde .github/instructions/*.instructions.md. Copia SKILL.md ahí con un glob applyTo para tus archivos Lua y deja los archivos de reglas al lado.

Documentación de instrucciones de VS Code

El archivo SKILL.md

Este es el archivo que lee tu asistente de IA. Enlaza a los archivos de reglas incluidos en la descarga.

Contenido de la skill (incluye SKILL.md y cualquier otro archivo)

El contenido de la skill está en inglés: es documentación técnica pensada para agentes de IA.

FiveM basics

Best practices for FiveM — resources, manifest, client/server, events. Use this skill whenever you are dealing with FiveM code to obtain domain-specific knowledge.

When to use

How to use

Read individual rule files for detailed explanations and examples:

  • rules/structure.md — Resource structure and organization: scope, client/server separation, logical grouping, naming conventions.
  • rules/fxmanifest.md — Resource manifest (fxmanifest.lua): fx_version, game, client_scripts, server_script, files, dependencies.
  • rules/client-server.md — Client vs server scripts, shared code, communication patterns.
  • rules/events.md — Events in Lua: RegisterNetEvent, TriggerServerEvent, TriggerClientEvent, naming conventions, security.
  • rules/exports.md — Defining and consuming exports between resources.
  • rules/debugging.md — Server vs client (F8) logs; when to ask the user for F8 logs if there's no server-side error.
  • rules/optimization.md — Lua/FiveM optimization: locals, loops, natives (PlayerPedId, vector distance), state bags, security, readability, folder structure.
  • rules/reference-links.md — Official docs and natives reference.

Preguntas frecuentes

¿Escribo recursos de FiveM en Lua o en JavaScript?
El runtime de FiveM soporta los dos. Lua es la opción más común y es lo que usan ESX, QBCore y la mayoría de scripts publicados, así que con Lua tienes más ejemplos y una integración más fácil. JavaScript funciona bien si tu equipo ya vive en Node.
¿Dónde encuentro la lista de natives de FiveM?
La referencia oficial es https://docs.fivem.net/natives/. Lista cada native con sus parámetros, valores de retorno y el lado (cliente o servidor) donde corre. La documentación general está en https://docs.fivem.net/docs/.
¿Puedo usar esta skill con ChatGPT?
Sí. SKILL.md es markdown plano. Pégalo en una instrucción personalizada o adjúntalo a un proyecto de ChatGPT. Claude Code, Cursor y VS Code lo cargan desde su carpeta de skills o reglas.

Lecturas más largas del blog de FiveAI sobre el mismo tema.

Más skills