Ко всем командам:
Ко всем дефайнам:
ко всем new:
Ко всем стокам:
В сток LoadPick:
Чуть ниже:
Ко всем пикапам:
Ко всем Кейсам:
Ко всему Update();
PHP:
CMD:getpick(playerid, params[])
{
if(PlayerLogged[playerid] == 0) return 1;
if(PlayerInfo[playerid][pAdmin] < 1) return 1;
if(Pick == false) return SendClientMessage(playerid, COLOR_GREY, "В штате нет выборов!");
GetPick(playerid);
return 1;
}
CMD:pick(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 4) return 1;
ShowPlayerDialog(playerid, D_PICK+3, 2, "Выборы", "Начать выборы\nЗакончить выоборы\nИзменить имена кандидатов", "Принять", "Отмена");
return 1;
}
CMD:picklist(playerid, params[])
{
if(PlayerLogged[playerid] == 0) return 1;
if(Pick == true) return SendClientMessage(playerid, COLOR_GREY, "В штате не закончены выборы!");
GetPick(playerid);
return 1;
}
PHP:
#define D_PICK 20 // выборы
#define TABLE_PICK "mayor"
#define D_NULL 0 // Информационный диалог
PHP:
new PickNames[256],PickName[7][32],PickDate,PickTimes[128],PickTime[7];
PHP:
stock GetPick(playerid)
{
new str[256], srrt[256], full = 0;
for(new i = 0; i < 7; i++)
{
if(strcmp(PickName[i],"None",false))
{
format(str, sizeof(str), "{ffffff}Кандидат №%i - {33AAFF}%s {ffffff}(Голосов: {33AAFF}%d{ffffff})\n",i+1, PickName[i], PickTime[i]);
strcat(srrt, str);
full++;
}
}
if(full == 0) strcat(srrt, "Кандидатов нет");
ShowPlayerDialog(playerid, D_NULL, 0, "Выборы", srrt, "Закрыть", "");
return true;
}
stock ResetPick()
{
for(new i; i < GetMaxPlayers(); i++)
{
if(!IsPlayerConnected(i)) continue;
PlayerInfo[i][pPick] = 0;
}
mysql_query("UPDATE "TABLE_ACCOUNT" SET pick = '0'");
mysql_query("UPDATE "TABLE_PICK" SET pick = '0'");
Pick = false;
PickDate = 0;
return true;
}
PHP:
PickNames,
PickDate,
PickTimes,
Pick,
PHP:
sscanf(PickNames, "p<,>s[32]s[32]s[32]s[32]s[32]s[32]s[32]",PickName[0],PickName[1], PickName[2], PickName[3], PickName[4], PickName[5], PickName[6]);
sscanf(PickTimes, "p<,>a<i>[7]",PickTime);
PHP:
if(pickupid == Pickup[0])
{
if(Pick == false) return SendClientMessage(playerid, COLOR_GREY, "В штате нет выборов!");
if(PlayerInfo[playerid][pPick] > 0) return SendClientMessage(playerid, COLOR_GREY, "Вы уже голосовали на этих выборах!");
new str[256], srrt[256], full = 0;
for(new i = 0; i < 7; i++)
{
if(strcmp(PickName[i],"None",false))
{
format(str, sizeof(str), "Проголосовать за - %s\n", PickName[i]);
strcat(srrt, str);
full++;
}
}
if(full == 0) strcat(srrt, "Кандидатов нет"), ShowPlayerDialog(playerid, D_NULL, 0, "Выборы", srrt, "Закрыть", "");
else ShowPlayerDialog(playerid, D_PICK, DIALOG_STYLE_LIST, "Выборы", srrt, "Принять", "Отмена");
return 1;
}
PHP:
case D_PICK:
{
if(!response) return 1;
if(!strcmp(sendername(playerid),PickName[listitem],true)) return SendClientMessage(playerid, COLOR_GREY, "Ты не можешь проголосовать за себя!");
PickTime[listitem]++, SendMes(playerid, COLOR_BLUE, "Вы проголосовали за: %s", PickName[listitem]);
format(PickTimes,128,"%d,%d,%d,%d,%d,%d,%d",PickTime[0],PickTime[1],PickTime[2],PickTime[3],PickTime[4],PickTime[5],PickTime[6]);
format(query, sizeof(query), "UPDATE "TABLE_PICK" SET times='%s'",PickTimes);
mysql_query(query);
PlayerInfo[playerid][pPick] = 1;
}
case D_PICK+1:
{
if(!response) return 1;
format(string, 90, "Введите имя кандидата на слот номер №%i:", listitem);
ShowPlayerDialog(playerid, D_PICK+2, 1, "Кандидат", string, "Принять", "Отмена");
SetPVarInt(playerid, "NumberPick", listitem);
}
case D_PICK+2:
{
if(!response) { DeletePVar(playerid, "NumberPick"); return 1; }
new c = GetPVarInt(playerid, "NumberPick");
if(sscanf(inputtext,"s[32]",PickName[c])) { format(string, 90, "Введите имя кандидата на слот номер №%i:", c); return ShowPlayerDialog(playerid, D_PICK+2, 1, "Кандидат", string, "Принять", "Отмена"); }
format(PickNames, 256, "%s, %s, %s, %s, %s, %s, %s",PickName[0], PickName[1], PickName[2], PickName[3], PickName[4], PickName[5], PickName[6]);
format(query, sizeof(query), "UPDATE "TABLE_PICK" SET Name = '%s'", PickNames);
mysql_query(query);
SendMes(playerid, COLOR_ORANGE, "Вы добавили в кандидаты: %s",PickName[c]);
DeletePVar(playerid, "NumberPick");
}
case D_PICK+3:
{
if(!response) return 1;
switch(listitem)
{
case 0:
{
if(Pick == true) return SendClientMessage(playerid, COLOR_GREY, "В штате уже проходят выборы!");
SendClientMessageToAll(0xBC331AFF, "Внимание! В штате начались выборы. Длительность 6 часов");
PickDate = gettime()+21600;
Pick = true;
format(query, sizeof(query),"UPDATE "TABLE_PICK" SET pick ='1', name='None, None, None, None, None, None, None', times='0,0,0,0,0,0,0',time = %d", PickDate);
mysql_query(query);
for(new i = 0; i < 7; i++) { strmid(PickName[i],"None",0,strlen("None"),MAX_PLAYER_NAME); PickTime[i] = 0; }
}
case 1:
{
if(Pick == false) return SendClientMessage(playerid, COLOR_GREY, "В штате нет выборов!");
SendClientMessageToAll(0xBC331AFF, "Внимание! Выборы отменены администратором сервера!");
ResetPick();
}
case 2:
{
if(Pick == false) return SendClientMessage(playerid, COLOR_GREY, "В штате нет выборов!");
new str[255],sttr[255];
for(new i = 0; i <= 6; i++)
{
format(str,sizeof(str),"Слот №%i - %s\n",i, PickName[i]);
strcat(sttr, str);
}
ShowPlayerDialog(playerid, D_PICK+1, 2, "Кандидаты", sttr,"Принять", "Отмена");
}
}
}
PHP:
if(PickDate <= gettime() && Pick == true) ResetPick(), SendClientMessageToAll(0xBC331AFF, "Внмание! В штате закончились выборы. Посмотреть результаты: /picklist");
Внимание: Система для модов с MYSQL.
Последнее редактирование: