[X3TC] Aucun traffic NPC lors d'une partie personnalisée avec Galaxy Editor

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

Moderator: Modérateurs pour les forum Français

PSCO1
Posts: 1087
Joined: Thu, 4. Jun 09, 17:08
x4

[X3TC] Aucun traffic NPC lors d'une partie personnalisée avec Galaxy Editor

Post by PSCO1 »

Voila mon probleme:

J'ai sans doute pas bien saisi certaines chose avec Galaxy Editor:

-d'une, je ne trouve pas de fichier "<X Universe>.xml" ds le répertoire du jeu
est-ce normal ?

-et de 2, si j'edite manuellement le fichier "x3_universe.xml" en ajoutant 2 vaisseaux à vendre dans le SY du secteur Argon M148 (que je renomme "x3_universePSCO1.xml"), le traffic NPC disparait completement du jeu avec cette partie personnalisée, le seul vso NPC que l'on puisse voir au debut du jeu c'est le Buster soit le Nova de l'ecole de pilotage d'Argon Prime, rien d'autre :(

Je precise qu'aucune entrée n'a été crée pour l'ajout de quelconque vaisseau dans le TShips (cest celui d'origine)

Au pif, j'en conclus que "<X Universe>.xml" fonctionne avec les scripts et le TJobs correctement mais pour un fichier map modifié là ya plus personne ...

D'où ma question : Dois-je commencer une carriere de scripteur ?
Ou bien je me trompe completement dans ma methode d'approche ?
:petit coup de coude à SK: :P
User avatar
Phlt
Moderator (Français)
Moderator (Français)
Posts: 4300
Joined: Fri, 31. Mar 06, 19:26
x4

Post by Phlt »

Une méthode pour que ta carte apparaisse, soit jouable et contienne du trafic NPC :

- Créér une carte sur la base de x3_universe et la renommer "universe_PSCO1" par exemple
- Insérer cette carte dans le répertoire\maps\
- Extraire les fichiers \types\Jobs et Jobwings et les renommer avec le nom de ta carte de cette façon exacte

* Jobs.universe_PSCO1
* Jobwings.universe_PSCO1

Puis réintégrer ces fichiers dans le .cat
PSCO1
Posts: 1087
Joined: Thu, 4. Jun 09, 17:08
x4

Post by PSCO1 »

Je vais tester ca dés cette aprés midi

Merci Phlt :)

edit: Ok ca marche, les NPC sont revenus ds le jeu

J'essaierais qd meme de faire un script pour le mode de jeu normal
User avatar
Serial Kicked
Posts: 3823
Joined: Fri, 12. Aug 05, 20:46
x3tc

Post by Serial Kicked »

Comme je t'ai dit en MP si c'est pour ta propre partie ou si y a carte custom c'est plus simple de modifier la carte directement.

Si c'est pour être distribué, faut passer par un script. Si t'en as toujours besoin je peux le taper là. Mais comme j'aime bien que les gens comprennent ce que je leur raconte, on va commencer avec la version simple et manuelle. La version auto ça sera pour un peu plus tard :p


Deja, exemple, pour rajouter un navire de ton choix au shipyard de ton choix. Pour les bases on va dire (et depuis l’éditeur interne que tu ouvres maintenant si tu veux capter quoi que ce soit à ce qui va suivre :p):

Bon pour ca, va bien falloir que le script te demande 2 choses. La première c'est le type de vaisseau à rajouter et la seconde c'est sur quel shipyard on va faire cela.

Donc, open SE / Script Editor / <New Script>

on va lui donner un nom:

psco.lib.addship

Apparait l'éditeur à proprement parler. Si t'as déjà utilisé une calculatrice programmable au lycée afin de ne pas avoir a travailler, l'interface est la même.

Version : 1
Description : Mon premier script youpie youpie
command name: pas touche, sert à rien ici.

Arguments !!

C'est là où ça devient intéressant. Le script devait te demander des choses. C'est ici que ça se passe. Donc <New Argument>.

On te demande de lui donner un petit nom, prenons au hasard: shipyard.

Il va ensuite te demander le type d'argument (koikoidonc que tu veux désigner par le mot shipyard), dans notre cas c'est Var/Station.

La dernière est une description affichée quand ce script est appelé par un autre, tape donc shipyard à nouveau.

Ce que tu as sélectionné devrait apparaitre.

On va faire de même avec le type de vaisseau:
- shiptype
- Var/ShipType
- shiptype

Ton ecran devrait ressembler à ça:

Code: Select all

==============================
Version 1
Mon premier script youpie youpie
Command Name : psco.lib.addship
==[Arguments]=================
Argument 1: shipyard, Var/Station, shipyard
Argument 2: shiptype, Var/Ship Type, shiptype
==[C0de]======================
<new line>
Et là le code nécessaire tient en une seule ligne.
sélectionne <new line>
va dans Trade Commands / For Stations
Et sélectionne la ligne "add product to factory or dock"

Le programme va te demander de rentrer une valeur. Etant donné qu'on veut ajouter notre type au shipyard, et bé on va choisir "shipyard" dans l'onglet 'available variables'.

