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


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Renounet
Novice
Inscrit le: 10 Aoû 2006
Messages: 11
Répondre en citant
Posté le : 18/09/2006 17:55:32 Sujet du message : Action suite aux paroles d'un PJ

Bonjour, je vais faire simple : J'aimerais que lorsqu'un PJ prononce certains mots ( pas de dialogue, les mots doivent être tapés à la main et validés avec Enter ) à coter d'un objet, celui-ci réagisse.

Exemple : Sésame ouvre toi => Un portail apparait.

Merci d'avance Smile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
PetitPrince
Super-Mouton
Inscrit le: 12 Sep 2002
Messages: 2043
Localisation: Asteroïde B-612 actuellement crashé en Suisse
Répondre en citant
Posté le : 18/09/2006 18:00:53 Sujet du message :

Ce post devrait t'éclairer un peu.

En gros, sur un personnage:
  • Définir l'état d'écoute
  • Définir quoi écouter
  • Définir ce qu'il se passera lorsque le personnage entendra le bon truc

_________________
b-612.yi.org (chez moi) | tetrisconcept.com (LE site sur Tetris) | Grospixels (c'était mieux avant) | Geekzone (for and by crazy geeks)

Securom, ça suxe
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Renounet
Novice
Inscrit le: 10 Aoû 2006
Messages: 11
Répondre en citant
Posté le : 18/09/2006 19:49:50 Sujet du message :

Ah super merci Very Happy

..mais je reste bloqué sur l'event ou mettre mon script, le OnConversation n'existe pas sur les plaçables Confused
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 18/09/2006 20:26:29 Sujet du message :

Il te faut une créature. Pas moyen de faire sans dans ce cas.
_________________
L'île perdue - Module RP - Hard Core Ruled - En construction
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
PetitPrince
Super-Mouton
Inscrit le: 12 Sep 2002
Messages: 2043
Localisation: Asteroïde B-612 actuellement crashé en Suisse
Répondre en citant
Posté le : 18/09/2006 20:44:52 Sujet du message :

Tu peux toujours faire une créature avec comme apparence Null Human, puis le mettre en invisible.
_________________
b-612.yi.org (chez moi) | tetrisconcept.com (LE site sur Tetris) | Grospixels (c'était mieux avant) | Geekzone (for and by crazy geeks)

Securom, ça suxe
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Renounet
Novice
Inscrit le: 10 Aoû 2006
Messages: 11
Répondre en citant
Posté le : 18/09/2006 21:05:51 Sujet du message :

J'ai voulu essayer avec le OnHeartBeat du plaçable mais l'action se répète toutes les 6 secondes à partir du moment ou le PJ a prononcé la phrase une fois. Qu'est ce que je dois changer pour éviter ça ?

NWScript :
void main()
{
    //Ecoute
    SetListening(OBJECT_SELF,TRUE);
    //MDP
    SetListenPattern(OBJECT_SELF, "**", 1);

    if(GetListenPatternNumber() == 1)
    {
        string sSpoken = GetStringUpperCase(GetMatchedSubstring(0));

        if(FindSubString(sSpoken, "ARKH A VARN") >= 0)
        {
            //Action
            effect eOmbre = EffectVisualEffect(VFX_DUR_PROT_SHADOW_ARMOR);
            ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eOmbre, OBJECT_SELF, 60.0);
        }
    }
}
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.




Edit : Que pensez vous d'un Trigger qui lancerai le script toutes les secondes à condition qu'un PJ soit dedans ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Enki
Légende vivante
Inscrit le: 06 Déc 2005
Messages: 432
Répondre en citant
Posté le : 18/09/2006 21:56:46 Sujet du message :

Personnellement, je pense que la solution de Petit Prince et de Sith est de loin la meilleure. mais si tu veux utiliser le HB, (et si cela marche), pour éviter que ton script ne s'éxécute toutes les 6 sec, fais ceci :

NWScript :
void main()
{
//Ecoute
SetListening(OBJECT_SELF,TRUE);
//MDP
SetListenPattern(OBJECT_SELF, "**", 1);


if (GetLocalInt(OBJECT_SELF,"dejat_dit")!=0)
        return;
if(GetListenPatternNumber() == 1)
{
string sSpoken = GetStringUpperCase(GetMatchedSubstring(0));

if(FindSubString(sSpoken, "ARKH A VARN") >= 0)
{
//Action
SetLocalInt(OBJECT_SELF,"dejat_dit",1);
effect eOmbre = EffectVisualEffect(VFX_DUR_PROT_SHADOW_ARMOR);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eOmbre, OBJECT_SELF, 60.0);
}
}
}
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.


