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 22:21:45
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 |
BenGorre Légende vivante Messages: 301 |
J'avais une idée avec un ami, j'ai chercher comment la realiser et a part en modifiant chaque script de chaque sort, je vois pas comment faire.
Notre idée est de faire une zone d'entropie: une zone ou quand on lance un sort l'effet du sort est incertain. IL me manque comment voir si un PJ ou PNJ est en train d'incanter. Apres pour l'effet incertain un d20(minimum) et un effet different pour chaque resultat. Voila si quelqu'un pourrait m'aider (si c'est possible). Pour que ce post serve au cas ou, demain jy post mes 2 scripts de zone d'antimagie. _________________ La mort n'est rien seul le fait de mourir est terrible Henry Fielding 1745 Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2. |
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Lis bien ce tutorial sur le spell hooking : [http]
Il te permettra de faire à moindre frais ce que tu désires Pour ton idée précisément, ça devient très simple ! On reprend donc le spell hooking : on crée un script nommé "sort_alternatif", et on place sur le module la variable string suivante : X2_S_UD_SPELLSCRIPT, avec la valeur "sort_alternatif" (puisque c'est le nom qu'on a choisi pour le script regroupant les modifications de sorts). Voilà, ceci étant fait, tout est très facile ! Pour la zone anti magie, il suffit de placer la variable de type integer nommée ZONE_ANTIMAGIE avec la valeur TRUE sur les zones dans lesquelles on ne veut pas de magie, et dans le script sort_alternatif, on inscrit : 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(GetLocalInt(GetArea(OBJECT_SELF), "ZONE_ANTIMAGIE") == TRUE) { SetModuleOverrideSpellScriptFinished(); SendMessageToPC(OBJECT_SELF, "La magie ne semble pas exister dans cet endroit..."); } } Maintenant, pour l'effet aléatoire, on utilise le même principe. Si la zone possède la variable "ZONE_ENTROPIE" à TRUE, alors c'est une zone dans laquelle la magie est aléatoire. On ajoute à la suite du précédent, toujours dans le script "sort_alternatif" le code (je remets le script entier donc) : 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(); //////////////////// // ZONE ANTIMAGIE // //////////////////// if(GetLocalInt(GetArea(OBJECT_SELF), "ZONE_ANTIMAGIE") == TRUE) { SetModuleOverrideSpellScriptFinished(); SendMessageToPC(OBJECT_SELF, "La magie ne semble pas exister dans cet endroit..."); } ////////////////////////// // ZONE MAGIE ALEATOIRE // ////////////////////////// if(GetLocalInt(GetArea(OBJECT_SELF), "ZONE_ENTROPIE") == TRUE) { switch(d20()); { case 1: case 2: // ... case 19: case 20: } } } Et le tour est joué _________________ » 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 | |
BenGorre Légende vivante Messages: 301 |
|
Revenir en haut | |
BenGorre Légende vivante Messages: 301 |
J'ai testé le Spell-Hooking j'ai mis ton 1er exemple avec la boule de feu, mais ca sest appliqué a tous les sorts. Pour chaque sort il me dit quil faut le composant. Bizarre j'ai fais copier coller^^.
_________________ La mort n'est rien seul le fait de mourir est terrible Henry Fielding 1745 Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2. |
Revenir en haut | |
Joubinator Ecuyer Messages: 42 Localisation: Yvelines |
Un mappeur m'a dit dernierement que pour les zones d'entropie, il suffusiait de cocher un case dans les propriétés de la zone .......... à voir et à confirmer !
_________________ M'enfous si les pjs tuent mes monstres,.... j'en ai plein (paroles d'un DM d'expérience ) |
Revenir en haut | |
BenGorre Légende vivante Messages: 301 |
J'ai trouvé pourquoi tas fais une petite erreur dans ta condition(une erreur que j'ai souvent fait).
Dans les conditions il faut toujours mettre == jamais =. ==: sert a verifier une egalité entre 2 variables =: sert a definir une variable donc ca donne: NWScript :
if(nSpell == SPELL_FIREBALL) { if(!GetIsObjectValid(GetItemPossessedBy(OBJECT_SELF, "COMPO_BDF"))) { SetModuleOverrideSpellScriptFinished(); SendMessageToPC(OBJECT_SELF, ""); } } Voila le premier exemple corrigé, tu as fais la meme erreur pour le 3eme... _________________ La mort n'est rien seul le fait de mourir est terrible Henry Fielding 1745 Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2. |
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Hop, encore une des erreurs à la con habituelle, merci de l'avoir signalé, c'est corrigé
_________________ » 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 | |
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