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,filesydependencies.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 dePlayerPedId(), 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_versionogameausentes o incorrectos en fxmanifest.lua. Síntoma: el recurso no arranca y la consola del servidor imprime un error de manifiesto. Solución: declarafx_version 'cerulean'ygame '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_scriptsy envía resultados al cliente mediante eventos. RegisterNetEventsin 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 comomirecurso:server:hacerAlgopara que los nombres nunca choquen.- Orden de
ensureincorrecto 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ñadedependency 'ox_lib'(odependencies { ... }) en fxmanifest.lua y haz elensurede la dependencia antes en server.cfg. - Bucles pesados
while true do Wait(0) endy globales por todas partes. Síntoma: tiempo alto de recurso en resmon y colisiones de nombres entre scripts. Solución: usa unWaitmás largo cuando no haya nada cerca, cacheaPlayerPedId()fuera del bucle, compara distancias con vectores y declara variables conlocal.
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
- Haz clic en "Download SKILL.md" en la parte superior de esta página.
- 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.
- 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_versionygamey 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/.
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.
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.
El archivo SKILL.md
Este es el archivo que lee tu asistente de IA. Enlaza a los archivos de reglas incluidos en la descarga.
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
- User asks how FiveM resources or scripts work.
- Editing or creating
fxmanifest.lua,client_*.lua, orserver.lua. - Questions about client/server, events, or exports.
- Need to look up natives or detailed docs → point to https://docs.fivem.net/natives/ and https://docs.fivem.net/docs/.
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
- 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.
- 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/.
- 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.
¿Escribo recursos de FiveM en Lua o en JavaScript?
¿Dónde encuentro la lista de natives de FiveM?
¿Puedo usar esta skill con ChatGPT?
Guías relacionadas
Lecturas más largas del blog de FiveAI sobre el mismo tema.