Forum EFG

Escadrille virtuelle

Vous n'êtes pas identifié.

#1 10-11-2012 12:14:52

EFG_Mike_Sky
Administrateur

Tuto éditeur de mission.

Pour démarrer dans l'éditeur:
http://simhq.com/forum/ubbthreads.php/t … Missi.html


Introduction aux 'triggers':
http://forum.1cpublishing.eu/showthread.php?t=28487
N'oubliez pas! Un 'trigger' de déclenchement = un 'trigger' d'action (même noms)!!!!!!!!!!!!!!!!!!!!


Script basique pour une unique utilisation d'un 'trigger':

using System;
using System.Collections;
using System.Collections.Generic;
using maddox.game;
using maddox.game.world;


public class Mission : AMission
{

    public override void OnTrigger(int missionNumber, string shortName, bool active)
    {
        base.OnTrigger(missionNumber, shortName, active);

        AiAction Action = GamePlay.gpGetAction(shortName);

        if (Action != null)
            Action.Do();
       
        GamePlay.gpGetTrigger(shortName).Enable = false;
    }
}

Commencez par effectuez des essais avec ces bases...
Je suis prêt pour les questions! cool

Ensuite, on verra pour les scripts.neutral
Je bosse depuis 3 mois dessus, et vous avoue ne vraiment pas avoir le niveau en C#.
Mes études remontent au Pascal, c'est dire...roll
J'ai réussi à sortir 2 ou 3 trucs, on en parlera plus tard...


En résumé, bossez de votre côté, apprenez et n'hésitez pas à poser vos questions.

Hors ligne

 

#2 10-11-2012 13:19:03

EFG_Tom
Réserviste

Re: Tuto éditeur de mission.

merci pour le tuto il n'y a plus qu'à big_smile


http://esa-dev.com/fs/49792.gif

Hors ligne

 

#3 15-11-2012 16:36:34

EFG_Fried
Administrateur

Re: Tuto éditeur de mission.

Hors ligne

 

#4 15-11-2012 19:12:48

EFG_Eliott
Réserviste

Re: Tuto éditeur de mission.

Merci à Fried, défenseur de la langue française wink


La seule condition au triomphe du mal, c'est l'inaction des gens de bien. " Edmund Burke"

Hors ligne

 

#5 18-11-2012 12:49:21

EFG_Togno
Réserviste

Re: Tuto éditeur de mission.

Hello,

Bon, j'ai pas mal bossé sur l'éditeur hier soir. Il y a quand même des conneries, aussi bien sur l'ergonomie que sur le comportement IA... Mais je commence à prendre la main. Le plus long étant d'habiller les terrains. Heureusement qu'on peut se faire des mini "tas" d'objet à placer tous ensemble.

J'ai une première question au sujet du comportement IA.

http://image.noelshack.com/fichiers/2012/46/1353200958-01-escadrille.jpg

1. J'ai tester plusieurs réglages des paramètres "escadron" et "escadrille", et observant a priori des modifications du comportement IA, sans pour autant en saisir la logique. Tu saurais me renseigner ?

Une seconde ;
2. Est-il possible de régler la précision des artilleurs DCA ? A quoi correspond Zoffset ?

Une 3eme, toujours sur l'IA ;
3. Peux-tu me détailler comment les Ia se comportent selon si on sélectionne l'option par défaut (de mémoire "route normale" ?), chasse libre etc. ?

Une dernière, pour tout le monde :
4. Avez-vous des infos sur le placement des batteries antiaérienne sur les terrains ?

Merci.


Quand on sait chasser, on chasse. Sinon, bah on fait autre chose. Moi je chasse !

Hors ligne

 

#6 18-11-2012 17:37:36

EFG_Mike_Sky
Administrateur

Re: Tuto éditeur de mission.

EFG_Togno a écrit:

1. J'ai tester plusieurs réglages des paramètres "escadron" et "escadrille", et observant a priori des modifications du comportement IA, sans pour autant en saisir la logique. Tu saurais me renseigner ?

