Запуск арены, командой через пробел
#1

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 раз на этот сайт за сегодня. По этому я и не мог отредактировать названия той темы, т.к меня тут не было. Даже символов для названия темы не хватает

модер:
дело не во времени посещения, а в правильности названия и описания с первого раза (:
тогда бы и ответы уже были.
тема подправлена
Reply
#2

В этом коде dcmd_arenas только усложняет вид. Обычное strcmp в колбэке было бы, и ты бы сам мог сделать команду с пробелом без проблем.
Reply
#3

Пробовал. Получалось так: работала /arena rand и при этом же работала /arena (Любой ид арены) и при этом будет запускатся любая арена. А вот чтоб оставить, чтоб запускалась только через rand не получается что-то
Reply
#4

pawn Code:
if(strcmp("rand",params,true) != 0) return SendClientMessage(playerid, AAD_COLOR_GREY, "/arena rand");
безопасное сравнение строк уже отменили?

ЗЫ это че за бред:
pawn Code:
if(rand == rand)
если переменная равна сама себе выполнять код?
Переменная всегда будет равна сама себе!
Reply
#5

Code:
if(strcmp("rand",params,true) != 0) return SendClientMessage(playerid, AAD_COLOR_GREY, "/arena rand");
Ну с такой функцией даже rand вводить не надо, он и так запускать будет или после арена, что хочешь напиши, она сработает
Reply
#6

Quote:
Originally Posted by Nikid
Code:
if(strcmp("rand",params,true) != 0) return SendClientMessage(playerid, AAD_COLOR_GREY, "/arena rand");
Ну с такой функцией даже rand вводить не надо, он и так запускать будет или после арена, что хочешь напиши, она сработает
вы в курсе что делает функция strcmp?
Reply
#7

https://sampwiki.blast.hk/wiki/Использование_strcmp_RU
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)