La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 21/09/2024 21:04:16


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Daermon
Légende vivante
Inscrit le: 07 Déc 2002
Messages: 356
Localisation: Près de 4-1
Répondre en citant
Posté le : 15/07/2003 11:10:17 Sujet du message : Spawn d'une créature une seule fois (titre édité)

J'ai créer un script qui permet d'invoquer un extra-planaire, quand le PJ passe sur un déclencheur, et j'ai mis ce script dans le "OnHeartBeat" ( ou quelque chose qui s'en rapproche Embarassed ) du déclencheur. Tout marche comme prévu... sauf que, l'invocation ne s'arrête jamais, alors que mon PJ n'est même pas sur le déclencheur. Du coup, j'ai carrément un monde parallèle qui s'incruste dans mon module Laughing !
Ca, c'est pour mon premier essai ! Pour mon deuxième essai, j'ai mis le script dans le "OnOpen" d'une porte. Là, il n'y a plus d'invasion, mais à chaque fois que j'ouvre la porte, un extra-planaire arrive Embarassed !
Voilà mon problème : "Comment fat-on pour invoquer UNE, et UNE seule créature, quand le PJ passe sur, ou actionne, une chose ?" Surprised
Merci pour vos réponses.

EDIT de finipe : j'ai édité le titre de ton message pour qu'il soit plus explicite Wink
_________________
"Dans la vie, chacun prend son propre chemin. Mais en fin de compte, on se retrouve tous au même endroit..."
 
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 : 15/07/2003 13:08:30 Sujet du message :

C'est tout à fait normal que tes scripts réagissent comme ça Wink

Le OnHeartBeat s'exécute toutes les 6 secondes, donc forcément, au bout d'un moment on se retrouver envahit Wink

Le OnOpen lui s'exécute, comme son nom l'indique, quand on ouvre l'objet (ici, la porte), mais il s'exécute A CHAQUE FOIS Wink


Pour que ça ne s'exécute qu'une seule fois, tu peux mettre une variable dessus, bon, j'ai pas le temps de faire le script là (je suis au boulot Embarassed), mais cherche des posts là-dessus, tu devrais trouver des exemples.

Ca doit donner quelque chose du genre
if variableX = 0
--> Exécute script d'invocation de planaire
else
--> rien
_________________
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
 
Daermon
Légende vivante
Inscrit le: 07 Déc 2002
Messages: 356
Localisation: Près de 4-1
Répondre en citant
Posté le : 16/07/2003 08:58:03 Sujet du message :

ok merci, je te tiens au courant ! mais je te garantis pas que ça va marché : je débute en script Embarassed ...
_________________
"Dans la vie, chacun prend son propre chemin. Mais en fin de compte, on se retrouve tous au même endroit..."
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Vorace
Novice
Inscrit le: 16 Juil 2003
Messages: 7
Répondre en citant
Posté le : 16/07/2003 16:42:59 Sujet du message :

alors ta reussi si ta reussi donne nous le script comme sa tu pourra en faire profiter toute la communauté Razz
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
Daermon
Légende vivante
Inscrit le: 07 Déc 2002
Messages: 356
Localisation: Près de 4-1
Répondre en citant
Posté le : 17/07/2003 21:27:13 Sujet du message :

j'ai essayé ce que tu m'as dit Cassin, mais ce coup-ci, rien ne se passe Surprised ! j'ai mis le script dans le "OnUserDefined" de la porte, comme ça :
Code :

void main()
{

object oPC = GetLastOpenedBy();

if (!GetIsPC(oPC)) return;

object oTarget;
object oSpawn;
oTarget = GetWaypointByTag("invocationdelArchonCanin");

oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "archoncanindoulgesh", GetLocation(oTarget));

oTarget = oSpawn;

AssignCommand(oTarget, ActionStartConversation(oPC, ""));

oTarget = oSpawn;

ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_GATE), GetLocation(oTarget));

}

A la fin, j'ai ajouter un effet visuel, et pour la conversation, c'est normal qu'il n'y a rien. Dites-moi ce qu'il va pas, parce que je m'arrache les cheveux, et ça ménerve Mad !!!
_________________
"Dans la vie, chacun prend son propre chemin. Mais en fin de compte, on se retrouve tous au même endroit..."
 
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 : 18/07/2003 07:32:01 Sujet du message :

Je ne peux pas vraiment vérifier car je n'ai plus NwN en ce moment (j'attend un nouveau disque dur pour le réinstaller Wink ), mais je peux déjà te dire que ton if me paraît bizarre...

Normalement ça devrait plus être quelque chose dans le genre :
Code :
if (GetIsPC(oPC) = TRUE)
{
*commandes*
}
else
{
*autres commandes*
}


Bon, c'est pas très clair mais ça faut un moment que je n'ai pas touché aux scripts, je suis un peu rouillé Embarassed
Regarde d'autres scripts où il y a des if pour avoir la syntaxe exacte 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
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 18/07/2003 12:21:03 Sujet du message :

Si tu veux que la créature apparaisse quand le joueur ouvre une porte, un et une seule fois, procède comme suit :

Sur le onOpen de ta porte :

Code :
void main()
{
object oPC = GetLastOpenedBy();
object oTarget = GetWaypointByTag("invocationdelArchonCanin");

  if(GetLocalInt(oPC, "Monstre_apparu") != 1) //on vérifie la variable pour savoir si la créature a déjà été créée
  {
    if(GetIsPC(oPC) == TRUE)
    {
    CreateObject(OBJECT_TYPE_CREATURE, "archoncanindoulgesh", GetLocation(oTarget));
    SetLocalInt(oPC, "Monstre_apparu", 1); //variable = 1, donc la créature ne sera plus créée ensuite.
    }
  }
}

Maintenant, le principe est le même pour un déclencheur, sauf que object oPC sera alors défini par GetLastEnteringObject()
_________________
» 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
 
Daermon
Légende vivante
Inscrit le: 07 Déc 2002
Messages: 356
Localisation: Près de 4-1
Répondre en citant
Posté le : 18/07/2003 20:41:19 Sujet du message :

Wouhou Very Happy !!! Merci Finipe, et tous les autres aussi bien sûr Laughing . Tous fonctionne, c'est trop fort !!!
Je n'oublierais pas de faire une section "remerciements", et de vous y mettre, pour mon prochain module que je fais en ce moment. Le seul problème c'est que je n'ai pas trop le temps de m'en occupé, pour l'instant. Mais bon, merci quand même Very Happy .
_________________
"Dans la vie, chacun prend son propre chemin. Mais en fin de compte, on se retrouve tous au même endroit..."
 
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 59.515ms