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 22/11/2024 22:16:47
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 |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Le Spell Hooking est un outil formidable permettant de modifier les sorts de façon systématique ou conditionnelle, à votre goût et avec une simplicité déconcertante, sans aller modifier directement le script du sort. Le tutorial en anglais sur le spell hooking se trouve ici : [http]
1 - Placer sur le module la variable suivante (Editer -> Propriétés du module -> Avancées -> Variables [...]) : Citation : X2_S_UD_SPELLSCRIPT - string - spellhooking 2 - Créer un script qui servira pour tous les sorts "modifiés", qui se nommera donc "spellhooking" dans notre exemple. Ce script sera ensuite toujours le même, quel que soit le sort que l'on désire modifier.
3 - Différents exemples de ce qu'il est possible de faire avec ce script : NWScript : #include "x2_inc_switches" void main() { int nSpell = GetSpellId(); // retourne le niveau du lanceur int nLevel = GetCasterLevel(OBJECT_SELF); // retourne la classe du lanceur int nClass = GetLastSpellCastClass(); int nSpellDC = GetSpellSaveDC(); location lLoc = GetSpellTargetLocation(); object oCible = GetSpellTargetObject(); // si un objet lance le sort, cette fonction retourne l'objet en question object oItemUsed = GetSpellCastItem(); if(nSpell == SPELL_FIREBALL) { if(!GetIsObjectValid(GetItemPossessedBy(OBJECT_SELF, "COMPO_BDF"))) { SetModuleOverrideSpellScriptFinished(); SendMessageToPC(OBJECT_SELF, ""); } } if(GetTag(GetArea(OBJECT_SELF)) == "ZONE_ANTIMAGIE") { SetModuleOverrideSpellScriptFinished(); SendMessageToPC(OBJECT_SELF, "La magie ne semble pas exister dans cet endroit..."); } if(nSpell == SPELL_HEAL) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectResurrection(), oCible); } } _________________ » Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine » 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII Dernière édition par finipe le 29/09/2006 13:12:26; édité 1 fois
|
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Pour que le spell hooking fonctionne également sur les PNJ, il faut ajouter une variable supplémentaire :
Citation : X2_L_WILD_MAGIC - int - TRUE Seulement, il ne faut pas l'ajouter sur le module, mais sur chaque zone du module dans laquelle le spell hooking doit s'appliquer aux PNJ.
Il est également recommandé de mettre le script de spell hooking en cache, tout particulièrement si on l'utilise pour les PJ et les PNJ. _________________ » Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine » 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII |
Revenir en haut | |
ballestolive Ecuyer Messages: 64 Localisation: A 35 KM Sud de Paris. |
Le lien vers le tuto et le spell hooking est mort !!!
Quelqu'un serait-il ou on peux trouver ces deux éléments ?? Merci à tous. _________________ Coordinateur du projet LanceDragon VF un module pour NWN2. [http] |
Revenir en haut | |
Ivellios Légende vivante Messages: 447 Localisation: Poitiers |
Le tuto sur le spellhooking suffit de télécharger le lexicon sur la vault et d'aller voir dans la partie tuto (sinon il y a [ce lien] mais les parties code ne sont pas encadrées).
PS : Ce serait bien de changer l'adresse dans les balises code "nwnlexicon.com" par "nwn1.nwn2lexicon.com" pour que les liens sur fonctions soit valides. _________________ Scripts, systèmes, fonctions,... c'est par ici... Pyjama pour castor, une vocation, un avenir sûr |
Revenir en haut | |
ballestolive Ecuyer Messages: 64 Localisation: A 35 KM Sud de Paris. |
Merci à toi, Ivellios.
Je pensai que c'était un système de scripts beaucoup plus comséquent !!! Je plonge là dedans. Merci encore _________________ Coordinateur du projet LanceDragon VF un module pour NWN2. [http] |
Revenir en haut | |
zogzog59 Grand Chevalier Messages: 123 |
bonjour je n'arrive pas a interdire le sort enveloppe acide en appliquant le spell hooking pourtant je met bien la variable "X2_S_UD_SPELLSCRIPT" ensuite type " string" et la valeur " le nom du script" et je met le scrip suivant :
NWScript :
#include "x2_inc_switches" void main() { int nSpell = GetSpellId(); // retourne le niveau du lanceur int nLevel = GetCasterLevel(OBJECT_SELF); // retourne la classe du lanceur int nClass = GetLastSpellCastClass(); int nSpellDC = GetSpellSaveDC(); location lLoc = GetSpellTargetLocation(); object oCible = GetSpellTargetObject(); // si un objet lance le sort, cette fonction retourne l'objet en question object oItemUsed = GetSpellCastItem(); if(nSpell == SPELL_MESTILS_ACID_SHEATH) { if(!GetIsObjectValid(GetItemPossessedBy(OBJECT_SELF, "COMPO_BDF"))) { SetModuleOverrideSpellScriptFinished(); SendMessageToPC(OBJECT_SELF, ""); } } } si une aimable personne pourrai m'aider ??? en vous remerciant _________________ Les vaux module rp |
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