veafCombatMission — Le menu MISSIONS¶
Module ID: COMBATMISSION | Fichier: veafCombatMission.lua
Voir en jeu : étape 11 « CAP à la demande et raid sur Senaki » de la mission de démo.
Objectif¶
Propose aux joueurs, depuis le menu radio F10 MISSIONS, des scénarios que le créateur de la mission a préparés dans l'éditeur DCS et déclarés en YAML. Deux familles :
- les missions CAP (
cap_missions:) — des patrouilles aériennes à la demande ; - les missions de combat (
combat_missions:) — des scénarios avec briefing, éléments et suivi des ennemis restants.
Le module est actif par défaut (veaf.registerModule(..., { enable = true }, 100)). Il ne
construit aucun menu si aucune mission n'est déclarée.
Dépendances¶
veafRadio— le menu F10MISSIONSveafSpawn— fait apparaître les groupes d'une missionveafSecurity— pour les missions déclaréessecured: trueveafRemote— le module distant/air(facultatif)
Le menu F10¶
Le menu suit la langue de la mission (
mission.language). Les libellés ci-dessous sont ceux d'une mission en français.
À la racine de MISSIONS :
| Entrée | Effet |
|---|---|
AIDE |
Rappelle le fonctionnement du menu (absente si les menus d'aide sont désactivés) |
Lister les missions disponibles |
Liste les missions déclarées |
Lister les missions en cours |
Liste les missions en cours, avec leur nombre d'ennemis restants |
Puis un sous-menu par mission, et dedans :
| Entrée | Effet |
|---|---|
Infos |
Briefing et état de la mission |
Activer la mission |
Démarre la mission (visible quand elle est inactive) |
Désactiver la mission |
L'arrête (visible quand elle est active) |
Une mission déclarée secured: true voit ses entrées d'activation passer par le contrôle de
sécurité : au menu F10, le groupe agit au niveau de son occupant le moins gradé (voir
veafSecurity).
Une mission de combat propose en plus des sous-menus de compétence et d'échelle, qui règlent
la difficulté et le nombre de groupes engagés.
Quand la mission a un niveau d'opposition, chaque compétence porte
aussi l'entrée Taille auto (niveau d'opposition) : elle active l'échelle d'un groupe ennemi par deux
joueurs, arrondie au-dessus, dans la limite des échelles proposées (niveau 6 → échelle 3).
Les alias¶
veafShortcuts fournit deux raccourcis, qui ne contournent pas la sécurité
(setBypassSecurity(false)) :
| Alias | Ce qu'il fait |
|---|---|
-airstart |
Démarre une mission de combat — le nom se tape juste après |
-airstop |
Arrête une mission de combat |
-airstart Frappe-Nord
-airstop Frappe-Nord
Le module distant /air¶
Enregistré auprès de veafRemote sous le nom air, il répond dans le tchat :
| Commande | Effet |
|---|---|
/air list |
Liste les missions disponibles |
/air start <mission> |
Démarre la mission nommée |
/air start <mission> silent |
La démarre sans message à l'écran |
/air stop <mission> |
L'arrête |
/air stop <mission> silent |
L'arrête sans message |
Configuration mission.yaml¶
modules:
COMBATMISSION:
enabled: true # requis pour cap_missions: et combat_missions:
# ── Missions CAP ──────────────────────────────────────────────────────────────
cap_missions:
- group_name: "Groupe CAP" # REQUIS — nom logique ; le groupe DCS doit s'appeler "OnDemand-Groupe CAP"
menu_name: "CAP Nord" # libellé dans le menu F10 ; group_name s'il est omis (pas friendly_name)
briefing: "Patrouiller le secteur nord et engager les menaces."
default: false # true = Activer / Désactiver réservés aux pilotes autorisés
activated: true # true = la CAP apparaît dans le menu F10
# ── Missions de combat ───────────────────────────────────────────────────
combat_missions:
- name: "Frappe-Alpha" # REQUIS — identifiant interne
friendly_name: "Frappe Alpha" # libellé dans le menu F10
secured: false # true = activation réservée aux pilotes autorisés
radio_menu_enabled: true # afficher dans le menu F10
briefing: |
Détruire la colonne blindée dans le carré BQ-123.
Prévoir de l'AAA et des MANPADS.
elements:
- name: "Elément Alpha 1" # nom interne de l'élément
groups: # noms de groupes DCS inclus dans cet élément
- "STRIKE-GROUP-1"
- "STRIKE-GROUP-2"
scalable: true # true = le nombre de groupes s'adapte au paramètre de compétence
Champs de cap_missions[]¶
| Champ | Type | Défaut | Requis | Description |
|---|---|---|---|---|
group_name |
string | — | Oui | Nom logique du vol CAP. Le groupe DCS placé dans l'éditeur doit être nommé OnDemand-<group_name> : le runtime préfixe OnDemand- (depuis la v5). Ex. group_name: CAP-Alpha → groupe DCS OnDemand-CAP-Alpha |
menu_name |
string | — | Non | Libellé du menu F10 |
briefing |
string | — | Non | Texte de briefing affiché aux joueurs |
default |
booléen | false |
Non | Sécurise les commandes Activer / Désactiver de la CAP : true les réserve aux pilotes qui ont le niveau de sécurité requis. Avec false, la valeur par défaut, tout joueur peut lancer ou arrêter la CAP. C'est le paramètre secured de veafCombatMission.addCapMission ; le nom de la clé ne le dit pas |
activated |
booléen | true |
Non | Affiche la CAP dans le menu F10, déclinée en niveaux (Good, Excellent) et en tailles (1, 2 groupes). Avec false, elle n'a aucune entrée de menu. C'est le paramètre radioMenuEnabled de veafCombatMission.addCapMission. Aucune des deux clés ne démarre la CAP : une CAP ne part que quand on l'active |
Champs de combat_missions[]¶
| Champ | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name |
string | — | Oui | Identifiant interne |
friendly_name |
string | — | Non | Libellé du menu F10 |
secured |
booléen | false |
Non | L'activation est réservée aux pilotes autorisés — au menu F10, le groupe agit au niveau de son occupant le moins gradé (voir veafSecurity) |
radio_menu_enabled |
booléen | true |
Non | Afficher dans le menu F10 |
briefing |
string | — | Non | Texte de briefing multi-ligne |
elements |
objet[] | [] |
Non | Définitions des éléments de mission |
elements[].name |
string | — | Non | Nom interne de l'élément |
elements[].groups |
string[] | — | Non | Noms de groupes DCS dans cet élément |
elements[].scalable |
booléen | true |
Non | Adapter le nombre de groupes à la difficulté |
Exemple minimal¶
modules:
COMBATMISSION:
enabled: true
cap_missions:
- group_name: "CAP-Alpha"
menu_name: "CAP"
combat_missions:
- name: "Frappe-Nord"
briefing: "Détruire les cibles nord."
elements:
- groups: ["Strike-Group-1"]
Constantes du module¶
| Constante | Valeur | Rôle |
|---|---|---|
SecondsBetweenWatchdogChecks |
30 |
Intervalle entre deux vérifications de l'état des missions |
MinimumSpacingBetweenClones |
300 |
Distance minimale, en mètres, entre deux clones d'un même groupe |
RadioMenuName |
menu.combatmission.root |
Clé i18n du nom du menu F10, résolue à la construction du menu |
Voir aussi¶
- veafCasMission — les missions CAS à la demande, un module distinct
- veafSecurity — ce que
secured: trueimplique côté pilote - Référence mission.yaml — toutes les sections de premier niveau