[X3 SCRIPT] Gestion de Groupes v1.60 (27.04.06)

Tout sur les scripts et les mods pour X², X³, X³TC et X³AP.

Moderator: Modérateurs pour les forum Français

User avatar
Azz
Posts: 1031
Joined: Tue, 18. May 04, 20:14
x4

[X3 SCRIPT] Gestion de Groupes v1.60 (27.04.06)

Post by Azz » Mon, 20. Feb 06, 11:22

===================
Gestion de groupes

Auteur : Azz
Version : 1.60
===================

Gestion de groupes de vaisseaux.


Le but de ce script est :
Créer facilement des goupes de vaisseaux
Pouvoir facilement leur affecter une tâche simple.
Simplicité - Efficacité

Le but de ce script n'est pas :
Effectuer des opérations complexes automatiquement, comme refaire le plein de missiles, rejoindre un chantier naval pour réparation si la coque est trop endommagée etc
Il existe pour cela des scripts plus évolués ( RS.Security, Anarkis Carrier Commands par exemple)


C'est pour cela que je parle de groupes de vaisseaux et pas d'escadrilles...

Vous avez 99 groupes possibles

Chaque groupe contient un leader et un nombre quelconque d'ailliers.

Le leader est choisi automatiquement, le script sélectionne le vaisseau le plus puissant, s'il y'a plusieurs candidats, celui qui a le plus de compétence en combat est choisi. Le leader est vérifié et recalculé à chaque fois que le groupe reçoit un ordre....

Ordre pour le choix des leaders :
1-M1
2-M2
3-TL
4-TS,TP
5-M6
6-M3
7-M4
8-M5

Pourquoi les TS et TP avant les M6 : si vous ajoutez un TS à un groupe type 'escadrille de protection' (donc pas de vaisseaux M1 ou M2 ou TL), il en deviendra le leader et les autres vaisseaux le protégeront dans ses déplacements. Vous pouvez ainsi former ce que l'on pourrait appeler un groupe type 'Ravitaillement' composé d'un TS et de son escorte...
Si le TS n'a besoin que temporairement d'une escorte vous pouvez aussi demandez simplement à un groupe de le protéger par 'Groupe Protège cible'... à vous de choisir la meilleure méthode ;)

Pour plus de fun, vous pouvez donner un nom à chaque groupe (Escadrille des vétérans, Escadron de la mort ....;) )

Fonctions avancées :
Si des M5 sont joints au groupe, un certain nombre d'entre eux sera automatiquement affecté à la fonction "Chasseur Anti-Missiles" (AMS).
Dans ce cas ils surveilleront leur groupe et feront feu sur tout missile en approche. Ils sont également capables d'utiliser leurs propres missiles Moustiques pour détruire les missiles adverses.
Le nombre de M5 affectés AMS est choisi ainsi :
Groupe <=2 Vaisseaux : 0 AMS
Groupe <=5 Vaisseaux : 1 AMS
Groupe <=10 Vaisseaux : 2 AMS
Au dessus de 10 vaisseaux : 3 AMS

La commande Attaque Tous/sélective vous permet de demander à un groupe d'attaquer une catégorie d'ennemie particulière : M1,M2,M3,M4,M5,M6,Chasseurs,Vaisseaux Capitaux,tous

La commande 'Attaque et Retour Base' vous permet d'assigner un groupe à la garde d'un vaisseau ou d'une station. Ce groupe éliminera tous les ennemis à proximité de sa base puis se dockera à sa base. En lien avec le script PiloteIA, si le leader du groupe est de grade Officier, une fois docké il continuera à monter la garde et décollera avec ses ailliers dès qu'une menace sera détectée pour l'éliminier. Ensuite il reviendra à sa base et recommencera sa garde...



Des raccourcis claviers peuvent être assignés aux ordres principaux et à la sélection des 10 premiers goupes. Couplé avec la fonction 'Attaque Tous/Sélective' il est ainsi très facile de diriger finement ses groupes lors d'une attaque massive sans perdre de temps dans les menus...





----------------------------------------------------------------------------

