SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Русский/Russian

Reply
 
Thread Tools Display Modes
Old 25/08/2011, 06:12 PM   #1
temka1993
Big Clucker
 
Join Date: Feb 2011
Posts: 62
Reputation: 0
Default Список Афк игроков...

Привет всем, сижу о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)...не изза символа, а изза скобок

какие идеи по реализации?
temka1993 is offline   Reply With Quote
Old 25/08/2011, 06:19 PM   #2
HappyScripter
Huge Clucker
 
HappyScripter's Avatar
 
Join Date: Jul 2011
Posts: 218
Reputation: 10
Default Re: Список Афк игроков...

бегло просмотрел, возможно, должно быть так

PHP Code:
formatstringsizeof(string), "%s %s"strpName[i] ); 
а по реализации - можно запятые поставить после каждого ника, или переходы на новую строку. Смотря куда этот список будет выводиться.
HappyScripter is offline   Reply With Quote
Old 25/08/2011, 06:25 PM   #3
temka1993
Big Clucker
 
Join Date: Feb 2011
Posts: 62
Reputation: 0
Default Re: Список Афк игроков...

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

что интересно, в другом моде, есть аналогичная команда, но немного с другими функциями
а формат точно такой же, даже аргументы такие же...
и компилирует...очень странно
temka1993 is offline   Reply With Quote
Old 25/08/2011, 06:33 PM   #4
HappyScripter
Huge Clucker
 
HappyScripter's Avatar
 
Join Date: Jul 2011
Posts: 218
Reputation: 10
Default Re: Список Афк игроков...

() это вызов функции, а pName у Вас явно не функция, а массив. Для перебора ячеек массива используются []
HappyScripter is offline   Reply With Quote
Old 25/08/2011, 06:34 PM   #5
ZiGGi
Banned
 
Join Date: Sep 2008
Location: Russia
Posts: 1,659
Reputation: 356
Default Re: Список Афк игроков...

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

что интересно, в другом моде, есть аналогичная команда, но немного с другими функциями
а формат точно такой же, даже аргументы такие же...
и компилирует...очень странно
[] используются для указания номера аргумента в массивах.
а () используются для указания параметров в функциях.
ZiGGi is offline   Reply With Quote
Old 25/08/2011, 06:36 PM   #6
temka1993
Big Clucker
 
Join Date: Feb 2011
Posts: 62
Reputation: 0
Default Re: Список Афк игроков...

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

благодарю всех, кто отозвался в теме
temka1993 is offline   Reply With Quote
Old 25/08/2011, 06:46 PM   #7
ZiGGi
Banned
 
Join Date: Sep 2008
Location: Russia
Posts: 1,659
Reputation: 356
Default Re: Список Афк игроков...

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;  
}
ZiGGi is offline   Reply With Quote
Old 25/08/2011, 07:09 PM   #8
-Stranger-
Gangsta
 
-Stranger-'s Avatar
 
Join Date: Mar 2010
Location: TCP/IPv4
Posts: 770
Reputation: 40
Default Re: Список Афк игроков...

ZiGGi, а если будет 100 игроков AFK? получим 100 строк в чате...
Грамотнее формировать строки, допустим по 5 игроков и отправлять в чат.
__________________
[Mess with the best, die like the rest]
Помог? - жми на . Тебе один клик, а мне приятно
-Stranger- is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Как сделать чтобы над головой у игроков hillko Русский/Russian 5 01/08/2011 11:48 PM


All times are GMT. The time now is 08:07 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.