La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 16/05/2024 17:47:44


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Daschy
Novice
Inscrit le: 27 Nov 2002
Messages: 5
Répondre en citant
Posté le : 27/11/2002 21:08:12 Sujet du message : Restez assis!!!

Je débute avec Neverwinter mais je me marre bien à faire un module même si je trouvais RPG maker plus facile mais bon passons!...

Voilà mon blème, je veux que mes pnj soient assis, jusque là pas de problème sauf que chaque fois que un pj leur cause ces cons ils se lèvent.
soit g un prob dans mon script soit je pige pas Wink
Le script vient d'un autre module, module dans lequel les pnj ne se lèvent pas quand on leur cause!

soyez sympa, je débute et je suis pas un super scripteur donc... expliquez moi ça clairment afin que le tebé que je suis puisse comprendre Very Happy

sinon ça va?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Cassin
Papa-poule(t) & poissard intemporel
Inscrit le: 16 Sep 2002
Messages: 7471
Localisation: 6 bis rue de la Couveuse, Poulailler 39b
Répondre en citant
Posté le : 28/11/2002 08:35:11 Sujet du message :

Salut, et bienvenu ici ! Wink


C'est normal que les PNJ se lèvent pour parler, c'est un script par défaut. Je CROIS qu'il existe un script pour les forcer à rester assis, je vais essayer de le retrouver mais je ne te promet rien...

Sinon j'ai remarqué un truc : quand on déclenche une conversation par trigger, le PNJ reste assis, donc ça pourrait être une solution, un peu bancale, mais bon...
_________________
Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ?

http://cassin1306.spaces.live.com
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14065
Localisation: Quadran Alpha
Répondre en citant
Posté le : 28/11/2002 11:02:23 Sujet du message :

c parce que s'asseoir c'est considéré comme une action, parler aussi. Donc ils se lévent (logique)

La couille serait par exemple de faire un objet invisible pour parler au PNJ.
_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Cassin
Papa-poule(t) & poissard intemporel
Inscrit le: 16 Sep 2002
Messages: 7471
Localisation: 6 bis rue de la Couveuse, Poulailler 39b
Répondre en citant
Posté le : 28/11/2002 11:10:24 Sujet du message :

Je crois que j'avais entendu parlé d'une astuce qui mettait le script pour s'asseoir dans le OnHeartBeat, comme ça le perso n'a pas le temps de se lever.

Mais je ne sais pas si ça n'interfère pas avec le dialogue par contre...
_________________
Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ?

http://cassin1306.spaces.live.com
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Gorkk
Site Admin
Inscrit le: 12 Sep 2002
Messages: 1768
Localisation: Ici et ailleurs
Répondre en citant
Posté le : 28/11/2002 12:59:27 Sujet du message :

L'autre solution, mais bon ce seraiit un gros boulot, ce serait de créer des PNJs assis sur leur chaise. Autrement dit un le "PNJ" serait en fait le PNJ + la chaise et serait un PNJ qui ne peut pas se déplacer. Mais il faudrait aussi lui mettre quelques animations en plus a priori, donc ce serait un travail assez éprouvant. Surtout si on veut faire ça pour plusieurs PNJs qui n'ont pas la même gueule Wink
_________________
Sacred - FR - La Bibliothèque de Neverwinter - Titan Quest - FR Cool
Bloqué dans SoU ? La solution n'est pas loin...
HotU vous pose des problèmes ? Une seule solution Wink
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
jon snow
Novice
Inscrit le: 26 Oct 2002
Messages: 18
Répondre en citant
Posté le : 28/11/2002 15:08:22 Sujet du message :

Ma solution, trouvé dans nw vault :
A mettre dans le onspawn du npc (pense a mettre une chaise avec le tag de ton choix, ici "chaise_bob" par default).

Code :

void main()
{
object oChaise;
int nChaise = 1;
oChaise = GetNearestObjectByTag("chaise_bob", OBJECT_SELF, nChaise);
ClearAllActions();
ActionSit(oChaise);
}


Tu fais ton dialogue et a la fin, a la derniere replique du pnj, tu vas dans
action conséquente et tu remet le meme script que plus haut pour que ton npc retourne s'assoir... Smile
----------------------------------------------------------------------------------
Un autre mais pas testé ....

