Space Engineers

Space Engineers

Tri Automatique des Inventaires
Radnor 17 Jul, 2020 @ 1:00pm
Ajout d'item moddés
Bonjour
deja merci pour ton mod, il est simple et efficasse .

Je me permet d'ouvrir une nouvelle discussion pour te demander ton aide ;)

Je souhaite y ajouter des objets moddés ( exemple des "metal plate" dans la categorie compo )
j'ai donc rajouté cette ligne " metalplate = "metalplate" dans les Constantes pour le sous-type "compo"
et j'ai rajouté cette ligne this.Add(compo, metalplate, "metalplate"); dans Déclaration des sous-commandes des objets moddés dans la méthode init
mais cela ne fonctionne pas, je pense avoir oublié quelque chose, mais mes competences ne sont pas a la hauteur pour savoir quoi.

je precise que je recompile le scrip avec succes ^^ donc a priori pas d'erreur :/
et que le nom " metalplate" me premet de l'isoler via le script "automatic LCD" donc je suppose que le nom est aussi correct.

Merci d'avance de ton aide :)
< >
Showing 1-8 of 8 comments
Eryan  [developer] 19 Jul, 2020 @ 2:21pm 
bonsoir,
ça fait un moment que je n'ai pas mis le nez dans le code
Je regarde ça et je te répond demain ou après demain
Cordialement
jpforever 25 Jul, 2020 @ 2:53pm 
je suis exactement dans le même cas.
pour le moment je tente avec des minerais et lingot ajouter par un mod, le code ne me donne aucune erreur quand je le verrifie mais il ne trie pas les ressource ajouter
Eryan  [developer] 4 Aug, 2020 @ 12:52pm 
Bonsoir,
Désolé pour le ♥♥♥♥♥♥ de réponse j'étais un peu débordé ces temps ci.

Pour ajouter des objets moddés au script, c'est un peu technique
Le plus simple est de placer tous les objets moddés dans un conteneur et de sauvegarder la partie

Ensuite d'ouvrir le fichier de sauvegarde et de récupérer les sous-type de chaque objet moddé que vous voulez ajouter au script

La sauvegarde se situe dans le dossier :
C:\Users\<Votre_nom_d'utilisateur>\AppData\Roaming\SpaceEngineers\Saves

ex : (extrait du contenu du conteneur)
<MyObjectBuilder_InventoryItem>
<Amount>1</Amount>
<PhysicalContent xsi:type="MyObjectBuilder_Component">
<SubtypeName>MotorMK</SubtypeName>
</PhysicalContent>
<ItemId>0</ItemId>
</MyObjectBuilder_InventoryItem>

Dans ce cas il faut récupérer "MotorMK"
Ensuite dans le script à partir de la ligne 92, il déclarer la commande personnalisé pour cet objet
ex :
// Constantes pour les objets moddés
const string advanced_thrust = "advanced_thrust";
const string motorMk = "Moteur_MK";

//############################################################
// Déclaration des constantes pour les objets non empillable
//############################################################

Pour moi, j'ai décidé que la sous-commande sera "Moteur_MK"
Et pour finir il faut aller dans la méthode Init et ajouter la ligne de commande qui correspond
Dans mon cas je veux ajouter une commande de type "compo"
donc à partir de la ligne 246 j'ajoute

this.Add(compo, powercell, "PowerCell");
this.Add(compo, superconductor, "Superconductor");
this.Add(compo, motorMk, "MotorMK");

// Déclaration des sous-commande "munition"

ATTENTION c'est ici que le sous-type vous sera utile, l'orthographe et la casse sont très importants, à la moindre erreur l'objet ne sera pas reconnu

Ensuite il suffit de recommencer le procédé pour chaque objet moddé

Voilà j'espère que ça vous sera utile
Last edited by Eryan; 5 Aug, 2020 @ 1:43pm
jpforever 5 Aug, 2020 @ 2:51pm 
J'ai testé est ça fonctionne toujours pas, tu pourrais faire une vidéo pour l'expliquer ? Ça sera peut-être plus facile pour voir où ça les modifications, ou alors expliquer aussi pour les ressources et lingots ?
Eryan  [developer] 6 Aug, 2020 @ 3:29am 
Bonjour,
Pourrais-tu poster les liens vers le/les mods en question s'il te plait ?
Je testerai directement sur ces Mods
Mais dans tous les cas le plus simple et de copier l'intégralité du script en jeu dans la fenêtre de l'éditeur de code et de le coller dans un éditeur de texte comme notepad++.
Ensuite tu fait toutes les modifications dans l'éditeur de texte et tu colle le nouveau script dans l'éditeur en jeu.
C'est bcp plus facile comme ça que de le faire directement en jeu
Last edited by Eryan; 6 Aug, 2020 @ 4:07am
Eryan  [developer] 9 Aug, 2020 @ 7:01am 
Bonjour,

Je viens de tester sur le mod en question, tout fonctionne normalement
Concernant la "Glace de deuterium" il faut faire comme pour l'exemple pour les moteur MK
Il faut ajouter la déclaration de la sous-commande vers la ligne 91 , juste après le commentaire :
"// Constantes pour les objets moddés"

comme ceci :
const string deuterium = "deuterium";
const string magnetron = "magnetron";

dans la constante, il faut mettre le nom que l'on veut comme sous-commande pour le tri sélectif

Ensusite dans la méthode init qui débute vers la ligne 186, il faut déclarer les association de commandes/sous-commande
ex :
après le commentaire "// Déclaration des sous-commande "minerai" vers la ligne 199, il faut ajouter les déclaration pour les minerai comme ceci :
this.Add(ore,deuterium, "Deuterium");

le 2ème paramètre est le nom de la constante et le 3ème et dernier paramètre et le sous-type extrait de la sauvegarde ou directement des fichiers du mod

De même pour ajouter le magnetron qui lui est un composant, il faut ajouter la déclaration après le commentaire
"// Déclaration des sous-commande "compo"" vers la ligne 226 comme ceci
this.Add(compo,magnetron,"MagnetronComponent");

Pour ajouter des lingots c'est exactement le même procédé sauf qu'il faut ajouter l'association commande/sous-commande après le commentaire
// Déclaration des sous-commande "lingot" vers la ligne 214
et ainsi de suite
Il faut trouver la bonne section en suivant les commentaires dans la méthode Init
Last edited by Eryan; 9 Aug, 2020 @ 7:03am
jpforever 9 Aug, 2020 @ 8:15pm 
je testerais et je te tiendrais au courant ;)
< >
Showing 1-8 of 8 comments
Per page: 1530 50