La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 15:40:29


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 18/10/2005 01:45:42 Sujet du message : diffuser un son au moment ou...

salut !

je cherche le moyen de diffuser des sons a des moments précis sur tout le module :

- quand le jour se leve, un son de coq
- quand la nuit tombe, un cri de loup

j'avais d'abord pensé à mettre ces sons diffusés en une seule fois dans toute la zone a l'heure correspondante, mais faire ça sur toutes les zones...Confused enfin, si y a pas d'autres moyen, je le fais...

mais bon, est ce qu'un script simple sur le HB du module peut pas s'en occuper sans etre trop lourd ?

merci Smile
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Djezebel
Héros
Inscrit le: 29 Sep 2005
Messages: 252
Répondre en citant
Posté le : 18/10/2005 13:56:27 Sujet du message :

Je n'ai pas testé mais un truc dans le genre :

NWScript :
void main()
{
int nHeure = GetTimeHour();

if (nHeure == 6)
    {
    AssignCommand(OBJECT_SELF,PlaySound("as_cv_ta-da1"));
    }

if (nHeure == 19)
    {
    AssignCommand(OBJECT_SELF,PlaySound("as_cv_ta-da1"));
    }
}
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.


... devrait marcher.
Je n'ai rien testé malheureusement.
Tu pourras changer les "as_cv_ta-da1" par les sons du coq et du loup.