Les fonctions rajoutées dans le menu Personalisé qui devient pour l'occasion Personnalisé/Groupe : :

Vaisseau Assigner Groupe
Vaisseau Type Assigner Groupe
Groupe Assigner une Base

Groupe : Nommer

Groupe Protége Cible...
Groupe Attaque Ma Cible
Groupe Attaque Cible...
Groupe Attaque Tous/Sélective
Groupe Attaque et Retour Base...
Groupe Me Protéger
Groupe Aller à la Position...
Groupe Retour à la Base
Groupe Stop
Groupe Liste


Il est FORTEMENT CONSEILLE d'utiliser mon autre script "Extension de Nom" (http://forum2.egosoft.com/viewtopic.php?t=128743) pour que les infos de groupe puissent être correctement affichées dans les noms des vaisseaux....

----------------------------------------------------------------------------

Détail des commandes :

Tout est dans le 'lisez moi.txt' :wink:

----------------------------------------------------------------------------


Image


Chargement ici :

http://azzx3.free.fr/

NB: La gestion nde groupe est maintenant incluse, dans une version beaucoup plus évoluée, dans le script PiloteIA

Historique :

1.00
Premiere version public

1.01
Rajout procédure de désinstallation

1.02
Changement de commandes des ailliers, désormais ils attaquent la cible de leur leader sans attendre que celui ci soit touché.
Correction d'un bug quand le leader était détruit.

1.50
Si le script PiloteIA est installé :
--affichage du grade du pilote dans la liste des groupes
--Le leader choisi pour le groupe est le plus gradé, et non plus le plus compétent en combat (comme dans la vraie vie quoi...)

Mise à jour script de désintallation
Rajout fonction M5 chasseurs Anti-missiles
Rajout Dossier 'Patch Trader MK3'
Le menu "Personnalisé" redevient "Personnalisé/Groupe" pour moins de confusions..
1.51
si un TS est intégré à un groupe, il en devient le leader, ce qui permet des groupes de type 'ravitaillement'
si on ne rentre pas de no de groupe, l'ordre concernera le dernier groupe utilisé

1.52
Mise a jour script permettant la reformation automatique des groupes hors secteur du joueur

1.60
Rajout des Touches de raccourcis
Séparation de la commande Nommer/Afficher en deux commandes séparées pour plus de clarté
Rajout commande combat attaque sélective.
Modif commande Groupe Attaque Tous, en : Groupe Attaque Tous/Sélective
Quand on rajoute ou retire le leader, le leader suivant reprend l'ordre en cours du leader précédent.
Changement de la fonction 'Groupe attaque proche' en 'Groupe Attaque et Retour Base'


-------------------------------------------------------

Commande utilisée :

<t id="350">COMMAND_TYPE_FIGHT_50</t>
<t id="747">COMMAND_TYPE_CUSTOM_47</t>
<t id="748">COMMAND_TYPE_CUSTOM_48</t>
<t id="749">COMMAND_TYPE_CUSTOM_49</t>
<t id="750">COMMAND_TYPE_CUSTOM_50</t>
<t id="751">COMMAND_TYPE_CUSTOM_51</t>
<t id="752">COMMAND_TYPE_CUSTOM_52</t>
<t id="753">COMMAND_TYPE_CUSTOM_53</t>
<t id="754">COMMAND_TYPE_CUSTOM_54</t>
<t id="755">COMMAND_TYPE_CUSTOM_55</t>
<t id="756">COMMAND_TYPE_CUSTOM_56</t>
<t id="757">COMMAND_TYPE_CUSTOM_57</t>
<t id="758">COMMAND_TYPE_CUSTOM_58</t>
<t id="759">COMMAND_TYPE_CUSTOM_59</t>
<t id="760">COMMAND_TYPE_CUSTOM_60</t>

Fichier texte :
7163
Page Texte :
7163





Last edited by Azz on Tue, 30. Jan 07, 01:33, edited 16 times in total.

PrizzZ
Posts: 2350
Joined: Sun, 28. Mar 04, 15:56
x3tc

Post by PrizzZ » Mon, 20. Feb 06, 12:07

