Hey coders,
i am making menu items..
One menu item (start) will turn on sound..
And menu item (off) will turn off sound or stop playing sound, but this what i write dont work.
I tried another codes, but dont work too.
Please help, thanks.
PHP Code:
#include <emitsoundany>
#include <sourcemod>
#define Zvedam "testing/zvedam.mp3"
#define LoopClients(%1) for(int %1 = 1; %1 <= MaxClients; %1++)
#pragma semicolon 1
#pragma newdecls required
public Plugin myinfo =
{
name = "Menu",
author = "Javi",
description = "TEST",
version = "1.0",
url = "test"
};
public void OnMapStart()
{
AddFileToDownloadsTable("sound/testing/zvedam.mp3");
PrecacheSoundAny("testing/zvedam.mp3");
}
public void OnPluginStart()
{
RegConsoleCmd("sm_test", Command_test);
}
public Action Command_test(int client, int args)
{
Menu menu = new Menu(m_headmenu);
menu.SetTitle("HeadMenu");
menu.AddItem("start", "Turn on music");
menu.AddItem("off", "Turn off music");
menu.Display(client, MENU_TIME_FOREVER);
return Plugin_Handled;
}
public int m_headmenu(Menu menu, MenuAction action, int client, int index)
{
if(action == MenuAction_Select)
{
char szItem[12];
menu.GetItem(index, szItem, sizeof(szItem));
if(StrEqual(szItem, "start", false))
{
EmitSoundToAllAny(Zvedam);
}
else if(StrEqual(szItem, "off", false))
{
LoopClients(i)
{
StopSoundPermAny(i, Zvedam);
}
}
}
else if(action == MenuAction_End)
{
delete menu;
}
}
stock void StopSoundPermAny(int i, char[] sound)
{
StopSound(i, SNDCHAN_AUTO, sound);
StopSound(i, SNDCHAN_WEAPON, sound);
StopSound(i, SNDCHAN_VOICE, sound);
StopSound(i, SNDCHAN_ITEM, sound);
StopSound(i, SNDCHAN_BODY, sound);
StopSound(i, SNDCHAN_STREAM, sound);
StopSound(i, SNDCHAN_VOICE_BASE, sound);
StopSound(i, SNDCHAN_USER_BASE, sound);
}
__________________