[EN REFONTE] SEI - Skyrim Enhanced Inventory
Re: [EN TEST] SEI - Skyrim Enhanced Inventory
Bonsoir,
Ça fait plaisir de voir que cela avance, merci à ceux qui travaillent dessus je l'attends impatiemment !
Et je voulais demander, sera-t-il personnalisable ? Par exemple si je ne veux voir afficher que mon Arc/Flèches avec mon épée dans son fourreau, cela sera possible ?
Merci bien.
Ça fait plaisir de voir que cela avance, merci à ceux qui travaillent dessus je l'attends impatiemment !
Et je voulais demander, sera-t-il personnalisable ? Par exemple si je ne veux voir afficher que mon Arc/Flèches avec mon épée dans son fourreau, cela sera possible ?
Merci bien.

Re: [EN TEST] SEI - Skyrim Enhanced Inventory
Cela peut se faire, ce n'est l'affaire que de quelques variables et d'un menu... mais pour l'instant, je me focalise sur la chasse aux bugs des fonctionnements de base du mod avant d'ajouter des options.
Re: [EN TEST] SEI - Skyrim Enhanced Inventory
Je jetterai un oeil aux possibilités en terme de POO pour Papyrus, j'avoue ne pas avoir regarder plus loin que le wiki officiel. Cependant, je trouve cela étrange que ce fonctionnement ne soit pas applicable alors qu'il s'agit du fonctionnement de base du jeu.
Re: [EN TEST] SEI - Skyrim Enhanced Inventory
Le principal soucis du Papyrus est la communication entre scripts. Il n'est clairement pas conçu pour tourner là-dessus. Ceci est donc utilisé que dans certains cas et en évitant le les multiples instances dans ce cas.
Explication :
Externaliser une fonction dans un autre script revient à devoir interroger une variable globale ou une propriété pour avoir le résultat.
Si deux instances d'une fonction touchant à une propriété devant être lue tournent en même temps, tu ne peux savoir de quelle instance provient le résultat que tu vas lire dans la propriété. Il faut donc, lancer une instance, lire le résultat, lancer la 2ème instance et lire le résultat et ainsi de suite. Donc, en faisant ça, on part à l'inverse de ce que permet le papryrus, à savoir le multithreading.
Avoir la même fonction dans un script ET L'APPELER UNIQUEMENT DE CE SCRIPT permet d'en avoir plusieurs instances qui tournent car on accède au résultat de l'instance lancée. Le multithreading est de nouveau roi.
Une propriété ne peut avoir deux valeurs différentes à un moment donné alors qu'une variable locale peut avoir une valeur différente dans chaque instance.
Ensuite, cela dépend des fonctions, mais, pour celles que j'utilise, il vaut mieux procéder comme je fais actuellement.
Explication :
Externaliser une fonction dans un autre script revient à devoir interroger une variable globale ou une propriété pour avoir le résultat.
Si deux instances d'une fonction touchant à une propriété devant être lue tournent en même temps, tu ne peux savoir de quelle instance provient le résultat que tu vas lire dans la propriété. Il faut donc, lancer une instance, lire le résultat, lancer la 2ème instance et lire le résultat et ainsi de suite. Donc, en faisant ça, on part à l'inverse de ce que permet le papryrus, à savoir le multithreading.
Avoir la même fonction dans un script ET L'APPELER UNIQUEMENT DE CE SCRIPT permet d'en avoir plusieurs instances qui tournent car on accède au résultat de l'instance lancée. Le multithreading est de nouveau roi.
Une propriété ne peut avoir deux valeurs différentes à un moment donné alors qu'une variable locale peut avoir une valeur différente dans chaque instance.
Ensuite, cela dépend des fonctions, mais, pour celles que j'utilise, il vaut mieux procéder comme je fais actuellement.
Re: [EN TEST] SEI - Skyrim Enhanced Inventory
C'est justement un problème pour l’agrégation/composition, mais pas pour l'héritage vu que tu n'as qu'un seul script, qui profite des fonctions du script parent. Enfin je vais pas partir en gros hors-sujet ici, ce n'est pas le but du topicGerauld a écrit :Le principal soucis du Papyrus est la communication entre scripts.