Ca a l'air sympa, mais je tiens à ajouter cependant un petit avertissement :
Les fonctions rajoutées dans le menu Custom qui devient pour l'occasion Groupe/Comm :
Le menu custom, personnalisé en français, pourrait être utilisé par d'autre scripts. Verifiez bien que vous n'utilisez pas 2 scripts utilisant des commandes de ce menu, la lisibilité deviendrait difficile pour jouer. Je rajouterais ci-dessous les scripts qui peuvent poser problème.

Pour le moment, aucun :p !

(Référencé au passaage, et tout le tintouin)

User avatar
Azz
Posts: 1031
Joined: Tue, 18. May 04, 20:14
x4

Post by Azz » Mon, 20. Feb 06, 12:28

C'est juste un problème d'appellation...

Si ça pose des problèmes de lisibilité je peux laisser au menu son appellation originale.

J'avais trouvé judicieux ce changement de nom parceque je voulais que l'utilisation des commandes de groupe soient très intituives, et de plus celles ci prennent beaucoup de place (12 commandes)....
Enfin quand j'ai fait ce script le seul autre qui utilisait ce menu était "Comm Chatter Framework by aalaardb"...

wait and see :)

User avatar
Serial Kicked
Posts: 3493
Joined: Fri, 12. Aug 05, 20:46
x3tc

Post by Serial Kicked » Mon, 20. Feb 06, 21:18

Mais c'est que j'ai un concurrent sérieux pour le script :)
X3:TC/AP Pirate Guild 3 - Yaki Armada 2 - Anarkis Defense System

Anarkis Gaming HQ
Independent Game Development
X3 Scripting and Modding Station

User avatar
Azz
Posts: 1031
Joined: Tue, 18. May 04, 20:14
x4

Post by Azz » Mon, 20. Feb 06, 23:03

Maj : 1.01 rajout procedure de désinstallation

Makan
Posts: 150
Joined: Tue, 21. Feb 06, 15:07
xr

Post by Makan » Wed, 22. Feb 06, 18:51

c'est peut etre un bug, mais quand j'ordonne a un groupe d'attaquer une cible, seul le leader attaque, normal ?

User avatar
Azz
Posts: 1031
Joined: Tue, 18. May 04, 20:14
x4

Post by Azz » Wed, 22. Feb 06, 19:17

Tiens étrange

En fait les ailliers sont sensés protéger leur leader et donc réagir quand celui ci entamme le combat contre un ennemi.... S'ils ne comabattent pas il doit y'avoir une explication...


Je regarde ça et te tiens au courant...

EDIT :

Effectivement les ailliers ne réagissent qu'à partir du moment où leur leader à été touché au moins une fois par sa cible.

En fait ils attaquent tout vaisseau qui attaque leur Leader...
Il y'a peut être moyen d'améliorer les choses ...


EDIT 2 :

Ok c'est rectifié :)
il suffit de donner la commande 'Attack Same target' aux ailliers plutôt que 'Protect', ce qui rend nettement moins laxistes ...

Je continue à tester, une nouvelle version sera dispo dans la soirée.
iou naud ouate, aille ama pis | Pilote IA | Site

User avatar
Serial Kicked
Posts: 3493
Joined: Fri, 12. Aug 05, 20:46
x3tc

Post by Serial Kicked » Wed, 22. Feb 06, 21:11

En effet la gestion des groupes de navires est compliquée pour les scripteurs.

Autre bug que je devine sur ton script sans l'avoir testé :p :

Quand un leader est detruit, les autres vaisseaux risquent de faire n'importe quoi. Il y a plusieurs solutions pour corriger ce problème, ça nécessite en général de jouer un peu avec les commandes de formation, les signal killed et de coder son propre "ship.cmd.attack"-like.

Jette éventuellement un coup d'oeil à comment je fais dans ACC (un joli mix de tout ça) pour faire obéir mes navires comme je l'entend :)
X3:TC/AP Pirate Guild 3 - Yaki Armada 2 - Anarkis Defense System

Anarkis Gaming HQ
Independent Game Development
X3 Scripting and Modding Station