Tiens-nous au courant ^^

A bientôt !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 18/09/2006 22:07:19 Sujet du message :

Ca peut pas marcher. Un plaçable n'écoute pas, c'est pour ça qu'il a pas d'évenement OnConversation, y a aucun moyen de changer ça. Faut passer par une créature invisible qui écoute et qui transmet l'info au plaçable, c'est pas plus compliqué en fait.

même script sur le OnConversation de la créature (je mettrais juste le SetListening(TRUE) dans le OnSpawn, et le SetListePattern aussi)

et à la place de :

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.


Tu remplace par :
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.

_________________
L'île perdue - Module RP - Hard Core Ruled - En construction
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Renounet
Novice
Inscrit le: 10 Aoû 2006
Messages: 11
Répondre en citant
Posté le : 18/09/2006 22:10:52 Sujet du message :

@ Enki : J'ai pas essayé mais je pense que ton script va poser problème. En fait il faut que l'action puisse être relancée chaque fois que les bons mots seront prononcés.

@ Sith : J'avais bien compris le système mais je trouve ça.. "pas propre" si tu vois ce que je veux dire de mettre un PNJ invisible quelque part qui lui écoute ( mais bon ça je devrais m'y faire si je ne trouve pas meilleure solution ). Le réel problème c'est que ma zone ne me permet pas de cacher un PNJ dans les environs du plaçable et je ne veux pas que le joueur puisse s'approcher assez près de lui pour voir un joli indemne voler dans les airs ou alors buter contre un corps invisible.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Enki
Légende vivante
Inscrit le: 06 Déc 2005
Messages: 432
Répondre en citant
Posté le : 18/09/2006 23:20:39 Sujet du message :

-> Sith : C'est bien ce qu'il me semblait, mais comme Renounet a écrit :
Citation :
mais l'action se répète toutes les 6 secondes à partir du moment ou le PJ a prononcé la phrase une fois.
, je me suis dit qu'il avait fait un test et découvert un truc auquel nous n'avions pas pensé.

-> Renounet : Tu peux rendre ton PNJ intangible en lui appliquant un effect CutSceneGhost.
Pour le "indemne", tu peux essayer de le faire apparaitre à une location plus élevé sur l'axe des Z.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Renounet
Novice
Inscrit le: 10 Aoû 2006
Messages: 11
Répondre en citant
Posté le : 19/09/2006 12:35:35 Sujet du message :

Rien à faire je n'arrive pas a faire disparaitre ce indemne. Le HB me semble pas une si mauvaise solution si seulement je pouvais remettre le GetListenPatternNumber() à -1 une fois l'action lancée..

Je suis bien sur prenneur de solutions pour faire disparaitre le fameux indemne.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 19/09/2006 14:29:13 Sujet du message :

Ben effectivement, même l'effet ethereal résiste pas à la vision lucide.

Une idée : tu peux donner à une créature une apparence de table, ça peut être pas mal non (ou de coffre (mimique), ou de chaise). Si tu peux poser une table dans ta zone, elle peut écouter quoi. Evite juste qu'elle se déplace ou qu'elle attaque Very Happy
_________________
L'île perdue - Module RP - Hard Core Ruled - En construction
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 24/09/2006 18:13:12 Sujet du message :

Rah, je savais bien que c'était possible.

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.

_________________
L'île perdue - Module RP - Hard Core Ruled - En construction
 
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 38.183ms