Quote:
Originally Posted by Johhnyllll
Удалось добится нужного эффекта используя дефолтные возможности 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 i : Player){ if(P[i][p_access] >= 1){ Lang_GetText(Lang_GetPlayerLang(i), var, text); Lang_format(text, sizeof(text), text, lang_start<1>); SendClientMessage(i, -1, text); } } }
|
А зачем форматировать текст каждую итерацию? Не проще создать под каждый из языков массив, записать в эти массивы свой вариант текста и уже потом, в зависимости от выбранного языка, обращаться к нужному массиву? Это будет гораздо шустрее, чем то, что сделано сейчас.
И дабы не потерять гибкость кода
(ну чтоб если решишь добавить новый язык, не пришлось потом вручную дописывать код во все подобные функции), достаточно просто создать перечисление, в котором уже будут указаны "массивы" для всех языков, привязанные к конкретным языкам. Ну и, соответственно, форматирование текста в функциях сделать через цикл, дабы любое изменение количества языков подхватывалось "на лету"