#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fun>
#define PLUGIN "Funpluginok"
#define VERSION "1.0"
#define AUTHOR "IrOn"
new bool:nyomjabemikrofont[33];
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("+mikrofon", "adminbeszedbe")
register_clcmd("-mikrofon", "adminbeszedki")
register_clcmd("miki", "adminmicmenu", ADMIN_KICK)
register_event("DeathMsg", "meghalt", "a")
}
public client_putinserver(id)
nyomjabemikrofont[id] = false;
public adminmicmenu(id)
{
if(!(get_user_flags(id) & ADMIN_KICK))
return PLUGIN_HANDLED
new menu = menu_create("\rKit szeretnĂ©l szĂvatni?", "adminmic_hand")
new players[32], pnum;
get_players(players, pnum, "c")
for(new i=0; i<pnum; i++)
{
if(is_user_connected(players[i]) && is_user_alive(players[i]) && !nyomjabemikrofont[players[i]])
{
new playerid[65]
num_to_str(players[i], playerid, charsmax(playerid))
new name[66]
get_user_name(players[i], name, charsmax(name))
menu_additem(menu, name, playerid, 0);
}
}
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
return PLUGIN_CONTINUE;
}
public meghalt()
{
new elhullott = read_data(2)
if(nyomjabemikrofont[elhullott])
{
nyomjabemikrofont[elhullott]=false;
set_speak(elhullott, SPEAK_ALL)
client_cmd(elhullott, "+voicerecord")
set_task(5.0, "leallitbenyomas", elhullott)
}
return PLUGIN_CONTINUE;
}
public leallitbenyomas(id)
{
client_cmd(id, "-voicerecord")
}
public adminmic_hand(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED;
}
new data[6], szName[64];
new accesss, callback;
menu_item_getinfo(menu, item, accesss, data,charsmax(data), szName,charsmax(szName), callback);
new kivalasztott = str_to_num(data);
if(is_user_connected(kivalasztott) && is_user_alive(kivalasztott))
{
new name[65]
get_user_name(kivalasztott, name, charsmax(name))
nyomjabemikrofont[kivalasztott]=true;
set_speak(kivalasztott, SPEAK_ALL)
client_cmd(kivalasztott, "+voicerecord")
client_cmd(kivalasztott, "cd_eject")
print_color(id, "!t %s!y mikrofonja benyomva, cd meghajtó kinyitva.", name)
}
else
print_color(id, "!tA kiválasztott ember már nem él, vagy lelépett!")
menu_destroy(menu)
adminmicmenu(id)
return PLUGIN_HANDLED;
}
public adminbeszedbe(id)
{
new players[32], count
get_players(players, count, "c")
for(new i = 0; i < count; i++)
{
if(get_user_flags(players[i]) & ADMIN_KICK)
set_client_listen(players[i], id, 1)
else
set_client_listen(players[i], id, 0)
}
client_cmd(id, "+voicerecord")
return PLUGIN_CONTINUE
}
public adminbeszedki(id)
{
client_cmd(id, "-voicerecord")
new players[32], count
get_players(players, count, "c")
for(new i = 0; i < count; i++)
{
set_speak(players[i], SPEAK_NORMAL)
set_client_listen(players[i], id, 1)
}
return PLUGIN_CONTINUE
}
stock print_color(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
replace_all(msg, 190, "á", "á")
replace_all(msg, 190, "é", "Ă©")
replace_all(msg, 190, "í", "Ă")
replace_all(msg, 190, "ó", "Ăł")
replace_all(msg, 190, "ö", "ö")
replace_all(msg, 190, "ő", "Ĺ‘")
replace_all(msg, 190, "ú", "Ăş")
replace_all(msg, 190, "ü", "ĂĽ")
replace_all(msg, 190, "ű", "ű")
replace_all(msg, 190, "Á", "Ă")
replace_all(msg, 190, "É", "É")
replace_all(msg, 190, "Í", "ĂŤ")
replace_all(msg, 190, "Ó", "Ă“")
replace_all(msg, 190, "Ö", "Ă–")
replace_all(msg, 190, "Ő", "Ĺ")
replace_all(msg, 190, "Ú", "Ăš")
replace_all(msg, 190, "Ü", "Ăś")
replace_all(msg, 190, "Ű", "Ĺ°")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
return PLUGIN_HANDLED
}