Faire apparaître ou disparaître un PNJ

C'est ici que vous pouvez poser vos questions techniques.
daan
Moddeur aspirant
Moddeur aspirant
Messages : 171

Re: Faire apparaitre ou disparaitre un PNJ (NPC)

Message par daan »

Bonjour ,

je n’arrive toujours pas a faire apparaitre le PNJ, ce que j’ai fais :
J’ai placé un Xmarker dans la cell,
J’ai créé un Alias qui pointe vers ce Xmarker (Alias_MonXmarker),
J’ai créer un alias qui pointe vers mon actor : Alias_MonActor ("create reference to object" + Mon Actor + "At" et « Alias_MonXmarker » )
Si j’ai bien compris a l’appel/création de mon Alias_MonActor ce dernier placera un exemplaire de mon actor sur le Xmarker.
Est-ce bien ca ?

Apres ca j’ai fais differents essais dans le endfragment du stage de ma quete dans le but de faire apparaitre/activer cet alias (Alias_MonActor) :
Alias_MonActor.enable() => erreur compilation
Alias_MonActor.getref().enable() => sans resultat in game

De toute évidence il y a un truc que je n’arrive pas a comprendre avec ces Alias .
L’un de vous pourrait il m’expliquer comment faire pour faire appel /activer cet alias ?
D’avance merci pour votre aide,
Daan
Parce qu'on a pas commencer avec Skyrim ;
faites donc un tour a cette adresse pour vous rappelez votre jeunesse:
http://www.abandonware-france.org
avec par exemple:
http://www.abandonware-france.org/ltf_a ... php?id=332
daan
Moddeur aspirant
Moddeur aspirant
Messages : 171

Re: Faire apparaitre ou disparaitre un PNJ (NPC)

Message par daan »

bonjour,

étant toujours à la recherche d'une solution à ce problème je me permet un petit UP.
:up: :up2:

merci d'avance ,
Daan
Parce qu'on a pas commencer avec Skyrim ;
faites donc un tour a cette adresse pour vous rappelez votre jeunesse:
http://www.abandonware-france.org
avec par exemple:
http://www.abandonware-france.org/ltf_a ... php?id=332
Avatar du membre
ced909
Confrère
Messages : 151

Re: Faire apparaitre ou disparaitre un PNJ (NPC)

Message par ced909 »

daan a écrit :je n’arrive toujours pas a faire apparaitre le PNJ, ce que j’ai fais :
J’ai placé un Xmarker dans la cell,
J’ai créé un Alias qui pointe vers ce Xmarker (Alias_MonXmarker),
J’ai créer un alias qui pointe vers mon actor : Alias_MonActor ("create reference to object" + Mon Actor + "At" et « Alias_MonXmarker » )
Si j’ai bien compris a l’appel/création de mon Alias_MonActor ce dernier placera un exemplaire de mon actor sur le Xmarker.
Est-ce bien ca ?
Oui Oui Oui oui oui et oui
Un Alias fait appel à un objet du jeu et aura pour but de s'en servir.
Un Alias n'est actif et valide que si la Quest la possèdant est ACTIVE.
- soit tu créé une référence sur un objet quelconque (de ton objet Window)
- soit tu vas directement prendre la référence existante de l'objet SI elle exite (c'est à dire si elle est posé et donc reférencée dans une Cell)
daan a écrit : Apres ca j’ai fais differents essais dans le endfragment du stage de ma quete dans le but de faire apparaitre/activer cet alias (Alias_MonActor) :
Alias_MonActor.enable() => erreur compilation
Alias_MonActor.getref().enable() => sans resultat in game
Bah oui, depuis le temps que tu scriptes, là je vois que tu fais de belles fautes !!!
Tout d'abord, le mieux avant de compiler ton fragment Script, est d'y créer une Property, tu en ajoutes une :
Type "ReferenceAlias" / Quest : "IDtaQuest" / Alias "Alias_MonActor" (tu fais Auto-fill)
Tu sauvegardes le script (n'oublie pas que tu peux le renommer, c'est mieux que "TIF_DecuveMachin...") :D

Maintenant dans ton fragment Script :

Code : Tout sélectionner

Alias_MonActor.GetActorReference().enable() 
OU

Code : Tout sélectionner

