
Сообщение от
naryv
С транслятором, думаю можно сделать, что то типа функции возвращающей строку на указанном языке из файла-словаря, подойдёт такой вариант? С хранилищем не знаю, есть ли необходимость, тем более что Small_Bee уже сделал его. С проверкой на null нет, не получится.
У Small_Bee dll, которая работает только с выделенным сервером. Однако сингл-миссии и кампании тоже нужно локализовывать(я добавил свою сборку, но это все-таки неудобно) . К тому же свою dll приходится прописывать в референсах, копировать в папку игры, добавлять нэймспэйс - не очень удобно. К стати о добавлении dll - хорошо бы какую-нибудь папку в папке с игрой сделать для пользовательских сборок, сейчас они помещаются либо в корень, либо в parts/core.
По транслятору можно как-то так:
Задаем путь к папке с файлами локализации. У Small_Bee каждый язык в отдельном .txt-файле, вполне удобно. Кодиак на желтом выкладывал вариант с xml-файлом и всеми языками в нем.
Код:
string langFolderPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "\\1C SoftClub\\il-2 sturmovik cliffs of dover\\missions\\Single\\LocalizationExample\\localization\\";
Далее перевод нужного текста по метке(параметры: путь к папке с файлами локализации, метка для перевода текста, язык перевода). Т.е. метод возвращает текст перевода. Если перевод не найден - возвращается то же, что было отправлено.
Код:
public static string getTranslate(string langFolderPath, string msgKey, string langName)
Ну и отправка сообщения, 3 метода(или же еще один параметр добавить, отвечающий за адресатов). Для армии, определенным игрокам и всем игрокам.
Код:
public static void SendMessageToAll(string msgKey, string target, params object[] args)
public static void SendMessageToArmy(string msgKey, int army, string target, params object[] args)
public static void SendMessageToPlayers(string msgKey, Player[] players, string target, params object[] args)
target лучше как-то по другому сделать, наверное. Он имеет три варианта - Чат, Экран, Чат и экран.
Причем по назначению метод(ToAll, ToArmy,ToPlayers) должен сам фильтровать игроков и быть универсальным для выделенного, сингла и кампании, ну и проверять на null конечно)).
Это все очевидные вещи конечно, думаю разберетесь. А на будущее неплохо бы доработать HUD сообщения с возможность задавания цвета, расположения, величины шрифта(и самого шрифта), времени отображения, а также одновременного отображения нескольких худ-сообщений(Таким образом можно отображать где-нибудь в уголке параметры, счет в миссии, кол-во доступных самолетов и т.п.)
По хранилищу - вещь нужная для обмена данными между подмиссиями, но в принципе если сложно/долго сделать - можем пользоваться своими сборками.

Сообщение от
naryv
В принципе добавили три события - на убитого статика, здание и взрыв бомбы, с именами и координатами думаю для учёта поможет,
Спасибо, хорошая новость
А удалять статики можно будет подобно "живым" объектам?

Сообщение от
naryv
не загружающиеся статики надо посмотреть, не знаю пока. Но это всё возможно будет только в финальной версии патча.
Было бы просто замечательно, мы уже особо не торопимся)
И с желтого просили передать за статики )) :
FG28_Kodiak
Give him a big kiss from me!