La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 18:27:31


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Bubulle
Novice
Inscrit le: 15 Déc 2002
Messages: 14
Localisation: Dans mon bocal
Répondre en citant
Posté le : 27/04/2003 08:25:33 Sujet du message : Comment faire pour faire apparaitre un perso en cours de jeu

En fait je voudrait faire apparaitre un PNJ, seulement lorsqu'une quete vient de se finir. Pour être plus clair : Lorsque la quete se fini, un personnage arrive et se dirige vers le PJ pour lui parler.
Je suis un niewbie et j'ai pas reussi a trouve comment on peut faire pour obtenir cet effet.

Merci d'avance pour vos réponses
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Tuyen
Demi-dieu
Inscrit le: 23 Nov 2002
Messages: 460
Localisation: Chez moi
Répondre en citant
Posté le : 28/04/2003 00:43:23 Sujet du message :

Ca dépend du type de ta quête...
S'il faut tuer une créature tu n'as qu'à mettre dans le OnDeath de celleci le script ( script A ) qui va créer ton perso avec la fonction CreateObject, où il faudra préciser le tag du perso à créer, l'endroit et compagnie...
Puis tu crée ton perso de facon normale, tu n'oublies pas de mettre le même tag que dans celui du script. Ensuite dans le OnPerceive du perso tu lui mets un script B qui l'oblige à te parler s'il te voit, genre :
Code :
void main()
{
    iResult = GetLocalInt(OBJECT_SELF,"sDejaparler");
    if (GetIsPC(oSeen)&&(iResult==0))
    {
        ActionStartConversation (oSeen,"",FALSE);
        SetLocalInt(oObject, "sDejaparler", 1);
    }
}

Bon là le perso viendra te parler directement... voila voila!
Bon si tu veux qu'il apparaisse dans d'autres circonstance, comme par exemple lors d'un dialogue, c'est pareil, sauf que tu mets le script A dans Condition d'Exécution... Ba après ca dépend de ce que tu veux hein! Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Bubulle
Novice
Inscrit le: 15 Déc 2002
Messages: 14
Localisation: Dans mon bocal
Répondre en citant
Posté le : 28/04/2003 07:28:56 Sujet du message :

Merci le mec viens me parler mais je n'arrive pas à le faire apparaitre (car je ne suis pas encore treès familier avec les scripts.
Si quelqu'un pouvait me rediger un exemple du script "CreateObject" ou m'indiquer un site qui explique un peu la creation de script....
Comme le PNJ doit apparaitre lorsque qu'une quete est fini je ne sait pas trop ou placer le script "CreateObject". J'ai penser à un declencheur mais comment inclure dans le script le fait qu la quete doit être fini ?

Voilà voilà
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger 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/04/2003 08:00:34 Sujet du message :

Ce genre de topic à plutôt sa place dans le forum Scripts Wink

Je déplace...
_________________
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
 
Tuyen
Demi-dieu
Inscrit le: 23 Nov 2002
Messages: 460
Localisation: Chez moi
Répondre en citant
Posté le : 28/04/2003 11:07:52 Sujet du message :

Pour le CreateObject j'en sais pas plus que toi, ca fait partie des 99,9% des fonctions que je connais po et que j'ai jamais utilisé! Embarassed
Mais sinon pour que le déclencheur sache que tu as terminé la quête, tu peux mettre une variable à 1 sur le PJ quand la quête est finie :
Code :
//A mettre dans action conséquente d'un dialogue
void main()
{ SetLocalInt (GetPCSpeaker(),"quete0001",1);}


