Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Encore deux petites questions...
Encore deux petites questions...
Par Cassin le 10/9/2002 à 17:49:25 (#2133125)
- le joueur assiste à un speech, et à la fin je veux que la foule se disperse et rejoigne chacun son waypoint perso. Tonton m'avait suggéré de passer par le script EndConversation.
Le hic, c'est que je ne vois pas comment récupérer le tag de chaque PNJ... Quelqu'un aurait-il un exemple ?
- le joueur rencontre un esprit dans un temple. J'aimerais lui donner un effet un peu flou (comme le sort du même nom de BG), mais je ne vois pas comment faire... De même j'aimerais le faire apparaître, mais d'une manière un peu plus stylée que l'apparition par fondu (style Windows :D) d'un encounter. Des idées ? :doute:
Re: Encore deux petites questions...
Par Tyn' le 10/9/2002 à 17:56:55 (#2133186)
Provient du message de Cassin
S'il s'agit de tous les PNJs de la zone, essaye avec GetFirstObjectInArea puis une série de tests pour vérifier que c'est bien un PNJ (facile à faire si les tags de tes pnjs sont tous des PNJ_ ou quelque chose du genre).
- le joueur assiste à un speech, et à la fin je veux que la foule se disperse et rejoigne chacun son waypoint perso. Tonton m'avait suggéré de passer par le script EndConversation.
Le hic, c'est que je ne vois pas comment récupérer le tag de chaque PNJ... Quelqu'un aurait-il un exemple ?
- le joueur rencontre un esprit dans un temple. J'aimerais lui donner un effet un peu flou (comme le sort du même nom de BG), mais je ne vois pas comment faire... De même j'aimerais le faire apparaître, mais d'une manière un peu plus stylée que l'apparition par fondu (style Windows :D) d'un encounter. Des idées ? :doute:
J'ai pas souvenir d'un effet de flou... Cherche avec le testeur d'effet, mais j'y crois pas trop.
Par Cassin le 10/9/2002 à 20:44:23 (#2134372)
> GetFirstObjectInArea puis une série de tests pour vérifier que
> c'est bien un PNJ (facile à faire si les tags de tes pnjs sont tous
> des PNJ_ ou quelque chose du genre).
Justement non, les tags sont divisés selon des catégories de PNJ (en gros, les guerriers, les mages et les professeurs), et mes waypoints sont en fonction de chaque groupe. Par exemple je ne voudrais pas qu'un PNJ mage aille s'asseoir au milieu des guerriers, ou qu'un professeur se mette dans le rang des élèves ! ;)
> J'ai pas souvenir d'un effet de flou... Cherche avec le testeur
> d'effet, mais j'y crois pas trop.
Moi non plus je ne crois pas avoir vu un sort "flou", c'est ça qui m'inquiète...
Sinon, heu... késako le testeur d'effet ? :D
Autre chose, j'ai un sript qui est sensé faire asseoir un PNJ qui l'a dans son OnSpawn :void main()
{
AssignCommand(OBJECT_SELF,ActionRest());
}
mais les PNJ restent debout ! Why ???
Par Tyn' le 10/9/2002 à 22:25:46 (#2135036)
> (en gros, les guerriers, les mages et les professeurs), et mes
> waypoints sont en fonction de chaque groupe. Par exemple je ne
> voudrais pas qu'un PNJ mage aille s'asseoir au milieu des
> guerriers, ou qu'un professeur se mette dans le rang des
élèves ! ;)
Et bien tu fais un test conditionnel avec GetFirstObjectInArea, testant si le tag commence par G_, M_ ou je sais pas comment tu as fait tes tags :p
> Moi non plus je ne crois pas avoir vu un sort "flou", c'est ça qui m'inquiète...
> Sinon, heu... késako le testeur d'effet ? :D
Un module avec des leviers qui fait défiler les effets les uns après les autres. Trouvable sur ce forum d'ailleurs :)
> mais les PNJ restent debout ! Why ???
Because NWN gère mal les constantes.void main()
Ca devrait aller mieux :)
{
object oSelf = OBJECT_SELF;
AssignCommand(oSelf,ActionRest());
}
Par Kemay le 11/9/2002 à 0:57:36 (#2135785)
Provient du message de Cassin
Je ne sais pas si la méthode de Tyn' marche, mais il me semble que seuls les PC ont accès à ActionRest(). En fait tu ne souhaites pas que le NPC se repose mais qu'il joue l'animation ANIMATION_LOOPING_SIT_CROSS:
Autre chose, j'ai un sript qui est sensé faire asseoir un PNJ qui l'a dans son OnSpawn :void main()
mais les PNJ restent debout ! Why ???
{
AssignCommand(OBJECT_SELF,ActionRest());
}void main()
Tu dois emplacer fDuration par la durée en secondes pendant laquelle le NPC reste assis (ça ne peut pas être fait de manière vraiment permanente). Par exemple 3600.0 pour qu'il reste assis une heure.
{
ActionPlayAnimation(ANIMATION_LOOPING_SIT_CROSS,1.0,fDuration);
}
Par Cassin le 11/9/2002 à 8:15:56 (#2136546)
En plus ça doit être depuis le dernier patch que ça fait ça (1.24), car j'ai remarqué ça hier, mais ça marchait avant... :doute:
Par Kemay le 11/9/2002 à 8:22:29 (#2136555)
Provient du message de Cassin
Ca ne devrait pas poser de problème.
OK mais avec cette méthode, est-ce qu'il se lèvera quand même si le joueur l'attaque, ou s'il doit attaquer le joueur à vue (modification de la réput' de la faction) ?
Par The Foufoune Teaser le 13/9/2002 à 2:55:07 (#2148362)
JOL Archives 1.0.1
@ JOL / JeuxOnLine