Code:
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#define VOTE_DELAY 180.0
new g_vote_list[][] = {"Night", "Evening", "Twilight"}
new g_vote_max = sizeof g_vote_list, g_voteCount[sizeof g_vote_list], g_vote_menu
public plugin_init() {
register_plugin("ZP Lighting vote","1.1","NullWarez")
set_task(VOTE_DELAY, "start_vote")
}
// Function create menu
public build_menu()
{
new option[64], menu_num[12]
g_vote_menu = menu_create("\ySelect Lighting:", "menu_handler")
for(new i=0;i<g_vote_max;i++)
{
format(option, sizeof option -1, "\w%s", g_vote_list[i])
format(menu_num, sizeof menu_num -1, "%d", i)
menu_additem(g_vote_menu, option, menu_num, 0)
}
menu_setprop(g_vote_menu, MPROP_EXIT, MEXIT_NEVER)
}
public start_vote(id)
{
build_menu()
// count of players and display menu
new players[32], inum, i
get_players(players, inum, "ch")
for(i=0;i<inum;i++)
menu_display(players[i], g_vote_menu, 0)
// resets counter
for(i=0;i<g_vote_max;i++)
g_voteCount[i] = 0
// Delay before finish voting
set_task(25.0, "finish_vote")
new rand = random_num(0,1)
switch(rand) {
case 0: client_cmd(0,"spk sound/gman/gman_choose1.wav")
case 1: client_cmd(0,"spk sound/gman/gman_choose2.wav")
}
return PLUGIN_CONTINUE
}
public menu_handler(id, menu, item)
{
if(!is_user_connected(id))
return PLUGIN_CONTINUE
new data[3], name[32];
new access, callback;
menu_item_getinfo(g_vote_menu, item, access, data, 5, "", 0, callback)
new key = str_to_num(data)
get_user_name(id, name, 31)
ColorChat(0, NORMAL, "^x04[ZP]^x01 %s voted for %s", name, g_vote_list[key])
g_voteCount[key]++
return PLUGIN_HANDLED
}
public finish_vote()
{
new best = 0, i
for(i=0;i<g_vote_max;i++)
{
if(g_voteCount[i] > g_voteCount[best])
best = i
}
switch(best)
{
case 0: server_cmd("zp_lighting a")
case 1: server_cmd("zp_lighting z")
case 2: server_cmd("zp_lighting c")
}
ColorChat(0, NORMAL, "^x04[ZP]^x01 Lighting selected: %s", g_vote_list[best])
new players[32], inum
get_players(players, inum, "ch")
for(i=0;i<inum;i++)
{
if(is_user_connected(players[i]))
show_menu(players[i], 0, "^n", 1) // Menu hide (wtf...)
}
//destroy the menu
menu_destroy(g_vote_menu);
}