Ползвай това:
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#define PLUGIN_VERSION "1.0"
new Array:g_aSounds,
g_iArraySize
enum
{
TYPE_INVALID = 0,
TYPE_WAV,
TYPE_MP3
}
new g_pTime
public plugin_init()
{
register_plugin("Map End Music", PLUGIN_VERSION, "OciXCrom")
g_pTime = register_cvar("mem_time", "15.0")
}
public plugin_cfg()
set_task(get_pcvar_float(g_pTime), "PlayMusic", .flags = "d")
public plugin_precache()
{
g_aSounds = ArrayCreate(128, 1)
fileRead()
}
public plugin_end()
ArrayDestroy(g_aSounds)
public PlayMusic()
{
new szSound[128]
ArrayGetString(g_aSounds, random(g_iArraySize), szSound, charsmax(szSound))
new iType = get_sound_type(szSound)
client_cmd(0, "%s%s", iType == TYPE_WAV ? "spk " : "mp3 play sound/", szSound)
}
fileRead()
{
new szConfigsName[256], szFilename[256]
get_configsdir(szConfigsName, charsmax(szConfigsName))
formatex(szFilename, charsmax(szFilename), "%s/MapEndMusic.ini", szConfigsName)
new iFilePointer = fopen(szFilename, "rt")
if(iFilePointer)
{
new szData[128]
while(!feof(iFilePointer))
{
fgets(iFilePointer, szData, charsmax(szData))
trim(szData)
switch(szData[0])
{
case EOS, ';': continue
default:
{
switch(get_sound_type(szData))
{
case TYPE_WAV, TYPE_MP3: precache_sound(szData)
case TYPE_INVALID: continue
}
ArrayPushString(g_aSounds, szData)
}
}
}
g_iArraySize = ArraySize(g_aSounds)
fclose(iFilePointer)
}
}
get_sound_type(szSound[])
{
if(contain(szSound, ".wav") != -1)
return TYPE_WAV
else if(contain(szSound, ".mp3") != -1)
return TYPE_MP3
return TYPE_INVALID
}
Звуците се добавят в configs/MapEndMusic.ini:
Код за потвърждение: Избери целия код
funsounds/sound1.wav
funsounds/sound2.mp3
sound3.mp3
//Edit: вариант №2 - музиката да се пуска когато се покаже scoreboard-ът в края на мапа:
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#define PLUGIN_VERSION "1.0"
new Array:g_aSounds,
g_iArraySize
enum
{
TYPE_INVALID = 0,
TYPE_WAV,
TYPE_MP3
}
public plugin_init()
{
register_plugin("Map End Music", PLUGIN_VERSION, "OciXCrom")
register_event("30", "PlayMusic", "a")
}
public plugin_precache()
{
g_aSounds = ArrayCreate(128, 1)
fileRead()
}
public plugin_end()
ArrayDestroy(g_aSounds)
public PlayMusic()
{
new szSound[128]
ArrayGetString(g_aSounds, random(g_iArraySize), szSound, charsmax(szSound))
new iType = get_sound_type(szSound)
client_cmd(0, "%s%s", iType == TYPE_WAV ? "spk " : "mp3 play sound/", szSound)
}
fileRead()
{
new szConfigsName[256], szFilename[256]
get_configsdir(szConfigsName, charsmax(szConfigsName))
formatex(szFilename, charsmax(szFilename), "%s/MapEndMusic.ini", szConfigsName)
new iFilePointer = fopen(szFilename, "rt")
if(iFilePointer)
{
new szData[128]
while(!feof(iFilePointer))
{
fgets(iFilePointer, szData, charsmax(szData))
trim(szData)
switch(szData[0])
{
case EOS, ';': continue
default:
{
switch(get_sound_type(szData))
{
case TYPE_WAV, TYPE_MP3: precache_sound(szData)
case TYPE_INVALID: continue
}
ArrayPushString(g_aSounds, szData)
}
}
}
g_iArraySize = ArraySize(g_aSounds)
fclose(iFilePointer)
}
}
get_sound_type(szSound[])
{
if(contain(szSound, ".wav") != -1)
return TYPE_WAV
else if(contain(szSound, ".mp3") != -1)
return TYPE_MP3
return TYPE_INVALID
}