Oyez, oyez !

Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !

Merci à toutes et à tous pour votre participation !

N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...

[MUS] Stopper momentanément une musique d'ambiance

Répondre
Avatar du membre
Pélagie
Adepte de Grondemarteau
Ogre
Messages : 209
Enregistré le : dim. 18 juil. 2004, 15:55
Localisation : In my wonderland
Contact :
Statut : Hors ligne

[MUS] Stopper momentanément une musique d'ambiance

.

Message par Pélagie »

Bonjour,

Existe-t-il un moyen de faire taire les musiques d'ambiance d'une zone,le temps qu'un son se joue, via une commande ou autre?

Je m'explique: dans mon mod, le groupe a la possibilité de demander à un barde de passage de pousser la chansonnette (pendant moins d'une minute). Or, lorsque le dit barde entonne son chant, cela crée une adorable cacophonie avec les sons d'ambiance de la zone.

Dois-je convertir mon son en fichier .ACM et l'intégrer au fichier SONLIST.2DA? Existe-t-il une autre solution moins casse bonbons?

Je ne veux pas annuler les sons d'ambiance de la zone à cause d'une simple chansonnette toute moisie, mais je n'ai pas trouvé de solution pour rendre l'area silencieuse pendant un temps défini.

J'ai essayé de bidouiller à l'aveuglette mais cela ne fonctionne pas. Je me tourne donc vers vous.

Je n'arrive pas à croire que je me prends la tête depuis des heures pour un simple NPC que l'on ne va croiser qu'une ou deux fois en jeu... :gign:
Demi-elfe aquatique

Groupie de Bioware
:girl_in_love:
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

Comme ça, au débotté, as-tu essayé PlaySong(0) ?
317 PlaySong(I:Song*)
The action plays the specified song. Values are from songlist.2da.
L'indice 0 correspond à une musique "vide", donc pas de son...

Je précise que je n'ai jamais testé. En revanche PlaySong dans un script prend le pas sur la musique d'ambiance.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
Pélagie
Adepte de Grondemarteau
Ogre
Messages : 209
Enregistré le : dim. 18 juil. 2004, 15:55
Localisation : In my wonderland
Contact :
Statut : Hors ligne
.

Message par Pélagie »

Freddy_Gwendo a écrit :Comme ça, au débotté, as-tu essayé PlaySong(0) ?



L'indice 0 correspond à une musique "vide", donc pas de son...

Je précise que je n'ai jamais testé. En revanche PlaySong dans un script prend le pas sur la musique d'ambiance.
Oui, j'ai essayé, cela ne fonctionne pas malheureusement :/ Le brouhaha ambiant se fait toujours entendre.
Etant donné que plusieurs zic d'ambiances peuvent être jouées ensemble (ex dans cette zone: zic+chants d'oiseaux+etc.), je suppose que le PlaySong(0) ne fait que se rajouter aux autres songs (et comme c'est un son silencieux, il ne se remarque pas).

Je vais peut-être essayer via une cutscene, on ne sait jamais (mais bonjour la cutscene passionnante: rester à rien faire pendant près d'une minute pendant qu'un gugus chante sa vie ^^ ).

Sinon, pour rajouter une zic dans SONLIST.2DA, je peux le faire tout bêtement via un APPEND dans le TP2?

EDIT: je viens de tester via une cutscene, le problème est le même -_-'
Bon, je vais jeter un oeil au mod Keldorn Romance, je crois me souvenir qu'elle utilisait des playsong personnalisée pour la romance. Je vais regarder si je trouve quelque-chose qui me sera utile.
Demi-elfe aquatique

Groupie de Bioware
:girl_in_love:
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

No, Mam', il faut utiliser la commande ADD_MUSIC qui fait le boulot toute seule, comme une grande.

Code : Tout sélectionner

ADD_MUSIC ~TaMusic~ ~TonMod/TaMusic/TaMusic.mus~
ADD_MUSIC internalMusicName newMUSFile

newMUSFile is copied to the music directory and added to songlist.2da under the name internalMusicName. The variable %internalMusicName% is set to the number of this new entry in songlist.2da. If newMUSFile already exists, the variable %internalMusicName% is set to the existing entry in songlist.2da and all other operations are skipped. Variables are evaluated.

Some versions of the Infinity Engine cannot handle more than 100 entries in songlist.2da. ADD_MUSIC will fail under those circumstances unless the appropriate versions of ToB Hacks or ToBEx are installed or the game is GemRB or BGEE.
Sinon, pourquoi ne pas passer pas un fichier wav tout bête ?

Code : Tout sélectionner

PlaySound("tachanson") 
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
Pélagie
Adepte de Grondemarteau
Ogre
Messages : 209
Enregistré le : dim. 18 juil. 2004, 15:55
Localisation : In my wonderland
Contact :
Statut : Hors ligne
.

Message par Pélagie »

Playsound, c'est ce que je fais. Mais justement les autres sons continuent de jouer en parallèle.

Je me dis qu'en rajoutant la zic dans Songlist.2da, je pourrais utiliser PlaySong à la place et qu'ainsi les oiseaux fermeront peut-être leur bec pendant que mon gus essaie de se faire entendre XD

Je te remercie pour la commande, je vais essayer ainsi ^^ :k:
Demi-elfe aquatique

Groupie de Bioware
:girl_in_love:
Avatar du membre
Pélagie
Adepte de Grondemarteau
Ogre
Messages : 209
Enregistré le : dim. 18 juil. 2004, 15:55
Localisation : In my wonderland
Contact :
Statut : Hors ligne
.

Message par Pélagie »

Done :) And it works, my dear!

