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

Quote:
Originally Posted by Johhnyllll
View Post
Удалось добится нужного эффекта используя дефолтные возможности zlang.

PHP Code:
Message_ToAdmin("MESSAGE_ADMIN_REPORT",P[playerid][p_name],playerid,inputtext); 
PHP Code:
stock Message_ToAdmin(var[], lang_args<>){
    static
        
text[MAX_LANG_MFORMAT_STRING];
    foreach(new 
Player){
        if(
P[i][p_access] >= 1){
            
Lang_GetText(Lang_GetPlayerLang(i), var, text);
            
Lang_format(textsizeof(text), textlang_start<1>);

            
SendClientMessage(i, -1text);
        }
    }

А зачем форматировать текст каждую итерацию? Не проще создать под каждый из языков массив, записать в эти массивы свой вариант текста и уже потом, в зависимости от выбранного языка, обращаться к нужному массиву? Это будет гораздо шустрее, чем то, что сделано сейчас.


И дабы не потерять гибкость кода (ну чтоб если решишь добавить новый язык, не пришлось потом вручную дописывать код во все подобные функции), достаточно просто создать перечисление, в котором уже будут указаны "массивы" для всех языков, привязанные к конкретным языкам. Ну и, соответственно, форматирование текста в функциях сделать через цикл, дабы любое изменение количества языков подхватывалось "на лету"
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)