Hasta el gorro del PlaySound...
Buenas por la noxe, Acciones: Pillo un sonido en wav ( aunque lo he probado en MP3, en BMU, y también modificando algunos 2da) > Lo empaqueto en hak > Le meto el Hak al módulo… Al Activar un Item quiero que el sonido suene!!!!!. pues na.. ni con PlaySound, ni con SoundObjectPlay apuntando a un objeto, ni delay ni AssigCommand, que nada… cuando utilizo el objeto no suena!!!. Suena cuando le rota.. no cuando yo quiero , y ya he mirado las propiedades del sonido, que se ejecute una vez, activo, etc.. etc… El sonido está cargado en el Módulo y además colocado por ahí, de esos que suenan en toda el Área. Alguna idea? Me he dejau algo? Sardo Nunspa
Activos en NWN
Los más activos en Scripting
Subforos
Neverwinter Nights
a ver sobre el play sound
[quote:8a95627354]
//si pones en OnUsed del objeto
PlaySound(“nombre_sonido”);
[/quote:8a95627354]
Pues el sonido suena, fijate en un barril normal por ejemplo, tb se le puede asignar el sonido a un objeto mediantes el tag, y usar el SoundObjectPlay.
Danos una idea mas clara, yo creo que si tienes hak debe funcionar.
Ok, te explico el recorrido….
He probado varias cosas, las resumo..
Categoría 1 ( Este nunca ha dado resultados … )
Elijo un MP3 y lo paso a BMU, edito ambienmusic.2da y escribo una linea
más . Hago que coincida el nombre del Recurso con el nombre del archivo de sonido. Pego el archivo de sonido en la carpeta Music y hago un Hak File con el archivo 2da, que introduzco en las propiedades del módulo…
En el Evento onactivateitem del módulo escribo sentencias para determinar qué objeto estoy usando, y acto seguido escribo la llamada a función PlaySound(“nombre_entrado_archivo_sonido”) o PlaySound(“nombre_propio_dado_al_sonido”) tal como se puede personalizar en DisplayName del archivo 2da.
Este método es casi que descartable pero lo probé….. sin éxito.lo eliminé.
Categoría 2
Inserto un sonido personalizado cuyo fichero WAV se encuentra en el hak que ya he configurado ( sólo el archivo Wav, a secas ). Al sonido le doy propiedades del tipo : suena en todo el Área , Activo, Sölo se repite una vez, etc … etc.. las propiedades están copiadas del los ejemplos del Lexicon.
Lo inserto o no en el Área y cerquita del PJ. Lo he probado insertándolo y sólo compilándolo.
Edito el Evento onactivateitem del Módulo y hago lo mismo.Cuando ya tengo claro que objeto estoy usando , escribo la llamada a función PlaySound(“etiqueta_del_sonido_creado”).
También he probado colocar un objeto , colocar el sonido y ordenar al Objecto que active el sonido , mediante SoundObjectPlay.
Puede ser que sólo se pueda usar en OnUsed???
Ahí va el código del onactivateintem que utilizo. No bifurco por número de evento, utilizo rutinas própias… Todo funciona excepto el sonido….
[code:1:aea25acaac]
#include "duresca_macros"
void main() {
object objetoUsado = GetItemActivated();
string nombreObjeto = GetTag(objetoUsado);
object Emisor = GetItemActivator();
ParametrizarItemActivado(nombreObjeto); // Devuelve estructura Conjuro
// Asumiendo de momento que el objeto es un Conjuro Personalizado en Macro
if (Conjuro.Tipo == 1) {
// Es un Conjuro
object targetDelObjetoUsado = GetItemActivatedTarget();
if (GetIsObjectValid(targetDelObjetoUsado)) {
// Criatura u Objecto Ubicable
string Etiqueta = GetTag(targetDelObjetoUsado);
int TipoObjeto = GetObjectType(targetDelObjetoUsado);
switch (TipoObjeto) {
case 1 :
ParametrizarPersonaje(targetDelObjetoUsado); // Devuelve estructura Personaje
// Debug
// ver(Persona.Tecnica.Intellego) -> DESBORDAMIENTO DE PILA.
// ver(Persona.Tecnica_Intellego) -> 2 bytes. NO DESBORDO LA PILA
}
} else {
// Localizacion
location localizacionObjetoUsado = GetItemActivatedTargetLocation();
object TriggersEnArea = GetFirstObjectInShape(
SHAPE_SPHERE,
5.0,
localizacionObjetoUsado,
TRUE,OBJECT_TYPE_TRIGGER);
int TipoObjeto;
if (GetIsObjectValid(TriggersEnArea)) {
location TriggerDetectado = GetLocation(TriggersEnArea);
// Debug
// ver(GetTag(TriggersEnArea));
PlaySound("sonido1");
effect eVisual = EffectVisualEffect(VFX_IMP_MAGICAL_VISION);
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eVisual, TriggerDetectado, 5.0);
}
}