Si ça ne fonctionne toujours pas, il faudra changer le "OBJECT_SELF" par un GetArea(OBJECT_SELF) peut-etre.
Par contre, je ne garantie pas que ça ne fera pas lagger un peu (le onHeartBeat, c'est maaaaal )

Enjoy !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 18/10/2005 16:45:42 Sujet du message :

je teste Smile

merci ^^

(pour le HeartBEat, toutes les créatures en ont un ^^)
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Dangon
Acolyte
Inscrit le: 18 Oct 2005
Messages: 21
Répondre en citant
Posté le : 18/10/2005 17:00:25 Sujet du message :

J'ai peur que ca ne marche pas, car le OBJECT_SELF renvoye au module et le PlaySound joue le son indiqué à l'endroit ( location ) de l'objet qui l'appelle.
Je te suggère plutot un script dans ce genre, qui jouera le son indiqué ( à toi de trouver les bon sons et mettre leurs noms dans le script ) a tous les personnages sur le module.
Ce script est a placer dans le OnHeartbeat du module :

NWScript :

void main()
{
    // Quelle heure est -il ?
    int iHour = GetTimeHour();
    // Il est 6 heure ?
    if ( iHour == 6 )
    {
        object oPC = GetFirstPC();
        while ( GetIsObjectValid(oPC) )
        {
           
            AssignCommand(oPC,PlaySound("SoundNameMatin"));
            oPC = GetNextPC();
        }
    }
    // Ou il est 19 heure ?
    else if ( iHour == 19 )
    {
        object oPC = GetFirstPC();
        while ( GetIsObjectValid(oPC) )
        {
           
            AssignCommand(oPC,PlaySound("SoundNameSoir"));
            oPC = GetNextPC();
        }
    }
}
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.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 20/10/2005 12:00:03 Sujet du message :

salut !

bon, le dernier script marche bien, sauf que... le loup hurle toute la nuit et le coq la pendant toute l'heure (7h jusqu'a 8h ou 21h jusqu'a 22h) Very Happy
comment faire pour que le son ne se diffuse qu'une seule fois au crépuscule ou a l'aube ?

marci ^^
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Harmelyo
Chevalier
Inscrit le: 06 Oct 2005
Messages: 84
Répondre en citant
Posté le : 20/10/2005 20:59:58 Sujet du message :

La solution consisterait a ajouté au test d'heure, un test sur les minutes ou sur une variable qu'il faudrait habilement passer à true une fois un premier cri fait et qui repasserais à false une fois que l'heure ecouler.

Personnelement je ne vois pas comment faire sa sans charger le onheartbeat. Je pencherais pour un deuxieme test imbriqué avec un:
NWScript :


void main()
{
// Quelle heure est -il ?
int iHour = GetTimeHour();
// Il est 6 heure ?
if ( iHour == 6 )
{
if( GetTimeMinute()==0)
{
object oPC = GetFirstPC();
while ( GetIsObjectValid(oPC) )

{

AssignCommand(oPC,PlaySound("SoundNameMatin"));
oPC = GetNextPC();
}}
}
// Ou il est 19 heure ?
else if ( iHour == 19 )
{
if( GetTimeMinute()==0)
{
object oPC = GetFirstPC();
while ( GetIsObjectValid(oPC) )
{

AssignCommand(oPC,PlaySound("SoundNameSoir"));
oPC = GetNextPC();
}}
}
}
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.


Ce n'est pas parfait mais au moins sa ne charge quà peine plus le heartbeat et au lieu de durée une heure, leson ne sera jouerque pendant la premiere minute .
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 20/10/2005 23:04:34 Sujet du message :

salut

ça ne marche pas. je ne sais pas pourquoi, le son ne se joue pas directement dès qu'il est 21h ou 7h, ça met un moment. là, il ne le fait plus donc.
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Ailesnoires
Grand Chevalier
Inscrit le: 21 Oct 2004
Messages: 110
Localisation: Vendée
Répondre en citant
Posté le : 21/10/2005 01:38:51 Sujet du message :

essaie ça pour voir

NWScript :
void main()
{


int iJourNuit = GetLocalInt(OBJECT_SELF, "journuit");
SendMessageToPC(GetFirstPC(), IntToString(iJourNuit));
if(GetIsDusk() && iJourNuit != 1)
{
SetLocalInt(OBJECT_SELF, "journuit", 1);
        object oPC = GetFirstPC();
        while ( GetIsObjectValid(oPC) )
        {
           
            AssignCommand(oPC,PlaySound("SoundNameSoir"));
            oPC = GetNextPC();
        }
}
if(GetIsDawn() && iJourNuit != 0)
{
SetLocalInt(OBJECT_SELF, "journuit", 0);
        object oPC = GetFirstPC();
        while ( GetIsObjectValid(oPC) )
        {
           
            AssignCommand(oPC,PlaySound("SoundNameMatin"));
            oPC = GetNextPC();
        }
}
}
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.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 21/10/2005 02:41:15 Sujet du message :

Il n'y a pas besoin de script pour faire ça. Il faut utiliser un événement son qu'on peut paramétrer de façon très précise : on peut définir les heures où le son se déclenche, s'il doit se répéter ou se jouer une seule fois, etc.
_________________
» 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
 
Djezebel
Héros
Inscrit le: 29 Sep 2005
Messages: 252
Répondre en citant
Posté le : 21/10/2005 04:57:09 Sujet du message :

Justement c'était ça son problème : le son n'est paramétrable que dans une seule zone et elle aimerait que ça le fasse dans toutes Smile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 21/10/2005 06:18:48 Sujet du message :

Ben quand même... suffit de créer un son personnalisé, le régler bien comme il faut, ensuite y a plus qu'à le mettre dans les zones à la création. Pis si y a une modification, un clic droit -> mettre à jour dans toutes les zones suffit !

On a souvent tendance à oublier les solutions sans script Cool
_________________
» 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
 
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 21/10/2005 11:50:23 Sujet du message :


Djezebel a écrit :
Justement c'était ça son problème : le son n'est paramétrable que dans une seule zone et elle aimerait que ça le fasse dans toutes Smile
il. Very Happy

sinon, bon, ben alors je sais pas comment faire. le script est une solution simple, c'est pour ça que je voulais m'en servir... je ne me vois pas placer à chaque fois deux sons et les paramétrer pour 103 zones, plus celles qui vont venir.


merci ^^ ++
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
Dernière édition par warpShadow le 21/10/2005 11:56:16; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Ailesnoires
Grand Chevalier
Inscrit le: 21 Oct 2004
Messages: 110
Localisation: Vendée
Répondre en citant
Posté le : 21/10/2005 11:55:35 Sujet du message :

le parametrage ne se fait qu'une seule fois, ensuite tu le mets dans la palette et ça vient tous seul.
Reste à être sûr de ne pas oublier de zone, 103 c'est déjà pas mal Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 21/10/2005 17:19:22 Sujet du message :

Le problème c'est si tu as déjà plein de zones : apparemment tu en as déjà une centaine sur ton module, donc c'est sûr que placer 103 fois un son ça peut prendre un peu de temps. Mais il faut considérer plusieurs choses :

- Il est inutile de reparamétrer 103 fois ton son ! Il suffit de créer un son personnalisé dans ta palette, le paramétrer une seule fois, et le placer ensuite tel quel sur chaque zone.
- Une fois que tu as "mis à jour" tes 103 zones avec ce son personnalisé, à chaque création de nouvelle zone, plouf, il y a juste à ajouter le son tel quel et voilà.
- La solution son est sûrement beaucoup moins gourmande que celle du script, en particulier si tu utilises le heartbeat.

Donc si tu veux voir à long terme, je pense que l"objet son est préférable au script.
_________________
» 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
 
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 22/10/2005 00:03:59 Sujet du message :

rhaaaaaaaaaaaaaaaaaaaaaa j'ai fini les 103 zones Rocket

bref, merci ^^
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
marneus
Chevalier
Inscrit le: 17 Oct 2005
Messages: 89
Localisation: devant mon pc ... surment
Répondre en citant
Posté le : 22/10/2005 13:35:50 Sujet du message :

de rien, demande nous si tu a encore besoin d'aide ^^ < le pire , se que je n'ai rien fait >
 
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 50.075ms