PHP Code:
#include <amxmodx>
const MAX_SOUNDS = 5 // Edita el Nš de Sonidos que se contendran.
// No modifiques esto
enum _:SndTypes
{
SOUND_NAME = 0,
SOUND_FILE
}
// Aqui edita la lista de Sonidos.
// El Formato es: *** {"Nombre", "Ruta del Archivo"}, ***
// CUIDADO, la ultima linea no tiene que llevar coma.
new const MP3_SOUND_LIST[MAX_SOUNDS][SndTypes][128] =
{
{"Pluma Pluma Gay", "micarpeta/sonido1.wav"},
{"Pluma Pluma Gay 2", "micarpeta/sonido2.wav"},
{"Pluma Pluma Gay 3", "micarpeta/sonido3.wav"},
{"Pluma Pluma Gay 4", "micarpeta/sonido4.wav"},
{"Pluma Pluma Gay 5", "micarpeta/sonido5.wav"} // La ultima linea no lleva coma
}
new bool:g_bIsMP3[MAX_SOUNDS]
/*
*** El formato del sonido tiene por defecto incluido la carpeta sounds, ejemplo: ***
*** "misc/sound.wav", deberia estar guardado en la ruta: "cstrike/sound/misc/sound.wav" ***
*/
#define VERSION "0.1"
#define AUTHOR "meTaLiCroSS"
public plugin_init()
{
register_plugin("Reproductor de Musica Local", VERSION, AUTHOR)
register_clcmd("say /reproducir", "cmd_reproducir_sonido")
new szCvar[32]
formatex(szCvar, charsmax(szCvar), "v%s by %s", VERSION, AUTHOR)
register_cvar("rml_version", szCvar, FCVAR_SERVER|FCVAR_SPONLY)
}
public plugin_precache()
{
static i, szBuffer[128]
for(i = 0; i < MAX_SOUNDS; i++)
{
copy(szBuffer, charsmax(szBuffer), MP3_SOUND_LIST[i][SOUND_FILE])
g_bIsMP3[i] = equal(szBuffer[strlen(szBuffer)-4], ".mp3") ? true : false
if(g_bIsMP3[i])
{
format(szBuffer, charsmax(szBuffer), "sound/%s", szBuffer)
precache_generic(szBuffer)
}
else
{
precache_generic(szBuffer)
}
}
}
public cmd_reproducir_sonido(id)
{
show_menu_reproducir(id, 0)
return PLUGIN_CONTINUE
}
public show_menu_reproducir(id, page)
{
new iMenuID = menu_create("\rReproducir un Sonido", "menu_reproducir")
menu_additem(iMenuID, "Parar Sonidos Actuales", "-1")
static i, szBuffer[7]
for(i = 0; i < MAX_SOUNDS; i++)
{
num_to_str(i, szBuffer, charsmax(szBuffer))
menu_additem(iMenuID, MP3_SOUND_LIST[i][SOUND_NAME], szBuffer)
}
menu_display(id, iMenuID, page)
}
public menu_reproducir(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED;
}
// Get Data
static szData[6], szName[64], iTemp, iTemp2, iKey
menu_item_getinfo(menu, item, iTemp, szData, charsmax(szData), szName, charsmax(szName), iTemp2)
iKey = str_to_num(szData)
switch(iKey)
{
case -1:
{
client_cmd(id, "mp3 stop; stopsound")
client_print(id, print_chat, "[RML] Sonidos Detenidos")
}
default:
{
if(g_bIsMP3[iKey])
client_cmd(id, "mp3 play ^"sound/%s^"", MP3_SOUND_LIST[iKey][SOUND_FILE])
else
client_cmd(id, "spk ^"%s^"", MP3_SOUND_LIST[iKey][SOUND_FILE])
client_print(id, print_chat, "[RML] Play al Sonido: %s", MP3_SOUND_LIST[iKey][SOUND_NAME])
}
}
// iTemp2 is the page
player_menu_info(id, iTemp, iTemp, iTemp2)
show_menu_reproducir(id, iTemp2)
menu_destroy(menu)
return PLUGIN_HANDLED
}