la ligne suivante apparait:

Code: Select all

001  $shipyard -> add product to factory or dock: <?>
Il n'y a plus qu'à remplacer ce vilain <?> par $shiptype.

Ce qui donne au final

Code: Select all

==============================
Version 1
Mon premier script youpie youpie
Command Name : psco.lib.addship
==[Arguments]=================
Argument 1: shipyard, Var/Station, shipyard
Argument 2: shiptype, Var/Ship Type, shiptype
==[C0de]======================
001  $shipyard -> add product to factory or dock: $shiptype
Tu tapes [Echap] pour sauver et quitter, Tu ré-affiches la liste des scripts, tu le sélectionne, et tu presses R pour le lancer.

Il va te demander un premier argument qui te sert pas (ca sert à indiquer sur quel objet tourne le script), choisis null. Puis il va enfin te demander de choisir le chantier depuis la carte, et le type de vaisseau depuis une liste.

Voila, on fait pas plus basique que ça comme script :)

Si ca t'intéresse, le MSCI handbook est toujours disponible en anglais dans les téléchargements de X2 (faut fouiller un peu). Pas à jour niveau des commandes disponibles, mais c'est la base.
X3:TC/AP Pirate Guild 3 - Yaki Armada 2 - Anarkis Defense System

Anarkis Gaming HQ
Independent Game Development
X3 Scripting and Modding Station
PSCO1
Posts: 1087
Joined: Thu, 4. Jun 09, 17:08
x4

Post by PSCO1 »

Salut SK,

Tout d'abbord merci pour ce tuto, je commence à peine à comprendre la methode et les termes employés pour bien se representer ce que l'on veut faire une fois l'editeur de script ouvert (mais cest pas gagné)
Bref en tout cas, tu m'as trés bien expliqué et tout fonctionne bien de mon coté :)

Jai pu donc ajouter 2 type de vso ds le SY ArgonPrime sans probleme avec ce script

Mais ... c'est pas vraiment ce que je voulais faire au final, ce script ne rajoute pas les vaisseaux de mon choix dés le chargement d'une nouvelle partie, on est obligé de passer par le SE pour les ajouter manuellement (un peu comme fait le cheat-pack de Cycrow en définitive)

jai reussi avec la méthode du fichier map mais le probleme cest que les plots Final Fury, Aldrin etc.. ne sont pas activés lors d'une partie customiséé.
Alors y aurait-il une facon de rendre ce script "automatisé" et parametrable selon le type de vaisseau à ajouter dans les SY de mon choix? (le script démarrerait dés le chargement de Humble marchant par exemple)

edit: je précise aussi que jai supprimé des vso disponibles dans certains SY avec le fichier map
(jai une liste de vso bien précise pour chaque SY argon pour etre + clair)
donc je préfererais travailler sur un script appliqué sur cette nouvelle carte si c'est possible bien sur..
edit2: c'est à dire un script qui active tous les plots pour cette carte OU un script qui parametrerait d'entrée les affectations de chaque SY argon ds le cas d'une partie normale
User avatar
Serial Kicked
Posts: 3823
Joined: Fri, 12. Aug 05, 20:46
x3tc

Post by Serial Kicked »

Voui c'est possible, suffit de créer un fichier script setup. Les fichiers commençant par setup sont lancé au chargement de chaque sauvegarde / début de partie.

En gros le script va rechercher tous les shipyards sur la carte, vérifier s'ils ont déjà le nouveau navire, et sinon ajouter les vaisseaux (vaisseaux argons -> dans shipyards argon, borons->borons, etc.).

Je pourrais continuer un bon moment, mais ça risque d'aborder tout un tas de choses un peu complexes (boucles, parcourir une liste, toussa toussa) pour toi qui n'a visiblement pas de notion en programmation.

Du coups, je vais taper ce soir (ou demain) un script à peu près complet et prêt à être utilisé (suffira de lui ajouter une ligne par nouveau vaisseau en gros), et je ferai mon petit cours à partir de là.
X3:TC/AP Pirate Guild 3 - Yaki Armada 2 - Anarkis Defense System

Anarkis Gaming HQ
Independent Game Development
X3 Scripting and Modding Station
PSCO1
Posts: 1087
Joined: Thu, 4. Jun 09, 17:08
x4

Post by PSCO1 »

C'est comme tu le sens SK,
C'est pas urgent non plus, ça peut attendre vu que j'ai encore beaucoup d'autres choses à modifier de mon coté

Mais comme je t'avais expliqué hier en PM, tes explications pourraient peut-etre m'etre trés utiles(ou pas) au cas ou j'aurais envie de scripter moi-meme le script de mes reves :D

Merci d'avance et c'est vraiment sympa de ta part en tout cas :wink:
PSCO1
Posts: 1087
Joined: Thu, 4. Jun 09, 17:08
x4

Post by PSCO1 »

En cherchant un peu, jai deja pu réactiver les missions plots par laide de ce script

http://forum.egosoft.de/viewtopic.php?t ... sc&start=0

Et avec une modif, le script s'active dés le départ sans taper "addmesomeplots"

Return to “Script et Modding pour la Trilogie X”