Alias_MonActor.(GetReference() As Actor).enable()
(c'est la même chose)
Compile, pas d'erreur, ça marche ?
OUI!!! :D

Normalement ça marche avec ça.
Là tu parles de le faire Enable(), donc je suppose qu'à la base ton ActorAlias est Disabled ? le flag est coché dans sa fenêtre d'Alias ?
daan
Moddeur aspirant
Moddeur aspirant
Messages : 171

Re: Faire apparaitre ou disparaitre un PNJ (NPC)

Message par daan »

Bonjour,

D'abord grand merci a toi , ça marche impec , comme habitude ! :biere:
Bah oui, depuis le temps que tu scriptes, là je vois que tu fais de belles fautes !!!
je dois bien admettre que l'utilisation des alias (via script) reste très vague pour moi. :boulet:
j'aime a croire que je m'en sort mieux pour les scripts plus "classique".
Après , quand je ne sais pas je demande , il y a notamment une personne sur un certain forum qui tente désespérément de m'inculquer les bases . ;) :D :mdr:

1)pour mon éducation personnelle :

Code : Tout sélectionner

Alias_MonActor.GetActorReference().enable() 
si j'ai bien compris , avec cette ligne , je demande d'activer l'acteur contenus dans l'alias. est ce bien ça ?
doit on toujours préciser que l'on veux travailler sur la référence contenu dans l'alias ?

2)
Là tu parles de le faire Enable(), donc je suppose qu'à la base ton ActorAlias est Disabled ? le flag est coché dans sa fenêtre d'Alias ?
oui, "Allow disabled" est bien cocher

3) il me vient encore une petite question , comment faites vous quand l'acteur est sensé être mort ? avec cette méthode je ne risque pas de trouver le corps dans une drôle de position (aléa du moteur du jeu) ?

d'avance merci pour ton/votre aide.
Daan
Parce qu'on a pas commencer avec Skyrim ;
faites donc un tour a cette adresse pour vous rappelez votre jeunesse:
http://www.abandonware-france.org
avec par exemple:
http://www.abandonware-france.org/ltf_a ... php?id=332
Avatar du membre
ced909
Confrère
Messages : 151

Re: Faire apparaitre ou disparaitre un PNJ (NPC)

Message par ced909 »

Salut,

Content d'avoir pu aider et que le tout marche. :)
T'inquiête pas, si j'aide c'est que ça ne me gène pas.
Puis moi aussi, je ne saisissais pas bien l'utilisation des Alias, il y a quelque mois. Là je bosse sur 2 mods qui en utilisent et j'ai appris ptit à ptit... donc pour toi ça va venir ptit à ptit aussi, les Alias c'est pas si compliqué mais les comprendre pour un bonne utilisation demande du temps.

Sinon :
1/ pour "Alias_MonActor.GetActorReference().enable()"
Le soucis c'est qu'il faut obligatoirement préciser lorsque tu fais appelle à un Alias, le GetReference() si c'est un objet spécifique afin d'obtenir sa référence - c'est primordial surtout si tu souhaites qu'il fasse appel à des fonctions pour les ObjectReference comme Enable().
Ici c'est un actor donc :
Alias_MonActor.(GetReference() As Actor).enable()
ou Alias_MonActor.GetActorReference().enable()

2/ ok jmen doutais ;)

3/ Si l'acteur de l'Alias est mort, pas de soucis. Tout marche impecc' aucun bug du moteur du jeu.
En ce moment je suis en plein dedans les Alias & Quest, donc je peux t'assurer qu'il n'ya pas de pb ;)
daan
Moddeur aspirant
Moddeur aspirant
Messages : 171

Re: Faire apparaitre ou disparaitre un PNJ (NPC)

Message par daan »

Bonjour

Me revoilà :bye: :
si l'acteur de l'Alias est mort, pas de soucis. Tout marche impecc' aucun bug du moteur du jeu.
Je ne pensais pas à un bug du jeu mais plutôt à une position « bizarre » du personnage :
J’ai pu remarquer que si je plaçais un PNJ , que j’allais dans ses propriétés et que je cochais la case « starts dead » ce dernier s’écroulait au sol . Jusque la tous vas bien. le truc c’est que quand il tombe au sol il arrive qu’il prenne une position étrange (les fesses en l’aire par exemple.) :mdr:
Pour corriger cela j’ai l’habitude de sélectionner le PNJ, de le déplacer sur l’axe Z et de le relâcher : en tombant il prend une nouvelle position.
Je reproduis l’opération jusqu'à obtenir une position « plausible ».
C’est donc pour m’assurer que le PNJ ne prendra pas une position « fesse en l’aire » que je posais la question.

