La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 14/05/2024 04:08:51


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Yan the salor
Seigneur
Inscrit le: 03 Oct 2004
Messages: 151
Répondre en citant
Posté le : 31/03/2006 21:02:40 Sujet du message : Eboueur de monstres

Salut à tous,
J'utilise ce script pour tuer les monstres au passage des pjs entre les zones
Rien dans le onenter

Dans le onexit
NWScript :

void main()
{
  object oCreature = GetFirstObjectInArea();
  object oPCentering = GetExitingObject();
  object oAreaEntered = OBJECT_SELF;
  int nNBdePC = GetLocalInt(oAreaEntered,"nNBdePC");
  while (oCreature != OBJECT_INVALID)
  { if (nNBdePC == 0)
{
    if ((GetObjectType(oCreature) == OBJECT_TYPE_CREATURE) && (!GetIsPC(oCreature))&& (!GetIsPossessedFamiliar(oCreature)) && (GetTag(oCreature) != "Matredelpreuve"))
    {
      ActionCastFakeSpellAtObject(SPELL_PHANTASMAL_KILLER, oCreature);
      DelayCommand(20.5,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_FIREBALL),oCreature));
      DelayCommand(20.6,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_DEATH),oCreature));
      DelayCommand(20.6,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDeath(),oCreature));
    }

    oCreature = GetNextObjectInArea();
  }

}}
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.


Ca tue bien les monstres à la sortie des Pjs, mais aussi mes invocs et les familiers. De même si je tue un monstre, ça tue aussi mon familier...le chantier quoi... et comble de malheur, si je révoque mon familier ou mon invocation, ça tue aussi les monstres...

Please help...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 01/04/2006 13:33:30 Sujet du message :

Déjà tu dois avoir un problème avec ta variable nNBdePC, car apparemnet le script se déclanche même si il y a des joueurs dans la zone.

A part ça, comme je suppose que c'est pour tuer des créatures apparues dans des rencontres je proposerai ça :

NWScript :



    if ((GetObjectType(oCreature) == OBJECT_TYPE_CREATURE) && (!GetIsPC(oCreature))&& (!GetIsPossessedFamiliar(oCreature)) && (GetTag(oCreature) != "Matredelpreuve"))

//mettre :

    if ((GetObjectType(oCreature) == OBJECT_TYPE_CREATURE) && GetIsEncounterCreature(oCreature))
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.


Ca suffit peut-être pas (ie si tu fais spawner des monstres par script), enfin dis ce que t'en pense.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
mork
Seigneur
Inscrit le: 12 Aoû 2005
Messages: 205
Localisation: A landeda, pres de brest
Répondre en citant
Posté le : 01/04/2006 20:16:00 Sujet du message :

Salut,

Grâce a la fonction recherche je t'ai trouvé un script (qui apparament marche, d'après la lecture du script que j'ai fait );

NWScript :

void main()
{
//DECLARATION DES VARIABLES
object oPCexiting=GetExitingObject();
object oAreaLeaved = OBJECT_SELF;
object oObjetaDetruire = GetFirstObjectInArea(oAreaLeaved);
object oFirstPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC);
int nNBdePC = GetLocalInt(oAreaLeaved,"nNBdePC");

//Mise a jour du Compteur
if (GetIsPC(oPCexiting))
{
nNBdePC = nNBdePC-1;
SetLocalInt(oAreaLeaved,"nNBdePC",nNBdePC);
}

//TEST POUR VERIFIER SI IL RESTE DES PC DANS L'Area

if (nNBdePC == 0)
{
ActionWait(1.1);
}
{
 

//BOUCLE DE DESTRUCTION DES CREATURES
while (GetIsObjectValid(oObjetaDetruire))
{
if (
(GetObjectType(oObjetaDetruire)== OBJECT_TYPE_CREATURE)
)
if(GetStringLeft(GetTag(oObjetaDetruire), 5) != "BOSS_")

DestroyObject (oObjetaDetruire);
}
oObjetaDetruire=GetNextObjectInArea();
}
ActionWait (20.1); //POUR PERMETTRE DESTRUCTION OBJETS LOOTS ON RELANCE LA FONCTION MAIS SUR LES OBJETS ITEMS INVENTAIRE ( decomposition cadavre oblige )

while (GetIsObjectValid(oObjetaDetruire))

{
if (
(GetObjectType(oObjetaDetruire)== OBJECT_TYPE_ITEM)
)
{
DestroyObject (oObjetaDetruire);
}
oObjetaDetruire=GetNextObjectInArea();
}
}

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.


Voila, j'espere que ca va te servir
_________________
Aléthéia | Ceux qui cherchent la vie trouveront la mort, ceux qui cherchent la mort trouveront la mort
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Yan the salor
Seigneur
Inscrit le: 03 Oct 2004
Messages: 151
Répondre en citant
Posté le : 02/04/2006 18:53:40 Sujet du message :

Ca m'a l'air out bon sith merci, j'ai lancé le module , j'attend des éventuels retours.

Mork j'ai testé ce script avant m'a demande et il ne fonctionne pas apparemment, quoiqu'en dise le créateur.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
lylver
Héros
Inscrit le: 08 Avr 2005
Messages: 274
Répondre en citant
Posté le : 03/04/2006 13:02:26 Sujet du message :

Pour info, j'ai reposté la denière version mon éboueur GC là
http://www.system-tek.com/nwinter/phpbb2/viewtopic.php?p=126583#p126583
Evidement, c'est bien plus conséquent mais il fait beaucoup de choses...
A 11-12 joueurs sans éboueur, le lag commence à se faire sentir au bout de 4-5 heures de jeu, avec les réglages nwn par défaut bien sur.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
mork
Seigneur
Inscrit le: 12 Aoû 2005
Messages: 205
Localisation: A landeda, pres de brest
Répondre en citant
Posté le : 04/04/2006 16:03:44 Sujet du message :


Yan the salor a écrit :

Mork j'ai testé ce script avant m'a demande et il ne fonctionne pas apparemment, quoiqu'en dise le créateur.
Erf.. ok ^^
_________________
Aléthéia | Ceux qui cherchent la vie trouveront la mort, ceux qui cherchent la mort trouveront la mort
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
lylver
Héros
Inscrit le: 08 Avr 2005
Messages: 274
Répondre en citant
Posté le : 04/04/2006 18:15:18 Sujet du message :

Pour ceux qui voudrait faire plus simple pour le nettoyage, il y a une discussion par là-bas
http://www.system-tek.com/nwinter/phpbb2/viewtopic.php?p=110298#p110298
Laughing il me semble que ça parle du même script d'ailleurs ... (dsl il y a quelques liens morts actuellement ADSL down)
 
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 30.123ms