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=279156)



Список Афк игроков... - 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;GetMaxPlayers(); i++) 
        { 
            if(
plafk[playerid] == -&& 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:
formatstringsizeof(string), "%s %s"strpName[i] ); 
а по реализации - можно запятые поставить после каждого ника, или переходы на новую строку. Смотря куда этот список будет выводиться.


Re: Список Афк игроков... - temka1993 - 25.08.2011

Теперь скомпилировал
только вот где различие между () скобками и [] скобками...

что интересно, в другом моде, есть аналогичная команда, но немного с другими функциями
а формат точно такой же, даже аргументы такие же...
и компилирует...очень странно


Re: Список Афк игроков... - HappyScripter - 25.08.2011

() это вызов функции, а pName у Вас явно не функция, а массив. Для перебора ячеек массива используются []


Re: Список Афк игроков... - ZiGGi - 25.08.2011

Quote:
Originally Posted by temka1993
View Post
Теперь скомпилировал
только вот где различие между () скобками и [] скобками...

что интересно, в другом моде, есть аналогичная команда, но немного с другими функциями
а формат точно такой же, даже аргументы такие же...
и компилирует...очень странно
[] используются для указания номера аргумента в массивах.
а () используются для указания параметров в функциях.


Re: Список Афк игроков... - temka1993 - 25.08.2011

все, теперь понял

благодарю всех, кто отозвался в теме


Re: Список Афк игроков... - ZiGGi - 25.08.2011

Quote:
Originally Posted by temka1993
View Post
все, теперь понял

благодарю всех, кто отозвался в теме
видимо ты свой код не проверял, ибо он не рабочий... логика в коде отсутствует:/
Вот рабочий вариант:
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 игроков и отправлять в чат.