Advokat48
Умник
Как-то в голову пришла идея сделать систему опросов. Но все как-то руки не доходили.
Сегодня вспомнил про идею, и написал код.
Вообще, приступим:
Ко всем new:
Далее идем в
И туда добавляем команды:
Такс, команды мы добавили, теперь идем в
И туда вставляем диалоги:
Вот и все, компилируем, радуемся. Код рабочий, если выскочили варнинги или ерроры, значит руки не из того места растут.
Автор: Advokat48, он же N'aiX_X, он же Advokat
При копировании указывайте автора.
Сегодня вспомнил про идею, и написал код.
Вообще, приступим:
Ко всем new:
PHP:
new
idopr,
yes,
no,
oprosid;
PHP:
public OnPlayerCommandText(playerid, cmdtext[])
PHP:
if(strcmp(cmd, "/opros", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 1)//проверку свою ставьте
{
ShowPlayerDialog(playerid, 100, DIALOG_STYLE_INPUT, "Создание опроса", "Введите текст опроса:", "Создать", "Отмена");//id диалога ставьте свои
}
return 1;
}
if(strcmp(cmd, "/useopros", true) == 0)
{
if(oprosid == 1)
{
new strings[144], names[24], string[700];
if(GetPVarInt(playerid, "uch") == 1) return SendClientMessage(playerid, COLOR_GREEN, "Вы уже участвовали в опросе");
GetPVarString(idopr, "opros", strings, sizeof(strings));
GetPlayerName(idopr, names, sizeof(names));
format(string, sizeof(string), "%s\n\tСоздатель: %s", strings, names);
ShowPlayerDialog(playerid, 101, DIALOG_STYLE_MSGBOX, "Опрос", string, "ДА", "НЕТ");//id диалога ставьте свои
}
else
{
SendClientMessage(playerid, COLOR_RED, "Нет созданных опросов");
}
return 1;
}
if(strcmp(cmd, "/oprosinfo", true) == 0)
{
if(oprosid == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 1)//проверку свою ставьте
{
new strings[144], names[24], coordsstring[250];
new vsego = yes + no;
GetPVarString(idopr, "opros", strings, sizeof(strings));
GetPlayerName(idopr, names, sizeof(names));
new msg[] = "{ffffff}Вопрос: {00ff00}%s\n\t\t{ffffff}Создатель: [ {ff1100}%s {ffffff}]\nПроголосовало:\n\tЗа:[ {00ff00}%d {ffffff}]\n\tПротив:[ {ff1200}%d {ffffff}]\n\nВсего:[ {ff9f00}%d {ffffff}]";
format(coordsstring, 1000, msg, strings, names, yes, no, vsego);
ShowPlayerDialog(playerid,102,DIALOG_STYLE_MSGBOX,"Опрос",coordsstring,"Ок","");//id диалога свой
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Нет созданных опросов");
}
return 1;
}
if(strcmp(cmd, "/killopros", true) == 0)
{
if(oprosid == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 1)//свою проверку ставьте
{
SetPVarString(idopr, "opros", "None");
SendClientMessage(playerid, COLOR_YELLOW, "Вы удалили опрос");
oprosid = 0;
yes = 0;
no = 0;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Нет созданных опросов");
}
}
PHP:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
PHP:
case 100://id меняем на свой
{
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 100, DIALOG_STYLE_INPUT, "Создание опроса", "Введите текст опроса:", "Создать", "Отмена");//заменить id диалога на свой
new string[144], namea[24];
SetPVarString(playerid,"opros",inputtext);
idopr = playerid;
GetPlayerName(playerid, namea, sizeof(namea));
format(string, sizeof(string), "Администратор %s создал опрос. Для участия введите /useopros", namea);
SendClientMessageToAll(COLOR_GREEN, string);
oprosid = 1;
}
else
{
}
}
case 101://id диалога на свой меняем
{
if(response)
{
yes++;
}
else
{
no++;
}
SetPVarInt(playerid, "uch", 1);
}
Автор: Advokat48, он же N'aiX_X, он же Advokat
При копировании указывайте автора.
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Последнее редактирование:
