Jump to content
131st VFS 'Death Vipers'
Dimitriov

Vous reprendrez bien un peu de script !

Recommended Posts

Eh oui le script, le fameux script.

 

A quoi ça sert un script, c'est quoi ? Le script est un fichier .lua, du code donc utilisé par DCS pour déclencher des actions. De base, par exemple, lorsqu'un A-10 tire un Maverick, il fait appel à une série de scripts.

 

Tout ceci devient intéressant quand on s'amuse à faire soi-même ses propres scripts, chose jusqu'ici relativement méconnue au 131st. Je ne vais pas faire un tuto sur comment faire un script (je sais pas en faire), mais vous présenter la puissance de ces outils.

 

Un lien phare : http://forums.eagle....ad.php?t=118935 L'annuaire des principaux scripts utilisés.

 

De base, il vous faudra lancer un script "mère", MIST, sur les missions utilisant les scripts listés en dessous. MIST est une compilation des commandes utilisées par les scripts, commandes absentes par défaut dans l'éditeur de mission.

 

Ces scripts permettent en fait de s'affranchir des difficultés rencontrées en édition, notamment vis-à-vis du comportement de l'IA, je vais vous en faire une petite liste, des plus intéressants que j'ai notés, et intéressants, vraiment, ils le sont terriblement, lisez le premier, vous aurez envie de tous les tester !

 

 

 

1) Omnisciente l'IA hein ? Ttends tu vas voir...

 

Le script de détection et de réaction aux menaces, très intéressant, qui permet d'améliorer le réalisme de la détection visuelle des unités au sol, SAM sans radar compris, et leur comportement face à la menace, en leur faisant prendre en compte :

 

- L'élévation de la cible par rapport au véhicule.

- Le nombre de véhicules et donc de paires d'yeux susceptibles de repérer la cible dans le groupe.

- Sa vitesse angulaire.

- Son altitude par rapport aux arbres.

- La position de la cible vis-à-vis du véhicule (devant, sur le côté, derrière etc...).

- Si la cible est confondue dans le relief ou bien se détache dans le ciel...

- Egalement, un convoi pourra décider tout seul de quitter la route et de se barrer dans la campagne s'il repère, par exemple, un hélicoptère ennemi !

- L'IA se focalisera sur un seul appareil pour le répérage, il lui faut l'identifier notamment, mais par contre, la limite du script est la suivante : une fois qu'elle passe weapon free, elle tirera sur tout ce qui bouge, comme d'habitude.

- A n'utiliser qu'avec les SAM, de préférence, sauf s'il n'y a pas de véhicule allié qui attaque le-dit groupe.

 

Bref, un résultat très impressionnant, évidemment impossible par triggers, et qu'il suffit juste de télécharger ! y'a juste à l'inclure dans une mission et le plaisir de jeu sera nettement amélioré à n'en pas douter, le principe du script est qu'il s'intègre à la mission, (comme les enregistrements audio), il ne nécessite pas que tout le monde l'ait, juste le mission maker pour s'amuser.

 

2) Campagne dynamique.

 

Enfin presque. Il va tout simplement créer des patrouilles aléatoires de chasseurs, OTAN ou URSS, qui partent d'aérodromes aléatoires (sélectionnables en modifiant le script) pour des zones de CAP aléatoires, le tout agrémenté d'un GCI pour organiser le tout et créer des "frontières" à ne pas dépasser sinon ça intercepte et ça tire. Il a l'air assez complexe à prendre en main, faudrait faire des tests.

 

3) J'y vais pas sans mon Kamov !

 

Ce script, plutôt intelligent, permet notamment à un groupe de ne continuer sa progression que s'il y'a une protection aérienne à proximité, de même qu'il s'arrêtera si cette protection s'en va ou si un groupe aérien ennemi se rapproche trop. Encore une fois, inutile de préciser l'utilité évidente qu'on pourrait en avoir...

 

4) TIR DE SUPPRESSION !

 

