La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/09/2024 00:26:54


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Torghal Torchbière
Acolyte
Inscrit le: 11 Oct 2002
Messages: 27
Localisation: taverne du petit homme comblé
Répondre en citant
Posté le : 22/08/2005 18:03:01 Sujet du message : Pierre d'Antimagie

Bonjour à tous.

Voilà, je voudrais creer une pierre qui lorsqu'on l'active crée une zone de magie morte qui empêche l'utilisation de la magie.
J'ai donc essayé ce script dans le onActivateItem du module
NWScript :
#include "x2_inc_switches"

void main()
{
if(GetTag(GetItemActivated()) == "magiemorte")
  {
    SetModuleOverrideSpellScriptFinished();
}
}
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.

mais ça ne marche pas. Pouvez vous m'aider?
_________________
Une bonne chope est une chope vide. A boire
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Raudgers
Ecuyer
Inscrit le: 08 Aoû 2005
Messages: 46
Localisation: En furtif à coter de toi...
Répondre en citant
Posté le : 28/08/2005 12:12:36 Sujet du message :

Je ne peut t' aider sans plus de presision, qui active la pierre ? le joueur ?
Dans le dout et pour essayer de t' aider sans plus d' information je ne peut fair que cela pour toi :

NWScript :
//Raudgers Dimanche 28 Aout 2005.
void main()
{
object oPC = GetEnteringObject();
if (GetIsPC(oPC))
  {
  effect eSpellFailure = EffectSpellFailure(100, SPELL_SCHOOL_GENERAL);
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSpellFailure, oPC);
  }
}
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.


Si tu met cela dans le OnEnter d' une zone tout les casteur ont un echec de sort de 100%
_________________
I need your help.Give light to me please.
J'ai besoin de votre aide. Donnez-moi la lumière s'il vous plaît.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Torghal Torchbière
Acolyte
Inscrit le: 11 Oct 2002
Messages: 27
Localisation: taverne du petit homme comblé
Répondre en citant
Posté le : 28/08/2005 23:50:12 Sujet du message :

Heu... Hé bien non, l'idée n'ai pas de faire une zone dans laquelle les mages ne peuvent lancer de sort, mais de faire un item, qui quand il est activé par le PC empeche toute magie de se produire, notemment la magie lancée par les mages adverses (ton script empeche le pc de lancer des sorts).
_________________
Une bonne chope est une chope vide. A boire
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 29/08/2005 13:15:02 Sujet du message :

En utilisant le Spell Hooking c'est très facile. Voici le tutorial : [http]

Pour adapter ça à ton cas il faudrait mettre le script suivant sur le OnActivateItem du module :

NWScript :
void main()
{
    object oItem = GetItemActivated();
    object oPC = GetItemActivator();

   
   
    if(GetTag(oItem) == "BATON_ANTIMAGIE")
    {
        SetLocalInt(GetArea(oPC), "ANTIMAGIE", 1);
    }
}
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.


Et dans le script "sort_alternatif" (cf. tuto sur spell-hooking), il suffit d'ajouter une ligne de condition :
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), "ANTIMAGIE") == 1)
    {
       
        SetModuleOverrideSpellScriptFinished();
        SendMessageToPC(OBJECT_SELF, "Il n'y a plus de magie ici");
    }
}
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.


Et le tour est joué.

PS : n'oublie pas de remettre la variable "ANTIMAGIE" de la zone à 0 à un moment ou un autre (sortie de zone, delaycommand...)
_________________
» 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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Torghal Torchbière
Acolyte
Inscrit le: 11 Oct 2002
Messages: 27
Localisation: taverne du petit homme comblé
Répondre en citant
Posté le : 29/08/2005 13:49:13 Sujet du message :

J'ai fait exactement comme tu as dis, et ça ne marche pas. Crying or Very sad
C'est vraiment bizarre car je vois pas du tout où est l'erreur Mad
_________________
Une bonne chope est une chope vide. A boire
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 29/08/2005 13:53:43 Sujet du message :

As-tu bien placé la variable X2_S_UD_SPELLSCRIPT avec la valeur "sort_alternatif" sur le module ? Sinon le spell hooking n'est pas activé !
_________________
» 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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Torghal Torchbière
Acolyte
Inscrit le: 11 Oct 2002
Messages: 27
Localisation: taverne du petit homme comblé
Répondre en citant
Posté le : 29/08/2005 14:13:26 Sujet du message :

Oui, j'ai fait comme dans le tuto.
Je ne comprend vraiment pas pourquoi ca ne marche pas.
_________________
Une bonne chope est une chope vide. A boire
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 29/08/2005 19:02:48 Sujet du message :

Tu as donc oublié ou mal fait qqchose : je viens de tester, ça fonctionne.
_________________
» 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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Raudgers
Ecuyer
Inscrit le: 08 Aoû 2005
Messages: 46
Localisation: En furtif à coter de toi...
Répondre en citant
Posté le : 30/08/2005 00:21:29 Sujet du message :

J' ai tester aussi, ça fonctionne.
_________________
I need your help.Give light to me please.
J'ai besoin de votre aide. Donnez-moi la lumière s'il vous plaît.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Torghal Torchbière
Acolyte
Inscrit le: 11 Oct 2002
Messages: 27
Localisation: taverne du petit homme comblé
Répondre en citant
Posté le : 30/08/2005 10:17:26 Sujet du message :

En fait, chez moi, ca ne fonctionne que pour le PC, les ennemis eux ne sont pas affecté, ce qui enleve beaucoup de son interet a cette pierre Confused

Chez vous ca marche pour les ennemis aussi?
_________________
Une bonne chope est une chope vide. A boire
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 30/08/2005 12:57:55 Sujet du message :

En disant "ennemi" tu désignes qui exactement ? Les JOUEURS ennemis ou bien les MONSTRES / PNJ ennemis ?
_________________
» 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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Torghal Torchbière
Acolyte
Inscrit le: 11 Oct 2002
Messages: 27
Localisation: taverne du petit homme comblé
Répondre en citant
Posté le : 30/08/2005 15:20:28 Sujet du message :

Les monstres, les pnj..

La nouvelle question est donc : est ce que le spell hoocking fonctionne pour les pnj??

Pasque chez moi ça a pas l'air de marcher
_________________
Une bonne chope est une chope vide. A boire
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 01/09/2005 14:57:14 Sujet du message :

A vrai dire je ne sais pas. Je ne vois pas pourquoi ça ne marcherait pas pour les PNJ puisque les événements utilisés dans le spell hooking fonctionnent pour les PNJ dans d'autres scripts (GetCasterLevel, GetLastSpellCastClass, GetSpellTargetLocation, etc.)

Il n'y a pas à ma connaissance de distinction entre PJ et PNJ dans ces événements, donc a priori aucune raison pour que ça fonctionne pour les uns et pas pour les autres.

Si quelqu'un a des infos/idées/pistes sur la question...
_________________
» 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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Torghal Torchbière
Acolyte
Inscrit le: 11 Oct 2002
Messages: 27
Localisation: taverne du petit homme comblé
Répondre en citant
Posté le : 05/09/2005 17:55:45 Sujet du message :

Mais chez vous, est-ce que ça marche pour les pnj?
_________________
Une bonne chope est une chope vide. A boire
 
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 236.738ms