Работа с аргументами.
#16

Quote:
Originally Posted by Eims
View Post
Ну так тебе ведь заранее известны все возможные варианты языков. И вместо того, чтоб для каждого игрока форматировать строку по новой, можно один раз записать конкретную строку для всех языков, а потом уже обращаться к записанным вариантам.

Что-то типа

PHP Code:
enum _:e_ARRAYS_LANG_LIST
{
    
langRus[MAX_LANG_MFORMAT_STRING],
    
langEng[MAX_LANG_MFORMAT_STRING]
};

stock Message_ToAdmin(var[], lang_args<>)

    static 
        
text[e_ARRAYS_LANG_LIST];

    for(new 
iMAX_LANGi++)
    {
        
Lang_GetText(i, var, text[i]); // Выгружаем строку для каждого языка
        
Lang_format(text[i], MAX_LANG_MFORMAT_STRINGtext[i], lang_start<1>); // Форматируем строку
    
}


    foreach(new 
Player)
    { 
        if(
P[i][p_access] >= 1)
        {
            
SendClientMessage(i, -1text[Lang_GetPlayerLang(i)]);// Обращаемся к заранее отформатированной строке, а не форматируем её каждый раз по новой 
        
}
    }
    return 
1;

Только я бы ещё советовал создать итератор для "p_access", а не городить такие проверки, дабы свести вообще все лишние действия к минимуму.
Хорошо, спасибо.
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)