Alors là, je regrette d'avoir déjà écrit tout ça et de pas l'avoir mis en premier : UN MUST ! Les défenses anti-aérienne listées dans le lien cesseront de tirer pendant 15 secondes lorsqu'elles sont endommagées par une arme, de manière directe ou indirecte en cas d'explosion à proximité, c'est juste génial et assez réaliste, je me vois mal continuer de viser avec mon igla quand un obus de 30 mm me pète à côté de la tronche... Ça marche aussi pour les biffins de la troupe !

 

5) Je vais où je veux !

 

Celui-ci permet de faire en sorte qu'un IA choisisse au hasard dans une liste de routes une en particulier, permettant de rendre la mission totalement aléatoire, et donc de faire des trainings voire des campagnes imprévisibles même par l'éditeur de la mission lui-même !

 

6) Putain enfin les Huey vont avoir du boulot !

 

Ce script-ci permet de générer des unités d'infanterie à proximité des épaves d'avion, d'hélicoptère ou de char présents sur le champ de bataille, le pilote de Huey est alors notifié par radio et a pour mission d'assurer le médévac !

 

7) Traffic aérien.

 

Un peu le même style que le n°2, sauf que là c'est plus simple, faut juste choisir une coalition, mettre les bases des côtés appropriés, et on peut choisir le type d'appareil et le nombre dans la patrouille. Ça veut dire... Qu'on peut faire des vols civils !

 

8) Respawn des unités.

 

Tout est dans le titre !

 

9) Mais serait-ce un Manpad qui descend de ce camion ?

 

Mon préféré :) . Il permet d'assigner un groupe embarqué à bord d'un véhicule (techniquement je suppose que oui, on peut faire débarquer un Abrams d'une jeep...), ce groupe débarquera lorsque le véhicule s'arrête (par exemple en raison de la perte d'un véhicule), et rembarquera quand le véhicule repart.

 

10) JTAC automatique.

 

Celui-ci permet de faire en sorte que le JTAC illumine laser ou fumigène selon l'heure de la journée les cibles à sa portée, il change automatiquement de cible lorsque la précédente est détruite.

 

 

 

Voilà, cela fait déjà une belle liste, mais bon, si on devait cumuler tout ça, franchement l'expérience serait plus la même en jeu !

 

Nicolas

 

Et en bonus : Des templates pour poser rapidement des groupes de combats composés de la même manière qu'en réalité. http://forums.eagle....ead.php?t=82161

 

 

https://github.com/MagicBra/VEAF_mission_library

Share this post


Link to post

4) TIR DE SUPPRESSION !

 

Alors là, je regrette d'avoir déjà écrit tout ça et de pas l'avoir mis en premier : UN MUST ! Les défenses anti-aérienne listées dans le lien cesseront de tirer pendant 15 secondes lorsqu'elles sont endommagées par une arme, de manière directe ou indirecte en cas d'explosion à proximité, c'est juste génial et assez réaliste, je me vois mal continuer de viser avec mon igla quand un obus de 30 mm me pète à côté de la tronche... Ça marche aussi pour les biffins de la troupe !

 

9) Mais serait-ce un Manpad qui descend de ce camion ?

 

Mon préféré :) . Il permet d'assigner un groupe embarqué à bord d'un véhicule (techniquement je suppose que oui, on peut faire débarquer un Abrams d'une jeep...), ce groupe débarquera lorsque le véhicule s'arrête (par exemple en raison de la perte d'un véhicule), et rembarquera quand le véhicule repart.

 

 

Ces deux là devraient être inclus à chaque mission de CAS de notre chère escouade ;)

 

Géniaux ces script !

 

 

 

 

Je me permettrais de rajouter celui-ci : (si tu peux éditer ton post 1# dimi pour l'inclure)

 

A-10C Training SP Buddy Lasing (le Lasing JTAC doit être une unité SOL) : http://forums.eagle....ad.php?t=141297

Share this post


Link to post

MANUEL D'UTILISATION SCRIPTS

 

Je vais vous expliquer comment utiliser les scripts suivants :

 

-MIST (obligatoire)

-Tir de suppression (télécharger depuis ce lien plutôt, je vous expliquerai plus loin pourquoi, c'est une version que j'ai modifiée)

-Detection visuelle

-JTAC automatique (lien pour le dl directement au lieu de le chercher)

-Débarquement Manpad depuis un convoi à l'arrêt.

 

DOnc bon déjà, téléchargez les scripts associés (les .lua) et mettez les dans un dossier.

 

Je précise que vous pouvez faire un copier coller des fonctions (pour le 3, le 4 et 5) depuis cette page vers DCS.

 

Vous verrez, c'est le même système pour tous :

 

Charger le fichier script dans la mission.

Exécuter le commande (très simple) sur le groupe qu'on veut.

 

 

1) MIST

 

Un seul trigger, toujours le même :

 

DEBUT MISSION / RIEN / Exécuter le fichier script "MIST" ET Activer Marker 1

 

 

2) Tir de suppression.

 

