comment-creer-script-fivem
Blog, Tutoriels

Comment Créer un Script Fivem ?

Vous voulez créer un script FiveM mais vous ne savez pas par où commencer ? Pas de panique.

Ce guide vous montre comment créer votre tout premier script en Lua, étape par étape, même si vous êtes débutant.

Créer votre premier script en Lua : Tutoriel étape par étape

On va aller droit au but. L’objectif est de créer un script simple qui affiche un message dans la console du jeu. C’est le « Hello World » du scripting FiveM, la base pour comprendre comment tout fonctionne.

Étape 1 : Préparer l’environnement et la structure des dossiers

D’abord, il faut comprendre un concept clé : sur FiveM, un script est appelé une « resource ». Une resource, c’est simplement un dossier qui contient tous les fichiers de votre script. Le serveur FiveM sait comment lire ce dossier pour démarrer ou arrêter votre code.

Tous les scripts de votre serveur sont rangés dans un dossier principal appelé `resources`. Pour garder les choses propres, il est recommandé de créer un sous-dossier spécial pour vos propres créations.

Voici comment organiser votre structure :

  • Allez dans le dossier racine de votre serveur FiveM.
  • Ouvrez le dossier `resources`.
  • Créez un nouveau dossier nommé `[local]`. Le nom avec les crochets est important.
  • À l’intérieur de `[local]`, créez le dossier pour votre premier script. Appelons-le `mymode`.

Le chemin complet de votre script sera donc quelque chose comme : cfx-server-data\resources\[local]\mymode.

Pourquoi utiliser le dossier `[local]` ?

Ce dossier est généralement ignoré par les outils de versioning comme Git. Ça veut dire que si vous mettez à jour les fichiers de base de votre serveur (ce qu’on appelle `cfx-server-data`), vos scripts personnels ne seront pas effacés. C’est une bonne pratique pour ne pas perdre votre travail.

Étape 2 : Créer le fichier manifest `fxmanifest.lua`

Chaque resource a besoin d’une sorte de carte d’identité pour que FiveM la reconnaisse. Ce fichier s’appelle `fxmanifest.lua` et il est obligatoire. C’est lui qui dit au serveur : « Salut, je suis un script, voici mon nom, ma version, et les fichiers que tu dois charger. »

Même si vous décidez de coder vos scripts en JavaScript ou en C#, le fichier `fxmanifest.lua` doit toujours être en Lua.

Dans votre dossier `mymode`, créez un nouveau fichier et nommez-le `fxmanifest.lua`. Ensuite, copiez-collez ce code à l’intérieur :

lua fx_version ‘cerulean’ game ‘gta5’ author ‘Votre Nom’ description ‘Mon premier script pour FiveM’ version ‘1.0.0’ resource_type ‘gametype’ client_script ‘mymode_client.lua’

Chaque ligne a une signification précise. Analysons-les :

  • fx_version 'cerulean' : C’est une déclaration obligatoire pour utiliser les dernières fonctionnalités de la plateforme FiveM.
  • game 'gta5' : Indique que le script est conçu pour Grand Theft Auto V.
  • author, description, version : Ce sont des informations de base sur votre script. Utile pour vous y retrouver quand vous en aurez plusieurs.
  • resource_type 'gametype' : Définit votre resource comme un mode de jeu. C’est une option parmi d’autres, mais simple pour commencer.
  • client_script 'mymode_client.lua' : C’est la ligne la plus importante. Elle dit à FiveM de charger et d’exécuter le fichier `mymode_client.lua` du côté du joueur (le client).

Étape 3 : Rédiger votre premier script client en Lua

Maintenant que le manifest est prêt, on va créer le fichier Lua qu’on a déclaré. C’est ce fichier qui va contenir le code de notre script.

Toujours dans votre dossier `mymode`, créez un nouveau fichier nommé `mymode_client.lua`. Le nom doit être exactement le même que celui que vous avez mis dans le `fxmanifest.lua`.

Ouvrez ce fichier et ajoutez cette simple ligne de code :

lua print(‘Mon premier script est charge ! Youpi !’)

La fonction `print()` envoie un message dans la console. Comme il s’agit d’un `client_script`, le message apparaîtra dans la console du joueur, pas dans celle du serveur.

Activer et tester votre script

Votre script est créé, mais le serveur ne le connaît pas encore. Il faut lui dire de le démarrer. Pour ça, vous devez modifier le fichier de configuration principal de votre serveur, le `server.cfg`.

Ouvrez votre `server.cfg` et ajoutez cette ligne à la fin, dans la section des resources :

start mymode

Cette commande demande au serveur de démarrer la resource nommée `mymode` au lancement.

Résumé des actions pour tester :

  1. (Re)démarrez votre serveur FiveM pour qu’il prenne en compte le `server.cfg`.
  2. Connectez-vous à votre serveur en tant que joueur.
  3. Une fois dans le jeu, appuyez sur la touche F8 pour ouvrir la console client.
  4. Vous devriez voir le message : `Mon premier script est charge ! Youpi !`.

Si le message s’affiche, bravo ! Vous venez de créer et de faire fonctionner votre tout premier script FiveM.

