La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 22/09/2024 16:28:06


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Dreams
Ecuyer
Inscrit le: 30 Juil 2004
Messages: 41
Localisation: val de marne
Répondre en citant
Posté le : 15/09/2004 09:33:32 Sujet du message : [Script] une zone magique

Bonjour tout le monde, après une heure der echerche j'ai pas trouvé ce que je désirais faire. Je m'explique. J'aimerais creer une zone dans laquelle un effet visuel d'un certain sort (au hasard appel de la foudre) se déclenche aléatoirement dans la zone, et sans causer de dégats. J'ai tout ce qu'il me faut sauf la fonction de l'endroit aléatoire. Est-ce que quelqu'un pourait m'aider s'il vous plait ?

A vot' bon coeur m'sieurs dames. Smile

PS : Tite question au passage. Pour que cela demande moins de ressource vaut mieux que je mette le script dans le OnEnter de la zone non ? Si tel est le cas, quelle serait la fonction qui donne un intervalle de temps entre deux déclenchement svp, et ce pour que le sort marche à l'infini ? Car sinon je peux le mettre dans le OnHeartBeat mais là niveau ressources...Shocked
_________________
La raison de la réussite des gens du mal est l'inaction des gens du bien
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
daedra
Novice
Inscrit le: 20 Juil 2004
Messages: 17
Répondre en citant
Posté le : 15/09/2004 10:18:40 Sujet du message : en voila une

NWScript :

//---------------- Localisation aleatoire d'un point sur la map-----------------
location RandomLocation(object oArea)
{
// dimension de l'air
int i_max_X=40;
int i_max_Y=40;

//Generation aleatoire de l'impact
float f_x = IntToFloat(Random(i_max_X+1));
float f_y = IntToFloat(Random(i_max_Y+1));
vector v_impact=Vector(f_x, f_y, 0.0);

return Location(oArea, v_impact, 0.0);
}

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.


Il te reste plus qu'a générer l'effet visuel de la foudre
NWScript :
//---------------------------- -- foudre effet ------------------------------ ----
location effetfoudre(location limpact)
{
effect efoudre = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,efoudre,limpact);
return limpact;
}
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.


Pour ce qui est de ta question sur l'intervalle de temps je sais pas trop quoi te dire. Moi j'ai utiliser un poulet qui se déplace aléatoirement dans une zone et quand il marche sur mon trigger la foudre part Very Happy
_________________
Daedra
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Dreams
Ecuyer
Inscrit le: 30 Juil 2004
Messages: 41
Localisation: val de marne
Répondre en citant
Posté le : 15/09/2004 10:27:12 Sujet du message :

Merci daedra c'est sympa. Je suppose que le deuxieme script se mettrait dans le HeartBeat non ? ainsi il se déclenche toutes les 6 secondes. Mais concernant le premier, je dois le mettre ou ? (LOL pour le poulet Laughing)
_________________
La raison de la réussite des gens du mal est l'inaction des gens du bien
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
daedra
Novice
Inscrit le: 20 Juil 2004
Messages: 17
Répondre en citant
Posté le : 15/09/2004 11:12:03 Sujet du message :

Je clarifi
tu crées un script et tu y mets le code ci dessous. Ce script tu le mets dans le onheat
NWScript :
//---------------- Localisation aleatoire d'un point sur la map-----------------
location RandomLocation(object oArea)
{
// dimension de l'air
int i_max_X=40;
int i_max_Y=40;

//Generation aleatoire de l'impact
float f_x = IntToFloat(Random(i_max_X+1));
float f_y = IntToFloat(Random(i_max_Y+1));
vector v_impact=Vector(f_x, f_y, 0.0);

return Location(oArea, v_impact, 0.0);
}


//---------------------------- -- foudre effet ------------------------------ ----
location effetfoudre(location limpact)
{
effect efoudre = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,efoudre,limpact);
return limpact;
}

void main()
{
effetfoudre(RandomLocation(GetArea(OBJECT_SELF)));
}
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'espère que cela va fonctionner car la j'ai pas l'éditeur sous la main.
PS il te faut définir les dimensions de ton area.
Un carreau du tilset = 10 m
dans le script c'est une aire de 40 sur 40 qui est définit.
_________________
Daedra
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Dreams
Ecuyer
Inscrit le: 30 Juil 2004
Messages: 41
Localisation: val de marne
Répondre en citant
Posté le : 15/09/2004 11:23:19 Sujet du message :

Raaaaaaaahhh super merci beaucoup !!!!!!!!! Si un jour je peux être utile... enfin concernant autre chose que les scripts car en fait.... ben chuis une vraie quiche lol.
_________________
La raison de la réussite des gens du mal est l'inaction des gens du bien
 
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 34.018ms