Je l'ai modifié pour qu'il arrête de tirer un temps aléatoire compris entre 5 et 40 secondes, testé sur un Zu-23 et juste parfait.

 

UNE FOIS / Temps depuis marker1 = 1 seconde / Exécuter le fichier script "Tir de suppression" (me souviens plus du nom précis).

 

3) Le JTAC

 

Poser un véhicule type Humvee M249 ou Stryker (je n'ai pas encore trouvé de véhicule Russe utilisant le laser).

Il faut qu'il soit seul dans son groupe, et le renommer, par exemple, JTAC1

Lui mettre deux actions avancées : Tir interdit et (facultatif) invisible.

 

Ensuite,

 

UNE FOIS / Temps depuis marker1 = 1 seconde / Exécuter le fichier script "JTAC"

 

Puis

 

UNE FOIS / Temps depuis marker1 = 2 seconde / Exécuter le script (et pas le fichier ) : JTACAutoLase('JTAC1', 1688) à écrire dans la case, JTAC1 correspond au nom du groupe, et 1688 est le code laser pour les A-10.

 

 

4) Le groupe débarque des unités lorsqu'il s'arrête.

 

Créer un groupe de par exemple 3 btr-80. Renommer la case "unité" de celui de votre choix "Bla" ou autre par exemple.

 

UNE FOIS / Temps depuis marker1 = 1 seconde / Exécuter le fichier script "DismountsScript"

 

UNE FOIS / Temps depuis marker1 = 2 seconde / Exécuter le script (et pas le fichier ) : AddDismounts("Bla", "MANPADS")

 

Dés que le véhicule se stoppera, des manpads en sortiront, on peut mettre au choix : "MANPADS", "Mortar", "Rifle" ou "ZU-23"

 

 

5) La détection visuelle.

 

Testé avec un Mi-8 se rapprochant en TTBA par derrière d'un strela-1 (IR sans visi vers l'arrière), la strela ne détecte le Mi-8 qu'à 1 km de distance.

 

Poser une strela, ou tout SAM ne possédant pas de radar. On peut le mettre en groupe avec d'autres unités.

Renommer le groupe "strela" par exemple.

 

UNE FOIS / Temps depuis marker1 = 1 seconde / Exécuter le fichier script "Detection"

 

 

UNE FOIS / Temps depuis marker1 = 2 seconde / Exécuter le script (et pas le fichier ) : AddOP("strela", "arg2", true, true, true)

 

Alors ça veut dire quoi tout ça ?

 

- "strela" : bon pas besoin de faire un dessin, c'est le nom du groupe auquel s'applique la détection visuelle.

- "arg2" : C'est le nom d'un second groupe (hypothétique, si absent, laisser "arg2") qui partagerait des informations radar avec le groupe strela.

- true : soit true, soit false, pas de guillemets, laisser par défaut en true, le groupe attendra de détecter une menace AA pour commencer à tirer, cela signifie qu'il n'engagera pas les cibles au sol, donc de préférence, faire un convoi strela, et un convoi normal d'escorte.

- true : soit true, soit false, pas de guillemets, Si sur true, le groupe sortira de la route se s'arrêtera en cas de détection d'appareil hostile, à voir donc selon vos envies, l'avantage est qu'il débarquera des manpads si vous avez en plus cumulé avec le script précédent.

