| [TMP]oDyBaH | Дата: Воскресенье, 12.04.2009, 22:13 | Сообщение # 1 |
|
Местный
Группа:
Продвинутые
Сообщений: 667
Награды: 13
Город: Пенза
Репутация: -3
Замечания: 80%
Статус: 
| Если кто-то первый ввел команду /arena <ID> или /base <ID> то он может два раза подряд проголосовать!!в чем ошибка?нужно чтобы игрок мог только один раз голосовать в независимости от того первый он или последний! Команда голосования за базы: [pwn] if(!strcmp(cmdtext,"/base",true,5)) { new string[STR]; if(Player[playerid][pTeam] != T_DEF) SendClientMessage(playerid, AAD_COLOR_GREY, "* Только защитники могут голосовать."); else if(GameTypeOff == 1) SendClientMessage(playerid, AAD_COLOR_GREY, "* Выбор уже идёт по аренам"); else if(Current != -1) SendClientMessage(playerid, AAD_COLOR_GREY, "* База уже запущена, вы не можете голосовать."); else if(Gug == 0) SendClientMessage(playerid, AAD_COLOR_RED, "* Голосование отключено ркон-администратором."); else if(Player[playerid][pVoted]) SendClientMessage(playerid, AAD_COLOR_GREY, "* Ваш голос принят."); else if(!strlen(cmdtext[6])) SendClientMessage(playerid, AAD_COLOR_GREY, "* Используйте: /base [baseid]"); else { new baseid = strval(cmdtext[6]); if(baseid >= MAX_BASES) SendClientMessage(playerid, AAD_COLOR_GREY, "* База не обнаружена."); else if(!Exists[baseid]) SendClientMessage(playerid, AAD_COLOR_GREY, "* База не обнаружена."); else { Votes[baseid] = Votes[baseid] +1; Player[playerid][pVoted] = true; GameTypeOff = 2; format(string,STR,"* %s отдаёт голос за базу #%d.", Playername(playerid), baseid); SendClientMessageToAll(0x0080C0AA, string); if(Votes[baseid] >= 3) { Voting = false; StartMode(baseid); } if(!Voting) { Voting = true; new i; while((i < MAX_BASES) || (i < MAX_PLAYERS)) { if(i < MAX_BASES) Votes[i] = 0; if(i < MAX_PLAYERS) Player[i][pVoted] = false; i++; } VotingTime = 20; VoteMove(); } } } return 1; } [/pwn] Команда голосования за арены: [pwn] if(!strcmp(cmdtext,"/arena",true,6)) { new string[STR]; if(Current != -1) SendClientMessage(playerid, AAD_COLOR_GREY, "* Арена уже запущена, вы не можете голосовать."); else if(GameTypeOff == 2) SendClientMessage(playerid, AAD_COLOR_GREY, "* Выбор уже идёт по базам"); else if(Player[playerid][pVoted]) SendClientMessage(playerid, AAD_COLOR_GREY, "* Ваш голос принят."); else if(!strlen(cmdtext[7])) SendClientMessage(playerid, AAD_COLOR_GREY, "* Используйте: /arena [arenaid]"); else { new arenaid = strval(cmdtext[7]); if(arenaid >= MAX_ARENAS) SendClientMessage(playerid, AAD_COLOR_GREY, "* Арена не обнаружена."); else if(!Exists2[arenaid]) SendClientMessage(playerid, AAD_COLOR_GREY, "* Арена не обнаружена."); else { Votes[arenaid] = Votes[arenaid] +1; Player[playerid][pVoted] = true; format(string,STR,"* %s отдаёт голос за арену #%d.", Playername(playerid), arenaid); SendClientMessageToAll(0x0080C0AA, string); if(Votes[arenaid] >= 6) { Voting = false; GameTypeOff = 1; StartModeARENA(arenaid); } if(!Voting) { Voting = true; new i; while((i < MAX_ARENAS) || (i < MAX_PLAYERS)) { if(i < MAX_ARENAS) Votes[i] = 0; if(i < MAX_PLAYERS) Player[i][pVoted] = false; i++; } VotingTime = 20; VoteMove2(); } } } return 1; } [/pwn]Добавлено (12.04.2009, 22:13) --------------------------------------------- UP
Заказать бесплатно Графику < < < < < ЖМИ MiniDM 1 100% Скачать
|
| |
|
|
| stepmex | Дата: Воскресенье, 12.04.2009, 22:43 | Сообщение # 2 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус: 
| Попробуй переделать перменную Player[playerid][pVoted] с типа bool на целочисленую Соответственно при коннекте задай ей значение, например 0, а тут переделай строки: Code else if(Player[playerid][pVoted] == 1) SendClientMessage(playerid, AAD_COLOR_GREY, "* Ваш голос принят."); Player[playerid][pVoted] = 1;
И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
|
| |
|
|