User avatar
Azz
Posts: 1031
Joined: Tue, 18. May 04, 20:14
x4

Post by Azz » Wed, 22. Feb 06, 22:57

Correction effectuée, version 1.02 à télécharger. Voir premier post.


Serial Kicked : Quand le leader est détruit, le groupe est aussitôt recomposé, un nouveau leader est réélu (utilisation du SIGNAL.KILLED justement ) qui continue le combat contre le tueur de son prédécesseur. Donc normalement tout devrait pas trop mal se passer...


la version 1.02 corrige d'ailleurs un bug tout bête dans cette fonction. :)
iou naud ouate, aille ama pis | Pilote IA | Site

User avatar
Serial Kicked
Posts: 3493
Joined: Fri, 12. Aug 05, 20:46
x3tc

Post by Serial Kicked » Wed, 22. Feb 06, 23:02

Joli d'y avoir pensé :)
X3:TC/AP Pirate Guild 3 - Yaki Armada 2 - Anarkis Defense System

Anarkis Gaming HQ
Independent Game Development
X3 Scripting and Modding Station

User avatar
Azz
Posts: 1031
Joined: Tue, 18. May 04, 20:14
x4

Post by Azz » Thu, 23. Feb 06, 00:48

Je viens de me faire un petit plaisir pour tester la fonction de reformation de groupe à la destruction du leader :

J'ai créé un groupe de 20 busters et je l'ai lancé à l'attaque d'un Split python...

3 leaders y sont passés, avec à chaque fois un buster qui reprenait la tête du groupe automatiquement .
Et la nuée de moustiques a fini par détruire le mastodonte au bout d'un combat de 5-6 mn

En prime : la guerre des étoiles chez soi :D

Ce jeu est VRAIMENT magnifique. Regarder les batailles en mode caméra est un réel bonheur..
iou naud ouate, aille ama pis | Pilote IA | Site

User avatar
Azz
Posts: 1031
Joined: Tue, 18. May 04, 20:14
x4

Post by Azz » Sat, 4. Mar 06, 02:24

Mise A jour 1.50
Rajouts divers, et fonctions Chasseur Anti-missiles


Voir Premier post

bon jeu :)
iou naud ouate, aille ama pis | Pilote IA | Site

Gwaihir001
Posts: 42
Joined: Sat, 25. Feb 06, 20:27
x3

Post by Gwaihir001 » Tue, 7. Mar 06, 16:49

Hello :)

vriament sympa ce sciprt, je l'ai testé hier et ca rends bien service :) bravo vraiment.

J'ai connu X2 a l'epoque de sa sortie et il m'avait beaucoup plut, mais les circonstances ont fait que je n'ai pas pu y jouer a fond.. j'espere bien combler cette lacune avec ce superbe X3 :)

Concernant ton script, j'aurai une ou 2 questions/suggestions a te soumettre.

Q1: Y a-t-il une gestion des differences de vitesse entre les differents vaisseaux du meme groupe? Par exemple, si lance une attaque avec un vaisseau M3, un M4 et un M5, mais qu'au moment ou l'ordre est lancé, mon groupe se trouve a grande distance de la cible, est ce que tous les vaisseaux vont foncer a vitesse maximum au risque d'arriver les uns apres les autres (et potentiellement de se faire demonter les uns apres les autres) ou vont-ils s'attendre pour attaquer en masse?
On pourrait avoir le meme probleme si on donne un ordre du type "aller a" et que le leader du groupe est plus rapide que certains autres membres du groupe.

Q2: Est-t-il possible d'assigner un vaisseau de type TS a un groupe? ou est seulement reservé aux chasseurs? Associer un TS aux groupe pourrait permettre de gerer plus facilement les escortes de nos transporteurs (dans mon esprit, si un TS fait partie d'un groupe, alors tous les chasseurs du groupe recevront l'ordre par defaut "proteger le leader")

