Для этого нужен будет AMX Mod X Studio
Итак... для того чтобы задекларировать словарь - добавляем строчку в процедуру plugin_init
public plugin_init() { ... ... register_dictionary("VirusNade.txt") }
Все словари находятся в дирректории cstrike\addons\amxmodx\data\lang\. Поэтому мы создаём текстовый файл VirusNade.txtименно в этой дирректории
Чтение из словаря происходит двумя параметрами и объявляется в тексте одним... Объявляется знаками "%L"(Предполагаю, что сокращённо от LANG).. Пример:
client_print(id,print_console,"%L" ... или: client_print(id,print_console,"Player %L has been kicked" ...
Что появляется вместо "%L"? Появляется значение, которое будет взято из словаря... Как я уже сказал чтение производится двумя параметрами: "Язык" и "Параметр"... Функция LANG_SERVER возвращает значение - язык, на котором играет сервер... Чтение:
"%L", LANG_SERVER, "GUMUS"
Это значит что из словаряVirusNade.txt будет считываться параметр GUMUS из раздела <LANG_SERVER>(Чтобы это понять - будет рассмотрен пример с Virus SmokeNade 1.3)
Далее просматриваем код на надписи на инглише... Хоп! Находим:
print( id, "You're not allowed to buy an antidote!" );
Заменяем на:
print( id, "%L",LANG_SERVER,"VN_NOT" );
И в словаре пишем перевод:
[ru] ... ... VN_NOT = Вы не можете купить антидот! ... ...
И так далее... Незабываем под теми же параметрами поставить и английские значения(Вдруг если сервер на инглише)
[en] ... ... VN_NOT = You're not allowed to buy an antidote! ... ...
Схема заполнения словаря такова:
[<Язык сервера (Без знаком меньше/больше, но в квадратных скобках)>] <Параметр> = <Значение> <Параметр> = <Значение> <Параметр> = <Значение>
И ещё, надо учитывать последовательность языков в словаре.. Может произойти ошибка и чтения словаря вернёт значение: ML_NOTFOUND:<Параметр, вызванный вами>...
Последовательность такова:
[ru] [en] [de] [sr] [tr] [fr] [sv] [da] [pl] [nl] [es] [bp] [cz] [fi]
Не знаю почему, но это рекомендованная последовательность языков... Если нет у вас значений на каком то языке, то можно их не писать
Источник: http://www.amxserv.net/articles.php?article_id=49 |