Запуск арены, командой через пробел -
Nikid - 19.06.2010
Code:
dcmd_arenas(playerid,params[])
{
if(Current != -1) return SendClientMessage(playerid, AAD_COLOR_GREY, "Дождитесь окончания раунда");
if(Player[playerid][pVoted]) return SendClientMessage(playerid, AAD_COLOR_GREY, " Вы уже отдали свой голос");
if(!strval(params)) return SendClientMessage(playerid, AAD_COLOR_GREY, "/arena rand");
if(aplayers < 1 || dplayers < 1)return SendClientMessage(playerid, AAD_COLOR_GREY, "Все игроки в 1 тиме");
new rand = strval(params);
if(rand == rand) return SendClientMessage(playerid, AAD_COLOR_GREY, "/arena rand");
new arenaid = random(VArenas-1);
new string[70];
VotedArena[arenaid]++;
Votes[arenaid] = Votes[arenaid] +1;
Player[playerid][pVoted] = true;
format(string,70,"%s проголосовал за cлучайную арену ", PNames[playerid]);
SendClientMessageToAll(COLOR_Green, string);
if(Votes[arenaid] >= 6)
{
Voting = false;
ArenaStartMode(arenaid);
}
if(!Voting)
{
Voting = true;
new i;
while((i < MAX_ARENAS) || (i <= maxid))
{
if(i < MAX_ARENAS && i != arenaid) Votes[i] = 0;
if(i < maxid&& i != playerid) Player[i][pVoted] = false;
i++;
}
VotingTime = 20;
ArenaVoteMove();
}
return 1;
}
Как сделать, чтоб можно было вводить не /arenas 3, а место цифры было слово или буква? То есть запускалась случайная арена по команде /arenas rand
P.s: Ув. модер. Я не провожу на сайтах 24ч. в сутки, как время есть захожу и отписываюсь, в данный момент только что зашел 2 раз на этот сайт за сегодня. По этому я и не мог отредактировать названия той темы, т.к меня тут не было. Даже символов для названия темы не хватает
модер:
дело не во времени посещения, а в правильности названия и описания с первого раза (:
тогда бы и ответы уже были.
тема подправлена
Re: Запуск рандом арены, командой через проб -
MX_Master - 19.06.2010
В этом коде dcmd_arenas только усложняет вид. Обычное strcmp в колбэке было бы, и ты бы сам мог сделать команду с пробелом без проблем.
Re: Запуск арены, командой через пробел -
Nikid - 20.06.2010
Пробовал. Получалось так: работала /arena rand и при этом же работала /arena (Любой ид арены) и при этом будет запускатся любая арена. А вот чтоб оставить, чтоб запускалась только через rand не получается что-то
Re: Запуск арены, командой через пробел -
Stepashka - 20.06.2010
pawn Code:
if(strcmp("rand",params,true) != 0) return SendClientMessage(playerid, AAD_COLOR_GREY, "/arena rand");
безопасное сравнение строк уже отменили?
ЗЫ это че за бред:
если переменная равна сама себе выполнять код?
Переменная всегда будет равна сама себе!
Re: Запуск арены, командой через пробел -
Nikid - 20.06.2010
Code:
if(strcmp("rand",params,true) != 0) return SendClientMessage(playerid, AAD_COLOR_GREY, "/arena rand");
Ну с такой функцией даже rand вводить не надо, он и так запускать будет или после арена, что хочешь напиши, она сработает
Re: Запуск арены, командой через пробел -
Stepashka - 20.06.2010
Quote:
|
Originally Posted by Nikid
Code:
if(strcmp("rand",params,true) != 0) return SendClientMessage(playerid, AAD_COLOR_GREY, "/arena rand");
Ну с такой функцией даже rand вводить не надо, он и так запускать будет или после арена, что хочешь напиши, она сработает
|
вы в курсе что делает функция
strcmp?
Re: Запуск арены, командой через пробел -
[Saint] - 21.06.2010
https://sampwiki.blast.hk/wiki/Использование_strcmp_RU