La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 13/06/2024 16:58:50


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Haress
Voyageur
Inscrit le: 21 Oct 2006
Messages: 3
Répondre en citant
Posté le : 21/10/2006 21:19:06 Sujet du message : [Question] Comment créer un sort

Bien le bonsoir...
Bon je débute en script...
Mon objectif est en fait de créer un sort qui permettrait de se transformer en gobelin.
(Comme le sort métamorphose permet de se transformer en troll)
Gobelin ou autre (après tout je voudrais juste comprendre plus précisement le fonctionnement)
J'ai donc parcouru des forums à la recherche de tutoriaux pour la création de sorts...
http://planescape_nwn.vosforums.com/ftopic121-0-asc-0.php
Voilà un de ceux que j'ai étudié, cependant il ne traite pas de la totalité de la création du sort, toute la partie scriptage n'est pas présente.
Pour l'instant j'ai donc appliqué la démarche du tutorial ci-dessus, créé un .tlk comme demandé pour le nom; Et regroupé les modifs de spell.2da et iprp_spell.2da dans un hakpack (les noms sont de mémoire peut-être me trompais-je).
Ensuite j'ai utilisé l'éditeur de module, (Aurora) pour scripter mon sort, en me basant sur des scripts de sort déjà fait (métamorphose, dans le cas présent) j'ai donc copié collé en changeant ce qui ne convenait pas (comme l'ID du sort et la polymorphie).
J'ai "lié" ce sort à un objet (un casque qui peut-être "activé")... en scriptant pour que lorsque j'utilise le casque le sort se déclenche (tout du moins en essayant de le faire).
J'ai donc fait un essai de mon module, je récupere le casque à mes pieds, je l'utilise je selectionne mon perso comme cible, et là.... tadam rien (bon vous deviez vous y attendre)
J'ai ensuite compris que je n'avais pas lié mon hakpack, donc je vais dans propriété du module, hakpack, blabla je rajoute le hak.
Je vais donc de nouveau tester et là quand je fais Nouveau->Autres modules-> Bidule (c'est le nom de mon module test) -> Personnage prétiré, la décompression du module s'enclenche et ensuite apparait un message d'erreur disant en gros qu'il manque des choses dans le hakpack...

Donc si quelqu'un avait une idée d'ou pourrait provenir l'erreur ça m'arrangerait.
Ce que j'aimerais bien c'est aussi un tutorial qui guide pour la création de sorts (côté scriptage plutot, et aussi en français car mon anglais est.... médiocre voir pire ^^)
Je vais aussi copier ici le script pour voir les nombreuses erreurs que vous détecterez...
Bon j'espere que ce long paragraphe ne vous aura pas découragé!

NWScript:

NWScript :
#include "x2_inc_spellhook"

void main()


{
  object oItem = GetItemActivated();
  string sItem = GetTag( oItem );
  if ( sItem == "Gobelin11" )

{
    int nSpell = GetSpellId();
    object oTarget = GetSpellTargetObject();
    effect eVis = EffectVisualEffect(VFX_IMP_POLYMORPH);
    effect ePoly;
    int nPoly;
    int nMetaMagic = GetMetaMagicFeat();
    int nDuration = GetCasterLevel(OBJECT_SELF);

    if (nMetaMagic == METAMAGIC_EXTEND)
    {
        nDuration = nDuration *2;
    }


    if(nSpell == 900)
    {
        nPoly = POLYMORPH_TYPE_COW;
    }

    ePoly = EffectPolymorph(nPoly);

    SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_POLYMORPH_SELF, FALSE));


    ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, ePoly, oTarget, TurnsToSeconds(nDuration));
}
}
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.



Ici "nSpell == 900" correspont à l'ID de mon sort dans la liste 2da
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 21/10/2006 21:38:42 Sujet du message :

Lol, déjà pour information, un objet qui contient comme script GetSpellId(); ne marchera pas... pourquoi? Car GetSpellId veut dire Quel est l'ID du sort. Pareil avec GetSpellTargetObject(); ça veut dire la cible atteint par le sort.

