Idée de script : Ajouter des roles au cosmonaute (votre avis?)
Moderator: Modérateurs pour les forum Français
-
Whismerhill
- Posts: 579
- Joined: Wed, 20. Oct 04, 21:16

Idée de script : Ajouter des roles au cosmonaute (votre avis?)
Suite à ce sujet : http://forum.egosoft.com/viewtopic.php?t=128618
J'ai trouvé qu'il serait intéressant de rajouter des rôles supplémentaires au fait de sortir de son vaisseau en tant que : cosmonaute.
Je ne connais pas le jeu dans son intégralité encore ,mais j'ai l'impression que le cosmonaute ne sert pas à grand chose.
Donc voilà mon idée : c'est de faire un script (moi-même sans doute)
qui permettrait de réparer un certain pourcentage de son vaisseau en sortant à l'extérieur et en "réparant" la coque.
Le coût de l'opération serait inférieur à une réparation dans un "chantier naval".
Cela prendrait un certain temps (pendant lequel vous êtes relativement vulnérable puisque à l'extérieur).
La quantité de réparation du vaisseau dépendrais de :
- Vos relations avec telle ou telle race (plus vos relations avec les borons sont hautes plus votre connaissance de la technologie boron est haute et donc plus vous avez de facilité à réparer la coque),
- Le temps passé à tenter une réparation,
- La quantité d'argent (ou de plaques de teladianium peut être) à votre disposition (possibilité d'avoir un TS avec des plaques en réserve à proximité ???),
- Votre expertise en réparation qui monte à chaque réparation,
- Le % maximal de réparation limité avant retour obligatoire à une station capable de réparer,
- Le taux de dommages déjà subits par la coque,
- La classe du vaisseau (plus il est gros plus c'est dur et long, jusqu'au quasi impossible avec les M2/M1).
En gros je pense à une formule qui aurait un résultat inversement exponentiel avec une limite aux alentours de 20-40 % de réparation max
(avec tous les paramètres maximisés).
Notes supplémentaires :
Utiliser des plaques de teladianium (ce serais optionel) permettrait, en plus, d'améliorer légèrement l'économie de X3 (nouveau besoin en plaques de teladianium...).
A moins de faire une fabriquation de "kits de réparation" à partir notamment de plaques ...
Bon je ne sais pas si tout cela sera réalisable en fin de compte,
c'est juste un idée qui a germé dans mon esprit et sur laquelle je compte travailler, mais je n'ai jamais scripté dans X3 donc ....
Merci d'avance pour vos avis/opinions, et vos idées.
J'ai trouvé qu'il serait intéressant de rajouter des rôles supplémentaires au fait de sortir de son vaisseau en tant que : cosmonaute.
Je ne connais pas le jeu dans son intégralité encore ,mais j'ai l'impression que le cosmonaute ne sert pas à grand chose.
Donc voilà mon idée : c'est de faire un script (moi-même sans doute)
qui permettrait de réparer un certain pourcentage de son vaisseau en sortant à l'extérieur et en "réparant" la coque.
Le coût de l'opération serait inférieur à une réparation dans un "chantier naval".
Cela prendrait un certain temps (pendant lequel vous êtes relativement vulnérable puisque à l'extérieur).
La quantité de réparation du vaisseau dépendrais de :
- Vos relations avec telle ou telle race (plus vos relations avec les borons sont hautes plus votre connaissance de la technologie boron est haute et donc plus vous avez de facilité à réparer la coque),
- Le temps passé à tenter une réparation,
- La quantité d'argent (ou de plaques de teladianium peut être) à votre disposition (possibilité d'avoir un TS avec des plaques en réserve à proximité ???),
- Votre expertise en réparation qui monte à chaque réparation,
- Le % maximal de réparation limité avant retour obligatoire à une station capable de réparer,
- Le taux de dommages déjà subits par la coque,
- La classe du vaisseau (plus il est gros plus c'est dur et long, jusqu'au quasi impossible avec les M2/M1).
En gros je pense à une formule qui aurait un résultat inversement exponentiel avec une limite aux alentours de 20-40 % de réparation max
(avec tous les paramètres maximisés).
Notes supplémentaires :
Utiliser des plaques de teladianium (ce serais optionel) permettrait, en plus, d'améliorer légèrement l'économie de X3 (nouveau besoin en plaques de teladianium...).
A moins de faire une fabriquation de "kits de réparation" à partir notamment de plaques ...
Bon je ne sais pas si tout cela sera réalisable en fin de compte,
c'est juste un idée qui a germé dans mon esprit et sur laquelle je compte travailler, mais je n'ai jamais scripté dans X3 donc ....
Merci d'avance pour vos avis/opinions, et vos idées.
Last edited by Whismerhill on Tue, 21. Feb 06, 17:46, edited 2 times in total.
-
Azz
- Posts: 1031
- Joined: Tue, 18. May 04, 20:14