On conversation

Code :

//:Confused//////////////////////////////////////////////
//:: SetListeningPatterns
//:: NW_C2_DEFAULT4
//:: Copyright (c) 2001 Bioware Corp.
//:Confused/////////////////////////////////////////////
/*
    Determines the course of action to be taken
    by the generic script after dialogue or a
    shout is initiated.
*/
//:Confused/////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 24, 2001
//:Confused/////////////////////////////////////////////
//only use this modified version on a seated NPC that you wish to remain seated
//while conversing with Players

#include "NW_I0_GENERIC"

void main()
{
    int nMatch = GetListenPatternNumber();
    object oShouter = GetLastSpeaker();
    object oIntruder;

    if (nMatch == -1 && GetCommandable(OBJECT_SELF))
    {
        ClearAllActions();

            //This is the Added Text to Keep Your NPC Seated

            string sSeat = GetTag(OBJECT_SELF);//get tag of NPC
            object oSeat = GetObjectByTag ("TAGOFCHAIR");//tag of seat
            AssignCommand (OBJECT_SELF, ActionSit (oSeat));
            //

        BeginConversation();

            //NPC STAY SEATED WHILE I'M TALKING TO YOU

            ClearAllActions();

            //
    }
    else
    if(nMatch != -1 && GetIsObjectValid(oShouter) && !GetIsPC(oShouter) && GetIsFriend(oShouter))
    {
        if(nMatch == 4)
        {
            oIntruder = GetLocalObject(oShouter, "NW_BLOCKER_INTRUDER");
        }
        else if (nMatch == 5)
        {
            oIntruder = GetLastHostileActor(oShouter);
            if(!GetIsObjectValid(oIntruder))
            {
                oIntruder = GetAttemptedAttackTarget();
                if(!GetIsObjectValid(oIntruder))
                {
                    oIntruder = GetAttemptedSpellTarget();
                    if(!GetIsObjectValid(oIntruder))
                    {
                        oIntruder = OBJECT_INVALID;
                    }
                }
            }
        }
        RespondToShout(oShouter, nMatch, oIntruder);
    }


    if(GetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT))
    {
        SignalEvent(OBJECT_SELF, EventUserDefined(1004));
    }
}


Edit de Gorkk : la prochaine fois que du mets des scripts dans tes codes, penses à utiliser les balises [ code ] et [ /code ] (sans espaces après [ et avant ] Wink), ça rend le script beaucoup plus lisible Smile
_________________
...Jon Snow...

"Dans la vie, il y a ceux qui ont un revolver chargé et ceux qui creusent. Alors, creuse!" Clint Eastwood dans "le Bon, la Brute et le Truand" de Sergio Leone
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Daschy
Novice
Inscrit le: 27 Nov 2002
Messages: 5
Répondre en citant
Posté le : 01/12/2002 22:35:22 Sujet du message :

bon et bien merci de votre rapidité d'action mais bon mes pnj ne veullent tjs pas s'assoir! pendant qu'on cause, ils sont assis c'est très bien, je leur cause... et ils se lèvent une fois la discution finie puis se rassoient... débile quoi! j'ai essayé vos script, et c'est pas mieux Smile enfin peut être que je les utilisent pas de la bonne manière...
enfin mon module avence un peu car je commence à piger les script de discution, comment passer d'un discution à l'autre et ainsi de suite...
Il me reste énormément à apprendre... et j'ai si peux de temps Confused
Je m'amuse comme un fou à adapter un de mes sénaris j'en suis à la fin de la première page lol...
Si vous avez des conseil ou quoi que ce soit merci d'avance
a+
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ak Darkster
Grand Maître Chanteur du Conseil
Inscrit le: 27 Sep 2002
Messages: 1354
Localisation: canada
Répondre en citant
Posté le : 02/12/2002 00:17:46 Sujet du message :

