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:34:06
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 |
KaG Légende vivante Messages: 445 Localisation: Rodez (12) |
Hello
Encore et toujours moi 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 | |
Konrad Grand Maître Chanteur du Conseil Messages: 1258 Localisation: Empire d'Halöven |
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 :
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 | |
KaG Légende vivante Messages: 445 Localisation: Rodez (12) |
MÂRCHI KONRAD!
|
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