Quelques scripts maisons

Salle centrale dédiée à DCS World et ses modules -Questions, addon et support
Avatar de l’utilisateur

Topic author
Yohann
Nouvelle Recrue
Nouvelle Recrue
Messages : 92
Inscription : 01 mars 2005

Quelques scripts maisons

#1

Message par Yohann »

J'ai fait quelques scripts dont on se sert à la VEAW et je me suis dit que ça pourrait éventuellement intéresser du monde.
Ce post est pour les initiés du .lua même si je n'ai pas un gros niveau en .lua.
Ces scripts sont commentés et s'appuient sur moose.

Avant de documenter et créer des exemples etc, je vous les présente simplement, j'irai plus loin si ça intéresse.

Je commence donc par un premier script:

Il y a quelques temps pour notre usage nous voulions que des bateaux circulent ici où là, sur PG, un peu a la façon de RAT:

J'ai donc crée "RST" pour random sea trafic , voici son fonctionnement.
Des templates de groupe de bateau sont définis.
Des zones sont définis.

Une zone de départ est tirée au sort, puis un point dans cette zone.
Idem pour le point d'arrivée.
Bien sur il y a un contrôle pour savoir si ces points sont bien en mer et il faut qu'il y ait une distance minimal entre ces points.

Les bateaux vont aller du point de départ au point d'arrivée.

Bien sur il y a un mais: Les bateaux vont tout droit entre les deux points même s'il y a de la terre entre, donc pour corriger ça j'utilise un code lua de pathfindig A*, qui demande a ce qu'on définisse des Nodes ( carrefours, nœud de réseau..) le script va tester la liaison entre les nodes via une ligne droite, regarder s'il y a un obstacle sur la route puis une fois la cartographie faite il va définir le trajet le plus optimal.

Les nodes sont défini par un point au hasard dans chaque zone "RST Node X" dans l'éditeur, pour chaque bateau il y a un nouveau tirage du point aléatoire, ceci pour ne pas retrouver des bateaux sur une même ligne droite.

Le script est un peu lourd, il met environ 5 secondes pour calculer toutes les routes mais il ne le fait qu'une fois, au lancement du serveur. Une fois les points calculés la charge du script est nulle, les points étant déjà calculés même pour un bateau qui spawnera bien plus tard.

En dernier ajout, j'ai fait en sorte qu'aucune bateau géré par le script n'apparaisse a moins de 40Nm du Pa pour éviter de retrouver un tanker au milieu du groupe aéro.

Pour ce script on a donc en paramétrable:
Définition du pa et la taille de la zone d'exclu
une définition des zones de départ et d'arrivée
une définition des "nodes"
une définition des templates
une définition de la relation template, zones possibles de départ, zones possibles d'arrivée, quantité de bateau, probabilité, nom du bateau ( le dernier est pour du debug)

Je ne suis pas un pro des scripts, mais je n'en ai vu aucun qui y ressemble et je ne pense pas aller plus loin dessus.

Il est a utiliser avec moose

Voici le script:
RST.lua

A savoir qu'il est associé a une mission lourde que je ne partage donc pas ici mais si ça intéresse du monde, j'éditerai pour faire une démo légère éventuellement des tacview etc.
Dernière modification par Yohann le mar. déc. 01, 2020 12:14 am, modifié 3 fois.
Avatar de l’utilisateur

Topic author
Yohann
Nouvelle Recrue
Nouvelle Recrue
Messages : 92
Inscription : 01 mars 2005

Re: Quelques scripts maisons

#2

Message par Yohann »

Pour notre serveur dédié nous voulions que les missions puissent suivre un agenda et de façon automatique, j'ai donc fait un script qui à l'aide d'un tableau permet de définir quelle mission doit être lancée quand. Je m'appuie sur le basculement de valeur des "userflag" du jeu pour charger une mission voulue. Je pense entrer dans les détails si ça intéresse quelqu'un. Il est noté que avec un peu d'adaptation on peut chargé une mission voulue avec "Zeus" script déjà bien connu que j'ai adapté pour.


Le script:
Planif.lua

Tout comme le premier script, j'irai plus loin s'il y a des intéressés.
Avatar de l’utilisateur

white-sky
Pilote Confirmé
Pilote Confirmé
Messages : 3230
Inscription : 21 août 2012

Re: Quelques scripts maisons

#3

Message par white-sky »

Salut :)

Fana du second, très bonne idée pour les squads. Le premier bon on utilise plus PG chez nous mais si c'est facilement exportable sous Syrie ou Caucase pourquoi pas ;) Maintenant je pense qu'il intéressera du monde.

Merci beaucoup pour le partage en tout cas.

Nicolas
Image Amour sacré de la Patrie
Conduis, soutiens nos bras vengeurs !
Liberté ! Liberté chérie,
Combats avec tes défenseurs !
Sous nos drapeaux que la Victoire
Accoure à tes mâles accents !
Que tes ennemis expirants
Voient ton triomphe et notre gloire !
Avatar de l’utilisateur

Topic author
Yohann
Nouvelle Recrue
Nouvelle Recrue
Messages : 92
Inscription : 01 mars 2005

Re: Quelques scripts maisons

#4

Message par Yohann »

Oui, c'est "facilement" exportable sur n'importe quelle map.

Je vais faire des missions exemples dans le weekend.
Avatar de l’utilisateur

zeufman
Pilote Philanthrope
Pilote Philanthrope
Messages : 3201
Inscription : 18 mars 2002

Re: Quelques scripts maisons

#5

Message par zeufman »

je prends aussi, suis assez fan du RAT avions civils, bonne idée de le transposer aux navire pour ajouter de la vie sur les maps
------------------------------------
Ne volez plus, devenez la machine
Avatar de l’utilisateur

Topic author
Yohann
Nouvelle Recrue
Nouvelle Recrue
Messages : 92
Inscription : 01 mars 2005

Re: Quelques scripts maisons

#6

Message par Yohann »

Au sujet du planificateur de mission, je donne quelques explications et un sample de missions ici : http://www.checksix-forums.com/viewtopi ... 2&t=210780
NOTA : Accessoirement il y a RST en fonctionnement dans les trois missions que j'y partage, ça peut permettre a certain de voir la chose a l'œuvre.
NOTA2: Rédiger ces articles est long et pas évident, aussi ça peut s'expliquer en vocal sur discord si le besoin se fait sentir.
Répondre

Revenir à « DCS World : Salle principale »