Je n'ai pas vraiment compris le sens de la question.

EFG_Togno a écrit:

2. Est-il possible de régler la précision des artilleurs DCA ? A quoi correspond Zoffset ?

- Pour la DCA, j'aurais dis oui. Après vérification, je n'ai pas trouvé d'option dans l'éditeur. Cela me surprend un peu tout de même...
- Zoffset: hauteur / au sol de l'objet. Utile pour placer dans un trou d'artillerie, sur un bateau, etc...

EFG_Togno a écrit:

3. Peux-tu me détailler comment les Ia se comportent selon si on sélectionne l'option par défaut (de mémoire "route normale" ?), chasse libre etc. ?

Humm, comment dire...
- Vol normal: en navigation.
- Chasse libre: chasse libre, soit engagement libre lorsque qu'un appareil ennemi entre dans la bulle de détection (taille fonction du niveau du pilote IA).
- Attaque au sol:attaque au sol.tongue
- etc...

EFG_Togno a écrit:

4. Avez-vous des infos sur le placement des batteries antiaérienne sur les terrains ?

Pas pour ma part.





Si tu veux gagner du temps, ouvre une de mes missions et copie des objets, des bases entières même.
Placer les objets, c'est ça le plus long...

Si tu veux paramétrer les IA:
- onglet de l'appareil cliquer sur équipage.
- cliquet en suite sur ... en face de compétence.
- régler les différents paramètres selon besoin...

Bon courage...

Hors ligne

 

#7 18-11-2012 18:18:02

EFG_Togno
Réserviste

Re: Tuto éditeur de mission.

1. En posant des questions plus précise :

- A quoi sert le champ escadron ?
- Quelle différence entre 4 avions en 2*2 escadrilles et 4*1 escadrille ?
- Pourquoi les dernières escadrilles sont grisées ?

3. Ma question vient du fait que j'ai eu des avions qui sont venu "straffer" des appareils au sol alors qu'ils étaient en transit (vol normal) et ne passait pas au dessus du terrain mais seulement à proximité... J'avais mis le leader sur "AS" en IA.
Pourtant ils ne semblent pas offensif, ils cherchent à se dégagé lorsqu'ils sont pris, ripostent rapidement si une opportunité se présente, mais sans plus.

J'ai bien sûr étudié CPC wink


Quand on sait chasser, on chasse. Sinon, bah on fait autre chose. Moi je chasse !

Hors ligne

 

#8 18-11-2012 18:23:09

EFG_Richy
Administrateur

Re: Tuto éditeur de mission.

EFG_Togno a écrit:

Une dernière, pour tout le monde :
4. Avez-vous des infos sur le placement des batteries antiaérienne sur les terrains ?

Sur l'organisation de la DCA allemande j'ai trouvé ça:

Un bataillon est composé de:
-bataillon lourd: 4 batteries lourdes
-bataillon mixte: 3 batteries lourdes et 2 légères.
-bataillon léger: 3-4 batteries légères

Une batterie est composée de:
-batterie lourde: entre 4 et 6 canons 88, et 2x20mm pour la protection rapprochée
-batterie légère: 12x20mm, ou 9x37mm, possible d'avoir des batteries renforcées à 16x20mm ou 12x37mm

Les canons de 88 sont placés par 4, en carré.
Les 20 ou 37mm sont placés par groupe de 3, ou parfois de façon isolée.


Je passe les batteries de recherche avec les projecteurs.

Enfin, je sais qu'à la fin de la guerre la Lutwaffe plaçait un bataillon par aérodrome en protection, ça commence à faire du monde... Des bataillons mixtes ou légers je pense.
Mais pour 1940 c'est sûrement moins, faudrait que je relise mes bouquins, il me semble que j'ai déjà lu plus d'infos là-dessus.


Les chasseurs font des films, les bombardiers écrivent l'Histoire.

Hors ligne

 

#9 18-11-2012 18:48:52

EFG_Togno
Réserviste

Re: Tuto éditeur de mission.

EFG_Richy a écrit:

