La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 18/05/2024 18:58:54


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Silverwave
Ecuyer
Inscrit le: 21 Mai 2003
Messages: 69
Répondre en citant
Posté le : 22/05/2003 23:31:00 Sujet du message : Random Encounters sur toute la map?

Salut belle compagnie? Vous venez pour l'aventure? Razz (Naheulbeuk rulez!)

Bon, alors, question.

Si je met un Random Encounter (Rencontre Aléatoire... er, un spawn à créatures en fin de compte Razz ) sur toute la grandeur de la map en continue, il se passe koi? Des créatures qui spawn tlt, ouais, c'est p-e ce que je veux. Mais est-ce que les créatures qui spawned apparrâissent tous à la meme endroit (par exemple, au milieu de la zone) ou elles apparraîssent aléatoirement dans la zone?

Par la meme occasion, un encounter continue, ca fait apparaître des créatures toute le temps ou seulement à toutes les X secondes, par exemple?

Merci de votre précieux temps!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Dark Schneider
Ecuyer
Inscrit le: 22 Avr 2003
Messages: 47
Localisation: Belgique
Répondre en citant
Posté le : 24/05/2003 23:54:33 Sujet du message :

Normalement tu peut définir des points de spawn (autant que tu veux) pour les créatures.

Pour le respawn c'est a toi de configurer correctement si je ne m'abuse,tu peut choisir le temps d'interval entre deux spawn tout en sachant que le compteur ne se met en route qu'a partir dumoment ou toute les créature du spwan précédent sont morte.

Smile
_________________
Nouveau Module persistant en préparation => www.hetoria.fr.st
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Tyrion
Ecuyer
Inscrit le: 23 Fév 2003
Messages: 43
Répondre en citant
Posté le : 25/05/2003 00:22:40 Sujet du message :

Cette solution est lourde je te conseil d'utiliser ce code ensuite tu as juste a placer tes monstres la ou tu veux qu'ils spawnent puis quand tu les tuera ils respawneront x secondes (que tu regle) à l'endroit ou tu les as placé lors de la construction du module.

tu rajoute ces deux ligne au script OnSpawn qui a sur tes monstres (en le sauvegardant sous un autre nom que celui par defaut de Bioware)

Code :
object oSelf = OBJECT_SELF;
SetLocalLocation( oSelf, "lSpawn", GetLocation( oSelf ) );


Et tu met ça dans le OnDeath de tes monstres

Code :
#include "NW_I0_GENERIC"

void VoidCreateObject(string sTemplate, location lLoc, int bUseAppearAnimation=TRUE);


void main()
{

if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1007));
}

object oSelf = OBJECT_SELF;
location lLoca = GetLocalLocation( oSelf, "lSpawn");
float fSeconds = 10.0; //temps en secondes pour le respawn
string sTemplate = GetResRef( oSelf );

AssignCommand( GetArea( oSelf ) , DelayCommand( fSeconds, VoidCreateObject( sTemplate, lLoca ) ) );

}

void VoidCreateObject(string sTemplate, location lLoc, int bUseAppearAnimation=TRUE)
{
CreateObject(OBJECT_TYPE_CREATURE, sTemplate,lLoc, bUseAppearAnimation);
}


Une fois que tu as fait cela tu n'a plus qu'a poser tes creature sur tes tileset pas besoins de Waypoints Smile
_________________
Ce n'est pas parce que les choses sont difficiles que l'on ose pas les faire.
C'est parce que l'on ose pas les faire qu'elles sont difficile.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
Silverwave
Ecuyer
Inscrit le: 21 Mai 2003
Messages: 69
Répondre en citant
Posté le : 25/05/2003 22:10:26 Sujet du message :

Ouais mais le problème c'est justement que je ne désire pas qu'ils spawn à chaque fois à la meme endroit. Je veux qu'elles spawn alléatoirement sur la map...

sauf qu'en fin de compte sa marchera pas si le script ne génère des créatures que lorsque les autres sont mortes.

J'vais voir ce que je peux faire.
Merci.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Tuyen
Demi-dieu
Inscrit le: 23 Nov 2002
Messages: 460
Localisation: Chez moi
Répondre en citant
Posté le : 26/05/2003 10:23:31 Sujet du message :

Ce serait vraiment bien que le déclencheur respawn les créatures suivant le NOMBRE de bestioles existentes et non pas suivant si toute les précédentes sont mortes.
Je pense que c'est faisable par script, reste à savoir où le mettre Embarassed
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Tuyen
Demi-dieu
Inscrit le: 23 Nov 2002
Messages: 460
Localisation: Chez moi
Répondre en citant
Posté le : 26/05/2003 10:33:31 Sujet du message :

