La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 28/12/2024 10:19:50


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
KaG
Légende vivante
Inscrit le: 30 Sep 2002
Messages: 445
Localisation: Rodez (12)
Répondre en citant
Posté le : 04/10/2002 12:07:35 Sujet du message : Sieges

Hello

Encore et toujours moi Razz

Comment fait on s'asseoir un NPC sur un siège?

En fait je ne veux pas nécéssairement le voir faire l'action, mais simplement qu'il soit assis dessus.

Thx d'avance
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
Konrad
Grand Maître Chanteur du Conseil
Inscrit le: 30 Sep 2002
Messages: 1258
Localisation: Empire d'Halöven
Répondre en citant
Posté le : 04/10/2002 12:32:43 Sujet du message :

Comme c'est bientot le week end et que j'ai pas beaucoup de boulot au bureau, je vais me montré très généreux Very Happy :

Code :

//:://////////////////////////////////////////////
/*

*/
//:://////////////////////////////////////////////
//:: Created By: SackMoo
//:: Created On: 2 septembre 2002
//:://////////////////////////////////////////////
//::///////////////////////////////////////////////
//:: Name  pc_assoir
//:: FileName  pc_assoir.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*

*/
//:://////////////////////////////////////////////
//:: Created By: SackMoo
//:: Created On: 2 septembre 2002
//:://////////////////////////////////////////////

void main()
{
   object oUtilisateur = GetLastUsedBy (); // l'utilisateur d l'objet
   object oChaise; // déclaration de variable
   if (GetIsPC(oUtilisateur)) // si l'utilisateur est un joueur (PC)
   {
       oChaise = GetNearestObjectByTag ("Chaise", oUtilisateur, 0);
// Chaise (ou ce que vous voudrez) est le tag que doit avoir l'objet; une chaise, banc, tabouret, ect. Du moins, avec GetNearestObjectByTag() le joueur essayera d'aller s'assoir sur l'objet le plus proche et portant ce tag.

       if (GetIsObjectValid(oChaise) && !GetIsObjectValid (GetSittingCreature (oChaise)))
// regarde si l'objet Chaise est un objet valide et si quelqu'un ne serait pas déjà assis dessus.
       {
           AssignCommand (oUtilisateur, ActionSit (oChaise)); // Assit le joueur sur l'objet Chaise
       }
   }
}
ATTENTION : Ce script doit être dans le OnUsed de l'objet.


 Assoir un PNJ (personnage non-joueur) sur une chaise, banc, ect :

* Ce script est déjà présent dans le jeu sous le nom de NW_C2_SITTING sous All Ressources

//::///////////////////////////////////////////////
//:: NW_C2_SITTING.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
 Will make the NPC sit down
*/
//:://////////////////////////////////////////////
//:: Created By:
//:: Created On:
//:://////////////////////////////////////////////

void main()
{

  if (!GetIsInCombat() && !IsInConversation(OBJECT_SELF))
  if (GetCurrentAction() != ACTION_SIT)
  {
       ClearAllActions();
       int i = 1;
       // trouver la premiere chaise de libre
       object oChaise = GetNearestObjectByTag("Chaise", OBJECT_SELF,i);
       int bFoundChair = FALSE;
       while (bFoundChair == FALSE && GetIsObjectValid(oChaise) == TRUE)
       {
         // Cette chaise est libre
         if (GetIsObjectValid(GetSittingCreature(oChaise)) == FALSE)
         {
             bFoundChair = TRUE;
             ActionSit(oChaise); // le NPJ s'assoit
         }
         else // pas de chaise libre, alors on en cherche une autre
         {
             i++;
             oChaise = GetNearestObjectByTag("Chaise", OBJECT_SELF,i);
         }
       }
       if (bFoundChair == FALSE)  // on a trouver aucune chaise, objet ou s'assoir
       {
          ClearAllActions();
          ActionPlayAnimation(ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD);
       }
   }
}
ATTENTION : Ce script doit être dans le OnHeartBeat de l'objet si vous voulez qu'il se rassoit après un combat ou une discution.

Voila deux scripts de base très utile !


 Maintenant, voici comment faire assoir un joueur sur le sol. Le script doit être placer dans le OnUsed d'un objet :

void main()
{
   // joueur qui va executer l'animation
   object oPC=GetLastUsedBy();
   // type d'animation; ici c'est s'assoir sur le sol
   int nAnimation = ANIMATION_LOOPING_SIT_CROSS;
   // vitesse d'execution de l'animation; ici normale
   float fVitesse = 1.0;
   // duree, en seconde, de l'animation; ici le joueur va rester au sol 1000 sec ou jusqu'a ce qu'il se releve
   float fDuree = 1000.0;

   AssignCommand(oPC, ActionPlayAnimation(nAnimation,fVitesse,fDuree));
   // Ici on assigne au joueur oPC l'action de d'executer l'animation nAnimation pour fDuree de seconde

}
Pour faire assoir un PNJ, il suffit de remplacer le object oPC=GetLastUsedBy() ; par object oPC=OBJECT_SELF ; et de mettre le tout dans son OnHeartBeat.




Merci qui ?
_________________
Le site du Module Dragon Noir
Le groupe du Module L5A - L'ombre et la Lumière
Crimson Skies
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
KaG
Légende vivante
Inscrit le: 30 Sep 2002
Messages: 445
Localisation: Rodez (12)
Répondre en citant
Posté le : 04/10/2002 13:53:30 Sujet du message : huhu

MÂRCHI KONRAD!

Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Numéro ICQ 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 39.37ms