Une batterie est composée de:
-batterie lourde: entre 4 et 6 canons 88, et 20mm pour la protection rapprochée

Ca donne 4 à 6  canons de 8,8cm plus 4 à 6 canons de 2cm ou tu veux dires "quelques 2cm pour la défense" ?

Donc si je comprendre bien l'unité de base c'est la batterie, que j'attribue à chaque point, terrain ou zone d’intérêt à protéger ?
Avec plutôt de la batterie lourde sur les objectif indu, plutôt de la légère ou mixte sur les terrains

Pas de canon tout seul dans la pampa ?

Tu as des infos sur les français / anglais ?

En tous cas merci. Je ne sais pas comment tu fais mais c'est vraiment extra !


Quand on sait chasser, on chasse. Sinon, bah on fait autre chose. Moi je chasse !

Hors ligne

 

#10 18-11-2012 19:02:44

EFG_Mike_Sky
Administrateur

Re: Tuto éditeur de mission.

EFG_Togno a écrit:

1. En posant des questions plus précise :

- A quoi sert le champ escadron ?
- Quelle différence entre 4 avions en 2*2 escadrilles et 4*1 escadrille ?
- Pourquoi les dernières escadrilles sont grisées ?

- A donner son numéro, son ordre dans l'escadre.
- 2*2= 2 paires de 2, bien distinctes, 4*1 une patrouille de 4. Il vaut mieux programmer des paires, qui se comportent mieux au combat que 4 appareils...
- Des fois, en fonction du type d'escadre (chasse, transport, bombardement) certaines unités ne sont pas activées au niveau de l'escadre. 


EFG_Togno a écrit:

3. Ma question vient du fait que j'ai eu des avions qui sont venu "straffer" des appareils au sol alors qu'ils étaient en transit (vol normal) et ne passait pas au dessus du terrain mais seulement à proximité...

Humm, c'est bizarre ton truc.
Normalement en vol normal l'IA suit son chemin sauf s'il est agressé. C'est peut-être le cas avec de la DCA?
Mais c'est bizarre, j'ai déjà fait survoler des BA sans soucis.
Je vieux bien voir ta mission...roll

Hors ligne

 

#11 18-11-2012 20:04:05

EFG_Richy
Administrateur

Re: Tuto éditeur de mission.

EFG_Togno a écrit:

EFG_Richy a écrit:

Une batterie est composée de:
-batterie lourde: entre 4 et 6 canons 88, et 20mm pour la protection rapprochée

Ca donne 4 à 6  canons de 8,8cm plus 4 à 6 canons de 2cm ou tu veux dires "quelques 2cm pour la défense" ?

Mince, me suis trompé, je voulais écrire plus 2x20mm pour la protection rapprochée, je corrige.

EFG_Togno a écrit:

Donc si je comprends bien l'unité de base c'est la batterie, que j'attribue à chaque point, terrain ou zone d’intérêt à protéger ?
Avec plutôt de la batterie lourde sur les objectif indu, plutôt de la légère ou mixte sur les terrains.

Pas de canon tout seul dans la pampa ?

Non pas trop de canon isolé.
L'unité de base est la section, qui compose la batterie. C'est militaire, il y a une hiérarchie bien précise!
Pour la section c'est la répartition que sur le terrain que je t'ai indiqué, par 3 pour les 20mm.
Tu peux avoir quelques affûts isolés, mais pas trop loin de l'ensemble de la batterie non plus.
C'est plus simple et plus efficace de regrouper les pièces, d'une part pour l'approvisionnement, mais surtout pour le commandement.
Faut que ça aille assez vite pour la transmission des infos, si tu mets tes pièces isolées elles ne peuvent pas se coordoner.

Que je le disais, à la fin de la guerre ce n'est pas une batterie qui protège un terrain, mais un bataillon complet-->plusieurs batteries.

EFG_Togno a écrit:

Tu as des infos sur les français / anglais ?

Pour les autres pays, faut que je fasse des recherches, je déjà lu des trucs mais je m'en souviens plus.


