Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Иконка языка
#1
Долгое время надумывал впилить соответствующие иконки языков для клиента, дабы при смене языка он отображал на каком языке находится.
На ругофе работало, к слову говоря, но с тех пор воды утекло уже много, но не об этом.

Начал я с класса ChatWnd, в коем нашел нужное месте:

[SRC="csharp"]function HandleIMEStatusChange()
{
local string texture;
local EIMEType imeType;
imeType = GetCurrentIMELang();
switch( imeType )
{
case IME_KOR:
texture = "L2UI.ChatWnd.IME_kr";
break;
case IME_ENG:
texture = "L2UI.ChatWnd.IME_en";
break;
case IME_JPN:
texture = "L2UI.ChatWnd.IME_jp";
break;
case IME_CHN:
texture = "L2UI.ChatWnd.IME_jp";
break;
case IME_TAIWAN_CHANGJIE:
texture = "L2UI.ChatWnd.IME_tw2";
break;
case IME_TAIWAN_DAYI:
texture = "L2UI.ChatWnd.IME_tw3";
break;
case IME_TAIWAN_NEWPHONETIC:
texture = "L2UI.ChatWnd.IME_tw1";
break;
case IME_CHN_MS:
texture = "L2UI.ChatWnd.IME_cn1";
break;
case IME_CHN_JB:
texture = "L2UI.ChatWnd.IME_cn2";
break;
case IME_CHN_ABC:
texture = "L2UI.ChatWnd.IME_cn3";
break;
case IME_CHN_WUBI:
texture = "L2UI.ChatWnd.IME_cn4";
break;
case IME_CHN_WUBI2:
texture = "L2UI.ChatWnd.IME_cn4";
break;
case IME_THAI:
texture = "L2UI.ChatWnd.IME_th";
break;
//branch
case IME_RUSSIA:
texture = "BranchSys.symbol.IME_ru";
break;
//end of branch
default:
texture = "L2UI.ChatWnd.IME_en";
break;
};[/SRC]

Где:
[SRC="csharp"]case IME_RUSSIA:
texture = "BranchSys.symbol.IME_ru";[/SRC]
И есть путь к иконке русского языка.

Естественно по всем известному закону такой иконки там нет. Более того, в нём нет даже класса symbol.

Иконку я взял первую попавшуюся и решил залить:
[Изображение: 7538616.png]

Сохранил, закриптовал, кинул в клиент. Но при запуске клиент не реагирует на смену языка и отображает только одну иконку:
[SRC="csharp"]default:
texture = "L2UI.ChatWnd.IME_en";
break;[/SRC]

То бишь дефотную.


Опережу один из вариантов - да, на текстуре в xdat изначально стояла какая-то левая текстура, естественно я сразу очистил поле. Так что отображает раскладку он сам.

Вот у меня и зреет вопрос - а в чём, собственно, я ошибся? Может кто тоже ковырял это.
Ответ
#2
Цитата:BranchSys.symbol.IME_ru
BranchSys.UI.IME_ru, иннова накосячила))
Ответ
#3
Persy, Ну окей, она существует.
[Изображение: screenshot_1902.png]

Но я всё равно не улавливаю, а в чём ошибка-то? Я же дал ему класс и текстуру, на которые идёт ссылка в interface.u. Или я опять что-то не втянул до конца?
Ответ
#4
Emperor;419942 Написал:Но я всё равно не улавливаю, а в чём ошибка-то? Я же дал ему класс и текстуру, на которые идёт ссылка в interface.u. Или я опять что-то не втянул до конца?
Ты добавил в BranchSys.UI, а пишешь BranchSys.IME_ru, а UI?
Ответ
#5
Anikey;419943 Написал:Ты добавил в BranchSys.UI, а пишешь BranchSys.IME_ru, а UI?
Я вообще ничего не добавлял, она была там изначально, просто кусок класса чата ввёл меня в заблуждение о её отсутствии.

Что значит пишу? Мне в этом случае вообще ничего писать не нужно. Ссылка на текстуру в xdat остаётся пустой, a её заполнением занимается interface.u.

Но он юзает только дефолтную и не хочет показывать более никакую.
Ответ
#6
Вот это:
PHP код:
<?php 
texture
= "BranchSys.symbol.IME_ru";
На это:
PHP код:
<?php 
texture
= "BranchSys.UI.IME_ru";
Не?
Ответ
#7
Anikey, Давай на секунда рассмотрим 2 варианта развития событий:

1) Я могу править interface.u и исправлять путь к текстуре.
2) Я могу залить новую текстуру по тому пути, который знает interface.u.

В обоих случаях должно работать. Я выбрал второй.

Поглядим что скажет Перси, кароче говоря.
Ответ
#8
Emperor, Не в косячном пути к текстуре причина. UIAPI и локализацию смотрите.
Ответ
#9
Persy;419947 Написал:и локализацию
Вот на этом моменте поподробнее, если можно.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Смена языка на хрониках "Interlude" raindew 23 8,439 01-20-2016, 10:13 AM
Последний пост: Lucerat
  Отображение русского языка в клиенте Interlude Hotaka 6 4,008 11-25-2012, 10:03 PM
Последний пост: Hotaka
  Помогите нету в клиенте Lineage2 русского языка brat-Antaras 0 1,727 08-26-2010, 11:32 PM
Последний пост: brat-Antaras

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)