La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 15:15:07


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Heldar
Seigneur
Inscrit le: 09 Sep 2004
Messages: 169
Localisation: France
Répondre en citant
Posté le : 31/01/2005 17:27:59 Sujet du message : Utilisation d'un objet magique

Voila j'ai un pnj avec un anneau qu'il a equipé et cet anneau peut lancer autant de fois qu'il veut invisibilité suprême dès que le pnj voit un ennemi et qu'il arrete dès que y'en a plus (bien sur faut pas qu'il se batte pendant ce temps là) mais je veux aussi que certain pnj puissent quand même le voir. J'epère que c'est faisable et que vous m'aiderez.
_________________
Heldar qui tue tous les monstres du soir.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Klemmth
Seigneur
Inscrit le: 26 Juin 2004
Messages: 176
Localisation: france
Répondre en citant
Posté le : 31/01/2005 18:37:52 Sujet du message :

Pas facile ce que tu veux, surtout la partie pour que d'autres PNJ puissent le voir.
Je vais essayer de faire le mieux possible...
On va utiliser une sphère de 10m de rayon pour vérifier que le pnj ne voit personne dans cette sphere.

Rajoute dans le OnPerception de ton pnj :

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.



Dans le OnHeartBeat :

NWScript :
void main()
{
  object oTarget = GetFirstObjectInShape( SHAPE_SPHERE, 10.0, GetLocation( OBJECT_SELF ), TRUE, OBJECT_TYPE_CREATURE );
  int nCount = 0;
  effect eInvi = EffectInvisibility( INVISIBILITY_TYPE_IMPROVED );
  while ( GetIsObjectValid( oTarget ) )
  {
    if ( ( GetIsEnemy( oTarget, OBJECT_SELF ) ) && ( !GetIsPC( oTarget ) ) )
    {
      nCount += 1;
    }
    oTarget = GetNextObjectInShape( SHAPE_SPHERE, 10.0, GetLocation( OBJECT_SELF ), TRUE, OBJECT_TYPE_CREATURE );
  }

  if ( nCount == 0 )
  {
    RemoveEffect( OBJECT_SELF, eInvi );
  }
}
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.



Dans le OnHeartBeat des pnj capable de le voir :

NWScript :
void main()
{
  effect eSeeInvi = EffectSeeInvisible();
  object oTarget = GetFirstObjectInShape( SHAPE_SPHERE, 10.0, GetLocation( OBJECT_SELF ), TRUE, OBJECT_TYPE_CREATURE );
  int nCount = 0;

  while ( GetIsObjectValid( oTarget ) )
  {
    if ( oTarget == GetObjectByTag( "tag_de_ton_pj_invisible" ) )
    {
      nCount +=1;
      ApplyEffectToObject( DURATION_TYPE_PERMANENT, eSeeInvi, OBJECT_SELF );
    }
    oTarget = GetNextObjectInShape( SHAPE_SPHERE, 10.0, GetLocation( OBJECT_SELF ),TRUE, OBJECT_TYPE_CREATURE );
  }

  if ( nCount == 0 )
  {
    RemoveEffect( OBJECT_SELF, eSeeInvi );
  }
}
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.



J'ai conscience de la lourdeur du code, et des défauts ( tes pnj verront tous les invisibles tant que le pnj serra dans la zone, et les tests ne se font que toutes les 6 secondes ), mais c'est le seul moyen potable que j'ai trouvé.
_________________
...
Dernière édition par Klemmth le 03/02/2005 18:04:07; édité 3 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Darkavanger
Grand Chevalier
Inscrit le: 15 Déc 2004
Messages: 114
Répondre en citant
Posté le : 31/01/2005 22:29:22 Sujet du message :

