Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Cистема языков

Статус
В этой теме нельзя размещать новые ответы.

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
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу