Код
/*
*
* AMX_ALLTALK
* by ImJust2Nasty
* djmumbles69@hotmail.com
*
*/
#include <amxmodx>
#include <amxmisc>
new bool:AlltalkEnabled
new option[2]
public amx_enablealltalk(id,level,cid) {
if (!cmd_access(id,level,cid,1))
return PLUGIN_HANDLED
new arg1[4]
read_argv(1,arg1,3)
if (equal(arg1,"1")||equali(arg1,"on")){
AlltalkEnabled = true
client_cmd(0,"spk misc/on_off")
server_cmd("sv_alltalk 1")
}
else if (equal(arg1,"0")||equali(arg1,"off")){
AlltalkEnabled = false
client_cmd(0,"spk misc/on_off")
server_cmd("sv_alltalk 0")
}
else {
console_print(id,"Alltalk On is %s",AlltalkEnabled ? "Enable" : "Disable")
return PLUGIN_HANDLED
}
set_hudmessage(0, 100, 0, 0.05, 0.65, 2, 0.02, 10.0, 0.01, 0.1, 2)
show_hudmessage(0,AlltalkEnabled ? "Общий голосовой чат включен" : "Общий голосовой чат выключен" )
return PLUGIN_HANDLED
}
new votealltalk[] = "\y%s общий голосовой чат?\w^n^n1. Да^n2. Нет"
public vote_alltalk(id){
new Float:voting = get_cvar_float("amx_last_voting")
if (voting > get_gametime()){
client_print(id,print_chat,"* В данный момент уже идет голосование...")
return PLUGIN_HANDLED
}
if (voting && voting + get_cvar_float("amx_vote_delay") > get_gametime()) {
client_print(id,print_chat,"* Подождите неного с голосованием...")
return PLUGIN_HANDLED
}
new menu_msg[256]
format(menu_msg,255,votealltalk,AlltalkEnabled ? "Выключить" : "Включить")
new Float:vote_time = get_cvar_float("amx_vote_time") + 2.0
set_cvar_float("amx_last_voting", get_gametime() + vote_time )
show_menu(0,(1<<0)|(1<<1),menu_msg,floatround(vote_time))
set_task(vote_time,"check_votes")
client_print(0,print_chat,"* Голосование запущено...")
option[0]=option[1]=0
return PLUGIN_HANDLED
}
public vote_count(id,key){
if ( get_cvar_float("amx_vote_answers") ) {
new name[32]
get_user_name(id,name,31)
client_print(0,print_chat,"* %s voted to %s", name, key ? "disable alltalk" : "enable alltalk" )
}
++option[key]
return PLUGIN_HANDLED
}
public check_votes(id){
if (option[0] > option[1]){
server_cmd( "amx_alltalk %s", AlltalkEnabled ? "off" : "on" )
client_print(0,print_chat,"* Голосование состоялось (за ^"%d^") (против ^"%d^").",option[0],option[1])
}
else{
client_print(0,print_chat,"* Голосование не удалось (за ^"%d^") (против ^"%d^").",option[0],option[1])
}
return PLUGIN_CONTINUE
}
public plugin_precache()
{
precache_sound( "misc/on_off.wav")
precache_sound( "misc/on_off.wav")
return PLUGIN_CONTINUE
}
public plugin_init(){
register_plugin("Admin Alltalk","0.1","ImJust2Nasty")
register_concmd("amx_alltalk","amx_enablealltalk",ADMIN_LEVEL_B,"<0|1> : turn alltalk on/off")
register_clcmd("say /votealltalk","vote_alltalk",0,"- start voting session for alltalk")
register_menucmd(register_menuid("Alltalk On?"),(1<<0)|(1<<1),"vote_count")
return PLUGIN_CONTINUE
}