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 23/11/2024 12:44:14
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 |
Tuyen Demi-dieu Messages: 460 Localisation: Chez moi |
Bonjour, je voulais savoir comment on pourrait faire pour créer des statues de créatures existantes dans le jeu. En effet le nombre de statues est assez restreint et je le comprends puisque les gens vont pas faire une statue pour chaque créature.
C'est là que j'ai eu l'idée d'en faire un script... L'effet peau de pierre convient très bien, et combiné avec la paralysie, le tout de manière permanente, ferait de la créature une parfaite statue. Donc j'ai fait un petit script que j'ai mis dans le OnSpawn de la créature... Et OH SURPRISE... cela ne marche pas!!! pour changer lol! Voici mon script, il se compile bien, alors si vous pourriez me dire ce qui va pas merci bien Code : void main()
{ effect eParalysie = EffectVisualEffect (VFX_DUR_PARALYZED, FALSE ); effect ePeaudepierre = EffectVisualEffect (VFX_DUR_PROT_GREATER_STONESKIN, FALSE ); ApplyEffectToObject (DURATION_TYPE_PERMANENT, EffectStunned(), OBJECT_SELF, 0.0); ApplyEffectToObject (DURATION_TYPE_PERMANENT, EffectParalyze(), OBJECT_SELF, 0.0); ApplyEffectToObject (DURATION_TYPE_PERMANENT, ePeaudepierre, OBJECT_SELF, 0.0); ApplyEffectToObject (DURATION_TYPE_PERMANENT, eParalysie, OBJECT_SELF, 0.0); } |
Revenir en haut | |
Lavok Légende vivante Messages: 434 Localisation: Sphère planaire |
Avec une durée de 0.0, c'est pas étonnant ! Seuls les effets temporaires demandent une précision de temps.
EDIT : Merci de la précision, mais ça n'empêche pas que c'est inutile de mettre 0.0. Enfin, j'avais déjà essayé de faire des statues MAIS malheureusement l'effet de paralysie n'est pas total (les statues bougent de la tête, regardent un peu à droite et à gauche, ridicule ). Je n'ai pas essayé avec l'effet stunned, j'espère pour toi que celui-là permet une vraie immobilité. Sinon, attends Shadows of Undrentide ! _________________ ToB : Une seule chose semble certaine : tant que le trône de sang de Bhaal restera vide, le chaos règnera. Moi : Une seule chose semble certaine : tant que la tête de singe de Bush restera vide, le chaos règnera. Dernière édition par Lavok le 17/06/2003 10:34:56; édité 1 fois
|
Revenir en haut | |
Taern Ecuyer Messages: 45 Localisation: 92 |
Non non, préciser une durée dans ce cas ne change rien à l'effet (0.0 est la valeur par défaut de la fonction, la réécrire ou pas dans le script revient exactement au même).
En fait, je ne vois pas d'où vient le problème Essaie peut-être de ne mettre que peau de pierre et un effet de paralysie (cl'effet "paralysie" est accompagné d'un clignotement bleuté pas forcément souhaitable donc essaie éventuellement EffectCutSceneDominated). De toutes façons, la paralysie ne sera jamais totale. La créature continuera de respirer, de tourner la tête etc. Une bonne chose est de descendre sa vitesse de déplacement à "immobile" dans ses caractéristiques, histoire d'avoir une sécurité en plus Et puis bon, il va effectivement falloir attendre SoU pour avoir droit à un vrai effet de pétrification |
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Taern a écrit : Et puis bon, il va effectivement falloir attendre SoU pour avoir droit à un vrai effet de pétrification Pour ceux qui ont la VO ça ne devrait plus être trop long _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
Asan Grand Chevalier Messages: 101 |
Une solution qui serait valable c'est de créer un nouvel objet en
utilisant le modèle d'une créature, mais un model d'objet, donc parfaitement immobile (donc plus bersoin de script et de prise de tête), moi j'aimerais bien savoir où sont stockés les modèles, comment en extraire et en remettre voui je suis un débutant |
Revenir en haut | |
Tuyen Demi-dieu Messages: 460 Localisation: Chez moi |
Asan, j'ai déjà eu cette idée.
En fait ce que j'ai fait, c'est d'éditer le fichier appearance.2da et placeable.2da. J'ai créé une nouvelle entrée dans le fichier placeable, et comme modèle j'ai recopié le nom d'un fichier *.MDL existant dans le fichier appearance.2da. Je ne sais pas si je me suis bien fait comprendre, mais en gros j'ai voulu donner à un placable l'apparence d'une créature. Le placable étant immobile, je pensais pouvoir réussir. Cependant quand je lance l'éditeur et compagnie, j'ai créé un nouveau placable et j'ai cherché le nom de ma nouvelle entrée. Etant donné que j'avais choisi comme nom de modèle un dragon, j'ai effectivement eu un dragon, mais tous ses membres étaient dépliés, on aurait une bestiole mal empaillée! lol!... Hum... ca faisait pas très esthétique et encore moins naturel! , j'ai donc laissé tombé l'idée. |
Revenir en haut | |
Asan Grand Chevalier Messages: 101 |
Dommage, c'est bizarre. Il doit bien y avoir un moyen
d'exploiter cette méthode. Je ferais bien un essai mais comme je m'y connais plus en 3d qu'en nwn, tu pourrais me détailler un peu plus précisement où trouver les fichiers .2da, les types de fichiers qu'il accepte comme modèles, où les mettre, les logiciels que tu as employé ect ect enfin tu vois ca serait sympa et mon premier test ca sera pour la statue. |
Revenir en haut | |
Tuyen Demi-dieu Messages: 460 Localisation: Chez moi |
ALors les fichiers *.2da sont des fichiers textes. Ils listent tout ce qui a besoin d'être listé dans NWN Je ne sais pas si je me suis bien fait comprendre! lol!... En fait ils indiquent au jeu où trouver les ressources nécessaires. Il y a des fichiers .2DA pour tout, comme les apparances des créatures, les apparences des objets placables, les portraits de persos, les pièces d'armures, etc, etc...
Tu peux les trouver dans ton répertoire C:/Neverwinter Nights/NWN/sources. Pour les ouvrir et les modifier, il suffit d'avoir Notepad ou Word, ou n'importe quelle éditeur de texte. Par contre si tu veux tripatouiller les modèles ou les textures, il faut avoir des éditeurs appopriés, comme 3DS max pour les modèles en 3D ( cherche sur biiiiiip ), ou Adobe Photoshop pour éditer les textures qui sont au format .TGA. Tu devrais aller faire un tour sur l'excellent site de NW Vault, il y a tout ce qu'un fan de NWN peut rêver de trouver!... Et entre autres des centaines de logiciels pour tout et n'importe quoi! EDIT de Cassin : on évite de donner des tuyaux pour pirater ici STP |
Revenir en haut | |
Taern Ecuyer Messages: 45 Localisation: 92 |
La manip' d'Asan est faisable, mais un peu compliquée
Il faut ouvrir le modèle de la créature sous un éditeur 3d, positionner ses membres correctement (différemment de la position par défaut dont parle Tuyen), en faire un modèle de plaçable (je connais pas vraiment les détails) et l'exporter Ensuite, hop une entrée dans le plaçable.2da et c'est gagné. Cela dit, je n'ai jamais testé D'autre part, l'opération se complexifie un peu si on veut garder les textures originelles de la créature. Vala. |
Revenir en haut | |
Asan Grand Chevalier Messages: 101 |
Et les textures? elles sont autre part? ou alors juste dans des listes?
|
Revenir en haut | |
Tuyen Demi-dieu Messages: 460 Localisation: Chez moi |
Je ne pense pas qu'il existe un fichier .2da pour lister les textures...
En fait je crois plutot que les fichiers modèles ( *.MDL ) peuvent être aussi édités par un éditeur de texte comme bloc-note... Non en fait j'en suis sur! ... Là dedans le nom de la texture que ce modèle utilise doit y être... Le truc c'est que c'est carrément trop complexte j'ai déjà ouvert un fichier modèle sous notepad je peux vous dire que je l'ai refermé tout de suite! ... |
Revenir en haut | |
Asan Grand Chevalier Messages: 101 |
J'apprends petit a petit, je vais bien finir par trouver .
|
Revenir en haut | |
Taern Ecuyer Messages: 45 Localisation: 92 |
Effectivement on peut ouvrir des fichiers .mdl sous notepad. Mais à condition que ledit fichier ne soit pas codé en ASCII, sinon là ça devient tout simplement illisible Quand ce n'est pas le cas (ce qui apparemment ne change rien à la manière dont est géré le modèle dans le jeu), alors le fichier est lisible, quoique quand même compliqué
A vrai dire je ne saurais pas vraiment comme changer les textures mais bon regarde quand même, au cas où ça serais pas si compliqué que ça. |
Revenir en haut | |
Asan Grand Chevalier Messages: 101 |
Je me ferais un plaisir de vous dire ca quand je trouverais,
si je trouve mais j'espère bien quand même |
Revenir en haut | |
Ailesnoires Grand Chevalier Messages: 110 Localisation: Vendée |
***ATTENTION NECROMANCIE***
Je relance ce poste car je cherche à faire des statues ! (Vous n'aviez pas deviné?) Si quelqu'un à trouvé qu'il me fasse signe je continue les recherches de mon coté mais comme j'ai plus d'une casserole sur le feu ça rique d'être long ^^. pour le moment je lance une animation en rdm ainsi que le délay de la pétrif. Les effets que j'utilise sont Linked NWScript :
effect ePetrif1 = EffectPetrify(); effect ePetrif2 = EffectVisualEffect(VFX_DUR_PROT_STONESKIN); effect eLink = EffectLinkEffects(ePetrif1, ePetrif2); DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, OBJECT_SELF)); seulement les "statues" n'en sont pas et jouent l'animation. J'ai regardé le sort de base de la pétrification mais il n'y a pas l'effet peau de pierre ni l'effet "freeze". De plus certainnes créature voit un rocher tourner autour d'elles en peau de pierre.(je n'ai qu'a me passer de ces céatures) je vais me pencher sur le cutscene. |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
J'ai trouvé mais attention il y a un problême , pour ne pas que la creature statufiée prenne une pose stupide , il faut attendre qu'un pj puisse voir la créature AVANT qu'elle ne soit statufiée ( sinon elle prends une pose a la con ) , ce qui est un peu dommage .... Et si je me rapelle bien , même si on met la " perception " a fond , le simple fait que la creature ne se transforme en statue avant que le pj puisse la voir lui fait prendre la pose stupide.
Autre chose , pour ne pas que cette statue/creature puisse être statufiée , il m'a fallu obligatirement ne PAS cocher la case " intrigue " , sinon ça ne marchais pas , donc il faut penser a " blinder " la creature avec des objets pour la proteger des attaques. Je vais essayer de te retrouver le script ce soir _________________ " La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG " La véritable école du Commandement est la culture générale. " CdG " Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F " La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG " La fin de l'espoir est le commencement de la mort. " CdG |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
bon , je viens d'essayer , ça marche pas mal .....
Voila ce que tu dois faire : tu va dans les scripts de la creature a statufier , dans le " onconversation " , tu met un script stupide du genre : NWScript :
fdshjsfjs et tu sauvegarde sous le nom de ton choix. Ca sert a forcer la creature même statufiée a rester indiférente quand un pj essaye de lui parler ( sinon elle se tourne vers lui ). Tu va dans le " onperception " , et tu rajoute la ligne de script : 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.
ça sert a pétrifier lorsque le joueur est repéré. Puis tu va dans le " onspawn " , et tu rajoute la ligne : 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.
Ca sert a empêcher la creature de bouger ( ça marche aussi sur les pj ! ) Donc avec tout ça , tu devrais trouver ton bonheur ! _________________ " La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG " La véritable école du Commandement est la culture générale. " CdG " Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F " La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG " La fin de l'espoir est le commencement de la mort. " CdG |
Revenir en haut | |
Ailesnoires Grand Chevalier Messages: 110 Localisation: Vendée |
j'essaie ça tout de suite ^^
J'ai trouvé beaucoup mieux et je pense ne pas être très loin de la perfection Comme tu l'as dis il faut mettre un script bidon dans OnConversation : NWScript :
qsdfgsdg Puis dans le OnSpawn : NWScript :
void main() { //choix aleatoire de l'animation int iRdm; int iAnim; int iAnim1 = ANIMATION_LOOPING_CONJURE1; int iAnim2 = ANIMATION_LOOPING_LOOK_FAR; int iAnim3 = ANIMATION_LOOPING_PAUSE; int iAnim4 = ANIMATION_LOOPING_GET_LOW; int iAnim5 = ANIMATION_LOOPING_GET_MID; int iAnim6 = ANIMATION_LOOPING_PAUSE_TIRED; int iAnim7 = ANIMATION_LOOPING_SPASM; int iAnim8 = ANIMATION_LOOPING_TALK_LAUGHING; int iAnim9 = ANIMATION_LOOPING_TALK_PLEADING; int iAnim10 = ANIMATION_LOOPING_WORSHIP; int iAnim11 = ANIMATION_LOOPING_PAUSE_TIRED; int iAnim12 = ANIMATION_LOOPING_PAUSE_DRUNK; int iAnim13 = ANIMATION_LOOPING_TALK_FORCEFUL; int iAnim14 = ANIMATION_LOOPING_PAUSE2; int iAnim15 = ANIMATION_LOOPING_LISTEN; iRdm = Random(15); if (iRdm == 1){iAnim = iAnim1;} if (iRdm == 2){iAnim = iAnim2;} if (iRdm == 3){iAnim = iAnim3;} if (iRdm == 4){iAnim = iAnim4;} if (iRdm == 5){iAnim = iAnim5;} if (iRdm == 6){iAnim = iAnim6;} if (iRdm == 7){iAnim = iAnim7;} if (iRdm == 8){iAnim = iAnim8;} if (iRdm == 9){iAnim = iAnim9;} if (iRdm == 10){iAnim = iAnim10;} if (iRdm == 11){iAnim = iAnim11;} if (iRdm == 12){iAnim = iAnim12;} if (iRdm == 13){iAnim = iAnim13;} if (iRdm == 14){iAnim = iAnim14;} if (iRdm == 15){iAnim = iAnim15;} //Groupement des effets effect ePetrif1 = ExtraordinaryEffect(EffectPetrify()); effect ePetrif2 = ExtraordinaryEffect(EffectVisualEffect(VFX_DUR_PROT_STONESKIN)); effect eLink = EffectLinkEffects(ePetrif1, ePetrif2); //DelayCommand pour que la creature prenne une pause DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, OBJECT_SELF)); //lancement de l'animation AssignCommand(OBJECT_SELF,ActionPlayAnimation(iAnim, 0.00001)); } PS : Je ferais un tri pour les animations car certainne se jouent quand même avec cette vitesse. PS2 : J'attend vos avis |
Revenir en haut | |
Djezebel Héros Messages: 252 |
J'ai testé et je me demande pourquoi mettre autant de pauses : les personnages restent chez moi en position immobile, comme si on avait juste mis :
NWScript :
void main() { effect ePetrif1 = ExtraordinaryEffect(EffectPetrify()); effect ePetrif2 = ExtraordinaryEffect(EffectVisualEffect(VFX_DUR_PROT_STONESKIN)); effect eLink = EffectLinkEffects(ePetrif1, ePetrif2); DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, OBJECT_SELF)); } Cependant l'effets des animations et des "pauses" des statues m'intéressent beaucoup |
Revenir en haut | |
Ailesnoires Grand Chevalier Messages: 110 Localisation: Vendée |
Ta statue respire, les miennes sont totalement immobiles.
j'ameliore encore la statufication. |
Revenir en haut | |
Ailesnoires Grand Chevalier Messages: 110 Localisation: Vendée |
Je propose ceci :
dans le onconversation : NWScript :
fdshjsfjs dans le OnSpawn: NWScript : void main() { //choix aleatoire de l'animation int iRdm; int iAnim; int iAnim1 = ANIMATION_LOOPING_CONJURE1; int iAnim2 = ANIMATION_LOOPING_LOOK_FAR; int iAnim3 = ANIMATION_LOOPING_PAUSE; int iAnim4 = ANIMATION_LOOPING_GET_LOW; int iAnim5 = ANIMATION_LOOPING_GET_MID; int iAnim6 = ANIMATION_LOOPING_CONJURE2; int iAnim7 = ANIMATION_LOOPING_MEDITATE; int iAnim8 = ANIMATION_LOOPING_SIT_CHAIR; int iAnim9 = ANIMATION_LOOPING_SIT_CROSS; iRdm = Random(9); if (iRdm == 1){iAnim = iAnim1;} if (iRdm == 2){iAnim = iAnim2;} if (iRdm == 3){iAnim = iAnim3;} if (iRdm == 4){iAnim = iAnim4;} if (iRdm == 5){iAnim = iAnim5;} if (iRdm == 6){iAnim = iAnim6;} if (iRdm == 7){iAnim = iAnim7;} if (iRdm == 8){iAnim = iAnim8;} if (iRdm == 9){iAnim = iAnim9;} //Groupement des effets effect ePetrif1 = EffectPetrify(); effect ePetrif2 = EffectVisualEffect(VFX_DUR_PROT_STONESKIN); effect eLink = ExtraordinaryEffect(EffectLinkEffects(ePetrif1, ePetrif2)); //DelayCommand pour que la creature prenne une pause DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, OBJECT_SELF)); //lancement de l'animation DelayCommand(1.0, AssignCommand(OBJECT_SELF,ActionPlayAnimation(iAnim, 0.000001))); DelayCommand(2.5, SetPlotFlag(OBJECT_SELF, TRUE)); DelayCommand(2.5, SetImmortal(OBJECT_SELF,TRUE)); } |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
j'ai pas tout compris .... le but était de transformer des personages en statues mais de les faire bouger quand même ?
_________________ " La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG " La véritable école du Commandement est la culture générale. " CdG " Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F " La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG " La fin de l'espoir est le commencement de la mort. " CdG |
Revenir en haut | |
Ailesnoires Grand Chevalier Messages: 110 Localisation: Vendée |
non faire de vrais statues vraiment immobile hors effectpetrify() de les figent pas
Les animations joué à cette vitesse font paraitre les statues immobiles PS : ne pas mettre de vent dans la zone |
Revenir en haut | |
Seth de Sombrelune Seigneur Messages: 156 |
IL y avait un topic (je sait plus où) pour faire des statue viviante (de npc). Mais il y a un souci pour les monde persistant, c'est que quand tu quite la zone et que tu revient, ton pj a changé de position. Du coup j'avait lancé la pétrification par le biais d'un trigger. LEs npc/tratue etait dans une zone où l'unique acces se faisai par le passage dns le trigger. JE chercherais le script à l'occasion.
|
Revenir en haut | |
Ailesnoires Grand Chevalier Messages: 110 Localisation: Vendée |
c'est pas un problème de l'adapter pour le mettre dans un trigger voir dans le OnEnter
mais si tu veux qu'elles gardent la même position il faut choisir la même animation pour chaque statue. Je verrais si je peux adapter tout ça |
Revenir en haut | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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