Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Question sur les SoundObjects
Question sur les SoundObjects
Par Prophetia Astrae le 17/2/2003 à 12:20:36 (#3253407)
Je viens de créer un système pour gérer des cheminées (cf Une cheminé dynamique) ce système gère la création et la destruction dynamique d'objet plaçable à l'aide des fonction CreateObject() et DestroyObject(), maintenant pour ajouter un peu à l'ambiance ainsi créée, je désirais ajouter du son à ce système, mais voila, la fonction CreateObject() ne semble pas pouvoir créer de SoundObject.
d'où ma question, existe-t-il une fonction permettant de créer un SoundObject ou alors d'associer un son à un plaçable que serrait créé pour l'occasion?
J'ai beau chercher dans tout les sens, je ne trouve pas de solution à ce problème..... :aide:
Merci d'avance
Prophetia
Par Defthefirst le 17/2/2003 à 12:30:47 (#3253490)
Ensuite plus qu'a trouvé le son :) et ca devrait marcher.
Par Prophetia Astrae le 17/2/2003 à 12:42:28 (#3253579)
Et puis pour finir, on m'a toujours dit qu'il fallait pas utiliser un OnHeartBeat car augmentais terriblement la charge du serveur, de plus dans ce cas, je me demande bien ce qui va se passer si le OnHearBeat est déclenché alors que le son n'a pas fini d'être joué....
En utilisant la fonction PlaySound(), je pense que le mieux serrait d'utiliser une boucle récursive déclenché sur le OnSpawn de l'objet, mais est-ce que cette boucle s'arrêtera après la destruction de l'objet?
Vous voyez, c'est pas si simple.... :aide:
Merci quand même
Prophetia
Par eMRaistlin le 17/2/2003 à 12:44:14 (#3253594)
Sinon, je rappele que l'on peut activer un soundobject via script, donc tu place le sound object a cote de ton feu, puis tu l'active et le desactive a loisir avec void SoundObjectPlay(
object oSound
);
void SoundObjectStop(
object oSound
);
Par Prophetia Astrae le 17/2/2003 à 12:53:48 (#3253678)
Pour l'activation et désactivation des SoundObject, je savais, j'ai planché dessus tout le week-end, par contre l'idée de copier le SoundObject, c'est pas bête du tout, par contre, il faut attendre la 1.28, Car je sais pas pour vous, mais moi je l'ai pas encore, il ne me semble pas qu'elle soit encore sortie en version française ou alors juste en Beta...
Mais je trouve quand même dommage que la fonction CreateObject() ne puisse pas créer de SoundObject, ça aurait été tellement plus simple... Remarque peut être que dans la 1.28 ils sont changé ça... Ou peut être le feront il dans de prochaine version.
Ben en tout cas, des que j'ai la 1.28, je test ton idée.
Merci beaucoup!!!!
Prophetia
Par eMRaistlin le 17/2/2003 à 13:00:03 (#3253716)
je crois que c'est comme cela qu'ils ont fait pour creer donc...
(mais il te faudra quand meme un original sur le module... apres, tu fais un trigger qui envoie un UDE sur le soundobject, qui cree la copie...)
Par Prophetia Astrae le 17/2/2003 à 15:17:56 (#3254720)
- OBJECT_TYPE_ITEM
- OBJECT_TYPE_CREATURE
- OBJECT_TYPE_PLACEABLE
- OBJECT_TYPE_STORE
cf. CreateObject() function (source NWN Lexicon)
Donc je ne suis pas certaine que cela fonctionne, mais comme on dit, qui ne tente rien a rien....
Par Théranthil le 17/2/2003 à 15:48:04 (#3254931)
Par eMRaistlin le 17/2/2003 à 16:42:27 (#3255310)
Provient du message de Prophetia Astrae
Là je suis pas certaine du tout par contre, car la fonction CreateObject() n'accepte que 4 type d'objet:
- OBJECT_TYPE_ITEM
- OBJECT_TYPE_CREATURE
- OBJECT_TYPE_PLACEABLE
- OBJECT_TYPE_STORE
cf. CreateObject() function (source NWN Lexicon)
Donc je ne suis pas certaine que cela fonctionne, mais comme on dit, qui ne tente rien a rien....
C'est bien pour ca qu'il te faut employer des GetObjectType, ainsi que des GetResRef sur ton WP existant, afin de pouvoir creer une copy a l'endroit désiré, et non pas creer un WP a partir de rien
Par Prophetia Astrae le 17/2/2003 à 16:54:37 (#3255417)
Par eMRaistlin le 17/2/2003 à 17:32:26 (#3255657)
(mais un peu de patiente, et tu aura CreateCopy ^^)
Par RAT le 17/2/2003 à 17:51:41 (#3255790)
Moi c'était par rapport au door, avec mon système de respawn que j'ai déjà parlé :), je voulais recréer le respawn de door automatiquement, mais cela ne marche pas pendant le jeu. Il n'apprécie pas du tout cette manière.
Mais bon :)
Par Prophetia Astrae le 17/2/2003 à 18:01:31 (#3255885)
- Added CopyObject() scripting command.
// Duplicates the object specified by oSource.
// ONLY creatures and items can be specified.
// If an owner is specified and the object is an item, it will be put into their inventory
// If the object is a creature, they will be created at the location.
// If a new tag is specified, it will be assigned to the new object.
object CopyObject(object oSource, location locLocation, object oOwner = OBJECT_INVALID, string sNewTag = ");
(source: le sujet sur la fonction CopyObject() de Jedaï)
Donc à priori, cette fonction ne permet que les copies d'objet de type:
- OBJECT_TYPE_CREATURE
- OBJECT_TYPE_ITEM
Donc le problème reste identique avec les SoundObject....
Enfin, je vais tester ton système ce soir pour voir
Par Jedaï le 17/2/2003 à 19:34:36 (#3256585)
Pourquoi les SoundObjectPlay() et SoundObjectStop() ne te conviennent-ils pas ?:confus:
Par Prophetia Astrae le 17/2/2003 à 20:07:49 (#3256833)
Alors tu me diras, il suffit de placer les SoundObjects lors du mapping, mais dans ce cas, amuse toi pour savoir quel ObjectSound corespond à quel cheminé... surtout si tu as plusieur cheminés....
De plus tu dois donc mettre autant de SoundObjects que tu as d'action pour peu que tu veuilles changer de son selon l'etat... Alors là je n'ose meme pas y penser.....
Alors que creer un SoundObject de façon dynamique comme pour les plaçable serrait tellement plus simple, et je ne pense pas que ce soit bien complique pour Bioware d'implementer cette option dans NWN.
JOL Archives 1.0.1
@ JOL / JeuxOnLine