extazy | Дата: Суббота, 17.03.2012, 16:44 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 18
Статус: Offline
| #include <amxmodx>
// Для хранения меню голсоований new g_VoteMenu // Для хранения голосов за каждую опцию new g_Votes[2] // Для проверки, если голосование уже запущено new g_Voting
public plugin_init() { register_clcmd("start_vote", "StartVote") } public StartVote(id) { // Если голосование уже запущено, то выходим if (g_Voting) { client_print(id, print_chat, "There is already a vote going.") // Мы возвращаем PLUGIN_HANDLED, чтобы в консоли игрока не было сообщения unknown command return PLUGIN_HANDLED }
g_VoteMenu = menu_create("\rVote Menu:", "menu_handler")
menu_additem(g_VoteMenu, "Vote Option 1", "0", 0) menu_additem(g_VoteMenu, "Vote Option 2", "1", 0) new s_Players[32], i_Num, i_Player get_players(s_Players, i_Num)
for (new i; i < i_Num; i++) { i_Player = s_Players[i]
menu_display(i_Player, g_VoteMenu, 0)
// Увеличиваем, чтобы узнать сколько игроков голосуют g_Voting++ }
// Останавливаем голосование через 10 секунд set_task(10.0, "EndVote")
return PLUGIN_HANDLED } public menu_handler(id, menu, item) { if (item == MENU_EXIT) return PLUGIN_HANDLED
new s_Data[6], s_Name[64], i_Access, i_Callback menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
// Полчаем информацию о том, какая опция была выбрана new i_Vote = str_to_num(s_Data)
// Увеличиваем количество голосов по данной опции g_Votes[i_Vote]++
return PLUGIN_HANDLED } public EndVote() { // Если первая опция набрала больше голосов, чем вторая if (g_Votes[0] > g_Votes[1]) client_print(0, print_chat, "First option recieved most votes (%d)", g_Votes[0]) // Иначе если вторая опция набрала больше голосов, чем первая else if (g_Votes[1] > g_Votes[0]) client_print(0, print_chat, "Second option recieved most votes (%d)", g_Votes[1]) // Иначе равное кол-во голосов else client_print(0, print_chat, "The vote tied at %d votes each.", g_Votes[0])
menu_destroy(g_VoteMenu)
// Сбрасываем информацию о том, что игроки голосуют g_Voting = 0 }
Смотри, не получи бан!)
|
|
| |