Tres bonne idée, il serait vraiment interessant d'offrir un rôle supplémentaire au cosmonaute..
Pour l'instant sa seule utilité est de pourvoir changer de vaisseau, ou "réclamer" les vaisseaux acquis au combat... et encore certains appareils permettent de s'en affranchir.
Ton idée me semble déjà bien aboutie, reste à la réaliser...
Bon courage
Shipyard : chantier naval
Pour l'instant sa seule utilité est de pourvoir changer de vaisseau, ou "réclamer" les vaisseaux acquis au combat... et encore certains appareils permettent de s'en affranchir.
Ton idée me semble déjà bien aboutie, reste à la réaliser...
Bon courage
Shipyard : chantier naval
-
Serial Kicked
- Posts: 3823
- Joined: Fri, 12. Aug 05, 20:46

L'idée n'est pas mal et est plus interessante que les différents "hull repair software" que l'on voit un peu partout sur le forum anglais. Ce n'est pas non plus excessivement difficile à coder et c'est donc à la portée d'un débutant en script (avec un peu d'aide de notre part
).
X3:TC/AP Pirate Guild 3 - Yaki Armada 2 - Anarkis Defense System
Anarkis Gaming HQ
Independent Game Development
X3 Scripting and Modding Station
Anarkis Gaming HQ
Independent Game Development
X3 Scripting and Modding Station
-
Whismerhill
- Posts: 579
- Joined: Wed, 20. Oct 04, 21:16