Cependant pour ton prob Silverwave, tu peux utiliser le script de Tyrion tout de même, en mettant les créatures devant des portes ou à l'entrée d'une foret ou chais pas quoi, enfin des endroits où les créatures sont susceptibles d'apparaitre, cela donnera plus de réalisme que si tu mettais ces "spawn" au milieu d'un champs par exemple Laughing
Et puis après rien ne t'en empêche de les faire se déplacer aléatoirement Very Happy ( dans le OnSpawn aussi en ajoutant des lignes de codes au script de Tyrion ). Je pense que ca pourrait bien le faire... Bien sur le problème c'est que ces monstres seront solitaires, pas de déplacement en bande! Confused
Ou alors tu peux les faire bouger avec des WP, dans ce cas tu régleras le problème des déplacements en bandes mais ce ne sera plus aléatoire forcément! Confused On peut pas tout avoir...
Si tu veux aléatoire + déplacement en bande je crois qu'il existe une solution. Attention c'est du corsé! lol!... Va sur le Vault, et cherche un truc comme NPC Activities v5.1. Dedans tout est expliqué, en fait c'est un pack de scripts qui est censé donner beaucoup plus de vie à tes PNJ. Je suis en train de regarder ca mais c'est pas simple comme bonjour! lol!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 26/05/2003 14:11:59 Sujet du message :

Voici un joli script pour récupérer la taille de l'area, à partir de là on peut générer un vecteur et une position aléatoire pour placer des monstres. Je mets un script pour générer ça en utilisant cette fonction, mais je pense que ça doit pas mal tirer sur les ressources.
Code :
//--> Recuperer la largeur de la zone
int GetAreaXDim(object oArea)
{
  int nX;
  int nEnd;
  location lLoc;
  vector vPos;
  nEnd = FALSE;
  while ((nX<=31) && (!nEnd))
  {
    vPos = Vector(IntToFloat(nX), 0.0, 0.0);
    lLoc = Location(oArea, vPos, 0.0);
    int nCol = GetTileSourceLight1Color(lLoc);
    if (nCol == 519)
    {
      nEnd = TRUE;
      nX--;
    }
    else
    {
      nX++;
    }
  }
  return nX+1;
}

//--> Recuperer la profondeur de la zone
int GetAreaYDim(object oArea)
{
  int nY;
  int nEnd;
  location lLoc;
  vector vPos;
  nEnd = FALSE;
  while ((nY<=31) && (!nEnd))
  {
    vPos = Vector(0.0, IntToFloat(nY), 0.0);
    lLoc = Location(oArea, vPos, 0.0);
    int nCol = GetTileSourceLight1Color(lLoc);
    if (nCol == 519)
    {
      nEnd = TRUE;
      nY--;
    }
    else
    {
      nY++;
    }
  }
  return nY+1;
}

void main()
{
object oPC = GetFirstPC();
int x = GetAreaXDim(GetArea(oPC))*10;
int y = GetAreaYDim(GetArea(oPC))*10;

// definition d'un vecteur aleatoire sur l'area :
vector vRandomPos;
vRandomPos.x = IntToFloat(Random(x));
vRandomPos.y = IntToFloat(Random(y));
vRandomPos.z = 0.0;

// location correspondante au vecteur aleatoire :
location lLoc = Location(GetArea(oPC), vRandomPos, 0.0);

/*                                                        */
/* ici la commande de création de monstres ou d'Encounter */
/*          sur la location aléatoire lLoc                */
/*                                                        */
}


Ce script n'a pas été testé ! Confused
_________________
» 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
 
Silverwave
Ecuyer
Inscrit le: 21 Mai 2003
Messages: 69
Répondre en citant
Posté le : 26/05/2003 21:12:41 Sujet du message :

Ouf! C'est lourd tout ca!

Mais pour le déplacement aléatoire en groupe c'est pas si dur que ca.
T'as qu'à faire déplacer une créature aléatoirement et les autres n'ont qu'à être implantée avec un script qui leur faire suivre cette créature. Donc t'as une bandes qui suit une "chef" qui se déplace aléatoirement.

Le problème c'est que j'ai tester le déplacement aléatoire et il semble que le script empêche la créature d'aller trop loin de son point d'origine. Probablement qu'il calcul un maximum de déplacement à partir de son point d'origine et s'il le dépasserait avec un déplacement, il recalcule le déplacement pour l'ammener dans une autre direction.

Mais le truc des entrées et tout, c'est une bonne idée ! Et c'est moins lourd sur le system que tout ca, héhéhé. Déjà que dans le mod que je créé, c'est lourd, ya beaucoup d'objets et de créature et la map est très grande.
 
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 21.888ms