Bienvenue invité ( Connexion | Inscription )
Galevsky |
3 Mar 2014, 14:36
Message
#1
|
Born to fly, fly to feel alive ! Messages : 3,001 Inscrit : 26/10/05 Lieu : Antibes Membre n° 282 |
Conjointement avec Etcher, et autres contributeurs si il le souhaitent, on va mettre sur pied un ensemble de fonctionnalites lua qui permettront d'ajouter des fonctionnalites en script lua pour rendre les missions:
Basee sur Mist, notre bibliotheque sera une extension, et un simple fichier execute au lancement de la mission. On va commencer par recenser les besoins et les acquis car on a deja pas mal de choses. Je commence pour ma part: Utils getRandomLocationInArea(prefix) Renvoi un point en 2D choisi de maniere aleatoire parmi le/les zones dont le nom commence par le prefix en parametre. ex: getRandomLocationInArea('rescue') renverra un point se trouvant a l'interieur de l'une des zones dont le nom commence par 'rescue'. L'usage de cette fonction, c'est typiquement une mission CSAR, ou pour rendre une mission rejouable a l'infini en generant des unites jamais au meme endroit. getRandomLocationInSector(origin, radiale_min, radiale_max, distance_mini, distance_max) Renvoi un point en 2D choisi de maniere aleatoire dans un secteur par rapport a un point d'origine. ex: getRandomLocationInSector(origin, 90, 180, 70, 110) renverra un point aleatoire situee entre les radiales 90 et 180 du point d'origine, et a une distance comprise entre 70 et 110km. On peut prevoir de simplifier un appel getRandomLocationInSector(origin, 90, 90, 110, 110) par getRandomLocationInSector(origin, 90, 110) getClosestAB(origin, [type]) Renvoi l'ID de la BA la plus proche du point origin et du bon type si specifie( sinon ca renvoie la base peut-importe sa couleur). type choisi parmi {'FRIEND', 'FOE', 'NEUTRAL', 'FRIEND_NEUTRAL', 'FOE_NEUTRAL'} getHumanNb([type], [side]) Renvoi le nombre d'appareils pilotes par des humains, avec le type d'appareil en option, ainsi que le side parmi {'RED','BLUE'} ex: getHumanNb('F-15C') renverra le nombre de F-15C humain dans la partie actuellement. CSAR generateEjectedPilot(prefix, nb_km) Cree un pilot au sol dans une des zones dont le nom commence par prefix et qui tirera une smoke orange si une unite amie entre dans un cercle de nb_km km A2A leadUnit(groupId) Ajoute dans le menu F-10 un certaine nombre d'actions que le groupe executera.
generateGAI(BA_ID, country, [difficulty]) Ajoute sur la base BA_ID des chasseurs en mission Fighter Sweep, avec des unites du pays country dont le type et le nombre est determine en fonction de la difficulte diffculty parmi {'easy', 'normal', 'hard'} (par default, difficulty='normal'). generateTraffic(BA_ID_DPT, BA_ID_ARR, COUNTRY) Ajoute un vol d'une base vers l'autre en mission de type nothing, pour une unite choisie au hazard. SUPPORT callAWACS([nb_escort], [type_escort]) Accessible via menu F-10 dans un menu Support, fait decoller un AWACS depuis la base amie la plus proche pour aller orbiter sur la zone la plus proche dont le nom commence par 'awacs' (ou AWACS), et si il n'en trouve pas, il ira orbiter a mi-chemin entre la localisation de l'unite qui fait la demande et la BA de depart. ex: callAWACS(3, 'Su-27') fera decoller un AWACS avec 3 SU-27 en mission d'escorte. callTanker([nb_escort], [type_escort]) Accessible via menu F-10 dans un menu Support, pareil que pour l'AWACS, mais avec un tanker qui correspond a l'unite humaine qui en fait la demande. Et bien sur on choisit d'abord parmi les zones dont le nom commence par 'tanker' (case non-senstive) callEscort(nb_escort, type_escort) Accessible via menu F-10 dans un menu Support, fait decoller des appareils pour mission d'escorter l'unite humaine qui en fait la demande. fireSmoke() Permet a un humain ejecte d'allumer une smoke orange sur sa position (passage par une unite genere au lieu d'ejection si pas possible avec le pilote ejecte et une detection par zone du CSAR) to be continued... Ce message a été modifié par Galevsky - 3 Mar 2014, 15:51. --------------------
|
DArt |
3 Mar 2014, 15:37
Message
#2
|
I am LotAtc Indicatif : JR-01 Messages : 6,280 Inscrit : 30/11/06 Lieu : Savoie Membre n° 999 |
Je peux fournir du lua pour faire des chronométrages
--------------------
|
Galevsky |
3 Mar 2014, 16:19
Message
#3
|
Born to fly, fly to feel alive ! Messages : 3,001 Inscrit : 26/10/05 Lieu : Antibes Membre n° 282 |
c-a-d ? dis-nous en plus...
Toute contribution est bienvenue !! --------------------
|
Galevsky |
19 Jun 2014, 15:34
Message
#4
|
Born to fly, fly to feel alive ! Messages : 3,001 Inscrit : 26/10/05 Lieu : Antibes Membre n° 282 |
Un tuto geant sur l'edition de mission est a venir avec ses bonnes pratiques, avec en prime des exemple tres concrets concernant les fonctionnalites dynamiques suivantes:
Trigger: comment creer des evenements declencheurs # Bases sur le temps - comment declencher X minutes apres le lancement de la partie - comment declencher a une heure precise - comment declencher de maniere aleatoire entre tel et tel duree apres le lancement de la partie - comment declencher a partir d'une certaine duree a partir d'un certain evenement anterieur # Bases sur une zone - comment declencher si des unites entre sur un territoire - comment declencher si plus aucune unites se trouve sur un territoire - comment declencher si une BA est capturee - comment declencher si des unites sont a telle distance d'une autre unite - comment declencher si des unites sont a telle distance d'un point fixe # Bases sur les unites elles-memes et leur etat - comment declencher si une unite meurt - comment declencher si le niveau de vie d'une unite atteint telle valeur - comment declencher si une unite atteint telle vitesse - comment declencher si une unite atteint telle altitude - comment declencher si une unite est au niveau du sol Action: comment creer tous types d'actions differentes - comment generer une smoke - comment generer une fusee de detresse - comment generer une explosion - comment generer un/des fantassin(s) au sol qui vont monter a bord/debarquer d'un helico - comment activer une unite (apparition dans le jeu) - comment activer une unite qui somnolait (deja presente physiquement mais immobile) - comment activer une unite dans un endroit aleatoire - comment assigner une nouvelle destination a une unite - comment rendre le plan de vol d'une unite au sol en boucle Pour certaines d'entre elle, pas besoin de lua, le Mission Editor suffit, pour d'autre le script lua sera necessaire: une ligne sera suffisante pout chaque action, pour rester simple. On ne peut pas tout faire, mais 90% des besoins seront couverts. Si vous voyez des besoins, dites-le. Ce message a été modifié par Galevsky - 19 Jun 2014, 16:09. --------------------
|
Galevsky |
21 Jun 2014, 14:21
Message
#5
|
Born to fly, fly to feel alive ! Messages : 3,001 Inscrit : 26/10/05 Lieu : Antibes Membre n° 282 |
Voilà le tuto:
http://dcs-tools.com/brief/tuto-edition.php C'est pas fini, je vais détailler toutes les options intéressantes suivant les différents types de mission, ainsi que le fameux annuaire de triggers, mais cette première mission guidée pas-à-pas est faite pour commencer à faire des missions MP simples, tout étant valide pour le MP. Si des gens veulent relire, identifier les points où j'irais un peu trop vite, discuter de ce qu'ils feraient différemment, ce serait super sympa. --------------------
|
Boulling |
21 Jun 2014, 14:53
Message
#6
|
Indicatif : FX-04 Messages : 1,044 Inscrit : 27/04/14 Lieu : Nantes Membre n° 4,087 |
Merci! Je lis ça ce soir et je te donne mon retour!
Je sens que ça va m'être utile! Édit: La méthodologie est bonne, tout est clair, bon boulot! Ce message a été modifié par boulling - 22 Jun 2014, 09:59. --------------------
|
Goztreh |
21 Jun 2014, 14:57
Message
#7
|
Missa Bombardé Colonel Indicatif : BA-03 Messages : 1,958 Inscrit : 16/04/13 Membre n° 4,014 |
Bon boulot Galevsky!
Dans les petits détails à apporter: - Section 3.2 Meteo: J'utilise souvent ce lien pour les heures de lever et coucher de soleil. DCS Calender - Section 3.3 ENI IA: Le FighterSweep fonctionne très bien en SP. En MP par contre, dans le meilleur des cas les appareils engagent l'avion du hosteur et les autres IA. Sur un dédié, cette fonction est inutile. Je lui préfère l'utilisation de la fonction CAP. Bien plus agressive envers TOUS les avions en vol sans distinction. Je leur place aussi une fonction orbit sur le premier waypoint de manière à ce qu'ils restent en l'air un maximum de temps. Il y a une petite faute 'au lâcher de pose', je n'arrive plus à la retrouver... Goz. --------------------
Golf Oscar Zoulou |
Skander |
21 Jun 2014, 15:02
Message
#8
|
Indicatif : KO-11 Messages : 672 Inscrit : 18/02/07 Lieu : Anglet Membre n° 1,480 |
Très bon boulot en effet !
Très utile. --------------------
Ceux qui arrivent en retard sont de bien meilleure humeur que ceux qui les attendent... (Confucius Mercapide 1954 ap J.C.) |
Skander |
16 Sep 2016, 19:24
Message
#9
|
Indicatif : KO-11 Messages : 672 Inscrit : 18/02/07 Lieu : Anglet Membre n° 1,480 |
Déterrage...
Ton tuto n'est plus disponible, Gal ? --------------------
Ceux qui arrivent en retard sont de bien meilleure humeur que ceux qui les attendent... (Confucius Mercapide 1954 ap J.C.) |
Galevsky |
17 Sep 2016, 12:21
Message
#10
|
Born to fly, fly to feel alive ! Messages : 3,001 Inscrit : 26/10/05 Lieu : Antibes Membre n° 282 |
non faudrait que je le remette
--------------------
|
Haut de page · Retour à l'accueil · Contacter le Webmestre | Nous sommes le : 10/11/24 - 18:54 |