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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Encore deux petites questions...

Par Cassin le 10/9/2002 à 17:49:25 (#2133125)

Voilà, mon module avance à grands pas vers la phase de beta testing et il me reste deux petits problèmes à régler...

- 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
- 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 ?
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 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)

> 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).

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)

> 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 ! ;)

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()
{
object oSelf = OBJECT_SELF;
AssignCommand(oSelf,ActionRest());
}
Ca devrait aller mieux :)

Par Kemay le 11/9/2002 à 0:57:36 (#2135785)

Provient du message de Cassin
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 ???
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:
void main()
{
ActionPlayAnimation(ANIMATION_LOOPING_SIT_CROSS,1.0,fDuration);
}
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.

Par Cassin le 11/9/2002 à 8:15:56 (#2136546)

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) ?

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
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) ?
Ca ne devrait pas poser de problème.

Par The Foufoune Teaser le 13/9/2002 à 2:55:07 (#2148362)

Je pense que Kemay a raison.

JOL Archives 1.0.1
@ JOL / JeuxOnLine