Les chasseurs font des films, les bombardiers écrivent l'Histoire.

Hors ligne

 

#12 18-11-2012 20:41:43

EFG_Togno
Réserviste

Re: Tuto éditeur de mission.

Là j'avoue que tu me perds avec les termes militaires que je ne maîtrise absolument pas. Où alors peut-être es-tu trop précis.

Corrige moi si je fais des erreurs :

- Une section est un groupe d'homme servant une pièce (ex : 5 soldats servant un Flak 28)
- Ce que j’appelle l'unité de base, le "groupe d'affectation minimum", c'est la batterie. Si je souhaite défendre un site, j'affecte un nombre de batterie (qui formeront éventuellement un ou plusieurs bataillons).

Mike : effectivement le spit était agressé par la DCA. Par contre il a straffé précisément un 109 au sol (moi).
Impossible de te montrer la mission, je l'ai modifiée 50 fois en faisant des test.

Dernière modification par EFG_Togno (18-11-2012 20:44:07)


Quand on sait chasser, on chasse. Sinon, bah on fait autre chose. Moi je chasse !

Hors ligne

 

#13 18-11-2012 22:03:46

EFG_Richy
Administrateur

Re: Tuto éditeur de mission.

Je voulais pas détailler autant, mais tu as lancé le terme "unité de base"! roll
Pour l'organisation de la flak la section est composée de 3 ou 4 pièces, je n'ai pas parlé du nombre d'hommes pour l'utiliser, mais donc ce n'est pas 1 section=1canon.
La section est surtout utile pour dissocier les les 20mm qui sont nombreux, pour les 88 qui ont 4 pièces ils sont tous ensemble, ils ne sont pas séparés.

Ben tu t'en moques à la rigueur que ce que tu as placé s'appelle d'une façon ou d'une autre, on est un peu hors sujet tu n'as pas besoin d'en savoir autant.

Je t'ai indiqué par groupe de combien de pièces elles sont placées ensemble sur le terrain, par 3 ou 4 selon le type, ensuite tu en mets le nombre que tu veux!
Utilise seulement les infos du premier post si tu veux et oublie les termes.

Si tu respectes les quantités de l'époque pour tous les terrains tu vas vite comprendre pourquoi la flak était crainte à l'époque...


Les chasseurs font des films, les bombardiers écrivent l'Histoire.

Hors ligne

 

#14 18-11-2012 22:31:36

EFG_Togno
Réserviste

Re: Tuto éditeur de mission.

Je vois ce que tu veux dire je crois. La "section" c'est le sous groupe qu'on place toujours ensemble, par exemple pour les 2cm des batteries légères c'est 3 canons ensemble.

On a donc :

Section de flak 2cm : 3 pièces
Batterie de flak 2cm : 4 sections
Bataillon : 1 à 2 batterie de flak 2cm, + 1 à 2 batterie de flak de 4cm

Je comprend que ça ne doit pas être facile de discuter avec quelqu'un qui utilise des termes, qui ont un sens précis pour toi, n'importe comment. :roll

Je souhaite surtout être cohérent dans mes placements. Par contre je ne pense pas aller jusqu’à un bataillon par terrain, cela semble vraiment énorme ! Je placerai donc une ou plusieurs batterie par site à défendre, en respectant les infos que tu m'as données mais a mon appréciation quant au nombre de batterie.

Idée

Peut-être qu'on pourrait mettre en commun nos sous-ensembles, que le travail de l'un profite aux autres (FTP ?) ? Auquel cas il faudra se mettre d'accord sur une normalisation des noms.

Dernière modification par EFG_Togno (19-11-2012 16:32:27)


Quand on sait chasser, on chasse. Sinon, bah on fait autre chose. Moi je chasse !

Hors ligne

 

#15 19-11-2012 15:45:18

EFG_Togno
Réserviste

Re: Tuto éditeur de mission.

J'ai eu un peu peur en voyant le nom dans le navigateur, mais au final c'est assez intéressant

