Дата: 13.03.2011, Воскресенье, 17:38:00 | Сообщение # $NUMBER
Группа: Гл. Модераторы
Сообщений: 220
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 - Создатель команд
|