Merlin
Умник
Ко всем #define:
PHP:
#define MAX_LANGUAGES 3 // Максимальное число языков
#define MAX_TEXT_LENGTH 256 // Максимальное число символов в строчке
#define Language_RU 0 // Русский язык
#define Language_UA 1 // Украинский язык
#define Language_US 2 // Английский язык
#define Dialog_Lang 0 // ID Диалогового окна
Ко всем new:
PHP:
new Text[MAX_LANGUAGES][MAX_TEXT_LENGTH]; // Переменная на которую записываем все слова
new Lang[MAX_PLAYERS]; // Переменная отвечающая какой язык выбран у игрока
В public OnPlayerConnect(playerid):
PHP:
Lang[playerid] = 0; // При заходе на сервер даем игроку русский язык
SendClientMessage(playerid, 0xFFFFFFAA, Message(Lang[playerid], 0));
SendClientMessage(playerid, 0xFFFFFFAA, Message(Lang[playerid], 7));
В public OnPlayerCommandText(playerid, cmdtext[]):
PHP:
if(strcmp("/help", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid, 0xFFFFFFAA, Message(Lang[playerid], 6));
return 1;
}
if(strcmp("/setlang", cmdtext, true, 10) == 0)
{
ShowPlayerDialog(playerid, Dialog_Lang, DIALOG_STYLE_LIST, Message(Lang[playerid],1), Message(Lang[playerid],2), Message(Lang[playerid],3), Message(Lang[playerid],4));
return 1;
}
В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]):
PHP:
switch(dialogid) {
case Dialog_Lang: {
if(response == 1) {
Lang[playerid] = listitem;
SendClientMessage(playerid, 0xFFFFFFAA, Message(Lang[playerid], 5));
}
}
}
В конец мода:
PHP:
Message(Language,Message) {
switch(Message) { // id's
case 0: {
Text[Language_RU] = "Добро пожаловать!";
Text[Language_UA] = "Ласкаво просимо!";
Text[Language_US] = "Welcome!";
}
case 1: {
Text[Language_RU] = "Язык";
Text[Language_UA] = "Мова";
Text[Language_US] = "Language";
}
case 2: {
Text[Language_RU] = "1. Русский\n2. Украинский\n3. Английский";
Text[Language_UA] = "1. Російський\n2. Український\n3. Англійський";
Text[Language_US] = "1. Russian\n2. Ukrainian\n3. English";
}
case 3: {
Text[Language_RU] = "Выбор";
Text[Language_UA] = "Вибір";
Text[Language_US] = "Choice";
}
case 4: {
Text[Language_RU] = "Выход";
Text[Language_UA] = "Вихід";
Text[Language_US] = "Exit";
}
case 5: {
Text[Language_RU] = "Язык изменен!";
Text[Language_UA] = "Мова змінена!";
Text[Language_US] = "Language changed!";
}
case 6: {
Text[Language_RU] = "Помощь: {FF0000}текст...";
Text[Language_UA] = "Допомога: {FF0000}текст...";
Text[Language_US] = "Help: {FF0000}text...";
}
case 7: {
Text[Language_RU] = "Для смены языка введите: {FF0000}/setlang";
Text[Language_UA] = "Для зміни мови введіть: {FF0000}/setlang";
Text[Language_US] = "To change the language, type: {FF0000}/setlang";
}
default: {
Text[Language_RU] = "Ошибка";
Text[Language_UA] = "Помилка";
Text[Language_US] = "Error";
}
}
return Text[Language];
}
Примечания:
- Система довольно очень простая но не совсем хороша по оптимизации. Решил выложить так как может быть кому то и пригодиться.
- Здесь только показан пример как сделать смену языка, для тех кто захочет в пилить это все в мод придется самому уже это переделывать.
- Для умников: Английский язык был взят с
- Вывод текст производиться таким способом: Message(ид_языка,ид_сообщения), пример: print(Message(Language_RU,0));
Автор: Romzes- Система довольно очень простая но не совсем хороша по оптимизации. Решил выложить так как может быть кому то и пригодиться.
- Здесь только показан пример как сделать смену языка, для тех кто захочет в пилить это все в мод придется самому уже это переделывать.
- Для умников: Английский язык был взят с
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
- Вывод текст производиться таким способом: Message(ид_языка,ид_сообщения), пример: print(Message(Language_RU,0));
