Список Афк игроков... -
temka1993 - 25.08.2011
Привет всем, сижу о5 велик изобретаю...
вообщем нужен списочек афк игроков состряпать
вот сижу мозгую...
получилось вот что:
PHP Code:
if(strcmp(cmd, "/афкашники", true) == 0)
{
new count,str[128];
GetPlayerName(playerid,pName,sizeof(pName));
format(str,sizeof str,"[AFK]:");
for(new i=0;i < GetMaxPlayers(); i++)
{
if(plafk[playerid] == -1 && IsPlayerConnected(i))
{
count++;
format(string,sizeof(string),"%s %s",str,pName(i));
}
}
new total[128];
format(total,sizeof(total),"%s .",string);
if(count > 0)SendClientMessage(playerid,COLOR_YELLOW,string);
if(count == 0)SendClientMessage(playerid,COLOR_YELLOW,"Игроков на паузе нет");
return true;
}
и все бы ничего. но он уж очень ругает мне строчку:
PHP Code:
format(string,sizeof(string),"%s %s",str,pName(i));
и я сижу и думаю. наверное это изза (i)...не изза символа, а изза скобок
какие идеи по реализации?
Re: Список Афк игроков... -
HappyScripter - 25.08.2011
бегло просмотрел, возможно, должно быть так
PHP Code:
format( string, sizeof(string), "%s %s", str, pName[i] );
а по реализации - можно запятые поставить после каждого ника, или переходы на новую строку. Смотря куда этот список будет выводиться.
Re: Список Афк игроков... -
temka1993 - 25.08.2011
Теперь скомпилировал
только вот где различие между () скобками и [] скобками...
что интересно, в другом моде, есть аналогичная команда, но немного с другими функциями
а формат точно такой же, даже аргументы такие же...
и компилирует...очень странно
Re: Список Афк игроков... -
HappyScripter - 25.08.2011
() это вызов функции, а
pName у Вас явно не функция, а массив. Для перебора ячеек массива используются []
Re: Список Афк игроков... -
ZiGGi - 25.08.2011
Quote:
Originally Posted by temka1993
Теперь скомпилировал
только вот где различие между () скобками и [] скобками...
что интересно, в другом моде, есть аналогичная команда, но немного с другими функциями
а формат точно такой же, даже аргументы такие же...
и компилирует...очень странно
|
[] используются для указания номера аргумента в массивах.
а () используются для указания параметров в функциях.
Re: Список Афк игроков... -
temka1993 - 25.08.2011
все, теперь понял
благодарю всех, кто отозвался в теме
Re: Список Афк игроков... -
ZiGGi - 25.08.2011
Quote:
Originally Posted by temka1993
все, теперь понял
благодарю всех, кто отозвался в теме
|
видимо ты свой код не проверял, ибо он не рабочий... логика в коде отсутствует:/
Вот рабочий вариант:
pawn Code:
if(strcmp(cmd, "/афкашники", true) == 0)
{
new count=0,str[128],playerName[MAX_PLAYER_NAME];
for(new i=GetMaxPlayers()-1;i >= 0;--i)
{
if(plafk[i] == -1 && IsPlayerConnected(i))
{
count++;
GetPlayerName(i,playerName,sizeof(playerName));
format(str,sizeof(str),"[AFK]: %s",playerName);
SendClientMessage(playerid,COLOR_YELLOW,str);
}
}
if(count == 0) return SendClientMessage(playerid,COLOR_YELLOW,"Игроков на паузе нет");
return 1;
}
Re: Список Афк игроков... -
-Stranger- - 25.08.2011
ZiGGi, а если будет 100 игроков AFK? получим 100 строк в чате...
Грамотнее формировать строки, допустим по 5 игроков и отправлять в чат.