- true : soit true, soit false, pas de guillemets, en true, le groupe se focalisera sur sa section avant, pour chaque véhicule, ça peut devenir super intéressant en mettant, par exemple, deux strela à 90° l'une par rapport à l'autre, car ça laisse un angle mort pour les approcher. en false, il cherche à 360°.

 

Quoiqu'il arrive, il aura bien plus de mal à détecter les cibles en BA et se déplaçant contre le relief.

 

La seconde partie (facultative) concerne le cas où vous auriez un groupe de commandement radar à disposition. Si tel est le cas, le nommer par exemple "radar", puis, créer le trigger suivant :

 

UNE FOIS / Temps depuis marker1 = 2 seconde / Exécuter le script (et pas le fichier ) : AddEWR("radar", true)

 

Du coup, si vous utilisez cette combinaison, dans le premier trigger, remplacer "arg2" par "radar".

 

- "radar" est le nom du groupe.

- true/false, règle si la transmission de la position de la cible se fait par DL ou par radio. En DL il faut quelques secondes, en radio c'est plus long. true=DL, false=radio. Toujours pas de guillemets.

 

 

Voilà, ça vous donne déjà du travail, mais putain ça change bien les choses :)

 

Allez bonne chance ;)

 

Nicolas

Share this post


Link to post

J'ai eu une excellente idée que je vais du coup tester, car je crois avoir trouvé la possibilité de faire respawner un joueur à proximité d'un autre joueur en cas de déconnexion ou bug DCS.

 

Je m'explique.

 

Dans la liste des scripts, il y'a le système "respawn d'unités" (numéro 8). L'idée de ce script est la suivante : faire respawner un groupe par menu radio, dans une zone.

 

La façon dont je vois le truc est la suivante :

 

- Créer une zone mobile autour d'un appareil joueur, par exemple sur le Kamov de phil.

- J'ai de mon côté une déco, je me reconnecte.

- Je passe en Maître du jeu via Combined Arms.

- J'active le trigger de respawn, qui fait spawner un hélicoptère dans un cercle de 200 m de rayon autour de phil.

- Je prends le contrôle de l'appareil par CA :)

 

Par contre, l'appareil popera avec une altitude prédéfinie dans l'éditeur, donc possiblement dans une montagne si c'est mal prévu ^^

 

Si ça marche, finies les navs perdues après 40 minutes de vol, ou le cours annulé parce-que l'instructeur a eu 3 décos d'affilée et a la flemme de se retaper le trajet !

 

Je teste ça demain et si c'est bon je vous mettrai la notice.

 

Nicolas

Share this post


Link to post
4) Le groupe débarque des unités lorsqu'il s'arrête. Créer un groupe de par exemple 3 btr-80. Renommer la case "unité" de celui de votre choix "Bla" ou autre par exemple. UNE FOIS / Temps depuis marker1 = 2 seconde / Exécuter le script (et pas le fichier ) : AddDismounts("Bla", "MANPADS") Dés que le véhicule se stoppera, des manpads en sortiront, on peut mettre au choix : "MANPADS", "Mortar", "Rifle" ou "ZU-23"

 

Salut,

 

Petite erreur dans l'explication. Il faut créer un trigger auparavant pour charger le fichier "DismountsScript.lua", sinon il y aura une erreur à l'usage de la fonction.

 

UNE FOIS / Temps depuis marker1 = 1 seconde / Exécuter le fichier script "DismountsScript"

Share this post


Link to post

Sinon c'est plutôt bien expliqué, merci Dimitriov.

 

J'ai créé une mission en employant l'ensemble des points, reste à voir ce que ça donne en vrai.

Share this post


Link to post

2) Campagne dynamique.

 

Enfin presque. Il va tout simplement créer des patrouilles aléatoires de chasseurs, OTAN ou URSS, qui partent d'aérodromes aléatoires (sélectionnables en modifiant le script) pour des zones de CAP aléatoires, le tout agrémenté d'un GCI pour organiser le tout et créer des "frontières" à ne pas dépasser sinon ça intercepte et ça tire. Il a l'air assez complexe à prendre en main, faudrait faire des tests.

 

 

