Активный
- Тема Автор
- #1
Идея и назначение
Администратор может запустить голосование с двумя вариантами ответа.
Игроки голосуют командами, а по завершении показывается результат.
Суть реализации
1. Храним текст вопроса и два варианта.
2. Храним количество голосов за каждый вариант.
3. Добавляем команды запуска и голосования.
Реализация
Дополнительные идеи
1. Запрещать повторное голосование.
2. Ограничивать время голосования таймером.
3. Хранить историю голосований.
Администратор может запустить голосование с двумя вариантами ответа.
Игроки голосуют командами, а по завершении показывается результат.
Суть реализации
1. Храним текст вопроса и два варианта.
2. Храним количество голосов за каждый вариант.
3. Добавляем команды запуска и голосования.
Реализация
Код:
new VoteActive;
new VoteYes;
new VoteNo;
new VoteQuestion[64];
CMD:startvote(playerid, params[])
{
if(VoteActive)
return SendClientMessage(playerid, -1, "Голосование уже активно.");
new text[64];
if(sscanf(params, "s[64]", text))
return SendClientMessage(playerid, -1, "Используй: /startvote [вопрос].");
format(VoteQuestion, sizeof VoteQuestion, "%s", text);
VoteYes = 0;
VoteNo = 0;
VoteActive = 1;
SendClientMessageToAll(-1, "Запущено голосование, голосуй /yes или /no.");
return 1;
}
CMD:yes(playerid)
{
if(!VoteActive)
return SendClientMessage(playerid, -1, "Нет активного голосования.");
VoteYes++;
SendClientMessage(playerid, -1, "Ты проголосовал ЗА.");
return 1;
}
CMD:no(playerid)
{
if(!VoteActive)
return SendClientMessage(playerid, -1, "Нет активного голосования.");
VoteNo++;
SendClientMessage(playerid, -1, "Ты проголосовал ПРОТИВ.");
return 1;
}
CMD:endvote(playerid)
{
if(!VoteActive)
return SendClientMessage(playerid, -1, "Нет активного голосования.");
new msg[96];
format(msg, sizeof msg, "Результат голосования: %s | За: %d, против: %d.", VoteQuestion, VoteYes, VoteNo);
SendClientMessageToAll(-1, msg);
VoteActive = 0;
return 1;
}
Дополнительные идеи
1. Запрещать повторное голосование.
2. Ограничивать время голосования таймером.
3. Хранить историю голосований.