#include <amxmodx>
#include <amxmisc>
#include <print_color>
#define PLUGIN "Korvegizene menure"
#define VERSION "1.0"
#define AUTHOR ""
#define rzenemin 0 //ez mindig maradjon nulla!
#define rzenemax 8 //amennyi zened van 0tol szamolva, tehat 3 az 0,1,2.
new randomkibe;
new Zene[33], valasztott[8]; //ha tobb zenet akarsz ezt is noveled!
#pragma tabsize 0;
new const Prefix[] = "[Szerver]";
enum _:adatok{
eleres[64],
cime[64]
}
new const ZeneBla[][adatok] ={
{"sound/zene/zene_1.mp3", "Zene 1"},
{"sound/zene/zene_2.mp3", "Zene 2"},
{"sound/zene/zene_3.mp3", "Zene 3"},
{"sound/zene/zene_4.mp3", "Zene 4"},
{"sound/zene/zene_5.mp3", "Zene 5"},
{"sound/zene/zene_6.mp3", "Zene 6"},
{"sound/zene/zene_7.mp3", "Zene 7"},
{"sound/zene/zene_8.mp3", "Zene 8"}
};
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /zene", "zene_fomenu_f");
register_logevent("Randomazosszeset", 2, "1=Round_End");
}
public zene_fomenu_f(id, k){
new cim[121];
format(cim, charsmax(cim), "\rZene fomenu");
new menu = menu_create(cim, "zene_fomenu_f_h");
formatex(cim, charsmax(cim), "\yRandom az osszeset");
menu_additem(menu, cim, "1",0);
formatex(cim, charsmax(cim), "\yEgyfele zenet valasztok");
menu_additem(menu, cim, "2",0);
menu_display(id, menu, 0);
}
public zene_fomenu_f_h(id, menu, item){
if(item == MENU_EXIT){
menu_destroy(menu);
return;
}
new data[9], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new k = str_to_num(data);
Zene[id] = k;
switch(k){
case 1:{
print_color(id, "%s !yKivalasztottad a !trandom!y zeneket.", Prefix);
print_color(0, "%s !yA kor vegen a zenek!t random !yfognak szolni!", Prefix);
Randomazosszeset(k);
randomkibe = false;
}
case 2: zene_fomenu(id, k);
}
}
public zene_fomenu(id, k){
new cim[121];
format(cim, charsmax(cim), "\rZene menu | valassz zenet");
new menu = menu_create(cim, "zene_fomenu_h");
for(new i = 0; i < sizeof(ZeneBla); i++){
new Sor[7]; num_to_str(i, Sor, 6);
formatex(cim, charsmax(cim), "\d%s", ZeneBla[i][cime]);
menu_additem(menu, cim, Sor);
}
menu_display(id, menu, 0);
}
public zene_fomenu_h(id, menu, item){
if(item == MENU_EXIT){
menu_destroy(menu);
return;
}
new data[9], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new k = str_to_num(data);
Zene[id] = k;
for(new i = 0; i < sizeof(ZeneBla); i++){
if(Zene[id] != i){
valasztott[i] = false;
}
else if(Zene[id] == i){
valasztott[i] = true;
randomkibe = true;
print_color(id, "%s !yKivalasztottad a(z)!t %s !yzenet.", Prefix, ZeneBla[i][cime]);
print_color(0, "%s !yA kor vegen csak!t %s !yzene fog szolni!.", Prefix, ZeneBla[i][cime]);
Randomazosszeset(k);
}
}
}
public Randomazosszeset(k)
{
new randomz = random_num(rzenemin, rzenemax);
new Players[32], PlayersNum, id;
get_players(Players, PlayersNum, "c");
for(new i; i < PlayersNum; i++){
for(new i; i < sizeof(ZeneBla); i++){
if(!randomkibe){
client_cmd(id, "mp3 play %s", ZeneBla[randomz][eleres]);
print_color(id, "%s !yZene cime:!t %s", Prefix, ZeneBla[randomz][cime]);
break;
}
}
for(Zene[id] = i; i < sizeof(ZeneBla); i++){
if(valasztott[i] && randomkibe){
client_cmd(id, "mp3 play %s", ZeneBla[i][eleres]);
print_color(id, "%s !yZene cime:!t %s", Prefix, ZeneBla[i][cime]);
break;
}
}
}
return PLUGIN_HANDLED;
}
public client_connect(id){
randomkibe = false;
}
public plugin_precache(){
for(new i;i < sizeof(ZeneBla); i++){
precache_sound(ZeneBla[i][eleres]);
}
}