Le SQF pour les nuls
Démarrer
Outils
Éditeur de code conseillé : visual studio code Si vous ne souhaitez pas la version distribuée par Microsoft à cause de la télémétrie, il existe une distribution complètement libre : vscodium.
Une fois installé, voici quelques extensions utiles :
Et quelques options que vous pouvez activer dans vscode:
- Bracket Pair Colorization
- Trim Trailing Whitespace
Structure d'une mission
Le mission.sqm
À moins que vous ayez modifié votre installation, toutes les missions que vous enregistrez depuis l'Eden editor se trouve dans le chemin C:\Users\<username>\OneDrive\Documents\Arma 3 - Other Profiles\<userprofile>
dans lequel vous trouverez 2 dossiers, missions
et mpmission
.
Chacune de vos missions s'enregistre sous la forme d'un dossier nommé missionName.mapName
, dans lequel vous trouverez un fichier mission.sqm
qui contient tout ce que vous faites dans l'éditeur. Par défaut ce fichier est binarisé pour gagner de la mémoire mais cela le rend illisible pour un utilisateur. Si vous faites une mission canard, il est demandé de désactiver cette option dans l'éditeur pour que GDC-toolbox puisse lire le fichier sans problème.
Ceci se fait pour le scénario et le futur scénario comme l'on voit sur l'image suivante Pour revenir à notre scripting, il est déconseillé excepté pour les utilisateurs avancés de modifier ce fichier au prix de ne plus pouvoir ouvrir la mission à cause d'une erreur.
Les fichiers sqf du jeu
Dans votre dossier mission vous allez pouvoir placer tout ce qui est nécessaire à la mission comme des images, des sons dans des sous-dossiers, etc. Attention à veiller que la mission ne devienne pas trop lourde car elle est téléchargée par tous les clients (pas d'images/sons inutiles, compression si possible).
Toutefois il existe des noms de fichiers optionnels particuliers qui sont recherchés par le moteur du jeu au lancement de la mission tel que l'init.sqf
, l'initServer.sqf
, l'initPlayerLocal.Sqf
, etc.
Plus d'infos sont disponibles sur le wiki de Bohémia sur leurs noms et sur leur ordre d'exécution.
Le description.ext
Il existe également le fichier description.ext
. Ce dernier contient des informations supplémentaires à propos de votre mission comme le nom, l'auteur, l'image de chargement bien qu'il soit possible de renseigner tout cela depuis l'éditeur. Il est surtout important pour la compilation de fonction ou de son que vous rajoutez dans votre mission mais cela est pour une utilisation avancée. Encore une fois je ne peux que vous rediriger vers le wiki de Bohémia.
Windows fait chier
Un problème récurrent pour ceux commençant le scripting est de créer les différents fichiers ci-dessus parfaitement comme attendu mais rien ne se passe dans la mission, comme ci c'est fichier ne s'executait pas (et c'est le cas).
Comme l'indique le titre de cette section, la raison générale de ce problème est du à Windows. Ceci est du au fait que l'explorateur Windows, par défaut, cache les extensions de fichier et ne vous permet pas de les modifier. Ainsi quand vous nommez votre fichier init.sqf
, celui-ci est en réalité un fichier texte init.sqf.txt
. La solution la plus simple à long terme est donc d'afficher ces extensions de fichier afin de pouvoir les modifier. Voici en image l'option dans Windows 11, Microsoft propose également un tuto similaire pour Windows 10.