Page 1 sur 1

Attacher des Arts Objects par un script

Posté : 04 août 2014, 21:53
par zaarok
Bonjour la confrérie.

Je me posais une question concernant les scripts. En fait je regarde le mod Animated Dragon Wings qui permet de manière astucieuse à ne pas avoir à gérer les Body Slots pour attacher les ailes.

Pour cela, il passe par des Magics Effects, qui attachent un Art Object au moment du déclenchement du sort à la catégorie Hit Effect Art.

La question que je me posais, était de savoir s'il était possible d'attacher l'Art Object en tant qu'Hit Effect Art mais non pas par le biais de l'interface du CK mais par le script. J'imagine qu'il faille créer des variables qui en propriétés du script permettraient d'identifier mes Arts Objects. Mais quelles sont les fonctions permettant de modifier le magic effet. Ou alors il y a t'il une solution alternative ?

Car cela ne m'arrange pas par rapport à une solution qui me permettrait de choisir par le biais de mon MCM mon Art Object.
Je ne souhaites pas multiplier des sorts, pour éviter les conflits

En vous remerciant, j'espère que c'est pas trop brouillon et à peu près clair.

Re: Gestion des Arts Objects

Posté : 06 août 2014, 17:51
par zaarok
Bon autre question, j'ai trouvé des fonctions SKSE pour manipuler ce que je cherche HitEffectArt

Mais un objet ArtObject se déclare comment, et surtout comment est il identifié dans le CK ou dans Papyrus

Re: Gestion des Arts Objects

Posté : 12 août 2014, 18:47
par zaarok
Bon ba j'ai eu ma solution pas ici malheureusement donc je partagerai celle-ci.
Cela permettra aux intéressés de pouvoir manipuler des ArtObjects déclarés au sein du CK

Re: Gestion des Arts Objects

Posté : 13 août 2014, 19:52
par zaarok
Alors la réponse
  • D'abord vous créez vos Art Objects dans le CK et vous repérez le Form ID de celui-ci. Les deux premiers chiffres correspondant si je dis pas de bêtises au load order, vous remplacez par "0x"
  • Ensuite le principe est donc pour pouvoir les utiliser de les importer au sein du script par la commande Game.GetFormFromFile. Et pour ensuite les manipuler les caster en tant que "Art"

Code : Tout sélectionner

Art votreArtObject = Game.GetFormFromFile(0x########, "Tonmod.esp") as Art
Dans mon cas par exemple j'ai déclaré un objet Art[] car j'avais besoin d'un ensemble.

Code : Tout sélectionner

Art[] Property _AMonTableaudArts Auto hidden

_AMonTableaudArts= new Art[4]
_AMonTableaudArts[0]=Game.GetFormFromFile(0x########, "Tonmod.esp") as Art
_AMonTableaudArts[1]=Game.GetFormFromFile(0x########, "Tonmod.esp") as Art
_AMonTableaudArts[2]=Game.GetFormFromFile(0x########, "Tonmod.esp") as Art
_AMonTableaudArts[3]=Game.GetFormFromFile(0x########, "Tonmod.esp") as Art
Et voilà à partir de là j'ai pu appliquer mes fonctions dont la fameuse sur :

Code : Tout sélectionner

MonMagicEffect.setHitEffectArt(_AMonTableaudArts[#])