Sziasztok!
Megpróbáltam megcsinálni ezt a systemet:
https://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/3038686-mega-release-multilanguage-system-client.html
Minden jól megy megnyomom az ESC-t - rendszeropciók és ott irja az új pontban hogy Language mellete pedig Select gomb.
Igen ám de amikor rá kattintok a selectre nem történik semmi sem.
Kezdésként beraktam egy locale_de eix epk-t hogy majd átváltom németre de semmi sem történik.
Lépések amiket csináltam:
uisystemoption.py
self.GetChild("language_client_btn").SAFE_SetEvent(self.LanguageButton)
def LanguageButton(self):
import multi
MultiDialog = multi.MultiLanguage()
MultiDialog.Show()
self.Close()
systemoptiondialog.py
{
"name" : "language_client",
"type" : "text",
"x" : 40 + TEXT_TEMPORARY_X,
"y" : 210+2,
"text" : "Language",
},
{
"name" : "language_client_btn",
"type" : "button",
"x" : 110,
"y" : 210,
"text" : "Select",
"default_image" : ROOT_PATH + "small_Button_01.sub",
"over_image" : ROOT_PATH + "small_Button_02.sub",
"down_image" : ROOT_PATH + "small_Button_03.sub",
},
A megfelelő helyekre raktam be ezeket ahogy ott a videóban is mutatja a srác.
multi.py-bent van hozzá irtam a Magyar nyelvet hogy még is csak magyarra is vissza lehessen váltani.
Syserr ezt irja:
1007 14:19:06287 :: CSoundManager::PlayMusic - Failed to load stream sound : BGM/login_window.mp3
1007 14:20:21348 :: CSoundManager::PlayMusic - Failed to load stream sound : BGM/characterselect.mp3
1007 14:20:07262 :: CSoundManager::PlayMusic - Failed to load stream sound : BGM/enter_the_east.mp3
1007 14:21:33784 :: Traceback (most recent call last):
1007 14:21:33785 :: File "ui.py", line 1016, in CallEvent
1007 14:21:33785 :: File "ui.py", line 87, in __call__
1007 14:21:33785 :: File "ui.py", line 69, in __call__
1007 14:21:33785 :: File "uiSystemOption.py", line 254, in LanguageButton
1007 14:21:33785 :: File "system.py", line 130, in __pack_import
1007 14:21:33785 :: File "system.py", line 110, in _process_result
1007 14:21:33785 :: File "multi.py", line 9, in <module>
1007 14:21:33785 :: File "system.py", line 137, in __pack_import
1007 14:21:33785 :: File "L:\work\Python-2.7.3\lib\locale.py", line 15, in <module>
1007 14:21:33785 :: File "system.py", line 137, in __pack_import
1007 14:21:33785 :: File "C:\Users\YMIR\Downloads\Python-2.7.3\Python-2.7.3\lib\encodings\__init__.py", line 32, in <module>
1007 14:21:35452 :: Traceback (most recent call last):
1007 14:21:35452 :: File "ui.py", line 1016, in CallEvent
1007 14:21:35452 :: File "ui.py", line 87, in __call__
1007 14:21:35452 :: File "ui.py", line 69, in __call__
1007 14:21:35452 :: File "uiSystemOption.py", line 255, in LanguageButton
1007 14:21:35452 :: AttributeError
1007 14:21:35452 :: :
1007 14:21:35452 :: 'module' object has no attribute 'MultiLanguage'
1007 14:21:35452 ::
1007 14:21:35561 :: Traceback (most recent call last):
1007 14:21:35561 :: File "ui.py", line 1016, in CallEvent
1007 14:21:35561 :: File "ui.py", line 87, in __call__
1007 14:21:35561 :: File "ui.py", line 69, in __call__
1007 14:21:35561 :: File "uiSystemOption.py", line 255, in LanguageButton
1007 14:21:35561 :: AttributeError
1007 14:21:35561 :: :
1007 14:21:35561 :: 'module' object has no attribute 'MultiLanguage'
1007 14:21:35561 ::
Valakinek bármi ötlet esetleg?
Idéz1007 14:21:33785 :: File "multi.py", line 9, in <module>
import locale
40k kliensben már localeInfo van. Írd át:
import localeInfo as locale
Nem 100% hogy ennyi megoldja mert elég vaskos syserred van, lehet kapsz még más hibát ami csak ezután jelenik meg. Én nem fogom betenni, majd írod az új syserrt.
1007 14:21:35561 :: File "uiSystemOption.py", line 255, in LanguageButton
1007 14:21:35561 :: 'module' object has no attribute 'MultiLanguage'
Ezzel is kezdeni kéne vmit.
Én megadtam egyelőre neki az esélyét hogy az csak a localeInfo miatt van, mert most a multi.py ami tartalmazza azt, ki van rektelve.
Valóban az volt a problémája amit Unknown irt igy előhozza az ablakot és ki is irja hogy cseréli a nyelvet, most ezt irja igy:
LoadLocaleError(locale/it/locale_game.txt)
Értem én hogy az a problémája hogy nincsen olasz locale, csak az a kérdésem hogy hogyan tudnám megoldani azt hogy egybe legyen mindegyik?
Tehát ugye alapból ennyi volt benne a packba hogy locale_hu, ha ezt kibontom ugye ott van egy hu mappa.
Ha pl a locale_de, locale_it stb kibontom és a mappáikat berakom oda és vissza csomagolom esetleg ez a megoldás működhet?
Gondolom kell a pack mappádba locale_it.eix-epk stb.
A buktató csak annyi benne, hogy amit megcsináltál eddig a locale_hu-ban, azt mind meg kell a többi locale-ban is. Illetve nem árt a locale_hoz passzoló protokat (item/mob_names) sem szerezni, hogy az item és mob nevek is változzanak.
(Nem, én nem tudok adni. Ha 2014-ben lennénk akkor a dump_proto reverzált változatával meg lehetne oldani simán a metin2.it/de/cz stb-ről letöltött kliensekkel, csak 2018-ban már nehéz 2014-es protokat szerezni)
Azzal nincs gond a tobbi nyelvre leforditjuk meg minden csak hogy mukodik e ezen az alapon erre voltam kivancsi de ezek szerint igen.