http://www.nazi.org.uk/military%20pdfs5 … 945%20.pdf

Je pensais les 4cm plus fréquent que ça.

Dernière modification par EFG_Togno (19-11-2012 16:32:39)


Quand on sait chasser, on chasse. Sinon, bah on fait autre chose. Moi je chasse !

Hors ligne

 

#16 19-11-2012 17:21:26

EFG_Richy
Administrateur

Re: Tuto éditeur de mission.

Tu t'es quand même pas tapé une doc de plus de 300 pages en anglais pour au final placer quelques canons de DCA autour du terrain ou de l'objectif de ta mission???? test


Les chasseurs font des films, les bombardiers écrivent l'Histoire.

Hors ligne

 

#17 19-11-2012 18:08:31

EFG_Eliott
Réserviste

Re: Tuto éditeur de mission.

EFG_Richy a écrit:

Si tu respectes les quantités de l'époque pour tous les terrains tu vas vite comprendre pourquoi la flak était crainte à l'époque...

+1

ca va être injouable à moins de respecter également le nombre d'appareils en vol historiquement mais ca risque là encore d'être injouable mais pas pour les mêmes raisons !


La seule condition au triomphe du mal, c'est l'inaction des gens de bien. " Edmund Burke"

Hors ligne

 

#18 19-11-2012 18:11:16

EFG_Mike_Sky
Administrateur

Re: Tuto éditeur de mission.

EFG_Richy a écrit:

Tu t'es quand même pas tapé une doc de plus de 300 pages en anglais pour au final placer quelques canons de DCA autour du terrain ou de l'objectif de ta mission???? test

Sûr qu'il en est capable!
Il est bien le petit, pas peur!!!!!!!big_smile

Hors ligne

 

#19 19-11-2012 19:30:40

EFG_Togno
Réserviste

Re: Tuto éditeur de mission.

Richy : ça ne fait que 200 pages, le reste ce sont des notes / références. Mais j'ai survolé et pris les infos qui m’intéressaient.

Eliott : si on en croit Closterman, il leur arrivait d'aller straffé un terrain à 8 face à de la flak de fin de guerre. On n'est pas forcément très loin du compte.

Mike : T'as pas répondu à mon idée plus haut. Sinon tu sais comment ne pas avoir ce message bleu au décollage "Lowë, rejoignez le circuit" ?


J'ai tester, les 2cm sont diabolique, les 4cm raisonnable, et les 8.8cm ne servent à rien. Je ferais des proba un peu plus précise plus tard, mais en primo-résultat :

Une pièce de flak 30 de 2cm a une proba de :
0.1 cpt/pce/min de toucher un chasseur volant à 500m (350km/h)
0.15 cpt/pce/min de toucher un chasseur volant à 1000m (350km/h)

Valeur exprimée en coup au but par pièce par minute de tir.

C'est quand même énorme !

Dernière modification par EFG_Togno (19-11-2012 19:31:04)


Quand on sait chasser, on chasse. Sinon, bah on fait autre chose. Moi je chasse !

Hors ligne

 

#20 20-11-2012 18:25:04

EFG_Mike_Sky
Administrateur

Re: Tuto éditeur de mission.

EFG_Togno a écrit:

Mike : effectivement le spit était agressé par la DCA. Par contre il a straffé précisément un 109 au sol (moi).
Impossible de te montrer la mission, je l'ai modifiée 50 fois en faisant des test.

Premier point, tu as donc trouvé pourquoi ton IA se comportais ainsi...
Second point, il reste encore de gros mystères, et pour moi le plus important est qu'en 'Dog', les IA s'attaquent le plus souvent au leader 'humain'.
Mais comment font-ils pour savoir si c'est Pierre, Paul, ou Jacques?roll

EFG_Togno a écrit:


[b]Mike
: T'as pas répondu à mon idée plus haut. Sinon tu sais comment ne pas avoir ce message bleu au décollage "Lowë, rejoignez le circuit" ?
!

neutral
T'es pressé on dirait...
Pour le message, je ne sais pas...

