Tutorial: Haz que el botón de créditos de tu máquina recreativa o panel de control suene como si echases monedas con "Autohotkeys"- IntroducciónLa idea es sencilla, hay que hacer que suene un sonido de “caída de moneda” antes de que el emulador Mame procese la pulsación de crédito, ya que así resulta más real todo y da apariencia de que estemos utilizando un monedero arcade de verdad.
Nota: Antes de empezar, decir que este procedimiento lo he realizado para un mando que va por
IPP con dos botones de monedas (Coin 1 y Coin 2). Supongo que para el resto de mandos se podrá realizar de forma similar.
Importante: Solo sirve si MAME esta compilado para funcionar mediante DirectInput, de forma que los programas que mapean el teclado (JoyTokey, Xapdder, etc.) funcionen.
En las versiones actuales de Mame, después de la v. 0.117, está activada la función “RawInput” en vez de la “DirectInput”. Hay que cambiarlo.
- Haz que el botón de créditos de tu máquina recreativa o panel de control suene como si echases monedasQué necesitaremos:
- Un sonido de monedas al caer. Yo he empleado
este sonido, pero buscando un poco aparecen un montón.
- AutoHotKey, que es libre y lo podemos de su página:
www.autohotkey.com•
Instalación del programa “AutoHotKey”No tiene más misterio la instalación de “Autohotkeys”:
•
Simular inserción de monedaEn primer lugar vamos a ir al directorio donde tengamos nuestro mame y vamos a crear un nuevo directorio para tenerlo todo ordenadito. Yo he llamado a la nueva carpeta “coindrop”y ahí he guardado el sonido.
Para reproducir el sonido vamos a crear un “script Autohotkey” que realice esta tarea cuando se pulsen los botones de créditos:
Creamos un archivo de texto en nuestro nuevo directorio y copiamos el siguiente código:
Nota: En mi caso los botones de créditos son el “Joy9” y el “Joy10” dentro del Autohotkey.
CODE
SetKeyDelay 50
#IfWinActive ahk_class MAME
Joy9::
SoundPlay CoinIn5.wav
Sleep 1000
KeyWait Joy9
Send {5 down}
Send {5 up}
return
Joy10::
SoundPlay CoinIn5.wav
Sleep 1000
KeyWait Joy10
Send {6 down}
Send {6 up}
return
El funcionamiento del script es muy sencillo, AutoHotkey captura la pulsación de los botones de crédito del mando lanzando el sonido, para a continuación simular la pulsación de la tecla que tengo asignada en MAME para los créditos.
Aunque el archivo de sonido no tiene la ruta completa, es recomendable ponerla porque dependiendo de cómo se lanze el script el sonido puede que no suene (típicos problemas de rutas relativas).
El tiempo de pausa que definimos: “Sleep”, va en función de la longitud de nuestro sonido de monedas.
En este ejemplo el sonido dura algo más de 1 seg. por lo que dejamos una pausa de un segundo para que el crédito se produzca justo cuando se oye la moneda caer en la caja de monedas.
Cerraremos el archivo de texto y cambiamos la extension “txt” por “ahk”, y ya tenemos el directorio listo.
Ejecutamos el script de forma que se lanze el AutoHotkey de forma automática.
Para probar la simulación se puede utilizar cualquier editor de texto, pero primero es necesario comentar la primera línea del script que límita el funcionamiento a cuando se esté ejecutando y activa la ventana de MAME. Hay que cambiar:
CODE
#IfWinActive ahk_class MAME
por:
CODE
;#IfWinActive ahk_class MAME
Estará todo correcto si al pulsar cualquiera de las teclas de crédito suena el sonido y aparece el número “5” (tecla por defecto de los créditos de Mame o la tecla que se quiera).
•
Posibles mejoras del sistemaUna posible mejora a este sistema de monedero simulado es la de crear un programita que ejecute un sonido de moneda de forma aleatoria entre muchos que tengamos almacenados en un directorio concreto. Esto le daría un toque aún más real, ya que ni todas las monedas ni todas las maquinas sonaban igual cuando nos gastábamos los duros en ellas.
Por último, decir que lo suyo hubiera sido integrar esta opción en el código de Mame, pero no he conseguido meterle mano y, luego está el tema del “DirectInput/RawInput” que utiliza el emulador que da para una novela de terror...
¡Espero que os haya gustado el "mod"!
- Por jdpb81 -Maquetado por:
MikonosEdited by Mikonos - 25/12/2010, 13:49