Pour aller plus loin, vous pouvez tester des actions en boucle. Par exemple, pour faire quelque chose toutes les secondes sans bloquer le jeu, on utilise une structure comme celle-ci. C’est une base pour beaucoup d’actions, comme vérifier la position du joueur.

lua Citizen.CreateThread(function() while true do Citizen.Wait(1000) — Attend 1000 millisecondes (1 seconde) print(« Le script tourne toujours ! ») end end)

La commande `Citizen.Wait(0)` est souvent utilisée dans les boucles pour laisser le jeu respirer entre chaque exécution, ce qui évite les crashs de performance.

Comprendre l’écosystème des scripts FiveM

Maintenant que vous avez les bases pratiques, il est utile de comprendre le contexte. Savoir quels outils et concepts existent vous aidera à progresser plus vite.

Les langages de programmation : Lua, JavaScript et C#

FiveM est flexible et vous laisse le choix du langage pour vos scripts. Voici les options principales :

  • Lua : C’est le langage le plus populaire et le plus utilisé dans la communauté FiveM. Il est léger et relativement simple à apprendre. La documentation est abondante. La version actuelle à utiliser est Lua 5.4. Attention, la version 5.3 est obsolète depuis juin 2025.
  • JavaScript : Si vous venez du développement web, vous serez à l’aise. C’est une bonne option pour créer des interfaces utilisateur (UI) complexes avec du HTML/CSS.
  • C# : Un langage plus robuste, utilisé pour des scripts plus complexes et performants. Il est souvent choisi pour des projets de grande envergure.

Pour commencer, rester sur Lua est le choix le plus simple. Vous pouvez consulter le manuel officiel de Lua 5.4 pour apprendre les bases du langage.

Les différents types de scripts et les frameworks

Les possibilités de scripting sont presque infinies. On peut classer les scripts en grandes catégories pour mieux s’y retrouver :

  • Scripts de gameplay : Ce sont les plus courants. Ils gèrent les jobs, les missions, l’économie, les inventaires, etc.
  • Scripts d’administration : Ils servent à gérer les joueurs, la modération, les logs de connexion. Des outils indispensables pour les admins.
  • Scripts d’interface : Permettent de créer des menus, des HUD personnalisés (barre de faim, de soif), des notifications.
  • Scripts de véhicules et mappings : Pour faire apparaître des véhicules spécifiques, ajouter des objets sur la carte ou créer des intérieurs.

Les frameworks : ESX, QBCore, vRP

Vous entendrez souvent parler de frameworks. Un framework, c’est une grosse base de code qui gère déjà de nombreuses fonctionnalités (économie, identité, jobs…). Les plus connus sont ESX, QBCore, et vRP.

Utiliser un framework vous fait gagner un temps fou, car vous n’avez pas à tout réinventer. Par contre, il est crucial de vérifier la compatibilité de vos scripts avec le framework que vous utilisez. Un script pour ESX ne fonctionnera pas sur un serveur QBCore, et inversement.

Prérequis et bonnes pratiques pour votre serveur

Avoir de bons scripts, c’est bien. Les faire tourner sur un serveur performant, c’est mieux. Un serveur lent ou mal configuré ruinera l’expérience de jeu, peu importe la qualité de votre code.

La configuration matérielle recommandée en 2025

Pour héberger un serveur FiveM capable d’accueillir de nombreux joueurs et des scripts complexes sans lag, il faut une configuration solide. Voici ce qui est recommandé aujourd’hui :

  • Processeur : Un CPU avec une haute fréquence par cœur est essentiel. Un AMD Ryzen 9 7950X3D (16 cœurs / 32 threads) est une excellente référence.
  • RAM : Visez de la DDR5 ECC (Error Correcting Code) pour la stabilité. 32 Go est un bon point de départ.
  • Stockage : Un disque NVMe SSD est indispensable pour des temps de chargement rapides des resources et de la base de données.
  • Connexion : Une bande passante de 1 Gbps minimum pour assurer une communication fluide avec tous les joueurs.

Si vous cherchez un hébergement qui propose ce type de matériel, des solutions existent comme l’hébergement FiveM spécialisé qui garantit une infrastructure adaptée.

Où trouver des scripts fiables ?

La tentation est grande de télécharger des scripts partout sur internet. C’est une mauvaise idée. Beaucoup de scripts sont obsolètes, mal codés, voire malveillants (backdoors).

Pour éviter les problèmes, privilégiez des sources fiables :

  • Le forum officiel CFX.re : C’est la source la plus sûre. Les scripts publiés ici sont souvent vérifiés et maintenus par la communauté. Vous pouvez y trouver de l’aide et des avis.
  • GitHub : De nombreux développeurs partagent leur travail sur GitHub. C’est une excellente source pour des scripts open source. Regardez la date de la dernière mise à jour et les « issues » pour voir si le projet est actif et stable.

Vous pouvez consulter les dernières publications sur le forum CFX.re pour trouver des scripts de qualité.

Vous avez maintenant toutes les clés pour créer votre premier script FiveM. Vous avez vu comment structurer les dossiers, écrire un manifest, coder une action simple et l’activer sur votre serveur.

Le plus important est de pratiquer. Commencez par modifier votre premier script : changez le message, ajoutez des conditions, essayez de détecter quand un joueur appuie sur une touche. C’est en expérimentant que vous apprendrez le plus vite.

Vous pourriez également aimer...