Pour la mise en commun des groupes d'objets il n'y a pas de problème.
Déjà, le fait de mettre les missions en ligne vous offre l'accès aux groupes et aux scripts de base...
Si vous voulez que je place en ligne des groupes 'tout fait' je le ferais, mais ce n'est pas ma priorité.

Je travail actuellement sur les scripts des missions, une sorte d'automatisation...
Cela impliquera forcément un canevas de noms d'objets, de noms de 'triggers', de variables, etc...
Une fois que j'aurais bien finalisé le mécanisme, il est évident que vous donnerait les billes.

Tu trouves long de placer des objets sur une carte?
T'as rien vu, les scripts pour une buse en programmation c'est juste un calvaire! sad

Hors ligne

 

#21 20-11-2012 21:23:29

EFG_Togno
Réserviste

Re: Tuto éditeur de mission.

Mike : pressé... Oui et non. Lorsque je fais quelque chose, j'essaie de le faire à fond.

Pour les groupes d'objet, c'est que j'ai dans l'idée de constituer une grosse base de donnée de "situations" détaillées. Il me semble ainsi qu'il sera bien plus simple de créer des missions par la suite. Il suffira de coller ces "groupes" pour habiller une zone. Équiper un terrain prend alors 10-15 minutes avec un niveau de détail élevé.
Ca libère du temps pour travaillé d'autres aspect de la mission.

Enfin c'est mon point de vu ; j'ai supposé que tu faisais pareil, vu le temps nécessaire pour placer tous les petits objets, jusqu’à l'échelle a coté du 109 a l'arrêt ou les petites caisses dans les camions une à une...

Du coup pour le moment je partage mon temps sur l'éditeur entre la création de cette BdD, et les essais script-groupes. J'espère être capable de proposer quelque chose très prochainement.

Pour le C#, tu te formes en autodidacte ou tu suis quelque chose ?

Tu parles d'automatisation comme sur ATAG ? Des boucles envoyant des IA, ce genre de chose ?

J'ai installé Visual Studio Pro pour commencer a bidouiller le C#.


Quand on sait chasser, on chasse. Sinon, bah on fait autre chose. Moi je chasse !

Hors ligne

 

#22 24-11-2012 11:22:39

EFG_Mike_Sky
Administrateur

Re: Tuto éditeur de mission.

Fred, c'est quoi le lien pour le site de Kodiak s'il te plait.

Hors ligne

 

#23 16-03-2014 16:14:15

EFG_Richy
Administrateur

Re: Tuto éditeur de mission.

EFG_Mike_Sky a écrit:

Introduction aux 'triggers':
http://forum.1cpublishing.eu/showthread.php?t=28487
N'oubliez pas! Un 'trigger' de déclenchement = un 'trigger' d'action (même noms)!!!!!!!!!!!!!!!!!!!!

Tu indiques que le trigger et l'action doivent avoir le même nom, c'est ce que je retrouve dans divers tutos aussi.

Pourtant dans ta mission d'entraînement EFG les triggers et actions n'ont pas le même nom, et tu utilises un script pour lier les deux.
Pourquoi utilises tu cette solution de script? Quel est l'avantage? Il y en a sûrement un sinon tu ne t'embêterais pas avec des scripts!
Je ne pense pas que ce soit pour égarer les p'tits nouveaux de l'éditeur! roll
C'est pour désactiver le trigger qui fonctionnerait sinon plusieurs fois?

Je suis en train de créer une base rouge à cette mission, et du coup j'ai fait un bête copié/collé du script pour l'apparition de bombardiers en changeant les noms.
Cela marche, mais j'aimerais comprendre l'intérêt du script si ils ont prévu une fonction automatique avec le même nom!


Les chasseurs font des films, les bombardiers écrivent l'Histoire.

Hors ligne

 

#24 16-03-2014 17:11:36

EFG_Mike_Sky
Administrateur

Re: Tuto éditeur de mission.

Houla, houla!
Du calme... tongue