Pour ceux qui se poseraient la même question que moi plus tôt, voici le code que j'ai utilisé dans mon TP2 (KupGup étant le nom de mon mod, et mxbiso celui de ma musique)

//SONG

MKDIR ~music/mxbiso~
COPY ~KupGup/song/mxbisoa.acm~ ~music/mxbiso~
COPY ~KupGup/song/mxbiso.mus~ ~music~

ADD_MUSIC ~mxbiso~ ~music/mxbiso.mus~

COPY_EXISTING ~FKart.dlg~ ~override~
DECOMPILE_DLG_TO_D
REPLACE_TEXTUALLY 887766 ~%KupGup%~
COMPILE_D_TO_DLG


Merci à Freddy pour m'avoir mis sur la piste, et merci aux oiseaux qui ont enfin compris qu'il était temps de la fermer ^^
Demi-elfe aquatique

Groupie de Bioware
:girl_in_love:
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

De rien. Tu as fait tout le boulot pénible de création du fichier mus (et acm).

Si ça te tente de recommencer avec une autre chanson, j'en ai une en tête pour ma barde...
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
Pélagie
Adepte de Grondemarteau
Ogre
Messages : 209
Enregistré le : dim. 18 juil. 2004, 15:55
Localisation : In my wonderland
Contact :
Statut : Hors ligne
.

Message par Pélagie »

Freddy_Gwendo a écrit :De rien. Tu as fait tout le boulot pénible de création du fichier mus (et acm).

Si ça te tente de recommencer avec une autre chanson, j'en ai une en tête pour ma barde...
convertir le wav en acm n'est vraiment vraiment pas le plus long en même temps XD, ça se fait en 3 clics sur NI. juste le temps d'amplifier/diminuer ensuite le volume pour équilibrer la zic avec le reste des sons du jeu, et c'est dans la boîte.
J'ai surtout perdu du temps à chercher comment faire régner le silence quand mon petit barde ouvre la bouche. Je n'avais encore jamais touché au SONGLIST.2DA
Et comme quand j'ai une idée en tête, je ne l'ai pas... hum... ailleurs, et bien voilà.
Quant au fichier mus je ne me suis vraiment pas fait suer, il fait trois lignes ^^

Ceci dit, si tu veux, envoie la musique de ta barde, je te fais ça. ça ne va pas prendre la nuit ^^
Demi-elfe aquatique

Groupie de Bioware
:girl_in_love:
Avatar du membre
Pélagie
Adepte de Grondemarteau
Ogre
Messages : 209
Enregistré le : dim. 18 juil. 2004, 15:55
Localisation : In my wonderland
Contact :
Statut : Hors ligne
.

Message par Pélagie »

Bon, troisième acte de la tragédie.
Pour ceux que ça intéresserait, c'est à dire les éventuels moddeurs qui seraient confrontés au même problème, je vais partager mes déboires sur le sujet ainsi que la solution que j'y ai apporté.

J'ai dû changer de tactique car la chanson ne jouait qu'une fois avec la méthode que j'ai décrite dans le post précédent (sans doute parceque le .MUS indiquait un tag de fin, pour éviter que le son ne tourne en boucle).

Donc... j'ai opté pour la solution suivante: j'ai créé un .acm vierge que j'ai associé à un .mus, et j'ai affecté ce fameux .mus au numéro 0 du SONGLIST.2da (le no_music), via cette commande :

MKDIR ~music/fkbiso~
COPY ~KupGup/song/fkbisoa.acm~ ~music/fkbiso~
COPY ~KupGup/song/fkbiso.mus~ ~music~

COPY_EXISTING ~songlist.2da~ ~override~
SET_2DA_ENTRY 0 2 3 ~fkbiso.MUS~


Ensuite, j'ai conservé la musique que je veux faire entendre, en .WAV (fkbiso.wav). Et dans le script qui déclenche cette musique (dans un fichier .d pour moi) j'ai indiqué ceci:

IF ~~ THEN DO ~PlaySong(0) PlaySound("FKbiso")~ EXIT

Le script joue donc mon .acm vierge (qui bloque toutes autres songs de la zone pendant ce temps) puis lance mon wav.

Et si vous vous demandez: oui j'ai essayé le script sans créer d'acm vierge, et ça ne marche pas
oui, j'ai essayé de simplement associer mon mus à la ligne 0 du fichier PLAYSONG.2da, et ça ne marche pas non plus.
Apparemment, aucun ACM n'est associé à cette ligne 0 no_music, et elle en a besoin d'un pour "jouer" quelque-chose (le silence ici en l'occurrence) et bloquer les autres zics.

Ce qui me semble bien avec cette méthode (mais je me trompe peut-être?) c'est que même si un autre moddeur a eu la même idée et que l'on installe son mod avec le nôtre, cela ne sera pas bloquant car le playsong(0) fonctionnera de la même manière ^^

Sinon, une simple précision. Je ne le savais pas avant de me pencher sur la question mais une zone contient plusieurs sons: les sons d'ambiance (bruit de foule, oiseaux qui piaillent, etc.) et les musiques de fond. Cette méthode fait exactement ce que je voulais, c'est-à-dire conserver les sons d'ambiance tout en mettant en pause la songlist pendant que ma musique joue.
Demi-elfe aquatique

Groupie de Bioware
:girl_in_love:
Répondre

Retourner vers « Sons et musiques »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité