La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 28/12/2024 10:12:02
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
Fantome Ecuyer Messages: 63 |
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 | |
Fantome Ecuyer Messages: 63 |
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 ! Merci pour votre aide. |
Revenir en haut | |
Serguai Grand Chevalier Messages: 104 |
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 | |
Fantome Ecuyer Messages: 63 |
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 | |
Serguai Grand Chevalier Messages: 104 |
Arf oui, c'est parce que tu as mis GetNearestObjectByTag("wp_pnjdenuit") à la place de GetObjectByTag("wp_pnjdenuit").
|
Revenir en haut | |
Fantome Ecuyer Messages: 63 |
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. Si vous avez une idée, faites en moi part, je suis preneur. a+ |
Revenir en haut | |
Fantome Ecuyer Messages: 63 |
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 | |
PetitPrince Super-Mouton Messages: 2043 Localisation: Asteroïde B-612 actuellement crashé en Suisse |
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 | |
Fantome Ecuyer Messages: 63 |
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 | |
PetitPrince Super-Mouton Messages: 2043 Localisation: Asteroïde B-612 actuellement crashé en Suisse |
euh non j'ai pas testé...
_________________ 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 | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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