не буду показывать весь исходник, а покажу только самое основное
Для этого нужен будет 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 из раздела (Чтобы это понять – будет рассмотрен пример с 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]
Не знаю почему, но это рекомендованная последовательность языков… Если нет у вас значений на каком то языке, то можно их не писать
=) у нас много чего интересного
нашому сайту пошла вторая неделя жизни
))
K1nder,