Et il ne serait pas possible de faire quelque chose dans OnPerception des PnJ capable de voir le PnJ invisible, avec par exemple le tag de l'anneau?
(Je n'ai pas l'aurora sous les yeux, je suis pas assez balaise pour te faire un script sans ^^)
Enfin si mon système t'interresse, dit le moi, je le posterai ici.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Klemmth
Seigneur
Inscrit le: 26 Juin 2004
Messages: 176
Localisation: france
Répondre en citant
Posté le : 01/02/2005 07:10:21 Sujet du message :

le problème avec le OnPerception, c'est justement le Perception. Si le pnj est invisible, les autres risquent d'avoir du mal à le percevoir...
_________________
...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Heldar
Seigneur
Inscrit le: 09 Sep 2004
Messages: 169
Localisation: France
Répondre en citant
Posté le : 01/02/2005 12:50:11 Sujet du message :

Donc ça pourrait pas marcher?
_________________
Heldar qui tue tous les monstres du soir.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Klemmth
Seigneur
Inscrit le: 26 Juin 2004
Messages: 176
Localisation: france
Répondre en citant
Posté le : 01/02/2005 18:16:05 Sujet du message :

sur le OnPerception; logiquement non. Mais si tu places les scripts que j'ai fait là où je l'ai marqué, ca devrait marcher.
_________________
...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Heldar
Seigneur
Inscrit le: 09 Sep 2004
Messages: 169
Localisation: France
Répondre en citant
Posté le : 02/02/2005 12:35:26 Sujet du message :

J'ai essayé tes scripts mais ils se compilent pas tous le heart du pnj invisible y'a marqué:
frodon_heart.nss(3): ERREUR : DECLARATION DOES NOT MATCH PARAMETERS
et le heart des pnj detedteurs y'a marqué:
nazguhl_heart.nss(22): ERREUR : NO RIGHT BRACKET ON EXPRESSION
tu peux m'aidé stp.
_________________
Heldar qui tue tous les monstres du soir.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Klemmth
Seigneur
Inscrit le: 26 Juin 2004
Messages: 176
Localisation: france
Répondre en citant
Posté le : 02/02/2005 13:05:04 Sujet du message :

Désolé, je n'avais pas l'editeur sous la main et j'ai oublié un truc, mais c'est corrigé.
_________________
...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Krozilla
Acolyte
Inscrit le: 05 Oct 2004
Messages: 25
Répondre en citant
Posté le : 02/02/2005 20:13:12 Sujet du message :

Quand quelqu'un est sous l'effet d'invisibilité suprême, il n'y a pas un moyen de le voir grace à vision lucide ?

Car si c'est le cas il suffirait d'équiper les PNJ pouvant voir le PNJ invisible avec un objet donnant vision lucide !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Klemmth
Seigneur
Inscrit le: 26 Juin 2004
Messages: 176
Localisation: france
Répondre en citant
Posté le : 02/02/2005 20:36:06 Sujet du message :

En effet, mais cela leur permettrait de voir tous les objets invisibles, ce à quoi j'ai tenté de pallier avec ma méthode.
_________________
...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Heldar
Seigneur
Inscrit le: 09 Sep 2004
Messages: 169
Localisation: France
Répondre en citant
Posté le : 03/02/2005 16:10:01 Sujet du message :

ca marche bien le test ke j'ai fai ete poilant (voir l ork courir ver l invisible et s'arreter betement ne sachant plus koi faire) seul problème c'est qu'une fois l'ork mort (c'est moi ki l est tué, l invisibl n ataquant plus - ce qui est tres bien) le pnj ne redevient pas visible.
_________________
Heldar qui tue tous les monstres du soir.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Klemmth
Seigneur
Inscrit le: 26 Juin 2004
Messages: 176
Localisation: france
Répondre en citant
Posté le : 03/02/2005 18:06:09 Sujet du message :

As-tu attendu au moins 6 secondes avant de dire que ça ne marchait pas ?
Si oui, c'est peut-être que ton pnj considère le pj comme un ennemi. Dans ce cas, remplace le OnHeartBeat de ton pnj invisible par celui que j'ai édité.
_________________
...
 
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 47.67ms