La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 02/05/2024 06:53:48


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Fantome
Ecuyer
Inscrit le: 06 Nov 2002
Messages: 63
Répondre en citant
Posté le : 26/12/2002 18:34:54 Sujet du message : PNJ la nuit

Bonsoir,
je souhaite faire apparaitre un pnj uniquement la nuit sur une map, comment dois-je m'y prendre en sachant que je ne souhaite pas (si possible) que le script à mettre soit placé dans le OnHeartbeat de la map (afin d'éviter de trop surchargé la réaction).
Merci pour vos réponses.
a+
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Fantome
Ecuyer
Inscrit le: 06 Nov 2002
Messages: 63
Répondre en citant
Posté le : 29/12/2002 19:04:08 Sujet du message :

Hello,

je suis toujours dans l'attente du script me permettant de fair apparaitre un pnj uniquement lorsqu'il fait nuit.
Voici mon code, placé dans le OnHeartBeat de la zone.


Code :
void main()
{
object oPNJ = GetObjectByTag("PNJ_deNuit");
location lLoc = GetLocation(GetNearestObjectByTag("wp_pnjdenuit"));

if(GetIsNight() == TRUE)
{
    CreateObject(OBJECT_TYPE_CREATURE,"pnjdenuit",lLoc,TRUE);
 }
else
{
    DestroyObject(oPNJ);
}
}


ca marche pas ! Sad
Merci pour votre aide.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Serguai
Grand Chevalier
Inscrit le: 07 Déc 2002
Messages: 104
Répondre en citant
Posté le : 29/12/2002 19:19:27 Sujet du message : normal

Ca ne marche pas parce que ton pnj est créé de façon répétitive pendant la nuit ... Essaye plûtôt avec GetIsDawn et GetIsDusk (coucher et lever de soleil)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Numéro ICQ Ignorer l'utilisateur
 
Fantome
Ecuyer
Inscrit le: 06 Nov 2002
Messages: 63
Répondre en citant
Posté le : 29/12/2002 19:46:09 Sujet du message :

Hello Serguaï

si je remplace GetIsNight par GetIsDawn j'aurais le même problème concernant la répétion de mon CreateObject.

De plus je comprend pas bien si mon pnj est créer de facon répétitive durant la nuit... je devrait le voir, non ?
or avec mon script, il ne se passe rien.

peux tu m'éclairer la dessus ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Serguai
Grand Chevalier
Inscrit le: 07 Déc 2002
Messages: 104
Répondre en citant
Posté le : 29/12/2002 20:48:51 Sujet du message : Arf !

Arf oui, c'est parce que tu as mis GetNearestObjectByTag("wp_pnjdenuit") à la place de GetObjectByTag("wp_pnjdenuit").
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Numéro ICQ Ignorer l'utilisateur
 
Fantome
Ecuyer
Inscrit le: 06 Nov 2002
Messages: 63
Répondre en citant
Posté le : 30/12/2002 07:56:31 Sujet du message :

Hello,

j'ai modifié et mis GetObjectByTag.
il semblerait que GetIsNight et GetIsDusk fonctionne selon le même principe (en testant j'ai vu aucune différence), il s'agit à chaque fois d'une période et non d'un moment.

Avec le code ci-dessous, j'ai bien mon pnj mais il apparait toutes les 6 secondes environ et celà pas uniquement la nuit.

voici mon code:

Code :
void main()
{
object oPNJ = GetObjectByTag("PNJ_deNuit");
location lLoc = GetLocation(GetNearestObjectByTag("wp_pnjdenuit"));
int apparition ;

if((GetIsNight() == TRUE) && (apparition == 0))
{
    CreateObject(OBJECT_TYPE_CREATURE,"pnjdenuit",lLoc,TRUE);
    apparition = 1;
}
else if ((GetIsDawn() == TRUE) && (apparition == 1))
{
    DestroyObject(oPNJ);
    apparition = 0;

}
}


Je désespère de trouver la solution. Crying or Very sad
Si vous avez une idée, faites en moi part, je suis preneur.

a+
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Fantome
Ecuyer
Inscrit le: 06 Nov 2002
Messages: 63
Répondre en citant
Posté le : 30/12/2002 09:20:05 Sujet du message :

YES ! J'ai trouvé !

En fait mea culpa, je m'étais trompé dans l'affectation de ma variable apparition. Voilà ce que j'ai fait:

1- j'ai créé mon PNJ que je souhaite faire apparaitre que la nuit
2- j'ai placé un way point sur ma zone ou je souhaite faire apparaitre mon pnj
3- j'ai créer un Déclencheur Générique (aussi grand que ma zone)
4- Dans le OnHeartBeat du déclencheur créé j'ai mis le script suivant:

Code :
void main()
{

object oPNJ = GetObjectByTag("PNJdeNuit");
location lLoc = GetLocation(GetObjectByTag("wp_PNJ"));
int apparition = GetLocalInt(GetModule(),"apparition");;


if (apparition == 1)
{
    if(GetIsDay() == TRUE)
    {
        DestroyObject(oPNJ);
        SetLocalInt(GetModule(),"apparition",2);
    }
}
else
{
   if(GetIsNight() == TRUE)
   {
     CreateObject(OBJECT_TYPE_CREATURE,"pnjdenuit",lLoc,TRUE);
     SetLocalInt(GetModule(),"apparition",1);
   }
}
}


Voilà.

Merci à tous pour votre aide.

ps: j'aimerais ajouter cet effet au pnj VFX_DUR_GHOSTLY_VISAGE mais je n'y arrive pas . Auriez vous une idée ?
 
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 : 30/12/2002 12:16:39 Sujet du message :

Il suffit de rajouter la ligneCode :
ApplyEffectToObject(DURATION_TYPE_PERMANENT,EffectVisualEffect,VFX_DUR_GHOSTLY_VISAGE,oPNJ);
dans ton script ce qui devrait donner:
Code :

void main()
{

object oPNJ = GetObjectByTag("PNJdeNuit");
location lLoc = GetLocation(GetObjectByTag("wp_PNJ"));
int apparition = GetLocalInt(GetModule(),"apparition");;


if (apparition == 1)
{
    if(GetIsDay() == TRUE)
    {
        DestroyObject(oPNJ);
        SetLocalInt(GetModule(),"apparition",2);
    }
}
else
{
   if(GetIsNight() == TRUE)
   {
     CreateObject(OBJECT_TYPE_CREATURE,"pnjdenuit",lLoc,TRUE);
     SetLocalInt(GetModule(),"apparition",1);
     ApplyEffectToObject(DURATION_TYPE_PERMANENT,EffectVisualEffect,VFX_DUR_GHOSTLY_VISAGE,oPNJ);   
}
}
}

_________________
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
 
Fantome
Ecuyer
Inscrit le: 06 Nov 2002
Messages: 63
Répondre en citant
Posté le : 30/12/2002 12:38:15 Sujet du message :

Merci Petit Prince pour ta réponse. En fait j'ai déjà essayé cette solution et j'ai constaté aucun effect particulier. As tu testé avec mon code ? Celà marche t'il?

a+
 
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 : 30/12/2002 15:30:40 Sujet du message :

euh non j'ai pas testé... Embarassed Very Happy
_________________
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
 
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 43.449ms