J'ai testé, c'est plutôt sympa même si ça devient vite la guerre mondiale :)

 

 

La mission qui vous montre comment c'est :)

131ST_Ravit_CAP_v0.00.01.miz

Share this post


Link to post

Script intéressant pour une mission d'entrainement: quand un missile est lancé contre vous, le missile qui est censé vous toucher disparait avant l'impact et vous recevez le message en anglais "(nom du joueur) a été touché par un missile. Vous devriez vous éjecter honteusement". Peut-être pas mal pour s'entrainer sur des stands de tir pour travailler la passe et l'évasive sans forcément avoir à respawner et à se taper tout le ramp start. Par contre, script INTERDIT en mission, on est bien d'accord :gg:

 

http://forums.eagle.ru/showthread.php?t=143934

Share this post


Link to post

Alors le script CSAR, comment ça marche ?

 

- faire: une fois>temps supérieur à 2>executer fichier script "mist.lua" et "son au pays">Australie>beacon.ogg Attention à avoir la dernière version de mist (dans le fichier zip dont le lien est donné plus bas)

- faire : une fois>temps supérieur à 4>executer fichier script "CSAR.lua"

 

Voici le lien vers le fichier mist et tout ce qu'il faut:

https://drive.google...iew?usp=sharing

 

Dans cette archive, vous trouverez aussi un fichier "csarSlotBlockGameGUI.lua", copiez le dans:

-C:>vous>mes documents>parties enregistrées>DCS1.5>scripts

--C:>vous>mes documents>parties enregistrées>DCS2.0>scripts

 

Si vous éditer le fichier csar.lua, regardez les lignes 9 à 96: ce sont tous les noms d' unités possibles reconnus par le script. Tout hélicoptère impliqué dans une mission CSAR (transport ou gazelle ou kamov) doit impérativement porter un de ces noms d'unité sinon il ne sera pas reconnu par le script. Quand au nom des mash, on s'en fout, vu que le fait déposer le pilote abattu sur n'importe quel base alliée le considérera comme sauvé

 

Si vous regardez le fichier csar.lua joint à mon archive zip, je l'ai édité à ma sauce à savoir:

 

- ligne 134: changer la valeur (en minutes) pendant laquelle on ne peut pas se repiter avec l'appareil abattu tant que son pilote n'a pas été ramené à une base alliée. Si vous tentez de vous repiter avant, votre appareil sera tout de suite détruit.

 

- Ligne 138: si true, tout hélico de sauvetage (transport ou attaque) devra être "secouru" s'il se fait abattre avant de pouvoir se repiter

 

- Ligne 140: si true, tout appareil IA qui se fait abattre générera une mission CSAR

 

- Lignes 150 et 151: la valeur permet de changer la couleur du fumi déclenchée par le pilote abattu, et ce pour chaque camp (0 pour vert, 1 pour rouge, 2 pour blanc, 3 pour orange et 4 pour bleu)

 

- Ligne 155: permet de changer quel type de coordoonées seront données dans l'énoncé de la mission CSAR (0 pour coordonnées degré décimal, 1 pour coordonnées degré/minute/seconde, 2 pour coordonnées MGRS, 3 pour coordonnées bullseye avec distance en nautique (attention le cap donné et le cap vrai, vous devez soustraire 6° pour avoir le cap magnétique à suivre), et 4 pour coordonnées bullseye avec distance en kilomètres (attention le cap donné et le cap vrai, vous devez soustraire 6° pour avoir le cap magnétique à suivre) Pour ma part j'ai choisi les coordonnées bullseye en kilomètres. Pour simplifier la vie des hélicos, placez le bullseye sur leur point de départ.

 

- Ligne 164: définit le rayon de la zone autour du pilote dans laquelle vous devez vous poser pour le considérer comme récupéré.

 