Qu'ils se lèvent et se rassoient, tu pourrais faire comme si c'était une signe de politesse. Je dis ça comme ça.
_________________
On doit tous mourir un jour... mais pour moi, c'est pas demain la veille, alors sort tes armes sale dragon!!!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
KaG
Légende vivante
Inscrit le: 30 Sep 2002
Messages: 445
Localisation: Rodez (12)
Répondre en citant
Posté le : 02/12/2002 06:56:02 Sujet du message :

essaies de placer celui-ci dans le "onconversation" du NPC :

Code :
////////////////////////////////////////////
////////////////////////////////////////////
//////  NPC - Sit and Talk
//////  Causes NPC to sit and face in the
//////  Direction of the chair while talking
//////  to the PC.
////////////////////////////////////////////
////////////////////////////////////////////
//////  Scripted by: Weeping Ashes
//////  Date:  July 1, 2002
//////  Scripting Time:  33hrs 14 mins
//////  Is aware he is a newbie...
////////////////////////////////////////////
////////////////////////////////////////////
/////  Make sure you have a sit command in
/////  OnSpawn part of your NPC.  Otherwise
/////  This will make the NPC sit AFTER the
/////  conversation.
////////////////////////////////////////////
////////////////////////////////////////////
void main()
{
    if(GetCommandable(OBJECT_SELF)){
     //This sets the NPC as the speaker
    {
        BeginConversation();
         //This starts the conversation script.
        }
    ClearAllActions();
     // Clears the actions so the NPC will not follow you with his/her eyes
    int nChair = 1;
    object oChair;
    oChair = GetNearestObjectByTag("chair01", OBJECT_SELF, nChair);
    ActionSit(oChair);
     //Sits the NPC down
    }
}


je crois bien qu'il fonctionne
_________________
Mon antre (et son module NWN) :ici!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
Jedaï
Chevalier
Inscrit le: 14 Nov 2002
Messages: 89
Localisation: Le Havre, ville pourrie
Répondre en citant
Posté le : 02/12/2002 22:19:06 Sujet du message :

Je ne le répéterai jamais assez... Sad

Supprimez les scripts de fin de conversation (dans l'onglet "Autre fichiers" de l'éditeur de conversation), depuis la 1.25 Bioware en rajoute par défaut et ça fout la m**** dans nos scripts... Confused
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Cassin
Papa-poule(t) & poissard intemporel
Inscrit le: 16 Sep 2002
Messages: 7471
Localisation: 6 bis rue de la Couveuse, Poulailler 39b
Répondre en citant
Posté le : 03/12/2002 08:36:17 Sujet du message :

D'après ce que je viens de voir il semblerait que maintenant avec le 1.27 on puisse discuter sans se lever !

Peut-être la solution à ton problème ? Very Happy
_________________
Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ?

http://cassin1306.spaces.live.com
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Daschy
Novice
Inscrit le: 27 Nov 2002
Messages: 5
Répondre en citant
Posté le : 03/12/2002 17:58:48 Sujet du message :

Et bien un grand merci, c'était tout con, merci Jet d'aïl il suffissait de sup toute anim...
je suis bien content, ça donne bien comme je veux maintenant...
Allez j'y retourne Smile à plus
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
daedra
Novice
Inscrit le: 20 Juil 2004
Messages: 17
Répondre en citant
Posté le : 30/01/2005 03:54:26 Sujet du message : J'arrive pas a le faire rester assis

Bonsoir,
Je viens de lire ce post qui correspond exactement a ma question sans pour autant y trouver ma solution.
J'ai crée un PNJ qui s'assoi sur le on spawn.
J'ai crée un dialogue en supprimant toutes les animations
Je suis allé sur l'onglet fichier actuel et j'ai tout retiré.
Dans le on conversation, j'ai mis cela :
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

Malgrés cela mon PNJ se lève Sad
J'ai essayé de faire des ClearAllAction et des AssignCommand dans la queue du PNJ mais rien n'y fait.
Pourrait on m'aider ?

Merci d'avance
_________________
Daedra
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 30/01/2005 14:55:05 Sujet du message : Re: J'arrive pas a le faire rester assis


daedra a écrit :
J'ai essayé de faire des ClearAllAction et des AssignCommand dans la queue du PNJ mais rien n'y fait.
Oufffff ça doit faire mal Confused