J’ai encore une autre question :siffle: :
Que ce passe t il avec les PNJs placés de cette façon à la fin de la quête ? (dans le cas ou ils ne sont pas supprimés .)
Je sais que l’alias n’est actif que le temps de la quête donc …. ? (ils disparaissent ?)

D’avance merci pour ton/votre aide.
Daan.
Parce qu'on a pas commencer avec Skyrim ;
faites donc un tour a cette adresse pour vous rappelez votre jeunesse:
http://www.abandonware-france.org
avec par exemple:
http://www.abandonware-france.org/ltf_a ... php?id=332
Avatar du membre
sagittarius22
Moddeur émérite | Traducteur chevronné
Moddeur émérite | Traducteur chevronné
Messages : 2948

Re: Faire apparaitre ou disparaitre un PNJ (NPC)

Message par sagittarius22 »

Attention avec PlaceAtMe, je ne sais pas si ça a été dit, mais le PNJ sera stocké dans la sauvegarde s'il n'est pas Disable() et Delete() ;)
Moddeur, Testeur et Traducteur
daan
Moddeur aspirant
Moddeur aspirant
Messages : 171

Re: Faire apparaitre ou disparaitre un PNJ (NPC)

Message par daan »

re-bonjour,
Attention avec PlaceAtMe, je ne sais pas si ça a été dit, mais le PNJ sera stocké dans la sauvegarde s'il n'est pas Disable() et Delete()
je m'oriente plutôt vers la solution avec l'alias.
du coup devrai pas y avoir de problèmes mais merci pour le rappel.

Daan
Parce qu'on a pas commencer avec Skyrim ;
faites donc un tour a cette adresse pour vous rappelez votre jeunesse:
http://www.abandonware-france.org
avec par exemple:
http://www.abandonware-france.org/ltf_a ... php?id=332
Avatar du membre
ced909
Confrère
Messages : 151

Re: Faire apparaitre ou disparaitre un PNJ (NPC)

Message par ced909 »

daan a écrit :J’ai encore une autre question :siffle: :
Que ce passe t il avec les PNJs placés de cette façon à la fin de la quête ? (dans le cas ou ils ne sont pas supprimés .)
Je sais que l’alias n’est actif que le temps de la quête donc …. ? (ils disparaissent ?)
A la fin de la quête, il restera mort si il a été tué, ou errant avec son propre Package IA d'actor si il en a un.
L'alias ne lui fait plus jouer de role puisque la quête est terminée.

Sinon oui Sagi a raison, peu de moddeur ignore que le PlaceAtMe stocke dans la sauvegarde un actor tant qu'il n'est pas Delete()... et donc l'abus de PlaceAtMe sans aucun Delete() est mauvais et gonfle inutilement la save.

Dans mon cas, je me sers d'Alias pour créer un Ref sur un Actor ennemi (aléatoire), une fois que la quête est terminée je supprime cette Ref (cet Actor) par un Delete() - Pourquoi ? parceque je compte redémarrer cette quête sur demande du joueur et donc de recommencer le topo avec une nouvelle Référence dans mon Alias... ;)

PS : sinon je le redis, je n'ai jamais eu recours à un Disable() avant un Delete().
Lorsqu'une Ref est effacée par Delete(), elle n'est plus visible et considérée éffacée in-game.
daan
Moddeur aspirant
Moddeur aspirant
Messages : 171

Re: Faire apparaitre ou disparaitre un PNJ (NPC)

Message par daan »

Il me viens encore une question , décidément ca n’arrete plus !

Le PNJ que je souhaite placer IG est celui qui lancera la quête.
En gros je souhaiterais qu’à l’activation du mod mon PNJ soit présent dans la cell puis qu’après un dialogue avec lui ma quête commence.
Puis je Utiliser le « Alias_MonActor.GetActorReference().enable() » dans le stage 0 de ma quête pour obtenir ce résultat ?
Ou l’alias ne pourra t il mettre en place sa ref qu’après lancement de la quête ?

Merci pour toutes vos réponses et votre patience.
Daan.
Parce qu'on a pas commencer avec Skyrim ;
faites donc un tour a cette adresse pour vous rappelez votre jeunesse:
http://www.abandonware-france.org
avec par exemple:
http://www.abandonware-france.org/ltf_a ... php?id=332
Répondre

Retourner vers « Entraide sur le Creation Kit »