[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
[Pawno-Урок]по созданию Выборы губернатора
Дата: 13.03.2011, Воскресенье, 17:38:00 | Сообщение # $NUMBER
Группа: Гл. Модераторы
Сообщений: 220
Репутация: 253+
FFFUUU
скрины:

Создаём объекты public OnGameModeInit):

Code
CreateObject(1471, 1734.295532, -1354.343384, 15.180791, 0.000000, 0.000000, 0.000000); //   
CreateObject(1472, 1736.192017, -1354.416748, 15.180791, 0.000000, 0.000000, 89.999981276); //   
CreateObject(1521, 1732.375610, -1348.378906, 19.427385, 0.000000, 0.000000, 89.999981276); //   
CreateObject(1471, 1734.327515, -1352.562500, 15.179551, 0.000000, 0.000000, 180.000019848); //   
CreateObject(1471, 1734.324463, -1350.830200, 15.187104, 0.000000, 0.000000, 180.000019848); //   
CreateObject(1471, 1734.312500, -1349.102417, 15.186260, 0.000000, 0.000000, 180.000019848); //   
CreateObject(1471, 1735.929688, -1349.330933, 15.177979, 0.000000, 0.000000, 89.999981276); //   
CreateObject(1215, 1735.067505, -1353.558350, 15.336143, 0.000000, 0.000000, 0.000000); //   
CreateObject(1215, 1735.191895, -1351.953491, 15.328138, 0.000000, 0.000000, 0.000000); //   
CreateObject(1215, 1735.210449, -1350.263794, 15.327716, 0.000000, 0.000000, 0.000000); //   
CreateObject(1215, 1736.541260, -1350.192017, 15.327049, 0.000000, 0.000000, 0.000000); //   
CreateObject(1215, 1736.485718, -1348.474365, 15.326656, 0.000000, 0.000000, 0.000000); //   
CreateObject(1215, 1735.330566, -1348.418213, 15.335084, 0.000000, 0.000000, 0.000000); //   
CreateObject(1471, 1734.289185, -1347.403076, 15.185431, 0.000000, 0.000000, 180.000019848); //   
CreateObject(1471, 1734.281372, -1345.653687, 15.184577, 0.000000, 0.000000, 179.999962552); //   
CreateObject(1215, 1735.081421, -1346.807983, 15.334297, 0.000000, 0.000000, 0.000000); //   
CreateObject(1215, 1735.022095, -1345.069946, 15.377357, 0.000000, 0.000000, 0.000000); //   
CreateObject(1215, 1733.579956, -1344.661377, 15.333249, 0.000000, 0.000000, 0.000000); //   
CreateObject(627, 1744.375732, -1359.047241, 16.614922, 0.000000, 0.000000, 0.000000); //   
CreateObject(627, 1746.086182, -1359.182739, 16.613251, 0.000000, 0.000000, 0.000000); //   
CreateObject(627, 1747.694702, -1359.311890, 16.611679, 0.000000, 0.000000, 0.000000); //   
CreateObject(627, 1749.186157, -1359.221069, 16.610222, 0.000000, 0.000000, 0.000000); //   
CreateObject(631, 1747.347412, -1342.450562, 18.536476, 0.000000, 0.000000, 0.000000); //   
CreateObject(631, 1753.121826, -1342.298096, 18.536476, 0.000000, 0.000000, 0.000000); //   
CreateObject(631, 1757.708984, -1342.878784, 18.536476, 0.000000, 0.000000, 0.000000); //

Далее делаем команду для голосования:

Ко всем new добавим:

Code
new pointshave[MAX_PLAYERS];   
new avoted[MAX_PLAYERS];   
new Wibory;

Ко всем forward добавим:

Code
forward ElectCheck();

Далее в public OnPlayerCommandText добавим команду начала выборов:

Code
if(strcmp(cmd, "/elections", true) == 0)//elections команда начала голосования))   
{   
if(IsPlayerConnected(playerid))   
{   
if (Wibory == 1)   
{   
SendClientMessage(playerid, COLOR_GRAD2, " Выборы уже обьявлены дождитесь окончания.");   
return 1;   
}   
if (PlayerInfo[playerid][pAdmin] >= 1337)   
{   
Wibory = 1;   
//очистка предыдущих выборов))   
for (new i=0; i < MAX_PLAYERS; i++)   
{   
pointshave[i]=0;   
avoted[i]=0;   
}   
SendClientMessage(playerid, COLOR_GRAD2, " Вы объявили начало выборов мера штата СА.");   
return 1;   
}   
else   
{   
SendClientMessage(playerid, COLOR_GRAD1, "Вы не админ.");   
}   
}   
return 1;   
}