raaah lol première déboire je programmais dans l'espace et je me suis fais exploser par des pirates ...
merci pour vos encouragements
(note: j'édite désormais dans une station ! )
edit: y a t'il un moyen de connaitre la race qui construit un vaisseau existant (pas forcément la race à laquelle le vaisseau appartient)
avec un check simple plutot que d'avoir à passer en revue l'ensemble des type de vaisseaux d'une race ?
merci pour vos encouragements
(note: j'édite désormais dans une station ! )
edit: y a t'il un moyen de connaitre la race qui construit un vaisseau existant (pas forcément la race à laquelle le vaisseau appartient)
avec un check simple plutot que d'avoir à passer en revue l'ensemble des type de vaisseaux d'une race ?
-
Whismerhill
- Posts: 579
- Joined: Wed, 20. Oct 04, 21:16

hop me revoilà
bon je progresse dans l'avancement de mon script
j'ai pas mal d'idée, j'essai de tout poser sur papier...
enfin bref
je suis actuellement en train de réfléchir à la(les) commande(s)
que je vais utiliser et j'aurais voulu votre avis éclairé :
COMMAND_TYPE_CUSTOM (716-763)
COMMAND_TYPE_GENERAL (816-863)
1- lequel serais le plus adapté?
j'imagine que ça ne fais pratiquement aucune différence
mais logiquement si vous aviez une commande du type :
"reparer ma cible" vous la chercheriez ou ? general ou custom ?
ou autre ?
(note: cette commande apparaitra dans les commande de vous-même (en tant qu'astronaute ou dans un vaisseau) ainsi cela permettra de réparer un vaisseau qui ne vous appartient pas)=> possibilité de développer des missions réparation de navire NPC en BBS(ou autre là encore)
enfin je diverge...
autre question:
j'introduis une "compétence en réparation" qui sera une caractéristique de votre perso qui montera par divers moyens (dont la réparation et peut être des BBS vous proposants manuels... leçons....)
2- j'imagine qu'il est impossible de rajouter une nouvelle statistique (telle vos relations avec les races) dans les stats d'un joueur?
3- si le 2 est effectivement impossible, que me recommandez-vous comme approche? je pensais à une commande(même slot que pour la réparation) qui afficherais vos compétences en réparation dans les messages que l'on reçois... (si y a mieux comme idée je suis preneur)
merci d'avance
bon je progresse dans l'avancement de mon script
j'ai pas mal d'idée, j'essai de tout poser sur papier...
enfin bref
je suis actuellement en train de réfléchir à la(les) commande(s)
que je vais utiliser et j'aurais voulu votre avis éclairé :
COMMAND_TYPE_CUSTOM (716-763)
COMMAND_TYPE_GENERAL (816-863)
1- lequel serais le plus adapté?
j'imagine que ça ne fais pratiquement aucune différence
mais logiquement si vous aviez une commande du type :
"reparer ma cible" vous la chercheriez ou ? general ou custom ?
ou autre ?
(note: cette commande apparaitra dans les commande de vous-même (en tant qu'astronaute ou dans un vaisseau) ainsi cela permettra de réparer un vaisseau qui ne vous appartient pas)=> possibilité de développer des missions réparation de navire NPC en BBS(ou autre là encore)
enfin je diverge...
autre question:
j'introduis une "compétence en réparation" qui sera une caractéristique de votre perso qui montera par divers moyens (dont la réparation et peut être des BBS vous proposants manuels... leçons....)
2- j'imagine qu'il est impossible de rajouter une nouvelle statistique (telle vos relations avec les races) dans les stats d'un joueur?
3- si le 2 est effectivement impossible, que me recommandez-vous comme approche? je pensais à une commande(même slot que pour la réparation) qui afficherais vos compétences en réparation dans les messages que l'on reçois... (si y a mieux comme idée je suis preneur)
merci d'avance
-
Azz
- Posts: 1031
- Joined: Tue, 18. May 04, 20:14

Hello,
1- je dirai custom plutôt que général (même si effectivement cela n'a pas une grande importance)
Je vais d'ailleurs rebaptiser ce menu en Personnalisé/Groupes dans la prochaine version du script Gestion de groupe, pour éviter l'ambiguité que j'avais inconsidéremment introduite....)
2 - C'est effecitvement impossible, il faut que tu la tienne à jour manuellement avec une variable globale, mais tu avais déjà dût t'en rendre compte
3 - On pourrait imaginer que si tu lance ta commande "Réparation" sans cible de définie, Un message s'affiche du genre "Cible Réparation non définie..... Votre rang en réparation est ...XX."
4 - Hein!,! il n'y a pas de 4 ? As tu pensé au fait que lorsqu'on est en scaphandre, on n'a pas accès aux menus
ce qui implique que tu lance ta commande avant de sortir du vaisseau et qu'elle ne se déclenche que lorsque Type_PLAYERSHIP = Scaphandre (je schématise), ce qui accessoirement remet en cause 3..
Je te laisse réfléchir à tout ça...
1- je dirai custom plutôt que général (même si effectivement cela n'a pas une grande importance)
Je vais d'ailleurs rebaptiser ce menu en Personnalisé/Groupes dans la prochaine version du script Gestion de groupe, pour éviter l'ambiguité que j'avais inconsidéremment introduite....)
2 - C'est effecitvement impossible, il faut que tu la tienne à jour manuellement avec une variable globale, mais tu avais déjà dût t'en rendre compte
3 - On pourrait imaginer que si tu lance ta commande "Réparation" sans cible de définie, Un message s'affiche du genre "Cible Réparation non définie..... Votre rang en réparation est ...XX."
4 - Hein!,! il n'y a pas de 4 ? As tu pensé au fait que lorsqu'on est en scaphandre, on n'a pas accès aux menus
Je te laisse réfléchir à tout ça...
-
AIDABLOOM
- Posts: 24
- Joined: Mon, 27. Feb 06, 21:03

-
Whismerhill
- Posts: 579
- Joined: Wed, 20. Oct 04, 21:16

je peux pas vraiment te donner d'ETA
mais vu que c'est ma première expérience de programmation en script x3
(je connais malgré tout un peu de vb)
et que certaines opérations sont archi longues
(plusieurs heures pour répéter certaines lignes avec une petite modification par ligne + boucles inutilisables, là ou on pourrais utiliser du copier/coller rapide dans un éditeur texte normal)
je dirais...
he bien.... je fais de mon mieux, merci de m'avoir exprimé ton intérêt
de toute façon ne t'attends pas non plus à un script qui serais parfais au premier jet, au départ il sera sans doute beta de plus la formule de réparation sera peut être à ajuster
tiens voilà la formule que j'ai mis au point pour l'instant :
racine carrée( entier ( log |Relation| +1) * (Expertise /7) * (1/ClasseVso) ) * ( HullMax - HullCurrent ) * Variable
Relation = relations avec le constructeur du vaisseau (et pas la race à laquelle il appartient) (chiffre compris entre -1 000 000 et 1 000 000 si je ne m'abuse)
Expertise = votre compétence de réparation chiffre compris entre 1 et 100
ClasseVso = chiffre entre 1 et 6 (1 = M5 , 3= M3 TS TP , 6 = M1 )
HullMax = nombre de points de coques du vaisseau
HullCurrent = nombre de points actuels du vaisseau
Variable = 50% (0.5) ou 95% si utilisation de plaques de teladianium
(l'Expertise est prévu mais ne monte pas dans ma pré-version)
(teladianium non implémenté)
mais vu que c'est ma première expérience de programmation en script x3
(je connais malgré tout un peu de vb)
et que certaines opérations sont archi longues
(plusieurs heures pour répéter certaines lignes avec une petite modification par ligne + boucles inutilisables, là ou on pourrais utiliser du copier/coller rapide dans un éditeur texte normal)
je dirais...
he bien.... je fais de mon mieux, merci de m'avoir exprimé ton intérêt
de toute façon ne t'attends pas non plus à un script qui serais parfais au premier jet, au départ il sera sans doute beta de plus la formule de réparation sera peut être à ajuster
tiens voilà la formule que j'ai mis au point pour l'instant :
racine carrée( entier ( log |Relation| +1) * (Expertise /7) * (1/ClasseVso) ) * ( HullMax - HullCurrent ) * Variable
Relation = relations avec le constructeur du vaisseau (et pas la race à laquelle il appartient) (chiffre compris entre -1 000 000 et 1 000 000 si je ne m'abuse)
Expertise = votre compétence de réparation chiffre compris entre 1 et 100
ClasseVso = chiffre entre 1 et 6 (1 = M5 , 3= M3 TS TP , 6 = M1 )
HullMax = nombre de points de coques du vaisseau
HullCurrent = nombre de points actuels du vaisseau
Variable = 50% (0.5) ou 95% si utilisation de plaques de teladianium
(l'Expertise est prévu mais ne monte pas dans ma pré-version)
(teladianium non implémenté)
-
Serial Kicked
- Posts: 3823
- Joined: Fri, 12. Aug 05, 20:46

Juste au cas où 
Copier : Touche C / Coller : Touche V
Et qu'il y a t'il d'inutilisable dans les boucles ?
Copier : Touche C / Coller : Touche V
Et qu'il y a t'il d'inutilisable dans les boucles ?
X3:TC/AP Pirate Guild 3 - Yaki Armada 2 - Anarkis Defense System
Anarkis Gaming HQ
Independent Game Development
X3 Scripting and Modding Station
Anarkis Gaming HQ
Independent Game Development
X3 Scripting and Modding Station
-
AIDABLOOM
- Posts: 24
- Joined: Mon, 27. Feb 06, 21:03

Whismerhill wrote: tiens voilà la formule que j'ai mis au point pour l'instant :
racine carrée( entier ( log |Relation| +1) * (Expertise /7) * (1/ClasseVso) ) * ( HullMax - HullCurrent ) * Variable
Relation = relations avec le constructeur du vaisseau (et pas la race à laquelle il appartient) (chiffre compris entre -1 000 000 et 1 000 000 si je ne m'abuse)
Expertise = votre compétence de réparation chiffre compris entre 1 et 100
ClasseVso = chiffre entre 1 et 6 (1 = M5 , 3= M3 TS TP , 6 = M1 )
HullMax = nombre de points de coques du vaisseau
HullCurrent = nombre de points actuels du vaisseau
Variable = 50% (0.5) ou 95% si utilisation de plaques de teladianium
(l'Expertise est prévu mais ne monte pas dans ma pré-version)
(teladianium non implémenté)
Woooow!!!! prends ton temps. Ca a plutot l'air compliqué.
En tout cas, je l'attends avec impatience. Courage
Quelle est belle la vie avec x3
-
Whismerhill
- Posts: 579
- Joined: Wed, 20. Oct 04, 21:16

@aidabloom
merci de tes encouragements
(qui n'est pas forcément la même race que celui qui possède le vaisseau, notamment dans le cas de vaisseaux appartenant au joueur)
ce qui fais un script d'environ 170 lignes si je ne m'abuse
pour un truc qui est finalement plutot simple
bref oui j'ai fais des copier coller mais bon c'est quand même moins pratique qu'avec un éditeur texte
enfin c'est pas grave, faut juste prendre le temps
merci de tes encouragements
ho rien c'est que je me suis un peu fais suer à tester chaque vaisseau indépendemment pour savoir qui a "conçu le plan/design" du vaisseauSerial Kicked wrote:Juste au cas où
Copier : Touche C / Coller : Touche V
Et qu'il y a t'il d'inutilisable dans les boucles ?
(qui n'est pas forcément la même race que celui qui possède le vaisseau, notamment dans le cas de vaisseaux appartenant au joueur)
ce qui fais un script d'environ 170 lignes si je ne m'abuse
pour un truc qui est finalement plutot simple
bref oui j'ai fais des copier coller mais bon c'est quand même moins pratique qu'avec un éditeur texte
enfin c'est pas grave, faut juste prendre le temps
-
Serial Kicked
- Posts: 3823
- Joined: Fri, 12. Aug 05, 20:46

Ah oui ça je suis bien d'accord l'interface de l'éditeur est plus qu'archaïque , ils auraient pu faire un effort à ce niveau pour améliorer un peu les choses.
M'enfin on peut pas tout avoir
/ Edit /
Au fait il y a aussi une autre solution pour le point (4) évoqué par Azz, tu peux lier le script à un raccourcis clavier configurable par l'utilisateur. Faut d'ailleurs que je pense à pondre un petit tuto sur le sujet
M'enfin on peut pas tout avoir
/ Edit /
Au fait il y a aussi une autre solution pour le point (4) évoqué par Azz, tu peux lier le script à un raccourcis clavier configurable par l'utilisateur. Faut d'ailleurs que je pense à pondre un petit tuto sur le sujet
X3:TC/AP Pirate Guild 3 - Yaki Armada 2 - Anarkis Defense System
Anarkis Gaming HQ
Independent Game Development
X3 Scripting and Modding Station
Anarkis Gaming HQ
Independent Game Development
X3 Scripting and Modding Station
-
Azz
- Posts: 1031
- Joined: Tue, 18. May 04, 20:14

-
Whismerhill
- Posts: 579
- Joined: Wed, 20. Oct 04, 21:16

j'ai un soucis avec ça :
voici les résultats écrits sur mon logbook :
1, 1, 5, 0, 0
donc si je resume
$newamount = 1 000 000 * 1/7 * 1/100 *1/5
et selon X3 ça me donne 0 ??????? (resultat calculatrice : 285 et des poussières)
je comprends pas.
au fait merci pour le tuyau sur une touche de raccourci, je pense que ce serais effectivement bien plus pratique et plus simple
Code: Select all
042 write to player logbook $targetrelation =>valeur à 1
043 write to player logbook $repairexp =>valeur à 1
044 write to player logbook $targetobjectclas => valeur à 5
045 $newamount = 1000000 * ( $targetrelation / 7 ) * ( $repairexp / 100 ) * 1 / $targetobjectclas
046 write to player logbook $newamount
047 $newamount = square root of $newamount
048 write to player logbook $newamount1, 1, 5, 0, 0
donc si je resume
$newamount = 1 000 000 * 1/7 * 1/100 *1/5
et selon X3 ça me donne 0 ??????? (resultat calculatrice : 285 et des poussières)
je comprends pas.
au fait merci pour le tuyau sur une touche de raccourci, je pense que ce serais effectivement bien plus pratique et plus simple
-
Azz
- Posts: 1031
- Joined: Tue, 18. May 04, 20:14

les scripts ne connaissent que les entiers, or dans ta formule :
$newamount = 1000000 * ( $targetrelation / 7 ) * ( $repairexp / 100 ) * 1 / $targetobjectclas
( $targetrelation / 7 ) doit donner 0.14 et des poussieres, soit 0 en nombre entier
pareils pour ( $repairexp / 100 ) et 1 / $targetobjectclas
pas de chance, que des 0
Il faut que tu utilise un coefficient correspondant au nombres de decimales que tu desires obtenir, soit par ex :
$newamount = ( $targetrelation*100 / 7 ) * ( $repairexp *100/ 100 ) * 100 / $targetobjectclas )
etc
$newamount = 1000000 * ( $targetrelation / 7 ) * ( $repairexp / 100 ) * 1 / $targetobjectclas
( $targetrelation / 7 ) doit donner 0.14 et des poussieres, soit 0 en nombre entier
pareils pour ( $repairexp / 100 ) et 1 / $targetobjectclas
pas de chance, que des 0
Il faut que tu utilise un coefficient correspondant au nombres de decimales que tu desires obtenir, soit par ex :
$newamount = ( $targetrelation*100 / 7 ) * ( $repairexp *100/ 100 ) * 100 / $targetobjectclas )
etc
-
shoop
- Posts: 8
- Joined: Thu, 23. Feb 06, 11:47

Je vois que vous etes deja parti sur ce mod mais je profite quand meme du poste pour savoir si ca serait long et laborieux comme script de faire en sorte que le cosmonaute ai des missions ou il doit recupere des marchandises dans des endroits "interieurs" ( je parles d utiliser les faux interieurs des station gigantesques comme les stations commerciales par exemple ou l on peut se ballader dans des hangars quand meme assez detailles uniquement en scaphandre puisque le dockage est automatique des l entree), l dee serait donc d utiliser ces stations comme endroits d echanges douteux pour des mission .