Re: [EN TEST] SEI - Skyrim Enhanced Inventory
Le soucis de communication découle des soucis de nombre de propriétés et de modes de fonctionnements différents à inclure dans un seul script. Je préfère avoir plusieurs scripts simples se ressemblant mais avec leur spécificités (faisant chacun de quelques centaines à un millier de lignes environ (avec les propriétés)) qu'une usine à gaz avec plusieurs milliers de propriétés s'étendant sur 3000-4000 lignes...
Pour les raisons citées au-dessus, il ne me serait pas possible d'externaliser de manière facilement exploitable certaines fonctions car je fais principalement appel à 4 events qui ont tendance à déclencher assez souvent à intervalles tellement rapprochés que l'on peut considérer les bouts de scripts associés comme se déroulant en même temps... S'il viennent à appeler une fonction externe en même temps pour ensuite lire le résultat dans une propriété, ça va pas être bon du tout.
Il n'est pas rare d'avoir un event onobjectunequipped en même temps qu'un onitemremoved quand on balance l'arme équipée...
L'autre solution consisterait à utiliser directement le retour de valeur de fonction, et d'utiliser le multithreading sans soucis...
armor function(form akbaseitem)
if akbaseitem == tartenpion
return monarmure
endif
endfunction
Cependant, je ne me vois pas reprendre les milliers de lignes déjà faites pour ne rien gagner que ce soit en performances ou en efficacité... Car, le gros problème est le nombre de propriétés. Il faut en rentrer un paquet à la main pour SEI...
Qui dit tout regrouper, dit se retaper TOUTES les propriétés (une partie sont automatiques mais il en reste au moins un millier à faire à la main)
Pour les raisons citées au-dessus, il ne me serait pas possible d'externaliser de manière facilement exploitable certaines fonctions car je fais principalement appel à 4 events qui ont tendance à déclencher assez souvent à intervalles tellement rapprochés que l'on peut considérer les bouts de scripts associés comme se déroulant en même temps... S'il viennent à appeler une fonction externe en même temps pour ensuite lire le résultat dans une propriété, ça va pas être bon du tout.
Il n'est pas rare d'avoir un event onobjectunequipped en même temps qu'un onitemremoved quand on balance l'arme équipée...
L'autre solution consisterait à utiliser directement le retour de valeur de fonction, et d'utiliser le multithreading sans soucis...
armor function(form akbaseitem)
if akbaseitem == tartenpion
return monarmure
endif
endfunction
Cependant, je ne me vois pas reprendre les milliers de lignes déjà faites pour ne rien gagner que ce soit en performances ou en efficacité... Car, le gros problème est le nombre de propriétés. Il faut en rentrer un paquet à la main pour SEI...
Qui dit tout regrouper, dit se retaper TOUTES les propriétés (une partie sont automatiques mais il en reste au moins un millier à faire à la main)
Re: [EN TEST] SEI - Skyrim Enhanced Inventory
Je ne te dis pas comment faire ton "travail", rassures-toi ! Je sais que tu es un scripteur très compétent (largement plus que moi) et que tu sais parfaitement de quoi tu parlesGerauld a écrit :Cependant, je ne me vois pas reprendre les milliers de lignes déjà faites pour ne rien gagner que ce soit en performances ou en efficacité... Car, le gros problème est le nombre de propriétés. Il faut en rentrer un paquet à la main pour SEI...
Qui dit tout regrouper, dit se retaper TOUTES les propriétés (une partie sont automatiques mais il en reste au moins un millier à faire à la main)