Et en prime, je mets en pièce jointe la mission que l'on a essayé ce soir en utilisant le script csar en plus des scripts dismount, detection et suppression. Pour déclencher la mission CSAR, pitez vous d'abord en A10 sacrifié, faites vous joyeusement allumer la tronche par les défenses de l'aérodrome du X et éjectez vous en plein milieu des shilkas et autres Strela pour donner du fil à retordre à vos petits camarades. Puis prenez un des deux Mi8 et accédez au menu CSAR via le menu F10.

csar-test.miz

Share this post


Link to post

Aurait on un grand gourou du script parmis nous capable de faire un tuto sur :

-l'installation de MIST

-la configuration des principaux script utilisables dans nos missions ( CAP autonome avec GCI, CSAR, manpad qui sort d'un véhicule, route de convoi aléatoire )

 

parce que j'y pige rien , même avec les exemples de mission sous les yeux .... :cry:

Share this post


Link to post

Pour MIST c'est très simple, il te suffit de créer un trigger "temps sup à 5" et comme action "Exécuter fichier script - > MIST".

 

MIST est le script mère, les autres scripts (enfin pas tous d'ailleurs, certains sont autonomes) vont aller chercher dans MIST les fonctions qu'ils utilisent pour eux.

 

Pour faire simple, ton script GCI utilise la fonction "blabla", dans son code, y'a marqué "exec blabla", mais il ne définit pas ce que fait "blabla", il se contente de dire "blabla est une fonction que MIST définit, moi je me contente de l'exécuter".

 

Tu dois donc t'assurer de lancer MIST avant de lancer d'autres scripts, donc si tu as un script GCI par exemple, tu crées un second trigger "Temps sup à 10" et exécuter fichier script -> GCI.

 

Ensuite pour la configuration interne du script :

 

Je ne connais pas ton script, mais tu dois avoir du coup des paramètres à définir, par exemple le nom de la zone, le nom de l'unité GCI etc, donc une fois les scripts initialisés, tu crées un nouveau trigger (temps sup à 15 par exemple), et tu mets comme action "exécuter script" (pas exécuter fichier script), et dans la case tu marques les lignes de code qui sont normalement explicités.

 

Pour résumer : 3 temps :

 

- Initialisation de MIST au bout de 5 secondes.

- Initialisation du script GCI au bout de 10 secondes.

- Configuration du script GCI au bout de 15 secondes.

 

Exemple :

 

Le script du manpad qui descend du char.

 

Préparation : Nommer le char en question "char" par exemple (nom de l'unité).

 

Trigger 1 : Temps sup à 5 : exécuter fichier script : MIST

Trigger 2 : Temps sup à 10 : exécuter fichier script : Manpad (je connais plus son nom)

Trigger 3 : Temps sup à 15 : exécuter script : AddDismounts("char", "MANPADS")

 

Dés lors, un manpad descendra de l'unité char lorsque celle-ci est à l'arrêt. Le processus est le suivant : Le script Manpad invoque la fonction AddDismounts, qui est définie par MIST.

Share this post


Link to post

Ben si c'est le script GCI+CAP aleatoire que Tintin a proposé, il faut l'editer un chouille.

 

Rien de méchant, on se fait un TS Angus un de ces soir si tu veux.

Share this post


Link to post

yep je veux bien ! ça à l'air super intéressant , mais je pige pas tout .... on le met où sur notre ordi ce Mist ????? est ce qu'il est intégré à la mission ou il faut que l'hébergeur l'ai aussi sur son ordi ???

 

Tu m'expliqueras tout ça winglet :gg:

Share this post


Link to post

Non le fichier se comporte comme nun audio. Tu le mets où tu veux sur ton pc, tu l'ouvres par l'éditeur via le trigger "exécuter fichier script", et pis toc il est intégré à la mission comme les audios.

Share this post


Link to post

Quelqu'un s'aurait prendre un peu de son temps pour m'expliquer comment fonctionne le script CTLD ? j'en aurais bien besoin pour la campagne vu que ED nous a dauber les charges sous élingues et la fonction d'embarquement/débarquement de passagers ...

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...