Et une fois que le PJ passe sur le déclencheur, celui ci teste cette variable..
S'il n'a pas encore réalisé la quête, ben par défaut la variable est à 0, donc rien ne se passe... Et s'il a fini la quête, cette variable "quête0001" sera mise à 1 par le script d'en haut, donc le déclencheur créera la créature ( ca c'est un autre problème! lol!... Ah c'est compliqué! lol!... )
Bon pour tester la variable c'est quelque chose qui ressemble à ca ( à placer dans OnEnter du déclencheur ) :
Code :
void main()
{
   int iResult;
   object oPC=GetEnterringObject();
   if(GetIsPC(oPC))
      {if(iResult = GetLocalInt (GetPCSpeaker(),"quete0001",1)
          /*Là tu met les codes qui te permettent de créer le perso qui vient te parler*/
       }
}


A NOTER : j'ai fait tout ca de tête donc il y a de fortes chances pour que ca rate car je suis débutant mais je te donne ca pour te donner un ptit exemple...
A NOTER : il se peut aussi que ca marche... Razz
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Bubulle
Novice
Inscrit le: 15 Déc 2002
Messages: 14
Localisation: Dans mon bocal
Répondre en citant
Posté le : 28/04/2003 16:44:16 Sujet du message :

Bon pour le faire apparaitre j'utilise le script CreateObject et forcement j'y arrive pas Confused (je suis un niewbie hein souvenez vous !!!)

Voilà ce que j'ai mis :

EDIT de Cassin : utilise les balises [ code ] et [ /code ] (sans les espaces) pour tes scripts, ça sera plus lisible
Code :
void main()
{
CreateObject (int nObjectType = OBJECT_TYPE_CREATURE;
    string sTemplate = liam;
    location lLocation = NW_liamappears;
    int bUseAppearAnimation=FALSE)
}


nObjecType : j'ai recopier une des valeurs qui étaient proposer dans l'aide
sTemplate : j'ai mis le tag du PNJ a faire apparaitre
iLocation : le tag du marqueur que j'ai creé dans la zone à l'endroit où le type doit apparaitre
bUseAppearAnimation : j'avoue que je ne sait pas trop quoi faire de cette ligne donc j'ai laisser false

Est-ce que la syntaxe est bonne, est-ce qu'il faut mettre de " autour des tag, est-ce qu'il faut bien mettre des = ???

Merci d'avance pour votre aide precieuse
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger 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/04/2003 16:56:28 Sujet du message :

Code :
void main()
{
CreateObject (int nObjectType = OBJECT_TYPE_CREATURE;
    string sTemplate = liam;
    location lLocation = NW_liamappears;
    int bUseAppearAnimation=FALSE)
}


Oui ben là ça m'étonnes pas du tout que ça marche pas ! Very Happy

Ta syntaxe de script n'est pas DU TOUT bonne, essaie de faire quelques tutoriaux de scripts pour comprendre comment ça marche, tu t'en sortiras beaucoup mieux par la suite...

Code :

object oPNJ = GetObjectByTag("TagDeTonPNJ");
location lLocPNJ = GetLocation(GetObjectByTag("TagDeTonWP");

void main()
{
CreateObject (OBJECT_TYPE_CREATURE, oPNJ, lLocPNJ, FALSE);
}


devrait déjà marcher beaucoup mieux Wink

Mais comme je te le disais, fait des tuto (sur JOL par exemple, ils en ont des très bons), sinon tu ne t'en sortiras jamais...
On est tous passés par là, mais une fois la logique du truc comprise, on s'en sort sans trop de mal... Wink
_________________
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
 
Bubulle
Novice
Inscrit le: 15 Déc 2002
Messages: 14
Localisation: Dans mon bocal
Répondre en citant
Posté le : 28/04/2003 17:01:24 Sujet du message :

Ok merci beaucoup pour toutes ces infos. Effectivement ca ne risquait pas de marcher Very Happy

Et je vais suvre ton conseil et allez faire quelques tuto..
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Bubulle
Novice
Inscrit le: 15 Déc 2002
Messages: 14
Localisation: Dans mon bocal
Répondre en citant
Posté le : 28/04/2003 18:31:13 Sujet du message :

Bon ca marche a moitié maintenant

Voici mon script:

Code :

object lLieu=GetWaypointByTag("NW_DRUIDE");

void main()
{
CreateObject (OBJECT_TYPE_CREATURE, "PNJ_LIAM", GetLocation(lLieu), FALSE);
}


Tout marche sauf que c'est un blaireau qui apparait à la place du PNJ ???
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Taern
Ecuyer
Inscrit le: 11 Avr 2003
Messages: 45
Localisation: 92
Répondre en citant
Posté le : 28/04/2003 19:21:19 Sujet du message :

Le blaireau, c'est parceque tu t'es trompé dans un des arguments de la fonction:
la chaîne de caractère que tu utilise doit être le blueprint de la créature, et non son tag (car ce dernier peut être commun à plus objet s du module, mais pas le blueprint).
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Numéro ICQ Ignorer l'utilisateur
 
Bubulle
Novice
Inscrit le: 15 Déc 2002
Messages: 14
Localisation: Dans mon bocal
Répondre en citant
Posté le : 28/04/2003 22:04:06 Sujet du message :

Ok c'était bien ca le pb.
Maintenant c'est bien le bon PNJ qui apparait.
Merci beaucoup pour votre aide
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger 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 28.991ms