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:52:13
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 |
Elric_GuardianAngel Novice Messages: 5 |
Posté le : 02/12/2003 17:44:39 Sujet du message : Annuler/empecher les effets magiques (sorts) sur un PJ
Bonsoir à tous,
J'aimerais faire en sorte que lorsqu'un ou plusieurs PJ entre dans un zone ils perdent les effets magiques dûs à des sorts. D'autre part je voudrais savoir s'il est possible d'empecher à un PJ de lancer un sort lorsqu'il se trouve dans un zone spécifique ? Merci. //Elric |
Revenir en haut | |
Lavok Légende vivante Messages: 434 Localisation: Sphère planaire |
Pour dissiper TOUS les effets, sauf ceux dûs à des objets portés :
NWScript :
void main() { object oEnter = GetEnteringObject(); effect eEffect = GetFirstEffect(oEnter); while(GetIsEffectValid(eEffect)==TRUE) { RemoveEffect(oEnter, eEffect); eEffect = GetNextEffect(oEnter); } } Quant à empêcher un pnj de lancer un sort, c'est moins évident . L'événement OnSpellCastAt ne convient pas, c'est trop tard, le sort est lancé. Il nous faudrait un OnCastingSpell ! Bon, pour l'instant , je ne vois qu'une "solution" : tu mets comme condition dans l'exécution du script de chaque sort, comme quoi il ne fait effet que si le lanceur n'est pas dans cette zone. C'est assez pharaonique comme boulot , donc si quelqu'un d'autre trouve mieux... _________________ 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. |
Revenir en haut | |
Elric_GuardianAngel Novice Messages: 5 |
Merci,
Pour annuler les effets magique ça fonctionne, par contre pour empecher un sort d'être lancer, c'est pas gagné apparemment. Je pense que je vais attendre un peu pour voir si quelqu'un d'autre à une idée. Encore merci. |
Revenir en haut | |
ansquer Héros Messages: 264 Localisation: MorBihan |
MERCI LAVOK !!!
3 ans apres ^^ merci ... j'ai cherché des heures ^^ _________________ L'année de l'île Tome 1 Un roman ecxeptionnel ! Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp |
Revenir en haut | |
AZAZEL11 Seigneur Messages: 156 |
vais donner une réponse plus complète et qui fait en sorte aussi que le pj ne peut plus lancer de sorts.
dans le onenter de la zone/trigger: NWScript :
#include "x0_i0_spells" void main() { object oPC = GetEnteringObject(); effect eEffect = GetFirstEffect(oPC);//on check les effets des PJs if (!GetIsPC(oPC)) return; { while(GetIsEffectValid(eEffect)) { { RemoveEffect (oPC,eEffect);//on applique effet } eEffect= GetNextEffect (oPC); //on cherche les autres effets } effect eAntimagic; //effet de anti magie en question SendMessageToPC(oPC, ""); eAntimagic = EffectSpellFailure(100, SPELL_SCHOOL_GENERAL); eAntimagic = SupernaturalEffect(eAntimagic); //pour etre sur que on ne parle pas de petit effet... DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eAntimagic, oPC)); ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_DISPEL_GREATER), oPC); } } et dans le onexit de la zone/trigger: NWScript : #include "x0_i0_spells" //fait par Az pour zone de magie morte (sorts seulements)////// ///a mettre dans le OnExit du trigger ou de la zone/////// //16 octobre 2006///// void main() { object oPC = GetExitingObject(); //effect eEffect = GetFirstEffect(oPC);//on check les effets des PJs if (!GetIsPC(oPC)) return; object oTarget; oTarget = oPC; effect eEffect; eEffect = GetFirstEffect(oTarget); { while(GetIsEffectValid(eEffect)) { if(GetEffectType(eEffect) == EFFECT_TYPE_SPELL_FAILURE) { RemoveEffect (oTarget,eEffect);//on applique effet } eEffect= GetNextEffect (oTarget); //on cherche les autres effets } } } _________________ L'imagination est plus importante que le savoir. (Albert Einstein) |
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