SA-MP Forums Archive
Запуск арены, командой через пробел - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Запуск арены, командой через пробел (/showthread.php?tid=155657)



Запуск арены, командой через пробел - 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");
безопасное сравнение строк уже отменили?

ЗЫ это че за бред:
pawn Code:
if(rand == 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