Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Faire lire un livre

Par Frolo Xeres le 2/11/2002 à 1:23:53 (#2459634)

Quelq'un sait-il s'il est possible de faire lire un livre a une créature ?
Enfin une anim ou on le voit avec le bouquin dans les mains...

Thanks !

Re: Faire lire un livre

Par Morethil le 2/11/2002 à 2:29:46 (#2459864)

Provient du message de Frolo Xeres
Quelq'un sait-il s'il est possible de faire lire un livre a une créature ?
Enfin une anim ou on le voit avec le bouquin dans les mains...

Thanks !


Il me semble que dans l'animation "lire" le PNJ (ou PJ) apparait avec un scroll dans la main. Donc ca doit etre pareil pour un monstre (a condition qu'il ais deux bras et une tête).

Pas de livre par contre, car le parchemin est en fait un element graphique de l'animation.

Maintenant il y a peut être des graphiste qui ont pondu ça dans un hakpack, mais là il faut chercher dans les sites comme NW vault.

Par miriandel le 2/11/2002 à 2:36:51 (#2459885)

AssignCommand(PNJ, ActionPlayAnimation(ANIMATION_FIREFORGET_READ));

Par Frolo Xeres le 2/11/2002 à 13:44:55 (#2461702)

Merci pour les conseils mais bon mon but s'était de faire style étudiant studieux dans une vieille bibliothèque poussiéreuse. Et là, j'arrive pas à lui faire garder son parchemin dans les mains !

-> Bon, va pour un parchemin à la place du livre
-> Bon, va pour le faire lire debout ( quand il est assis, l'anim ne marche pas )
-> Mais changer de parchemin toutes six secondes ! C'est plus un étudiant c'est un ordinateur...
-> J'ai essayé dans le onHeartBeat... (Oui je sais pas bien !)

-> Une idée à part mettre 'duration' : sur 1200.0f
Et même là vu que la zone est pas visitée après au moins 20 min de jeu...

->Y-t-il un moyen de recharger l'anim quand elle se termine...
Mais oui, je crois que j'ai trouvé, j'essai et je reviens !

Par Frolo Xeres le 2/11/2002 à 13:54:51 (#2461772)

Mon idée était pas si bonne que çà !
while( 1 ) {
assigncommand( ... );
}

Et si je rajoute un :
ActionWait( ... ); ?
-> De l'aide, S.V.P.

Par Jedaï le 2/11/2002 à 14:52:06 (#2462182)

NWN n'aime pas les boucles infinies et il n'existe aucune commande pour "mettre en pause" l'éxécution du script (ActionWait(n) ajoute l'action "attendre n secondes" à la file d'action du NPC, c'est tout), donc la solution classique est de créer un script qui va s'effectuer à intervalle régulier par le biais de DelayCommand() et ExecuteScript(), ici tu crée un script "lire" :


void main()
{
if (!(GetIsInCombat(OBJECT_SELF) || GetIsInConversation(OBJECT_SELF)))
{
ClearAllActions();
PlayAnimation(ANIMATION_FIREFORGET_READ);
}
//pour éviter la surcharge "n" est un float le plus proche possible
//de la durée de l'animation !
DelayCommand(n, ExecuteScript("lire", OBJECT_SELF));
}


et de l'ammorcer dans un autre script par :


object oLecteur = GetObjectByTag("LECTEUR");
ExecuteScript("lire", oLecteur);


Peut-être les paramêtres de ExecuteScript() ne sont ils pas dans le bon ordre mais bon...

Par Frolo Xeres le 2/11/2002 à 16:09:33 (#2462682)

Ok, merci mais pour les prochains lecteurs :
C'est : 'IsInConversation' pas 'GetIsInConversation' !

Bon je test !

Pas moyen

Par Frolo Xeres le 2/11/2002 à 16:25:43 (#2462782)

Bon, désolé mais comme le dis si bien le commantaire de la fonction :
ActionPlayAnimation : 'fduration' ne sert à rien dans un ANIMATION_FIREFORGET...

En clair, pas moyen de ralonger la lecture !

Ben va falloir que je me contante de bibliothecaires type FLASH Gordon !

M'enfin pour le bouclage de l'anim, merci !

JOL Archives 1.0.1
@ JOL / JeuxOnLine