(désolé, j'ai pas pu résister Razz)
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
S@ntoS
Seigneur
Inscrit le: 12 Déc 2004
Messages: 169
Localisation: J'aimerais bien le savoir.
Répondre en citant
Posté le : 30/01/2005 17:30:44 Sujet du message :

Laughing Allez, hop, "le club des sadiques" pour toi Finipe. [http] . Punition, ça t'apprendra. Very Happy
_________________
L'oiseau vole, le serpent rampe et l'homme... heu, j'en sais rien. Surprised
Le RP, cé vrémant tro z'injuste !Calimero
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
daedra
Novice
Inscrit le: 20 Juil 2004
Messages: 17
Répondre en citant
Posté le : 31/01/2005 13:25:39 Sujet du message :

Ah oui c'est vrai qu'avec du recule ma phrase peut avoir double sens mais c'était pas volontaire Smile
Toujours est il que je n'ai toujours pas trouvé comment faire rester assis un PNJ quand je lui parle. Si quelqu'un connais un module sur le vault ou ailleurs ou un PNJ reste assis malgrés la conversation je me ferais une joie de décortiquer ce module.

Merci d'avance
Daedra
_________________
Daedra
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Laxam
Légende vivante
Inscrit le: 12 Avr 2004
Messages: 425
Localisation: Lyon
Répondre en citant
Posté le : 31/01/2005 13:46:06 Sujet du message :

Je crois qu'il y a ça dans "les lions diffamés" de Finipe non ? à moins que ce soit dans un autre module...Confused
_________________
Mon site NWN nouvelle version et mon module Boisperdu en ligne ! Et maintenant un FORUM
La première version française de la doc du NPC Activities (version 2.0)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
daedra
Novice
Inscrit le: 20 Juil 2004
Messages: 17
Répondre en citant
Posté le : 31/01/2005 14:38:01 Sujet du message :

Merci Laxam Very Happy
Je vais regarder cela dès que je serais à la maison !
_________________
Daedra
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 31/01/2005 15:15:24 Sujet du message :

Ah bon ? Y a ça dans le seul module que j'aie jamais pondu y a de ça 2 ans ? Laughing (je sais, chuis un feignant, mais mon scénar' et mes dialogues sont bétons Mad)
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Laxam
Légende vivante
Inscrit le: 12 Avr 2004
Messages: 425
Localisation: Lyon
Répondre en citant
Posté le : 31/01/2005 16:53:59 Sujet du message :

C'est pas dans ton module qu'on rencontre un gars qui reste assis sur un trône ? Il me semble que si mais c'est vrai que j'ai joué à pas mal de module et que je ne suis plus tout jeune alors.....
_________________
Mon site NWN nouvelle version et mon module Boisperdu en ligne ! Et maintenant un FORUM
La première version française de la doc du NPC Activities (version 2.0)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 31/01/2005 19:31:39 Sujet du message :

Ah oui en effet, ptêt bien le roi qui reste assis quand on lui cause...
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
daedra
Novice
Inscrit le: 20 Juil 2004
Messages: 17
Répondre en citant
Posté le : 31/01/2005 19:54:20 Sujet du message :

Bien je suis allé voir le module Laxam et j'ai trouvé dans une auberge des gens assis mais quand on leurs parlent, ils se deplacent en restant assis.

Enfin j'ai essayé une autre solution et ça marche. Je poste ici au cas ou cela interesserai quelqu'un histoire de lui éviter des longues heures de recherches.

Dans le on conversation du PNJ
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Dans le on spawn du PNJ
NWScript :
void main()
{
object oChaise = GetObjectByTag("chaise_accueil_arcadie"); // tag de votre chaise
ActionSit(oChaise);
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Il ne vous reste plus qu'a faire un fichier dialogue pour le PNJ.
Petite remarque :
Votre PNJ ne peut plus utiliser ça que..e Embarassed file d'attente d'action. Si il se fait attaquer par le PJ il ne bougera pas alors penser à mettre un script genre
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

dans le script on damage du PNJ juste après la fonction main.

Voila j'espère que cela sera utile à quelqu'un.Very Happy
_________________
Daedra
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 33.753ms