Sinon une petite idee, qui existe peut etre deja mais que je n'ai pas reperée.. Une fonction de patrouille. Dans un systeme ou on n'a aucune ou peu de presence "police" ou "douane" d'une race NPC, mais dans lesquels on a beaucoup de circulation de transporteurs de marchandise, ca peut etre interessant d'assigner a un groupe a la surveillance de ce systeme (et attaquer tous les ennemis du systeme, sauf peut etre si il y en a trop en meme temps ou si le type devient trop volumineux)...


enfin voila quelques idees en vrac :) En esperant qu'elles soient interessantes :)

merci encore pour ce script

User avatar
Azz
Posts: 1031
Joined: Tue, 18. May 04, 20:14
x4

Post by Azz » Tue, 7. Mar 06, 20:02

Q1 Les groupes sont en fait gérés en mode formation c'est à dire qu'ils sont constitués d'un leader, élu par le script parmi les membre du groupe, et de ses ailliers (les autres membres du groupe). Quand tu donnes un ordre au groupe tu donne en fait un ordre au leader, qui est suivi (protégé) par ses ailliers. Cette méthode à l'immense avantage, par rapport à l'autre méthode (donner le même ordre à tous les membres du groupe) de faire voler les vaisseaux en formation, déjà c'est beau à voir :) , mais surtout les vaisseaux garde la formation quand ils se déplacent, la vitesse entière du groupe est limitée de ce fait par la vitesse du vaisseau le plus lent... et donc ils arrivent tous en même temps à l'endroit voulu.
Les ordres 'Groupe Me protéger' et 'Groupe Protéger la cible...' sont un peu différents, dans ces deux cas le vaisseau à protéger devient temporairement le leader du groupe.

Q2 : on peut assigner n'importe quel vaisseau dans un groupe. Mais le TS ne sera jamais le leader du groupe. Et je ne pense pas que les ailliers se protègent entre eux, ils ne protègeront donc pas le TS. Sauf dans le cas d'un M5 en mode defense anti-missile (AMS), qui lui vérifie en permanence qu'aucun missile ne menace les membres du groupe.
Ce cas est intéréssant, on pourrait imaginer une extension du principe de l'AMS, pour proteger les vaisseaux marchands du groupe, ou alors si un TS fait partie d'un groupe, qu'il devienne automatiquement le leader.... Je vais me pencher sur la question.

La petite idée : deux solutions
-Soit tu donne l'ordre 'Groupe Attaque tous' Dans ce cas le groupe va errer tranquilement dans le secteur et détruire tout ennemi qu'il rencontre
-Soit tu utilise la commande standard de patrouille (patrouille secteur et patrouille multi-secteur) d'egosft dispo pour les M6 et plus. Si tu veux utiliser cette commande avec de plus petits vaisseaux, Serial Kicked à fait un addon qui permet celà. Dans ce cas je pense que si tu donne l'ordre au leader du groupe de patrouiller, ses ailliers se joindront à la patrouille(pas testé, à vérifier)

Voilà
Bon jeu :)
iou naud ouate, aille ama pis | Pilote IA | Site

User avatar
Azz
Posts: 1031
Joined: Tue, 18. May 04, 20:14
x4

Post by Azz » Sat, 11. Mar 06, 11:42

Version 1.51 sortie

Petite mise à jour :

****Un TS intégré à un groupe devient le leader :
Si vous ajoutez un TS à un groupe type 'escadrille de protection' (donc pas de vaisseaux M1 ou M2 ou TL), il en deviendra le leader et les autres vaisseaux le protégeront dans ses déplacements. Vous pouvez ainsi former ce que l'on pourrait appeler un groupe type 'Ravitaillement' composé d'un TS et de son escorte...
Si le TS n'a besoin que temporairement d'une escorte vous pouvez aussi demandez simplement à un groupe de le protéger par 'Groupe Protège cible'... à vous de choisir la meilleure méthode ;)

****No de groupe implicite:
Pour tous les ordres où est demandé un no de groupe :
Le dernier numéro de groupe utilisé est repris implicitement si vous validez sans rien rentrer.



Voir premier post et readme...

Voilà

Bon jeu :)
iou naud ouate, aille ama pis | Pilote IA | Site

Post Reply

Return to “Script et Modding pour la Trilogie X”