Si tu n'as pas beaucoup de triggers, et surtout pas beaucoup d'actions, tu places ce script dans le fichier ma_mission.cs.

using System;
using System.Collections;
using System.Collections.Generic;
using maddox.game;
using maddox.game.world;


public class Mission : AMission
{

    public override void OnTrigger(int missionNumber, string shortName, bool active)
    {
        base.OnTrigger(missionNumber, shortName, active);

        AiAction Action = GamePlay.gpGetAction(shortName);

        if (Action != null)
            Action.Do();
       
        GamePlay.gpGetTrigger(shortName).Enable = false;
    }
}

Ensuite tu crées autant de triggers que d'actions, surtout avec exactement le même nom.
Il n'y a pas plus simple...

Hors ligne

 

#25 16-03-2014 17:45:33

EFG_Mike_Sky
Administrateur

Re: Tuto éditeur de mission.

Mais t'es vite limité avec cette technique...neutral


Donc, voici un code beaucoup plus efficace!


Imagine que pour un trigger de zone tu doives générer 3 différents groupes d'appareils.

Dans le FMB:
1
Tu crées et place ton trigger: Toto.
Script zone Déclenchements: Cible passée (Tpasstrough), sel. position & diamètre, sel. déclencheur (ArmyAir (Rouge/bleu)).

2
Tu crées 3 groupes d'IA: 1 groupe d'avions bleu, 1 groupe d'avions rouge, 1 convoi bleu
Ne pas oublier de cocher Apparition script!

3
Tu appaires tes IA avec les actions.
Script zone Actions: créer B1, B2, R1.

Dans l'éditeur de script:

using System;
using System.Collections;
using System.Collections.Generic;
using maddox.game;
using maddox.game.world;

public class Mission : AMission
{
    public override void OnTrigger(int missionNumber, string shortName, bool active)
    {
        base.OnTrigger(missionNumber, shortName, active);
        if ("Toto".Equals(shortName))
        {
            // GamePlay.gpHUDLogCenter("Test trigger Toto");
            AiAction action01 = GamePlay.gpGetAction("B1");
            AiAction action02 = GamePlay.gpGetAction("B2");
            AiAction action03 = GamePlay.gpGetAction("R1"); 
            if (action01 != null)
            {action01.Do();}
            if (action02 != null)
            {action02.Do();}
            if (action03 != null)
            {action03.Do();}
            GamePlay.gpGetTrigger("Toto").Enable = false;
        }
    }
}

Hors ligne

 

#26 16-03-2014 17:50:29

EFG_Mike_Sky
Administrateur

Re: Tuto éditeur de mission.

Ma codification objets...
- R: rouge.
- B: bleu.
- Av: avion.
- Os: objet sol.
- Ba: bateau.
- Tr: train.
- Bli: blindé.
- Conv:convoi.
- c: chasse.
- b: bombardier.


Soit par exemple:
AvRc3: avion, rouge, chasse, n°3.
BliB42: blindé bleu n°2 de la série 4.
etc...


C'est très utile d'avoir une certaine 'hygiène' pour s'y retrouver dans les codes... wink

Hors ligne

 

#27 16-03-2014 18:11:46

EFG_Mike_Sky
Administrateur

Re: Tuto éditeur de mission.

Et enfin, amélioration du script initial.
- Deux déclencheurs pour une même série d'actions.
- Ajout du facteur temps, de la répétition.
- suppression des appareils non utilisés.

Deux triggers sur la mêmes zone, une rouge et un bleu: Z1R & Z1B
Quelques bateaux, quelques avions:

Code:

using System;
using System.Collections;
using System.Collections.Generic;
using maddox.game;
using maddox.game.world;


public class Mission : maddox.game.AMission
{