Далее, туда-же (в public OnPlayerCommandText), добавляем команду для отдачи голоса:

Code
if(strcmp(cmd, "/vote", true) == 0)//команда голосования   
{   
if(IsPlayerConnected(playerid))   
{   
tmp = strtok(cmdtext, idx);   
if(!strlen(tmp))   
{   
SendClientMessage(playerid, COLOR_GRAD2, "*** Используйте /vote [ID Кондидата]");   
return 1;   
}   
if (Wibory == 0) {   
SendClientMessage(playerid, COLOR_GRAD2, "Выборы ещё не объявлены.");   
return 1;   
}   
new playa;   
playa = ReturnUser(tmp);   
if (avoted[playerid] > 0){   
SendClientMessage(playerid, COLOR_GRAD2, "Вы уже проголосовали не жульничайте.");   
return 1;   
}   
if(IsPlayerConnected(playa))   
{   
if(playa != INVALID_PLAYER_ID)   
{   
GetPlayerName(playa, giveplayer, sizeof(giveplayer));   
GetPlayerName(playerid, sendername, sizeof(sendername));   
if(pointshave[playa] == 0)   
{   
format(string, sizeof(string), " За вас проголосовал, %s", sendername);   
SendClientMessage(playa, COLOR_LIGHTBLUE, string);   
format(string, sizeof(string), " Ты отдал свой голос за %s", giveplayer);   
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);   
pointshave[playa] += 1;   
avoted[playerid]= 1;   
ElectCheck();   
}   
}   
}   
else   
{   
SendClientMessage(playerid, COLOR_GRAD1, "Игрока нет на сервере");   
}   
}   
return 1;   
}

Далее в конец мода куда-нибудь:

public ElectCheck()
{
new string[256];
new giveplayer[MAX_PLAYER_NAME];
for(new i=0; i< MAX_PLAYERS ;i++)
{
if(pointshave[i] > 0) // тут кол-во голосов которое кандидат должен получить чтобы ему дали лидирку
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), " *** Новости штата СА:Мер штата %s избран,выборы окончены *** ", giveplayer);
OOCNews(TEAM_GROVE_COLOR,string);
PlayerInfo[i][pChar] = 147; //Ид скина который поставят при победе
gTeam[i] = 11;
PlayerInfo[i][pTeam] = 11;
PlayerInfo[i][pLeader] = 7; // Ид фракции которым поставят при победе игрока(МЕР)
SetPlayerSkin(i,147);
PlayerInfo[i][pRank] = 6;
Wibory=0;
}
}
return 1;
}

Авторы: ABATAP a.k.a. Z0_oM_er - Создатель места
Impereal - Создатель команд

Дата: 13.03.2011, Воскресенье, 17:56:22 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 114
Репутация: 262+
Молодец :)

Добавлено (13.03.2011, 17:56:22)
---------------------------------------------
Кста, скрины не пашут

Дата: 13.03.2011, Воскресенье, 18:12:15 | Сообщение # $NUMBER
Группа: Гл. Модераторы
Сообщений: 220
Репутация: 253+
FFFUUU
Дата: 13.03.2011, Воскресенье, 18:15:17 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 114
Репутация: 262+
Rendy_Orton, вообщем-то скрины не о чем CRAZY
Дата: 13.03.2011, Воскресенье, 19:44:54 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 667
Репутация: 1425+
Можно немного оптимизировать.
Дата: 13.03.2011, Воскресенье, 21:01:24 | Сообщение # $NUMBER
Группа: Удаленные
Сообщений:
Репутация: +
Rendy_Orton, может всетаки По созданию выборов губернатора?
Дата: 25.06.2011, Суббота, 10:10:50 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 1
Репутация: 5+
А как зделать чтоб например ставиш if(pointshave[i] > 4)
а то я поставила вот if(pointshave[i] > 4) и 1 игрок может проголосовать а остальные нет а если ставлю if(pointshave[i] > 0) то всё норм спс :)
Дата: 17.09.2011, Суббота, 13:24:38 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 1
Репутация: 0+
Укажи авторов!
Например автор [MAP] я, как никак 1 работа в MTA :D
Дата: 17.09.2011, Суббота, 13:27:22 | Сообщение # $NUMBER
Группа: Гл. Модераторы
Сообщений: 220
Репутация: 253+
FFFUUU
Quote (Bimbo)
Укажи авторов! Например автор [MAP] я, как никак 1 работа в MTA

Авторы: ABATAP a.k.a. Z0_oM_er - Создатель места B)
Impereal - Создатель команд CRAZY
Читай в нимательнооо
токо тебя тут нету или ник другой
все создатели там написаныыыыы
ROFL
  • Страница 1 из 1
  • 1
Поиск: