Login : Password : Se souvenir de moi
 
Parcourir ce sujet :   1 Utilisateur(s) anonymes
(1) 2 3 »
Script pour faire asseoir un perso sur une chaise
Editeur Simple

08/11/2006 18:35
Post(s): 8
Hors Ligne
Voila mon probleme: J'ai rendu un tabouret utilisable, et ajouté le script qui convient (dans onUsed) pour que les pj ou pnj puissent s'asseoir dessus:



1)Pourtant quand je me connecte en tant que pj et que je clique sur mon tabouret pour m'y asseoir, il se passe quelques secondes puis mon personnage s'asseoit, mais à coté du tabouret (soit dans le vide). J'ai bien fait attention à utiliser le bon script, et j'ai beau chercher je ne comprend pas d'où vient ce problème...

2)Les pnj ne veulent pas s'asseoir du tout, malgré cette ligne de script ajouté dans le onSpawn (et bien sur le changement du tag de mon tabouret en CHAIR): ActionSit (GetNearestObjectByTag ("CHAIR", OBJECT_SELF));

Merci de m'aider car là je ne sais pas du tout pourquoi ca ne fonctionne pas...


Edit Modo pour rajout des balises de script "[NWN]"
Contribution du : 12/11/2006 14:24
Re: Script pour faire asseoir un perso sur une chaise
Editeur Simple

06/10/2006 14:35
Post(s): 284
Hors Ligne
essai d'enlever ça :


ça ne me semble pas très utile...


Edit Modo pour rajout des balises de script "[NWN]"
Contribution du : 12/11/2006 14:41
Re: Script pour faire asseoir un perso sur une chaise
Editeur Simple

08/11/2006 18:35
Post(s): 8
Hors Ligne
J'ai bien enlevé cette ligne dans mon script mais ca n'a malheureusement rien changé au probleme...
Contribution du : 12/11/2006 15:20
Re: Script pour faire asseoir un perso sur une chaise
Editeur Simple

24/01/2006 19:29
Post(s): 762
Hors Ligne
L'action sit fait assoir le perso à une certaine hauteur par défaut. Je ne connais pas la solution pour ton banc mais si tu essai avec une chaise ça devrait marcher.
Contribution du : 12/11/2006 20:01
Re: Script pour faire asseoir un perso sur une chaise
Editeur Simple

22/01/2006 19:12
Post(s): 263
Hors Ligne
nop c buggué...faut attendre le patch prochain normalement ca devrait etre corrigé
Contribution du : 12/11/2006 20:16
Re: Script pour faire asseoir un perso sur une chaise
Editeur Simple

08/11/2006 18:35
Post(s): 8
Hors Ligne
Oki merci pour vos réponses!
Contribution du : 13/11/2006 09:34
Re: Script pour faire asseoir un perso sur une chaise
Editeur Simple

08/06/2006 00:30
Post(s): 247
Hors Ligne
Apparemment c'est quand même possible :

le code du OnHeartBeat peut être déplacé là où il sera moins couteux
Contribution du : 20/11/2006 10:08
Re: Script pour faire asseoir un perso sur une chaise
Editeur Avancée

21/01/2006 07:52
Post(s): 103
Hors Ligne
Bonjour Suspiria, j'ai testé ce script sur un tabouret, une chaise et un banc, sans souci :


void main()
{
object oChair = OBJECT_SELF;
object oPC = GetLastUsedBy();

location lLoc = Location(GetArea(oChair),
GetPosition(oChair), GetFacing(oChair) + 180); // on fait en sorte que le dossier soit bien dans le dos

AssignCommand(oPC,JumpToLocation(lLoc));
PlayCustomAnimation(oPC,"sitidle",1);
}
En savoir plus sur la coloration syntaxique


Teste le, normalement cela devrait résoudre

Cordialement,

Duanra

Contribution du : 22/11/2006 07:13
Re: Script pour faire asseoir un perso sur une chaise
Editeur Simple

12/03/2006 21:25
Post(s): 610
Hors Ligne
J'ai un code à peu près identique dans le OnSpawn d'un de mes PNJ pour qu'il s'assied sur une chaise :


void main()
{
object oChair = GetNearestObjectByTag("CHAIR");
// on fait en sorte que le dossier de la chaise soit bien dans le dos
location lLoc = Location(GetArea(oChair), GetPosition(oChair), GetFacing(oChair) + 180);
AssignCommand(OBJECT_SELF, JumpToLocation(lLoc));
PlayCustomAnimation(OBJECT_SELF, "sitidle", 1);
}
En savoir plus sur la coloration syntaxique

Le fait est que mon PNJ ne s'assied pas lorsqu'il spawn, par contre j'utilise aussi ce script en redirection après l'avortement ou la fin de la conversation, et dès qu'on a discuté avec le PNJ celui-ci s'asseoit correctement.
Je me dis donc que le code est bon puisqu'il arrive à fonctionner, mais je me demande pourquoi dans ce cas il n'est pas capable de s'asseoir quand il spawn, vu que c'est exactement le même script...
Contribution du : 22/11/2006 16:21
Re: Script pour faire asseoir un perso sur une chaise
Editeur Avancée

21/01/2006 07:52
Post(s): 103
Hors Ligne
Bonjour Talwyn,

J'ai le même souci avec les pnjs dans la partie "spawn" du personnage.

J'ai été obligé de placer ce script  :


void main()

{
object oChair =GetNearestObjectByTag("chaise");
object oPC = OBJECT_SELF;

location lLoc = Location(GetArea(oChair),
  GetPosition(oChair), GetFacing(oChair) + 180);


AssignCommand(oPC,JumpToLocation(lLoc));


PlayCustomAnimation(oPC,"sitidle",1);

}
En savoir plus sur la coloration syntaxique


Dans la partie "Script récurrent" (ce qui revient à un On Heart beat toutes les  6 secondes). Là, ça fonctionne.

Autre solution :

1/ Tu définis un Tag spécifique pour ton pnj

2/ Dans le OnSpawn du Pnj, du mets ce script :



Tu le fais juste déplacer sur la chaise

3/ Et tu créé un déclencheur juste à l'entrée de la zone, avec le script suivant dans le "on enter" :


void main()

{

object oChair =GetNearestObjectByTag("chaise");
object oPC = GetNearestObjectByTag("TAG DE TON PNJ");

ClearAllActions();

PlayCustomAnimation(oPC,"sitidle",1);


}
En savoir plus sur la coloration syntaxique


Et là, ca passe (j'ai fait les tests). Le joueur ne devrais pas s'apercevoir que l'on fait asseoir le pnj à l'entrée de la zone...

Je sais, c'est pas folichon tout ça, mais c'est (pour l'instant) la seule solution que j'ai trouvé.

Cordialement,

Duanra.


Contribution du : 22/11/2006 21:55
(1) 2 3 »
 
 
Le moteur du site de NeverwinterNigths2.fr utilise XoopS
Le design officiel est NWN2-Drako - 1.0
Les commentaires sont la propriété de leur auteur et de leur responsabilité.
Voir l'ensemble du copyright © 2005-2007.