*va se cacher pour pas se faire arracher la tête par le nounours*
Re: [EN TEST] SEI - Skyrim Enhanced Inventory
Tiens, je viens de finir les armes à deux mains. Deux armes à deux mains en travers dans le dos, c'est maintenant possible.
Les emplacements (donc le script) sont partagés avec les bâtons. L'emplacement secondaire est toujours le même que les épées et haches (en travers du dos à gauche).
Donc, capacité d'emport du mod (gestion et affichage des armes activés) :
- à la ceinture :
- une épée
- deux dagues
- une hache
- une masse
- une ceinture avec sacoche ou poches
-dans le dos :
- une arme à deux mains ou un bâton
- une arme à deux mains ou un bâton ou une hache ou une épée
- un carquois
- un sac à dos
- un sac de couchage (dans le dos ou accroché au sac à dos)
- une torche accrochée au sac à dos
- une hache sur le sac à dos
- une masse sur le sac à dos
- un arc
- une arbalète
- un bouclier (sir sur le dos, soit sur le sac)
- sur le torse :
- sac et sacoches en bandoulière
- dans les mains :
- un deuxième boulier ou le coffre transportable ou le rangement pour armes...
- sur le cheval :
- un sac à dos sur lequel on peut accrocher une torche et un sac de couchage
- un rangement pour armes
- une pioche accrochée sur le rangement pour armes
- une hache de bûcheron accrochée sur le sac à dos
- un bouclier à l'arrière du cheval
- une armure ou une selle pour le cheval
Une fois le dernier script (armes à deux mains et bâtons) complètement débuggé, je passerai aux haches qui vont aussi avoir un peu de changement... Il y aura toujours la possibilité de transporter 3 haches avec le sac à dos mais le fonctionnement sera légèrement différent.
Les bugs des armes représentant une bonne partie des reports de la dernière verson, l'effort actuel se porte dessus.
Les outils de SEC ne seront pas compatibilisés dans le décompte des armes et ne seront pas affichés s'ils ne sont pas équipés. Un choix volontaire pour ne pas trop brider le joueur qui voudrait profiter des deux mods.
Les emplacements (donc le script) sont partagés avec les bâtons. L'emplacement secondaire est toujours le même que les épées et haches (en travers du dos à gauche).
Donc, capacité d'emport du mod (gestion et affichage des armes activés) :
- à la ceinture :
- une épée
- deux dagues
- une hache
- une masse
- une ceinture avec sacoche ou poches
-dans le dos :
- une arme à deux mains ou un bâton
- une arme à deux mains ou un bâton ou une hache ou une épée
- un carquois
- un sac à dos
- un sac de couchage (dans le dos ou accroché au sac à dos)
- une torche accrochée au sac à dos
- une hache sur le sac à dos
- une masse sur le sac à dos
- un arc
- une arbalète
- un bouclier (sir sur le dos, soit sur le sac)
- sur le torse :
- sac et sacoches en bandoulière
- dans les mains :
- un deuxième boulier ou le coffre transportable ou le rangement pour armes...
- sur le cheval :
- un sac à dos sur lequel on peut accrocher une torche et un sac de couchage
- un rangement pour armes
- une pioche accrochée sur le rangement pour armes
- une hache de bûcheron accrochée sur le sac à dos
- un bouclier à l'arrière du cheval
- une armure ou une selle pour le cheval
Une fois le dernier script (armes à deux mains et bâtons) complètement débuggé, je passerai aux haches qui vont aussi avoir un peu de changement... Il y aura toujours la possibilité de transporter 3 haches avec le sac à dos mais le fonctionnement sera légèrement différent.
Les bugs des armes représentant une bonne partie des reports de la dernière verson, l'effort actuel se porte dessus.
Les outils de SEC ne seront pas compatibilisés dans le décompte des armes et ne seront pas affichés s'ils ne sont pas équipés. Un choix volontaire pour ne pas trop brider le joueur qui voudrait profiter des deux mods.
- sagittarius22
- Moddeur émérite | Traducteur chevronné
- Messages : 2948
Re: [EN TEST] SEI - Skyrim Enhanced Inventory
Prévois-tu une compatibilité avec XP32 Maximum Skeleton?
Re: [EN TEST] SEI - Skyrim Enhanced Inventory
Avant, non. Maintenant que tu le dis, oui.
En plus, ce ne sera ni long, ni compliqué à faire.
Merci Sagi.
EDIT : Il me reste à tester en jeu le mod avant de faire l'envoi de la nouvelle version.
Certains scripts d'armes ont été revus afin de corriger les bugs et permettre le déplacement automatique pour libérer en priorité les emplacements secondaires partagés.
Les carquois ont été entièrement revus aussi.
Les impériaux de l'introduction du jeu ont maintenant des carquois.
La gestion du bois a été retirée.
SEI a été recalibré pour tourner avec SEC, qui ajoutera la gestion de la soif et de la faim avec un système proche de celui de la fatigue de SEI. Ces ajouts se font dans SEC car ce mod permet de cuisiner un peu partout et de remplir ses bouteilles (ainsi que les ajouts aux leveled lists de manière propre).
Le support du cheval de Dawnguard sera ajouté das un esp à part qui sera dépendant du DLC.
EDIT : Changement d'avis : les gestions de la soif et de la faim sont intégrés dans ce mod avec la fatigue. Il est possible de configurer/démarrer/stopper chaque gestion indépendamment. Des nouveaux meshes sont ajoutés pour les bouteilles d'eau afin que ça colle avec mon mod rendant les bouteilles de vin transparentes. Des meshes et des recettes supplémentaires sont ajoutés du côté de SEC (dans lequel on dépèce les animaux pour récupérer la fourrure, de la viande et des os pour ceux qui aiment la chasse et on abat des arbres pour le plaisir...).
Les animations de Meilleure Immersion ont été reprises (peuvent être désactivées par le menu).
J'enverrai prochainement une version de test à Agraham pour quil fasse les pré-réglages de la partie soif et faim avant l'envoi vers les autres testeurs.
Cette version de test sera celle de la version actuelle de SE : SEI (dernière BETA avant mise en ligne) + SEC (sans l'implantation des boutiques et ateliers pour l'instant) + la MAJ de SEU qui sera bientôt mise en ligne.
Il ne manquera plus qu'à finaliser le petit mod reprenant les fonctions de Meilleure Immersion non reprises par ces mods et 2/3 autres (dégats par les feux, réglage des régénérations, désactiver/régler la fréquence des attaques de vampires de Dawnguard...) et on aura la V2 de Meilleure Immersion.
Il restera ensuite à peaufiner les liens entre mods quand ils sont activés en même temps (c'est déjà bon pour SEC et SEU, reste à apprendre à SEI que les deux autres mods existent...)
Le tout sera mis en une seule archive pour le test, donc ça risque d'être assez loud... Une fois cette version assez stable, elle atterrira violemment sur le Nexus pour ceux qui veulent tester.

En plus, ce ne sera ni long, ni compliqué à faire.
Merci Sagi.

EDIT : Il me reste à tester en jeu le mod avant de faire l'envoi de la nouvelle version.
Certains scripts d'armes ont été revus afin de corriger les bugs et permettre le déplacement automatique pour libérer en priorité les emplacements secondaires partagés.
Les carquois ont été entièrement revus aussi.
Les impériaux de l'introduction du jeu ont maintenant des carquois.
La gestion du bois a été retirée.
SEI a été recalibré pour tourner avec SEC, qui ajoutera la gestion de la soif et de la faim avec un système proche de celui de la fatigue de SEI. Ces ajouts se font dans SEC car ce mod permet de cuisiner un peu partout et de remplir ses bouteilles (ainsi que les ajouts aux leveled lists de manière propre).
Le support du cheval de Dawnguard sera ajouté das un esp à part qui sera dépendant du DLC.
EDIT : Changement d'avis : les gestions de la soif et de la faim sont intégrés dans ce mod avec la fatigue. Il est possible de configurer/démarrer/stopper chaque gestion indépendamment. Des nouveaux meshes sont ajoutés pour les bouteilles d'eau afin que ça colle avec mon mod rendant les bouteilles de vin transparentes. Des meshes et des recettes supplémentaires sont ajoutés du côté de SEC (dans lequel on dépèce les animaux pour récupérer la fourrure, de la viande et des os pour ceux qui aiment la chasse et on abat des arbres pour le plaisir...).
Les animations de Meilleure Immersion ont été reprises (peuvent être désactivées par le menu).
J'enverrai prochainement une version de test à Agraham pour quil fasse les pré-réglages de la partie soif et faim avant l'envoi vers les autres testeurs.
Cette version de test sera celle de la version actuelle de SE : SEI (dernière BETA avant mise en ligne) + SEC (sans l'implantation des boutiques et ateliers pour l'instant) + la MAJ de SEU qui sera bientôt mise en ligne.
Il ne manquera plus qu'à finaliser le petit mod reprenant les fonctions de Meilleure Immersion non reprises par ces mods et 2/3 autres (dégats par les feux, réglage des régénérations, désactiver/régler la fréquence des attaques de vampires de Dawnguard...) et on aura la V2 de Meilleure Immersion.
Il restera ensuite à peaufiner les liens entre mods quand ils sont activés en même temps (c'est déjà bon pour SEC et SEU, reste à apprendre à SEI que les deux autres mods existent...)
Le tout sera mis en une seule archive pour le test, donc ça risque d'être assez loud... Une fois cette version assez stable, elle atterrira violemment sur le Nexus pour ceux qui veulent tester.