La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 16/05/2024 10:01:23


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Cland Cain
Ecuyer
Inscrit le: 26 Fév 2005
Messages: 66
Répondre en citant
Posté le : 31/08/2006 11:11:01 Sujet du message : Spawn d'un PNJ OnLevelingUp +Dialogue

Salut tout le monde, c'est encore moi.

Cette fois, c'est un réel problème de script.
Donc je souhaite qu'arrivé au niveau 10 de barbare, un PNJ spawn à côté du PJ et lance une conversation.

Voici mon script :
NWScript :
void main()
{
object oPC = GetPCLevellingUp();
object oNPC = GetObjectByTag("PNJ_001");

              /*BARBARE DE NIVEAU 10*/
if (GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) == 10)
    {
    SendMessageToPC(oPC,"");
    CreateObject(OBJECT_TYPE_CREATURE, "PNJ_001", GetLocation(oPC), TRUE);
    AssignCommand(oNPC, ActionStartConversation(oPC, "rage_avancee_001", FALSE, FALSE));
    }
}
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.


Le message marche, mais le reste, non. Sad

Quelqu'un voit d'où vient le problème ?

Merci d'av.
_________________
Hé hé hé ! You you ! - Tutoriaux pour les dialogues (Bases)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Cland Cain
Ecuyer
Inscrit le: 26 Fév 2005
Messages: 66
Répondre en citant
Posté le : 31/08/2006 13:32:28 Sujet du message :

Bon, je pense avoir trouvé quelque chose.

NWScript :
if (GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) == 10)
    {
    SendMessageToPC(oPC,"");
    CreateObject(OBJECT_TYPE_CREATURE, "PNJ_001", GetLocation(oPC), TRUE, "PNJ_001");
    AssignCommand(oNPC, ActionStartConversation(oPC, "rage_avancee_001", FALSE, FALSE));
    AssignCommand(oNPC, ActionJumpToObject(oPC,TRUE));
    }
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.


Et je place le PNJ dans une zone neutre et minuscule.

En tout cas, ça marche.

Nouveau problème maintenant, j'aimerais rajouter à mon script du OnActivateItem, un temps d'arrêt entre deux utilisations.
C-à-d, de ne pouvoir utiliser l'objet "rage_001" que une fois toutes les 120 secondes.

Si utilisation avant la fin des 120Sc,

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.



Peut-être en utilisant une commande comme,
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.

Si vous voyez comment faire, je suis preneur...

Merci d'av.
_________________
Hé hé hé ! You you ! - Tutoriaux pour les dialogues (Bases)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Aladar
Chevalier
Inscrit le: 15 Déc 2004
Messages: 96
Localisation: Tours
Répondre en citant
Posté le : 31/08/2006 16:37:48 Sujet du message :

Pour la limitation d'utilisation toutes les 120 secondes, tu peux utiliser une variable locale.

NWScript :


if(GetLocalInt(oPC, "" != TRUE))
  {
  // On le marque
  SetLocalInt(oPC, "", TRUE);
  /*
  suite de ton code
  */

  // Au bout de 120 secondes on retire la marque, ol peut de nouveau utiliser sa rage
  DelayCommand(120.0, DeleteLocalInt(oPC, ""));
  }
else // Si le PJ essaye d'utiliser sa rage avant les 120 secondes, on lui envois le message
  {
  SendMessageToPC(oPC,"");
  }

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.


Quelque chose comme ça quoi.


Pour le (temps restant), j'ai pas aurora sous la main et là comme ça je sais pas Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Cland Cain
Ecuyer
Inscrit le: 26 Fév 2005
Messages: 66
Répondre en citant
Posté le : 31/08/2006 17:16:51 Sujet du message :

C'est impecable, merci beaucoup Aladar ! Very Happy
Nouveau topic, pour nouveau script...

Arrow
_________________
Hé hé hé ! You you ! - Tutoriaux pour les dialogues (Bases)
 
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 29.393ms