Breff, n'essaye pas avec un objet c'est inutile

Pour ce qui concerne comment créer le script de ton sort, c'est simple, tu fais comme ta dis, tu fais un copier coller de ton script. Tu le modifie, mais pas comme tu veux, JUSTE POUR VOIR SI TU ARRIVE A LE FAIRE MARCHER, donc tu fais quelque chose de simple, tu lance un message par exemple. Ensuite, es tu bien sur que le nom de ton script soit liée au fichier 2DA? Aussi, tu n'es pas obligé à ce qu'il soit en hakpak, il faut absolument que le fichier spell.2da soit dans l'override.

Verifie tout cela. Si ton script marche pas encore, refait ta ligne de sort, c'est que tu t'es tromper Smile Ca arrive on s'y perd trés vite Razz J'ai déjà supprimer toutes les classes Razz Razz Razz mdr désolé du HS xD

Black Knight
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Haress
Voyageur
Inscrit le: 21 Oct 2006
Messages: 3
Répondre en citant
Posté le : 22/10/2006 11:40:41 Sujet du message :

Comment je peux lancer le sort si je ne l'attache pas à un objet?
Si tu pouvais m'éclairer là dessus ça m'aiderait, si possible avec un script "modèle"...
Je vais refaire des essais là de suite, avec un script qui dirait un truc du genre "Quand l'objet est activé, affiche le message Bouh"... déjà si j'arrive à faire ça ce sera bien.
Ensuite quand tu dis
Citation :
Ensuite, es tu bien sur que le nom de ton script soit liée au fichier 2DA?
par quel procédé puis-je les lier?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 22/10/2006 12:59:00 Sujet du message :

Normalement, tu as une colone qui lie le script au 2da, pour que dès que le joueur utilise ton sort, le 2da va prendre le nom du script et va le lancer.


Citation :
Comment je peux lancer le sort si je ne l'attache pas à un objet?
Heu... bein tu le lance grance à sa CONSTANT je pense ou a son ID, mais faut la savoir, et suffit que tu ouvre le 2da, tu regarde quel ligne est ton script, puis tu fais un truc du genre :
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.


ou xx est la ligne de ton script, et oPC la cible.
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Enki
Légende vivante
Inscrit le: 06 Déc 2005
Messages: 432
Répondre en citant
Posté le : 22/10/2006 16:12:55 Sujet du message :

Bonjour Haress ! Et bravo de te lancer dans la customisation de sort, ce n'est pas facile du tout si tu débutes !

Tout d'abbord j'observe dans tes commentaires une petite erreur de méthode.

- Soit tu créés un sort (que l'on peut lancer à partir du menu radial, si on possede le sort dans son livre de sort et si on est un personnage de la classe requise (magicien, etc ...) :
Auquel cas tu fais bien de t'inspirer des excellents tutoriaux de Léviathan et de Hitzar, car il faut que tu modifies les fichiers 2da, le tlk, et que tu fasses un script.
- Soit tu créés un objet à pouvoir unique : Dans ce cas, tu n'as qu'à faire un script sans modification de 2da.

Faire les deux n'a à mon avis aucun sens.

Pour faire un objet à pouvoir unique, fais une recherche sur ce forum, tu trouveras de nombreux posts qui en parle, n'hésite pas à demander des choses précises, si jamais tu n'y arrives pas ^^

Bon courage !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14065
Localisation: Quadran Alpha
Répondre en citant
Posté le : 22/10/2006 18:35:10 Sujet du message :

Si tu n'as pas peur de l'anglais, tu as ça :

[http]
_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 22/10/2006 19:41:24 Sujet du message :


Baldurien a écrit :
Si tu n'as pas peur de l'anglais, tu as ça :
-->


Haress a écrit :
et aussi en français car mon anglais est.... médiocre voir pire

_________________
[http]
 
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 26.999ms