 public override void OnTrigger(int missionNumber, string shortName, bool active)
 {
     base.OnTrigger(missionNumber, shortName, active);

     if (("Z1R".Equals(shortName)) || ("Z1B".Equals(shortName)))
     {
         int i = 0; // pointeur sol
         int j = 0; // pointeur bombardier
         int k = 0; // pointeur chasse

         //GamePlay.gpHUDLogCenter("Test trigger AppDunkx");

         AiAction action001 = GamePlay.gpGetAction("BaR1");
         AiAction action002 = GamePlay.gpGetAction("BaR2");
         AiAction action003 = GamePlay.gpGetAction("BaR3");

         AiAction action010 = GamePlay.gpGetAction("AvBb1"); // 87
         AiAction action011 = GamePlay.gpGetAction("AvBb2"); // 88

         AiAction action020 = GamePlay.gpGetAction("AvBc1"); // 109
         AiAction action021 = GamePlay.gpGetAction("AvRc1"); // Spit 
  
         //*** SOL **************************************************************
             Timeout(i += 1, () =>
             { { action001.Do(); } });
             Timeout(i += 2, () =>
             { { action002.Do(); } });
             Timeout(i += 2, () =>
             { { action003.Do(); } });
            
        
             
         //*** VOL *************************************************************
           //*** BOMB. ***********************************************************
             //*** 1 ***********************************************************
             Timeout(j += 10, () =>
             { { action010.Do(); } });
             Timeout(j += 25, () => 
             { { action011.Do(); } });
             //*** 2 ***********************************************************
             Timeout(j += 300, () =>
             { { action010.Do(); } });
             Timeout(j += 100, () =>
             { { action011.Do(); } });
             //*** 3 ***********************************************************
             Timeout(j += 500, () =>
             { { action010.Do(); } });
             

          //*** CHASSE **************************************************************
             Timeout(k += 60, () =>
             { { action020.Do(); } });
             Timeout(k += 2, () =>
             { { action021.Do(); } }); 

         GamePlay.gpGetTrigger("Z1R").Enable = false;
         GamePlay.gpGetTrigger("Z1B").Enable = false;
     }
    }

 public void _DespawnEmptyPlane(AiActor actor)
 {
     if (actor == null)
     {
         return;
     }
     Player[] Players = GamePlay.gpRemotePlayers();
     bool PlaneIsEmpty = true;
     foreach (Player i in Players)
     {
         if ((i.Place() as AiAircraft) == (actor as AiAircraft))
         {
             PlaneIsEmpty = false;
             break;
         }
     }
     if (PlaneIsEmpty)
     {
         (actor as AiAircraft).Destroy();
     }
 }

 public override void OnPlaceLeave(Player player, AiActor actor, int placeIndex)
 {
     base.OnPlaceLeave(player, actor, placeIndex);
     Timeout(1, () =>
     {
         _DespawnEmptyPlane(actor);
     });
 }
  
}

Hors ligne

 

#28 16-03-2014 18:20:42

EFG_Richy
Administrateur

Re: Tuto éditeur de mission.

Merci Mike, mais comment dire.... ah oui:

" Houla, houla!
Du calme... tongue "

big_smile


Les chasseurs font des films, les bombardiers écrivent l'Histoire.

Hors ligne

 

#29 16-03-2014 18:35:12

EFG_Mike_Sky
Administrateur

Re: Tuto éditeur de mission.

J'm'en doutais... tongue

Hors ligne

 

#30 17-03-2014 17:16:14

EFG_Fried
Administrateur

Re: Tuto éditeur de mission.

Merci mais ça calme wink

Hors ligne

 

#31 22-03-2014 09:42:34

EFG_Richy
Administrateur

Re: Tuto éditeur de mission.

C'est moi ou les sacs de sable sont devenus des buissons avec le dernier patch???  hmm
Alors pour celui qui veut faire un jardin à la française, on se retrouve avec toutes sortes de haies c'est sympa, mais dans notre contexte autour de la DCA cela fait révolution écolo pas très efficace...


Les chasseurs font des films, les bombardiers écrivent l'Histoire.

Hors ligne

 

#32 22-03-2014 11:26:52

EFG_Mike_Sky
Administrateur

Re: Tuto éditeur de mission.

Ils ont joué avec les objets statiques, c'est sûr...

Hors ligne

 

Pied de page des forums

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson