__BL_MULTI_LANGUAGE__
This commit is contained in:
parent
e652ad335c
commit
d5f68e8df2
Binary file not shown.
1
client/loca.cfg
Normal file
1
client/loca.cfg
Normal file
@ -0,0 +1 @@
|
||||
1252 es
|
||||
@ -13,6 +13,9 @@ SAVE_ID 0
|
||||
DECOMPRESSED_TEXTURE 0
|
||||
WINDOWED 1
|
||||
SHOW_SALESTEXT 0
|
||||
ANONYMOUS_MODE 0
|
||||
SHOW_COUNTRY_FLAG 1
|
||||
SHOW_EMPIRE_FLAG 1
|
||||
USE_DEFAULT_IME 0
|
||||
SOFTWARE_TILING 2
|
||||
SHADOW_LEVEL 3
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
PACK
|
||||
*
|
||||
special_patch_maliml
|
||||
*
|
||||
special_patch_animation
|
||||
*
|
||||
special_patch_common
|
||||
|
||||
@ -257,3 +257,29 @@ def RegisterEmotionIcons():
|
||||
for key, val in ICON_DICT.items():
|
||||
player.RegisterEmotionIcon(key, val)
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
def ReloadEmotionDict():
|
||||
global EMOTION_DICT
|
||||
EMOTION_DICT = {
|
||||
EMOTION_CLAP : {"name": localeInfo.EMOTION_CLAP, "command":"/clap"},
|
||||
EMOTION_DANCE_1 : {"name": localeInfo.EMOTION_DANCE_1, "command":"/dance1"},
|
||||
EMOTION_DANCE_2 : {"name": localeInfo.EMOTION_DANCE_2, "command":"/dance2"},
|
||||
EMOTION_DANCE_3 : {"name": localeInfo.EMOTION_DANCE_3, "command":"/dance3"},
|
||||
EMOTION_DANCE_4 : {"name": localeInfo.EMOTION_DANCE_4, "command":"/dance4"},
|
||||
EMOTION_DANCE_5 : {"name": localeInfo.EMOTION_DANCE_5, "command":"/dance5"},
|
||||
EMOTION_DANCE_6 : {"name": localeInfo.EMOTION_DANCE_6, "command":"/dance6"},
|
||||
EMOTION_CONGRATULATION : {"name": localeInfo.EMOTION_CONGRATULATION, "command":"/congratulation"},
|
||||
EMOTION_FORGIVE : {"name": localeInfo.EMOTION_FORGIVE, "command":"/forgive"},
|
||||
EMOTION_ANGRY : {"name": localeInfo.EMOTION_ANGRY, "command":"/angry"},
|
||||
EMOTION_ATTRACTIVE : {"name": localeInfo.EMOTION_ATTRACTIVE, "command":"/attractive"},
|
||||
EMOTION_SAD : {"name": localeInfo.EMOTION_SAD, "command":"/sad"},
|
||||
EMOTION_SHY : {"name": localeInfo.EMOTION_SHY, "command":"/shy"},
|
||||
EMOTION_CHEERUP : {"name": localeInfo.EMOTION_CHEERUP, "command":"/cheerup"},
|
||||
EMOTION_BANTER : {"name": localeInfo.EMOTION_BANTER, "command":"/banter"},
|
||||
EMOTION_JOY : {"name": localeInfo.EMOTION_JOY, "command":"/joy"},
|
||||
EMOTION_CHEERS_1 : {"name": localeInfo.EMOTION_CHEERS_1, "command":"/cheer1"},
|
||||
EMOTION_CHEERS_2 : {"name": localeInfo.EMOTION_CHEERS_2, "command":"/cheer2"},
|
||||
EMOTION_KISS : {"name": localeInfo.EMOTION_CLAP_KISS, "command":"/kiss"},
|
||||
EMOTION_FRENCH_KISS : {"name": localeInfo.EMOTION_FRENCH_KISS, "command":"/french_kiss"},
|
||||
EMOTION_SLAP : {"name": localeInfo.EMOTION_SLAP, "command":"/slap"},
|
||||
}
|
||||
|
||||
@ -842,11 +842,18 @@ class GameWindow(ui.ScriptWindow):
|
||||
self.interface.BINARY_OpenAtlasWindow()
|
||||
|
||||
## Chat
|
||||
def OnRecvWhisper(self, mode, name, line):
|
||||
if mode == chat.WHISPER_TYPE_GM:
|
||||
self.interface.RegisterGameMasterName(name)
|
||||
chat.AppendWhisper(mode, name, line)
|
||||
self.interface.RecvWhisper(name)
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
def OnRecvWhisper(self, mode, name, line, empire, country):
|
||||
if mode == chat.WHISPER_TYPE_GM:
|
||||
self.interface.RegisterGameMasterName(name)
|
||||
chat.AppendWhisper(mode, name, line, empire, country)
|
||||
self.interface.RecvWhisper(name)
|
||||
else:
|
||||
def OnRecvWhisper(self, mode, name, line):
|
||||
if mode == chat.WHISPER_TYPE_GM:
|
||||
self.interface.RegisterGameMasterName(name)
|
||||
chat.AppendWhisper(mode, name, line)
|
||||
self.interface.RecvWhisper(name)
|
||||
|
||||
def OnRecvWhisperSystemMessage(self, mode, name, line):
|
||||
chat.AppendWhisper(chat.WHISPER_TYPE_SYSTEM, name, line)
|
||||
@ -1213,11 +1220,20 @@ class GameWindow(ui.ScriptWindow):
|
||||
self.CheckFocus()
|
||||
else:
|
||||
hyperlink = ui.GetHyperlink()
|
||||
if hyperlink:
|
||||
return
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
country = chat.GetCountry()
|
||||
empire = chat.GetEmpire()
|
||||
if hyperlink or country or empire:
|
||||
return
|
||||
else:
|
||||
self.CheckFocus()
|
||||
player.SetMouseState(player.MBT_LEFT, player.MBS_PRESS);
|
||||
else:
|
||||
self.CheckFocus()
|
||||
player.SetMouseState(player.MBT_LEFT, player.MBS_PRESS);
|
||||
if hyperlink:
|
||||
return
|
||||
else:
|
||||
self.CheckFocus()
|
||||
player.SetMouseState(player.MBT_LEFT, player.MBS_PRESS);
|
||||
|
||||
return True
|
||||
|
||||
@ -1252,15 +1268,32 @@ class GameWindow(ui.ScriptWindow):
|
||||
|
||||
else:
|
||||
hyperlink = ui.GetHyperlink()
|
||||
if hyperlink:
|
||||
if app.IsPressed(app.DIK_LALT):
|
||||
link = chat.GetLinkFromHyperlink(hyperlink)
|
||||
ime.PasteString(link)
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
country = chat.GetCountry()
|
||||
empire = chat.GetEmpire()
|
||||
if hyperlink:
|
||||
if app.IsPressed(app.DIK_LALT):
|
||||
link = chat.GetLinkFromHyperlink(hyperlink)
|
||||
ime.PasteString(link)
|
||||
else:
|
||||
self.interface.MakeHyperlinkTooltip(hyperlink)
|
||||
return
|
||||
elif country:
|
||||
self.interface.MakeCountryTooltip(country)
|
||||
elif empire:
|
||||
self.interface.MakeEmpireTooltip(empire)
|
||||
else:
|
||||
self.interface.MakeHyperlinkTooltip(hyperlink)
|
||||
return
|
||||
player.SetMouseState(player.MBT_LEFT, player.MBS_CLICK)
|
||||
else:
|
||||
player.SetMouseState(player.MBT_LEFT, player.MBS_CLICK)
|
||||
if hyperlink:
|
||||
if app.IsPressed(app.DIK_LALT):
|
||||
link = chat.GetLinkFromHyperlink(hyperlink)
|
||||
ime.PasteString(link)
|
||||
else:
|
||||
self.interface.MakeHyperlinkTooltip(hyperlink)
|
||||
return
|
||||
else:
|
||||
player.SetMouseState(player.MBT_LEFT, player.MBS_CLICK)
|
||||
|
||||
#player.EndMouseWalking()
|
||||
return True
|
||||
@ -2204,3 +2237,13 @@ class GameWindow(ui.ScriptWindow):
|
||||
self.PopupMessage(localeInfo.ACCE_DEL_SERVEITEM)
|
||||
else:
|
||||
self.PopupMessage(localeInfo.ACCE_DEL_ABSORDITEM)
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
def LanguageChange(self):
|
||||
if self.interface:
|
||||
self.interface.LanguageChange()
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
def LanguageChangeAnonymous(self):
|
||||
if self.interface:
|
||||
self.interface.LanguageChangeAnonymous()
|
||||
|
||||
@ -57,6 +57,9 @@ if app.ENABLE_MOVE_CHANNEL:
|
||||
if app.ENABLE_WON_EXCHANGE_WINDOW:
|
||||
import uiWonExchange
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
import net
|
||||
|
||||
IsQBHide = 0
|
||||
class Interface(object):
|
||||
CHARACTER_STATUS_TAB = 1
|
||||
@ -98,6 +101,12 @@ class Interface(object):
|
||||
if app.ENABLE_WON_EXCHANGE_WINDOW:
|
||||
self.wndWonExchange = None
|
||||
event.SetInterfaceWindow(self)
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
self.EMPIRE_NAME = {
|
||||
net.EMPIRE_A : localeInfo.EMPIRE_A,
|
||||
net.EMPIRE_B : localeInfo.EMPIRE_B,
|
||||
net.EMPIRE_C : localeInfo.EMPIRE_C
|
||||
}
|
||||
|
||||
def __del__(self):
|
||||
systemSetting.DestroyInterfaceHandler()
|
||||
@ -252,6 +261,9 @@ class Interface(object):
|
||||
|
||||
self.hyperlinkItemTooltip = uiToolTip.HyperlinkItemToolTip()
|
||||
self.hyperlinkItemTooltip.Hide()
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
self.countryTooltip = uiToolTip.CountryToolTip()
|
||||
self.countryTooltip.Hide()
|
||||
|
||||
self.tooltipItem = uiToolTip.ItemToolTip()
|
||||
self.tooltipItem.Hide()
|
||||
@ -569,6 +581,9 @@ class Interface(object):
|
||||
del self.wndAcceCombine
|
||||
del self.wndAcceAbsorption
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
del self.countryTooltip
|
||||
|
||||
self.questButtonList = []
|
||||
self.whisperButtonList = []
|
||||
self.whisperDialogDict = {}
|
||||
@ -1770,3 +1785,31 @@ class Interface(object):
|
||||
|
||||
def EmptyFunction(self):
|
||||
pass
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
def LanguageChange(self):
|
||||
if self.dlgSystem:
|
||||
self.dlgSystem.LanguageChange()
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
def __MakeFlagTooltip(self, arg):
|
||||
if not arg:
|
||||
return
|
||||
|
||||
pos_x, pos_y = wndMgr.GetMousePosition()
|
||||
self.countryTooltip.ClearToolTip()
|
||||
self.countryTooltip.SetThinBoardSize(11 * len(arg))
|
||||
self.countryTooltip.SetToolTipPosition(pos_x, pos_y)
|
||||
self.countryTooltip.AppendTextLine(arg, 0xffffff00)
|
||||
self.countryTooltip.ShowToolTip()
|
||||
|
||||
def MakeCountryTooltip(self, arg):
|
||||
self.__MakeFlagTooltip(uiScriptLocale.LOCALE_NAME_DICT.get(arg, ""))
|
||||
|
||||
def MakeEmpireTooltip(self, arg):
|
||||
self.__MakeFlagTooltip(self.EMPIRE_NAME.get(arg, ""))
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
def LanguageChangeAnonymous(self):
|
||||
if self.dlgSystem:
|
||||
self.dlgSystem.LanguageChangeAnonymous()
|
||||
|
||||
@ -98,6 +98,28 @@ class CreateCharacterWindow(ui.Window):
|
||||
if USE_WOLFMAN_CHARACTER:
|
||||
DESCRIPTION_FILE_NAME += (uiScriptLocale.JOBDESC_WOLFMAN_PATH,)
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
@staticmethod
|
||||
def ReloadVariables():
|
||||
global LOCALE_PATH
|
||||
LOCALE_PATH = "uiscript/"+uiScriptLocale.CODEPAGE+"_"
|
||||
|
||||
CreateCharacterWindow.STAT_DESCRIPTION = {
|
||||
CreateCharacterWindow.STAT_CON : localeInfo.STAT_TOOLTIP_CON,
|
||||
CreateCharacterWindow.STAT_INT : localeInfo.STAT_TOOLTIP_INT,
|
||||
CreateCharacterWindow.STAT_STR : localeInfo.STAT_TOOLTIP_STR,
|
||||
CreateCharacterWindow.STAT_DEX : localeInfo.STAT_TOOLTIP_DEX,
|
||||
}
|
||||
|
||||
CreateCharacterWindow.DESCRIPTION_FILE_NAME = (
|
||||
uiScriptLocale.JOBDESC_WARRIOR_PATH,
|
||||
uiScriptLocale.JOBDESC_ASSASSIN_PATH,
|
||||
uiScriptLocale.JOBDESC_SURA_PATH,
|
||||
uiScriptLocale.JOBDESC_SHAMAN_PATH,
|
||||
)
|
||||
|
||||
if USE_WOLFMAN_CHARACTER:
|
||||
CreateCharacterWindow.DESCRIPTION_FILE_NAME += (uiScriptLocale.JOBDESC_WOLFMAN_PATH,)
|
||||
|
||||
class DescriptionBox(ui.Window):
|
||||
def __init__(self):
|
||||
|
||||
@ -17,6 +17,17 @@ class SelectEmpireWindow(ui.ScriptWindow):
|
||||
net.EMPIRE_B : uiScriptLocale.EMPIREDESC_B,
|
||||
net.EMPIRE_C : uiScriptLocale.EMPIREDESC_C, }
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
@staticmethod
|
||||
def ReloadVariables():
|
||||
global LOCALE_PATH
|
||||
LOCALE_PATH = "uiscript/"+uiScriptLocale.CODEPAGE+"_"
|
||||
|
||||
SelectEmpireWindow.EMPIRE_DESCRIPTION_TEXT_FILE_NAME = {
|
||||
net.EMPIRE_A : uiScriptLocale.EMPIREDESC_A,
|
||||
net.EMPIRE_B : uiScriptLocale.EMPIREDESC_B,
|
||||
net.EMPIRE_C : uiScriptLocale.EMPIREDESC_C, }
|
||||
|
||||
class EmpireButton(ui.Window):
|
||||
def __init__(self, owner, arg):
|
||||
ui.Window.__init__(self)
|
||||
|
||||
@ -152,6 +152,18 @@ class LoginWindow(ui.ScriptWindow):
|
||||
self.timeOutOk = False
|
||||
# @fixme001 END
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
self.language_list = []
|
||||
self.flag_button_list = []
|
||||
self.language_board = None
|
||||
self.language_popup = None
|
||||
self.__LoadLocaleListFile()
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
self.anon_mode_board = None
|
||||
self.anon_mode_text = None
|
||||
self.anon_mode_checkbox_bg = None
|
||||
self.anon_mode_checkbox = None
|
||||
|
||||
def __del__(self):
|
||||
net.ClearPhaseWindow(net.PHASE_WINDOW_LOGIN, self)
|
||||
net.SetAccountConnectorHandler(0)
|
||||
@ -280,6 +292,17 @@ class LoginWindow(ui.ScriptWindow):
|
||||
self.connectingDialog = None
|
||||
self.loadingImage = None
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
self.language_list = []
|
||||
self.flag_button_list = []
|
||||
self.language_board = None
|
||||
self.language_popup = None
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
self.anon_mode_board = None
|
||||
self.anon_mode_text = None
|
||||
self.anon_mode_checkbox_bg = None
|
||||
self.anon_mode_checkbox = None
|
||||
|
||||
self.serverBoard = None
|
||||
self.serverList = None
|
||||
self.channelList = None
|
||||
@ -727,6 +750,64 @@ class LoginWindow(ui.ScriptWindow):
|
||||
|
||||
self.virtualKeyboard = self.GetChild2("VirtualKeyboard")
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
self.language_board = ui.ThinBoard()
|
||||
self.language_board.SetParent(self)
|
||||
self.language_board.SetSize(wndMgr.GetScreenWidth(), 35)
|
||||
self.language_board.SetPosition(0, 20)
|
||||
self.language_board.Show()
|
||||
|
||||
step = wndMgr.GetScreenWidth() / len(self.language_list)
|
||||
x = 0
|
||||
for i, lang in enumerate(self.language_list):
|
||||
img_path = "D:/ymir work/ui/intro/login/server_flag_{}.sub".format(lang["locale"])
|
||||
btn = ui.Button()
|
||||
btn.SetParent(self.language_board)
|
||||
btn.SetPosition(x + 15, 10)
|
||||
btn.SetUpVisual(img_path)
|
||||
btn.SetOverVisual(img_path)
|
||||
btn.SetDownVisual(img_path)
|
||||
btn.SetToolTipText(lang["name"])
|
||||
btn.SetEvent(ui.__mem_func__(self.__ClickLanguage), i)
|
||||
btn.Show()
|
||||
self.flag_button_list.append(btn)
|
||||
x += step
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
self.anon_mode_board = ui.ThinBoard()
|
||||
self.anon_mode_board.SetParent(self)
|
||||
self.anon_mode_board.SetSize(160, 35)
|
||||
self.anon_mode_board.SetPosition(0, 20 + self.language_board.GetHeight())
|
||||
self.anon_mode_board.Show()
|
||||
|
||||
self.anon_mode_text = ui.TextLine()
|
||||
self.anon_mode_text.SetParent(self.anon_mode_board)
|
||||
if localeInfo.IsARABIC():
|
||||
self.anon_mode_text.SetPosition(123, 7)
|
||||
else:
|
||||
self.anon_mode_text.SetPosition(15, 10)
|
||||
self.anon_mode_text.SetFontName(localeInfo.UI_DEF_FONT_LARGE)
|
||||
self.anon_mode_text.SetText(uiScriptLocale.LANGUAGE_ANONYMOUS_MODE)
|
||||
self.anon_mode_text.Show()
|
||||
|
||||
self.anon_mode_checkbox_bg = ui.ImageBox()
|
||||
self.anon_mode_checkbox_bg.SetParent(self.anon_mode_board)
|
||||
if localeInfo.IsARABIC():
|
||||
self.anon_mode_checkbox_bg.SetPosition(15, 9)
|
||||
else:
|
||||
self.anon_mode_checkbox_bg.SetPosition(123, 9)
|
||||
self.anon_mode_checkbox_bg.LoadImage("d:/ymir work/ui/public/popup_notice_checkbox_bg.sub")
|
||||
self.anon_mode_checkbox_bg.SetEvent(ui.__mem_func__(self.__EventAnonymous), "mouse_click", "")
|
||||
self.anon_mode_checkbox_bg.Show()
|
||||
|
||||
self.anon_mode_checkbox = ui.ImageBox()
|
||||
self.anon_mode_checkbox.SetParent(self.anon_mode_checkbox_bg)
|
||||
self.anon_mode_checkbox.AddFlag("not_pick")
|
||||
self.anon_mode_checkbox.SetPosition(0, 0)
|
||||
self.anon_mode_checkbox.LoadImage("d:/ymir work/ui/public/popup_notice_checkbox.sub")
|
||||
|
||||
self.RefreshAnonymousMode()
|
||||
|
||||
|
||||
if self.virtualKeyboard:
|
||||
self.VIRTUAL_KEY_ALPHABET_UPPERS = Suffle(localeInfo.VIRTUAL_KEY_ALPHABET_UPPERS)
|
||||
self.VIRTUAL_KEY_ALPHABET_LOWERS = "".join([localeInfo.VIRTUAL_KEY_ALPHABET_LOWERS[localeInfo.VIRTUAL_KEY_ALPHABET_UPPERS.index(e)] for e in self.VIRTUAL_KEY_ALPHABET_UPPERS])
|
||||
@ -876,6 +957,72 @@ class LoginWindow(ui.ScriptWindow):
|
||||
def __OnClickExitButton(self):
|
||||
self.stream.SetPhaseWindow(0)
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
def __LoadLocaleListFile(self):
|
||||
try:
|
||||
with open("locale_list.txt", "rt") as file:
|
||||
lines = file.readlines()
|
||||
except:
|
||||
import dbg
|
||||
dbg.LogBox("__LoadLocaleListFile error locale_list.txt")
|
||||
app.Abort()
|
||||
|
||||
lineIndex = 1
|
||||
for line in lines:
|
||||
try:
|
||||
tokens = line[:-1].split(" ")
|
||||
if len(tokens) == 3:
|
||||
name = tokens[0]
|
||||
code_page = tokens[1]
|
||||
locale = tokens[2]
|
||||
|
||||
if locale in uiScriptLocale.LOCALE_NAME_DICT:
|
||||
name = uiScriptLocale.LOCALE_NAME_DICT[locale]
|
||||
|
||||
self.language_list.append({"name" : name, "code_page" : code_page, "locale" : locale})
|
||||
else:
|
||||
raise RuntimeError, "Unknown TokenSize"
|
||||
|
||||
lineIndex += 1
|
||||
except:
|
||||
import dbg
|
||||
dbg.LogBox("%s: line(%d): %s" % ("locale_list.txt", lineIndex, line), "Error")
|
||||
raise
|
||||
|
||||
def __SaveLoca(self, code_page, locale):
|
||||
try:
|
||||
with open("loca.cfg", "wt") as file:
|
||||
file.write("{} {}".format(code_page, locale))
|
||||
except:
|
||||
import dbg
|
||||
dbg.LogBox("__SaveLoca error")
|
||||
app.Abort()
|
||||
|
||||
def __ClickLanguage(self, index):
|
||||
if index >= len(self.language_list):
|
||||
return
|
||||
|
||||
lang = self.language_list[index]
|
||||
self.__SaveLoca(lang["code_page"], lang["locale"])
|
||||
app.SetReloadLocale(lang["locale"] != app.GetLocaleName())
|
||||
|
||||
if not self.language_popup:
|
||||
self.language_popup = uiCommon.PopupDialog()
|
||||
self.language_popup.SetText(uiScriptLocale.LANGUAGE_WILL_CHANGE)
|
||||
self.language_popup.Open()
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
def __EventAnonymous(self, event_type, arg):
|
||||
if "mouse_click" == event_type :
|
||||
systemSetting.SetAnonymousCountryMode(not systemSetting.GetAnonymousCountryMode())
|
||||
self.RefreshAnonymousMode()
|
||||
|
||||
def RefreshAnonymousMode(self):
|
||||
if systemSetting.GetAnonymousCountryMode():
|
||||
self.anon_mode_checkbox.Show()
|
||||
else:
|
||||
self.anon_mode_checkbox.Hide()
|
||||
|
||||
def __SetServerInfo(self, name):
|
||||
net.SetServerInfo(name.strip())
|
||||
self.serverInfo.SetText(name)
|
||||
@ -962,7 +1109,10 @@ class LoginWindow(ui.ScriptWindow):
|
||||
|
||||
def PopupDisplayMessage(self, msg):
|
||||
self.stream.popupWindow.Close()
|
||||
self.stream.popupWindow.Open(msg)
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
self.stream.popupWindow.Open(msg, 0, localeInfo.UI_CANCEL)
|
||||
else:
|
||||
self.stream.popupWindow.Open(msg)
|
||||
|
||||
def PopupNotifyMessage(self, msg, func=0):
|
||||
if not func:
|
||||
|
||||
@ -63,6 +63,15 @@ class SelectCharacterWindow(ui.Window):
|
||||
net.EMPIRE_C : localeInfo.EMPIRE_C
|
||||
}
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
@staticmethod
|
||||
def ReloadVariables():
|
||||
SelectCharacterWindow.EMPIRE_NAME = {
|
||||
net.EMPIRE_A : localeInfo.EMPIRE_A,
|
||||
net.EMPIRE_B : localeInfo.EMPIRE_B,
|
||||
net.EMPIRE_C : localeInfo.EMPIRE_C
|
||||
}
|
||||
|
||||
class CharacterRenderer(ui.Window):
|
||||
def OnRender(self):
|
||||
grp.ClearDepthBuffer()
|
||||
|
||||
@ -142,59 +142,290 @@ def SAAAA(text):
|
||||
return f
|
||||
## PET_SKILL_INFO FNCS END
|
||||
|
||||
def LoadLocaleFile(srcFileName, localeDict):
|
||||
funcDict = {"SA":SA, "SNA":SNA, "SAA":SAA, "SAN":SAN, "SAAAA":SAAAA}
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
def LoadLocaleFile(srcFileName):
|
||||
localeDict = {}
|
||||
funcDict = {"SA":SA, "SNA":SNA, "SAA":SAA, "SAN":SAN, "SAAAA":SAAAA}
|
||||
|
||||
lineIndex = 1
|
||||
lineIndex = 1
|
||||
|
||||
try:
|
||||
lines = open(srcFileName, "r").readlines()
|
||||
except IOError:
|
||||
import dbg
|
||||
dbg.LogBox("LoadLocaleError(%(srcFileName)s)" % locals())
|
||||
app.Abort()
|
||||
|
||||
for line in lines:
|
||||
try:
|
||||
# @fixme010 BEGIN
|
||||
if not line:
|
||||
lineIndex += 1
|
||||
continue
|
||||
# @fixme010 END
|
||||
|
||||
tokens = line[:-1].split("\t")
|
||||
if len(tokens) == 2:
|
||||
localeDict[tokens[0]] = tokens[1]
|
||||
elif len(tokens) >= 3:
|
||||
type = tokens[2].strip()
|
||||
if type:
|
||||
localeDict[tokens[0]] = funcDict[type](tokens[1])
|
||||
else:
|
||||
localeDict[tokens[0]] = tokens[1]
|
||||
# @fixme010 BEGIN
|
||||
elif len(tokens) == 1:
|
||||
localeDict[tokens[0]] = ""
|
||||
elif len(tokens) == 0:
|
||||
localeDict[tokens.rstrip()] = ""
|
||||
# @fixme010 END
|
||||
else:
|
||||
raise RuntimeError, "Unknown TokenSize"
|
||||
|
||||
lineIndex += 1
|
||||
except:
|
||||
lines = open(srcFileName, "r").readlines()
|
||||
except IOError:
|
||||
import dbg
|
||||
dbg.LogBox("%s: line(%d): %s" % (srcFileName, lineIndex, line), "Error")
|
||||
raise
|
||||
dbg.LogBox("LoadLocaleError(%s)" % srcFileName)
|
||||
app.Abort()
|
||||
|
||||
for line in lines:
|
||||
try:
|
||||
# @fixme010 BEGIN
|
||||
if not line:
|
||||
lineIndex += 1
|
||||
continue
|
||||
# @fixme010 END
|
||||
|
||||
tokens = line[:-1].split("\t")
|
||||
if len(tokens) == 2:
|
||||
localeDict[tokens[0]] = tokens[1]
|
||||
elif len(tokens) >= 3:
|
||||
type = tokens[2].strip()
|
||||
if type:
|
||||
localeDict[tokens[0]] = funcDict[type](tokens[1])
|
||||
else:
|
||||
localeDict[tokens[0]] = tokens[1]
|
||||
# @fixme010 BEGIN
|
||||
elif len(tokens) == 1:
|
||||
localeDict[tokens[0]] = ""
|
||||
elif len(tokens) == 0:
|
||||
localeDict[tokens.rstrip()] = ""
|
||||
# @fixme010 END
|
||||
else:
|
||||
raise RuntimeError, "Unknown TokenSize"
|
||||
|
||||
lineIndex += 1
|
||||
except:
|
||||
import dbg
|
||||
dbg.LogBox("%s: line(%d): %s" % (srcFileName, lineIndex, line), "Error")
|
||||
raise
|
||||
|
||||
globals().update(localeDict)
|
||||
|
||||
def ReloadLocaleFile():
|
||||
global FN_GM_MARK, LOCALE_FILE_NAME, GUILD_BUILDING_LIST_TXT
|
||||
FN_GM_MARK = "%s/effect/gm.mse" % app.GetLocalePath()
|
||||
LOCALE_FILE_NAME = "%s/locale_game.txt" % app.GetLocalePath()
|
||||
GUILD_BUILDING_LIST_TXT = app.GetLocalePath() + "/GuildBuildingList.txt"
|
||||
|
||||
global __IS_ENGLISH, __IS_HONGKONG, __IS_NEWCIBN, __IS_EUROPE
|
||||
global __IS_CANADA, __IS_BRAZIL, __IS_SINGAPORE, __IS_VIETNAM
|
||||
global __IS_ARABIC, __IS_CIBN10, __IS_WE_KOREA, __IS_TAIWAN, __IS_JAPAN
|
||||
__IS_ENGLISH = "ENGLISH" == app.GetLocaleServiceName()
|
||||
__IS_HONGKONG = "HONGKONG" == app.GetLocaleServiceName()
|
||||
__IS_NEWCIBN = "locale/newcibn" == app.GetLocalePath()
|
||||
__IS_EUROPE = "EUROPE" == app.GetLocaleServiceName()
|
||||
__IS_CANADA = "locale/ca" == app.GetLocalePath()
|
||||
__IS_BRAZIL = "locale/br" == app.GetLocalePath()
|
||||
__IS_SINGAPORE = "locale/sg" == app.GetLocalePath()
|
||||
__IS_VIETNAM = "locale/vn" == app.GetLocalePath()
|
||||
__IS_ARABIC = "locale/ae" == app.GetLocalePath()
|
||||
__IS_CIBN10 = "locale/cibn10" == app.GetLocalePath()
|
||||
__IS_WE_KOREA = "locale/we_korea" == app.GetLocalePath()
|
||||
__IS_TAIWAN = "locale/taiwan" == app.GetLocalePath()
|
||||
__IS_JAPAN = "locale/japan" == app.GetLocalePath()
|
||||
|
||||
LoadLocaleFile(LOCALE_FILE_NAME)
|
||||
|
||||
if app.ENABLE_LOCALE_COMMON:
|
||||
def TryLoadLocaleFile(filename):
|
||||
if pack.Exist(filename) or os.path.exists(filename):
|
||||
LoadLocaleFile(filename)
|
||||
TryLoadLocaleFile("locale/common/locale_game_ex.txt")
|
||||
TryLoadLocaleFile("%s/locale_game_ex.txt" % app.GetLocalePath())
|
||||
|
||||
global OPTION_PVPMODE_MESSAGE_DICT
|
||||
OPTION_PVPMODE_MESSAGE_DICT = {
|
||||
0 : PVP_MODE_NORMAL,
|
||||
1 : PVP_MODE_REVENGE,
|
||||
2 : PVP_MODE_KILL,
|
||||
3 : PVP_MODE_PROTECT,
|
||||
4 : PVP_MODE_GUILD,
|
||||
}
|
||||
|
||||
global GUILDWAR_NORMAL_DESCLIST, GUILDWAR_WARP_DESCLIST, GUILDWAR_CTF_DESCLIST
|
||||
GUILDWAR_NORMAL_DESCLIST = [GUILD_WAR_USE_NORMAL_MAP, GUILD_WAR_LIMIT_30MIN, GUILD_WAR_WIN_CHECK_SCORE]
|
||||
GUILDWAR_WARP_DESCLIST = [GUILD_WAR_USE_BATTLE_MAP, GUILD_WAR_WIN_WIPE_OUT_GUILD, GUILD_WAR_REWARD_POTION]
|
||||
GUILDWAR_CTF_DESCLIST = [GUILD_WAR_USE_BATTLE_MAP, GUILD_WAR_WIN_TAKE_AWAY_FLAG1, GUILD_WAR_WIN_TAKE_AWAY_FLAG2, GUILD_WAR_REWARD_POTION]
|
||||
|
||||
global MINIMAP_ZONE_NAME_DICT
|
||||
MINIMAP_ZONE_NAME_DICT = {
|
||||
"metin2_map_a1" : MAP_A1,
|
||||
"map_a2" : MAP_A2,
|
||||
"metin2_map_a3" : MAP_A3,
|
||||
"metin2_map_b1" : MAP_B1,
|
||||
"map_b2" : MAP_B2,
|
||||
"metin2_map_b3" : MAP_B3,
|
||||
"metin2_map_c1" : MAP_C1,
|
||||
"map_c2" : MAP_C2,
|
||||
"metin2_map_c3" : MAP_C3,
|
||||
"map_n_snowm_01" : MAP_SNOW,
|
||||
"metin2_map_n_flame_01" : MAP_FLAME,
|
||||
"metin2_map_n_desert_01" : MAP_DESERT,
|
||||
"metin2_map_milgyo" : MAP_TEMPLE,
|
||||
"metin2_map_spiderdungeon" : MAP_SPIDER,
|
||||
"metin2_map_deviltower1" : MAP_SKELTOWER,
|
||||
"metin2_map_guild_01" : MAP_AG,
|
||||
"metin2_map_guild_02" : MAP_BG,
|
||||
"metin2_map_guild_03" : MAP_CG,
|
||||
"metin2_map_trent" : MAP_TREE,
|
||||
"metin2_map_trent02" : MAP_TREE2,
|
||||
"season1/metin2_map_WL_01" : MAP_WL,
|
||||
"season1/metin2_map_nusluck01" : MAP_NUSLUCK,
|
||||
"Metin2_map_CapeDragonHead" : MAP_CAPE,
|
||||
"metin2_map_Mt_Thunder" : MAP_THUNDER,
|
||||
"metin2_map_dawnmistwood" : MAP_DAWN,
|
||||
"metin2_map_BayBlackSand" : MAP_BAY,
|
||||
}
|
||||
|
||||
global JOBINFO_TITLE
|
||||
JOBINFO_TITLE = [
|
||||
[JOB_WARRIOR0, JOB_WARRIOR1, JOB_WARRIOR2,],
|
||||
[JOB_ASSASSIN0, JOB_ASSASSIN1, JOB_ASSASSIN2,],
|
||||
[JOB_SURA0, JOB_SURA1, JOB_SURA2,],
|
||||
[JOB_SHAMAN0, JOB_SHAMAN1, JOB_SHAMAN2,],
|
||||
]
|
||||
if app.ENABLE_WOLFMAN_CHARACTER:
|
||||
JOBINFO_TITLE += [[JOB_WOLFMAN0,JOB_WOLFMAN1,JOB_WOLFMAN2,],]
|
||||
|
||||
global WHISPER_ERROR
|
||||
WHISPER_ERROR = {
|
||||
1 : CANNOT_WHISPER_NOT_LOGON,
|
||||
2 : CANNOT_WHISPER_DEST_REFUSE,
|
||||
3 : CANNOT_WHISPER_SELF_REFUSE,
|
||||
}
|
||||
|
||||
global NOTIFY_MESSAGE
|
||||
NOTIFY_MESSAGE = {
|
||||
"CANNOT_EQUIP_SHOP" : CANNOT_EQUIP_IN_SHOP,
|
||||
"CANNOT_EQUIP_EXCHANGE" : CANNOT_EQUIP_IN_EXCHANGE,
|
||||
}
|
||||
|
||||
global ATTACK_ERROR_TAIL_DICT
|
||||
ATTACK_ERROR_TAIL_DICT = {
|
||||
"IN_SAFE" : CANNOT_ATTACK_SELF_IN_SAFE,
|
||||
"DEST_IN_SAFE" : CANNOT_ATTACK_DEST_IN_SAFE,
|
||||
}
|
||||
|
||||
global SHOT_ERROR_TAIL_DICT
|
||||
SHOT_ERROR_TAIL_DICT = {
|
||||
"EMPTY_ARROW" : CANNOT_SHOOT_EMPTY_ARROW,
|
||||
"IN_SAFE" : CANNOT_SHOOT_SELF_IN_SAFE,
|
||||
"DEST_IN_SAFE" : CANNOT_SHOOT_DEST_IN_SAFE,
|
||||
}
|
||||
|
||||
global USE_SKILL_ERROR_TAIL_DICT
|
||||
USE_SKILL_ERROR_TAIL_DICT = {
|
||||
"IN_SAFE" : CANNOT_SKILL_SELF_IN_SAFE,
|
||||
"NEED_TARGET" : CANNOT_SKILL_NEED_TARGET,
|
||||
"NEED_EMPTY_BOTTLE" : CANNOT_SKILL_NEED_EMPTY_BOTTLE,
|
||||
"NEED_POISON_BOTTLE" : CANNOT_SKILL_NEED_POISON_BOTTLE,
|
||||
"REMOVE_FISHING_ROD" : CANNOT_SKILL_REMOVE_FISHING_ROD,
|
||||
"NOT_YET_LEARN" : CANNOT_SKILL_NOT_YET_LEARN,
|
||||
"NOT_MATCHABLE_WEAPON" : CANNOT_SKILL_NOT_MATCHABLE_WEAPON,
|
||||
"WAIT_COOLTIME" : CANNOT_SKILL_WAIT_COOLTIME,
|
||||
"NOT_ENOUGH_HP" : CANNOT_SKILL_NOT_ENOUGH_HP,
|
||||
"NOT_ENOUGH_SP" : CANNOT_SKILL_NOT_ENOUGH_SP,
|
||||
"CANNOT_USE_SELF" : CANNOT_SKILL_USE_SELF,
|
||||
"ONLY_FOR_ALLIANCE" : CANNOT_SKILL_ONLY_FOR_ALLIANCE,
|
||||
"CANNOT_ATTACK_ENEMY_IN_SAFE_AREA" : CANNOT_SKILL_DEST_IN_SAFE,
|
||||
"CANNOT_APPROACH" : CANNOT_SKILL_APPROACH,
|
||||
"CANNOT_ATTACK" : CANNOT_SKILL_ATTACK,
|
||||
"ONLY_FOR_CORPSE" : CANNOT_SKILL_ONLY_FOR_CORPSE,
|
||||
"EQUIP_FISHING_ROD" : CANNOT_SKILL_EQUIP_FISHING_ROD,
|
||||
"NOT_HORSE_SKILL" : CANNOT_SKILL_NOT_HORSE_SKILL,
|
||||
"HAVE_TO_RIDE" : CANNOT_SKILL_HAVE_TO_RIDE,
|
||||
}
|
||||
|
||||
global LEVEL_LIST
|
||||
LEVEL_LIST=["", HORSE_LEVEL1, HORSE_LEVEL2, HORSE_LEVEL3]
|
||||
|
||||
global HEALTH_LIST
|
||||
HEALTH_LIST=[
|
||||
HORSE_HEALTH0,
|
||||
HORSE_HEALTH1,
|
||||
HORSE_HEALTH2,
|
||||
HORSE_HEALTH3,
|
||||
]
|
||||
|
||||
global USE_SKILL_ERROR_CHAT_DICT
|
||||
USE_SKILL_ERROR_CHAT_DICT = {
|
||||
"NEED_EMPTY_BOTTLE" : SKILL_NEED_EMPTY_BOTTLE,
|
||||
"NEED_POISON_BOTTLE" : SKILL_NEED_POISON_BOTTLE,
|
||||
"ONLY_FOR_GUILD_WAR" : SKILL_ONLY_FOR_GUILD_WAR,
|
||||
}
|
||||
|
||||
global SHOP_ERROR_DICT
|
||||
SHOP_ERROR_DICT = {
|
||||
"NOT_ENOUGH_MONEY" : SHOP_NOT_ENOUGH_MONEY,
|
||||
"SOLDOUT" : SHOP_SOLDOUT,
|
||||
"INVENTORY_FULL" : SHOP_INVENTORY_FULL,
|
||||
"INVALID_POS" : SHOP_INVALID_POS,
|
||||
"NOT_ENOUGH_MONEY_EX" : SHOP_NOT_ENOUGH_MONEY_EX,
|
||||
}
|
||||
if app.ENABLE_CHEQUE_SYSTEM:
|
||||
SHOP_ERROR_DICT["NOT_ENOUGH_CHEQUE"] = SHOP_NOT_ENOUGH_CHEQUE
|
||||
SHOP_ERROR_DICT["NOT_ENOUGH_MONEY_CHEQUE"] = SHOP_NOT_ENOUGH_MONEY_CHEQUE
|
||||
|
||||
global STAT_MINUS_DESCRIPTION
|
||||
STAT_MINUS_DESCRIPTION = {
|
||||
"HTH-" : STAT_MINUS_CON,
|
||||
"INT-" : STAT_MINUS_INT,
|
||||
"STR-" : STAT_MINUS_STR,
|
||||
"DEX-" : STAT_MINUS_DEX,
|
||||
}
|
||||
|
||||
global MODE_NAME_LIST, TITLE_NAME_LIST
|
||||
MODE_NAME_LIST = ( PVP_OPTION_NORMAL, PVP_OPTION_REVENGE, PVP_OPTION_KILL, PVP_OPTION_PROTECT, )
|
||||
TITLE_NAME_LIST = ( PVP_LEVEL0, PVP_LEVEL1, PVP_LEVEL2, PVP_LEVEL3, PVP_LEVEL4, PVP_LEVEL5, PVP_LEVEL6, PVP_LEVEL7, PVP_LEVEL8, )
|
||||
else:
|
||||
def LoadLocaleFile(srcFileName, localeDict):
|
||||
funcDict = {"SA":SA, "SNA":SNA, "SAA":SAA, "SAN":SAN, "SAAAA":SAAAA}
|
||||
|
||||
lineIndex = 1
|
||||
|
||||
try:
|
||||
lines = open(srcFileName, "r").readlines()
|
||||
except IOError:
|
||||
import dbg
|
||||
dbg.LogBox("LoadLocaleError(%(srcFileName)s)" % locals())
|
||||
app.Abort()
|
||||
|
||||
for line in lines:
|
||||
try:
|
||||
# @fixme010 BEGIN
|
||||
if not line:
|
||||
lineIndex += 1
|
||||
continue
|
||||
# @fixme010 END
|
||||
|
||||
tokens = line[:-1].split("\t")
|
||||
if len(tokens) == 2:
|
||||
localeDict[tokens[0]] = tokens[1]
|
||||
elif len(tokens) >= 3:
|
||||
type = tokens[2].strip()
|
||||
if type:
|
||||
localeDict[tokens[0]] = funcDict[type](tokens[1])
|
||||
else:
|
||||
localeDict[tokens[0]] = tokens[1]
|
||||
# @fixme010 BEGIN
|
||||
elif len(tokens) == 1:
|
||||
localeDict[tokens[0]] = ""
|
||||
elif len(tokens) == 0:
|
||||
localeDict[tokens.rstrip()] = ""
|
||||
# @fixme010 END
|
||||
else:
|
||||
raise RuntimeError, "Unknown TokenSize"
|
||||
|
||||
lineIndex += 1
|
||||
except:
|
||||
import dbg
|
||||
dbg.LogBox("%s: line(%d): %s" % (srcFileName, lineIndex, line), "Error")
|
||||
raise
|
||||
|
||||
all = ["locale","error"]
|
||||
FN_GM_MARK = "%s/effect/gm.mse" % app.GetLocalePath()
|
||||
|
||||
LOCALE_FILE_NAME = "%s/locale_game.txt" % app.GetLocalePath()
|
||||
LoadLocaleFile(LOCALE_FILE_NAME, locals())
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
LoadLocaleFile(LOCALE_FILE_NAME)
|
||||
else:
|
||||
LoadLocaleFile(LOCALE_FILE_NAME, locals())
|
||||
if app.ENABLE_LOCALE_COMMON:
|
||||
def TryLoadLocaleFile(filename):
|
||||
if pack.Exist(filename) or os.path.exists(filename):
|
||||
LoadLocaleFile(filename, globals())
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
LoadLocaleFile(filename)
|
||||
else:
|
||||
LoadLocaleFile(filename, globals())
|
||||
TryLoadLocaleFile("locale/common/locale_game_ex.txt")
|
||||
TryLoadLocaleFile("%s/locale_game_ex.txt" % app.GetLocalePath())
|
||||
|
||||
|
||||
@ -18,6 +18,24 @@ import uiPhaseCurtain
|
||||
|
||||
import localeInfo
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
import emotion
|
||||
import introCreate
|
||||
import introEmpire
|
||||
import serverInfo
|
||||
import textTail
|
||||
import uiAffectShower
|
||||
import uiCharacter
|
||||
import uiChat
|
||||
import uiDragonSoul
|
||||
import uiGuild
|
||||
import uiMapNameShower
|
||||
import uiParty
|
||||
import uiSelectMusic
|
||||
import uiScriptLocale
|
||||
import uiTarget
|
||||
import uiToolTip
|
||||
|
||||
class PopupDialog(ui.ScriptWindow):
|
||||
|
||||
def __init__(self):
|
||||
@ -201,8 +219,43 @@ class MainStream(ui.NoWindow):
|
||||
|
||||
def SetSelectCharacterPhase(self):
|
||||
try:
|
||||
localeInfo.LoadLocaleData()
|
||||
import introSelect
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
import introSelect
|
||||
if app.GetReloadLocale():
|
||||
app.ReloadLocaConfig()
|
||||
|
||||
localeInfo.ReloadLocaleFile()
|
||||
uiScriptLocale.ReloadLocaleFile()
|
||||
|
||||
app.SetDefaultFontName(localeInfo.UI_DEF_FONT)
|
||||
textTail.Initialize()
|
||||
uiAffectShower.AffectShower.ReloadVariables()
|
||||
emotion.ReloadEmotionDict()
|
||||
introCreate.CreateCharacterWindow.ReloadVariables()
|
||||
introEmpire.SelectEmpireWindow.ReloadVariables()
|
||||
introSelect.SelectCharacterWindow.ReloadVariables()
|
||||
serverInfo.ReloadVariables()
|
||||
uiCharacter.CharacterWindow.ReloadVariables()
|
||||
uiChat.ChatLine.ReloadVariables()
|
||||
uiChat.ChatLogWindow.ReloadVariables()
|
||||
uiDragonSoul.DragonSoulWindow.ReloadVariables()
|
||||
uiGuild.GuildWindow.ReloadVariables()
|
||||
uiGuild.BuildGuildBuildingWindow.ReloadVariables()
|
||||
uiMapNameShower.MapNameShower.ReloadVariables()
|
||||
uiParty.PartyMemberInfoBoard.ReloadVariables()
|
||||
uiParty.PartyMenu.ReloadVariables()
|
||||
uiSelectMusic.ReloadVariables()
|
||||
uiTarget.TargetBoard.ReloadVariables()
|
||||
uiToolTip.ItemToolTip.ReloadVariables()
|
||||
uiToolTip.SkillToolTip.ReloadVariables()
|
||||
|
||||
localeInfo.LoadLocaleData()
|
||||
app.SetReloadLocale(False)
|
||||
else:
|
||||
localeInfo.LoadLocaleData()
|
||||
else:
|
||||
localeInfo.LoadLocaleData()
|
||||
import introSelect
|
||||
self.popupWindow.Close()
|
||||
self.SetPhaseWindow(introSelect.SelectCharacterWindow(self))
|
||||
except:
|
||||
|
||||
@ -53,3 +53,16 @@ MARKADDR_DICT = {
|
||||
}
|
||||
|
||||
TESTADDR = {"ip": SRV1["host"], "tcp_port": SRV1["ch1"], "udp_port": SRV1["ch1"],}
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
def ReloadVariables():
|
||||
global STATE_NONE
|
||||
STATE_NONE = TextColor(localeInfo.CHANNEL_STATUS_OFFLINE, "FF0000") #RED
|
||||
|
||||
global STATE_DICT
|
||||
STATE_DICT = {
|
||||
0: TextColor(localeInfo.CHANNEL_STATUS_OFFLINE, "FF0000"), #RED
|
||||
1: TextColor(localeInfo.CHANNEL_STATUS_RECOMMENDED, "00ff00"), #GREEN
|
||||
2: TextColor(localeInfo.CHANNEL_STATUS_BUSY, "ffff00"), #YELLOW
|
||||
3: TextColor(localeInfo.CHANNEL_STATUS_FULL, "ff8a08") #ORANGE
|
||||
}
|
||||
|
||||
@ -2278,6 +2278,109 @@ class ThinBoard(Window):
|
||||
for wnd in self.Corners:
|
||||
wnd.Hide()
|
||||
|
||||
class ThinBoardGold(Window):
|
||||
CORNER_WIDTH = 16
|
||||
CORNER_HEIGHT = 16
|
||||
LINE_WIDTH = 16
|
||||
LINE_HEIGHT = 16
|
||||
|
||||
LT = 0
|
||||
LB = 1
|
||||
RT = 2
|
||||
RB = 3
|
||||
L = 0
|
||||
R = 1
|
||||
T = 2
|
||||
B = 3
|
||||
|
||||
def __init__(self, layer = "UI"):
|
||||
Window.__init__(self, layer)
|
||||
|
||||
CornerFileNames = [ "d:/ymir work/ui/pattern/thinboardgold/ThinBoard_Corner_"+dir+"_Gold.tga" for dir in ["LeftTop","LeftBottom","RightTop","RightBottom"] ]
|
||||
LineFileNames = [ "d:/ymir work/ui/pattern/thinboardgold/ThinBoard_Line_"+dir+"_Gold.tga" for dir in ["Left","Right","Top","Bottom"] ]
|
||||
|
||||
self.MakeBase()
|
||||
|
||||
self.Corners = []
|
||||
for fileName in CornerFileNames:
|
||||
Corner = ExpandedImageBox()
|
||||
Corner.AddFlag("attach")
|
||||
Corner.AddFlag("not_pick")
|
||||
Corner.LoadImage(fileName)
|
||||
Corner.SetParent(self)
|
||||
Corner.SetPosition(0, 0)
|
||||
Corner.Show()
|
||||
self.Corners.append(Corner)
|
||||
|
||||
self.Lines = []
|
||||
for fileName in LineFileNames:
|
||||
Line = ExpandedImageBox()
|
||||
Line.AddFlag("attach")
|
||||
Line.AddFlag("not_pick")
|
||||
Line.LoadImage(fileName)
|
||||
Line.SetParent(self)
|
||||
Line.SetPosition(0, 0)
|
||||
Line.Show()
|
||||
self.Lines.append(Line)
|
||||
|
||||
self.Lines[self.L].SetPosition(0, self.CORNER_HEIGHT)
|
||||
self.Lines[self.T].SetPosition(self.CORNER_WIDTH, 0)
|
||||
|
||||
def __del__(self):
|
||||
Window.__del__(self)
|
||||
|
||||
def SetSize(self, width, height):
|
||||
|
||||
width = max(self.CORNER_WIDTH*2, width)
|
||||
height = max(self.CORNER_HEIGHT*2, height)
|
||||
Window.SetSize(self, width, height)
|
||||
|
||||
self.Corners[self.LB].SetPosition(0, height - self.CORNER_HEIGHT)
|
||||
self.Corners[self.RT].SetPosition(width - self.CORNER_WIDTH, 0)
|
||||
self.Corners[self.RB].SetPosition(width - self.CORNER_WIDTH, height - self.CORNER_HEIGHT)
|
||||
self.Lines[self.R].SetPosition(width - self.CORNER_WIDTH, self.CORNER_HEIGHT)
|
||||
self.Lines[self.B].SetPosition(self.CORNER_HEIGHT, height - self.CORNER_HEIGHT)
|
||||
|
||||
verticalShowingPercentage = float((height - self.CORNER_HEIGHT*2) - self.LINE_HEIGHT) / self.LINE_HEIGHT
|
||||
horizontalShowingPercentage = float((width - self.CORNER_WIDTH*2) - self.LINE_WIDTH) / self.LINE_WIDTH
|
||||
|
||||
self.Lines[self.L].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
|
||||
self.Lines[self.R].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
|
||||
self.Lines[self.T].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
|
||||
self.Lines[self.B].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
|
||||
|
||||
#self.Base.GetWidth()
|
||||
#self.Base.GetHeight()
|
||||
"""
|
||||
Defalt Width : 128, Height : 128
|
||||
0.0 > 128, 1.0 > 256
|
||||
"""
|
||||
if self.Base:
|
||||
self.Base.SetRenderingRect(0, 0, (float(width)-32)/float(self.Base.GetWidth()) - 1.0, (float(height)-32)/float(self.Base.GetHeight()) - 1.0)
|
||||
|
||||
def MakeBase(self):
|
||||
self.Base = ExpandedImageBox()
|
||||
self.Base.AddFlag("not_pick")
|
||||
self.Base.LoadImage("d:/ymir work/ui/pattern/Board_Base.tga")
|
||||
self.Base.SetParent(self)
|
||||
self.Base.SetPosition(16, 16)
|
||||
self.Base.SetAlpha(0.8)
|
||||
self.Base.Show()
|
||||
|
||||
def ShowInternal(self):
|
||||
self.Base.Show()
|
||||
for wnd in self.Lines:
|
||||
wnd.Show()
|
||||
for wnd in self.Corners:
|
||||
wnd.Show()
|
||||
|
||||
def HideInternal(self):
|
||||
self.Base.Hide()
|
||||
for wnd in self.Lines:
|
||||
wnd.Hide()
|
||||
for wnd in self.Corners:
|
||||
wnd.Hide()
|
||||
|
||||
class ThinBoardCircle(Window):
|
||||
CORNER_WIDTH = 4
|
||||
CORNER_HEIGHT = 4
|
||||
@ -3472,6 +3575,11 @@ class PythonScriptLoader(object):
|
||||
parent.Children[Index].SetParent(parent)
|
||||
self.LoadElementThinBoard(parent.Children[Index], ElementValue, parent)
|
||||
|
||||
elif Type == "thinboard_gold":
|
||||
parent.Children[Index] = ThinBoardGold()
|
||||
parent.Children[Index].SetParent(parent)
|
||||
self.LoadElementThinBoard(parent.Children[Index], ElementValue, parent)
|
||||
|
||||
elif Type == "thinboard_circle":
|
||||
parent.Children[Index] = ThinBoardCircle()
|
||||
parent.Children[Index].SetParent(parent)
|
||||
|
||||
@ -432,6 +432,76 @@ class AffectShower(ui.Window):
|
||||
AFFECT_DATA_DICT[chr.AFFECT_RED_POSSESSION] = (localeInfo.SKILL_GWIGEOM, "d:/ymir work/ui/skill/wolfman/red_possession_03.sub")
|
||||
AFFECT_DATA_DICT[chr.AFFECT_BLUE_POSSESSION] = (localeInfo.SKILL_CHEONGEUN, "d:/ymir work/ui/skill/wolfman/blue_possession_03.sub")
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
@staticmethod
|
||||
def ReloadVariables():
|
||||
AffectShower.AFFECT_DATA_DICT = {
|
||||
chr.AFFECT_POISON : (localeInfo.SKILL_TOXICDIE, "d:/ymir work/ui/skill/common/affect/poison.sub"),
|
||||
chr.AFFECT_SLOW : (localeInfo.SKILL_SLOW, "d:/ymir work/ui/skill/common/affect/slow.sub"),
|
||||
chr.AFFECT_STUN : (localeInfo.SKILL_STUN, "d:/ymir work/ui/skill/common/affect/stun.sub"),
|
||||
|
||||
chr.AFFECT_ATT_SPEED_POTION : (localeInfo.SKILL_INC_ATKSPD, "d:/ymir work/ui/skill/common/affect/Increase_Attack_Speed.sub"),
|
||||
chr.AFFECT_MOV_SPEED_POTION : (localeInfo.SKILL_INC_MOVSPD, "d:/ymir work/ui/skill/common/affect/Increase_Move_Speed.sub"),
|
||||
chr.AFFECT_FISH_MIND : (localeInfo.SKILL_FISHMIND, "d:/ymir work/ui/skill/common/affect/fishmind.sub"),
|
||||
|
||||
chr.AFFECT_JEONGWI : (localeInfo.SKILL_JEONGWI, "d:/ymir work/ui/skill/warrior/jeongwi_03.sub",),
|
||||
chr.AFFECT_GEOMGYEONG : (localeInfo.SKILL_GEOMGYEONG, "d:/ymir work/ui/skill/warrior/geomgyeong_03.sub",),
|
||||
chr.AFFECT_CHEONGEUN : (localeInfo.SKILL_CHEONGEUN, "d:/ymir work/ui/skill/warrior/cheongeun_03.sub",),
|
||||
chr.AFFECT_GYEONGGONG : (localeInfo.SKILL_GYEONGGONG, "d:/ymir work/ui/skill/assassin/gyeonggong_03.sub",),
|
||||
chr.AFFECT_EUNHYEONG : (localeInfo.SKILL_EUNHYEONG, "d:/ymir work/ui/skill/assassin/eunhyeong_03.sub",),
|
||||
chr.AFFECT_GWIGEOM : (localeInfo.SKILL_GWIGEOM, "d:/ymir work/ui/skill/sura/gwigeom_03.sub",),
|
||||
chr.AFFECT_GONGPO : (localeInfo.SKILL_GONGPO, "d:/ymir work/ui/skill/sura/gongpo_03.sub",),
|
||||
chr.AFFECT_JUMAGAP : (localeInfo.SKILL_JUMAGAP, "d:/ymir work/ui/skill/sura/jumagap_03.sub"),
|
||||
chr.AFFECT_HOSIN : (localeInfo.SKILL_HOSIN, "d:/ymir work/ui/skill/shaman/hosin_03.sub",),
|
||||
chr.AFFECT_BOHO : (localeInfo.SKILL_BOHO, "d:/ymir work/ui/skill/shaman/boho_03.sub",),
|
||||
chr.AFFECT_KWAESOK : (localeInfo.SKILL_KWAESOK, "d:/ymir work/ui/skill/shaman/kwaesok_03.sub",),
|
||||
chr.AFFECT_HEUKSIN : (localeInfo.SKILL_HEUKSIN, "d:/ymir work/ui/skill/sura/heuksin_03.sub",),
|
||||
chr.AFFECT_MUYEONG : (localeInfo.SKILL_MUYEONG, "d:/ymir work/ui/skill/sura/muyeong_03.sub",),
|
||||
chr.AFFECT_GICHEON : (localeInfo.SKILL_GICHEON, "d:/ymir work/ui/skill/shaman/gicheon_03.sub",),
|
||||
chr.AFFECT_JEUNGRYEOK : (localeInfo.SKILL_JEUNGRYEOK, "d:/ymir work/ui/skill/shaman/jeungryeok_03.sub",),
|
||||
chr.AFFECT_PABEOP : (localeInfo.SKILL_PABEOP, "d:/ymir work/ui/skill/sura/pabeop_03.sub",),
|
||||
chr.AFFECT_FALLEN_CHEONGEUN : (localeInfo.SKILL_CHEONGEUN, "d:/ymir work/ui/skill/warrior/cheongeun_03.sub",),
|
||||
28 : (localeInfo.SKILL_FIRE, "d:/ymir work/ui/skill/sura/hwayeom_03.sub",),
|
||||
chr.AFFECT_CHINA_FIREWORK : (localeInfo.SKILL_POWERFUL_STRIKE, "d:/ymir work/ui/skill/common/affect/powerfulstrike.sub",),
|
||||
|
||||
#64 - END
|
||||
chr.NEW_AFFECT_EXP_BONUS : (localeInfo.TOOLTIP_MALL_EXPBONUS_STATIC, "d:/ymir work/ui/skill/common/affect/exp_bonus.sub",),
|
||||
|
||||
chr.NEW_AFFECT_ITEM_BONUS : (localeInfo.TOOLTIP_MALL_ITEMBONUS_STATIC, "d:/ymir work/ui/skill/common/affect/item_bonus.sub",),
|
||||
chr.NEW_AFFECT_SAFEBOX : (localeInfo.TOOLTIP_MALL_SAFEBOX, "d:/ymir work/ui/skill/common/affect/safebox.sub",),
|
||||
chr.NEW_AFFECT_AUTOLOOT : (localeInfo.TOOLTIP_MALL_AUTOLOOT, "d:/ymir work/ui/skill/common/affect/autoloot.sub",),
|
||||
chr.NEW_AFFECT_FISH_MIND : (localeInfo.TOOLTIP_MALL_FISH_MIND, "d:/ymir work/ui/skill/common/affect/fishmind.sub",),
|
||||
chr.NEW_AFFECT_MARRIAGE_FAST : (localeInfo.TOOLTIP_MALL_MARRIAGE_FAST, "d:/ymir work/ui/skill/common/affect/marriage_fast.sub",),
|
||||
chr.NEW_AFFECT_GOLD_BONUS : (localeInfo.TOOLTIP_MALL_GOLDBONUS_STATIC, "d:/ymir work/ui/skill/common/affect/gold_bonus.sub",),
|
||||
|
||||
chr.NEW_AFFECT_NO_DEATH_PENALTY : (localeInfo.TOOLTIP_APPLY_NO_DEATH_PENALTY, "d:/ymir work/ui/skill/common/affect/gold_premium.sub"),
|
||||
chr.NEW_AFFECT_SKILL_BOOK_BONUS : (localeInfo.TOOLTIP_APPLY_SKILL_BOOK_BONUS, "d:/ymir work/ui/skill/common/affect/gold_premium.sub"),
|
||||
chr.NEW_AFFECT_SKILL_BOOK_NO_DELAY : (localeInfo.TOOLTIP_APPLY_SKILL_BOOK_NO_DELAY, "d:/ymir work/ui/skill/common/affect/gold_premium.sub"),
|
||||
|
||||
chr.NEW_AFFECT_AUTO_HP_RECOVERY : (localeInfo.TOOLTIP_AUTO_POTION_REST, "d:/ymir work/ui/pattern/auto_hpgauge/05.dds"),
|
||||
chr.NEW_AFFECT_AUTO_SP_RECOVERY : (localeInfo.TOOLTIP_AUTO_POTION_REST, "d:/ymir work/ui/pattern/auto_spgauge/05.dds"),
|
||||
|
||||
AffectShower.MALL_DESC_IDX_START+player.POINT_MALL_ATTBONUS : (localeInfo.TOOLTIP_MALL_ATTBONUS_STATIC, "d:/ymir work/ui/skill/common/affect/att_bonus.sub",),
|
||||
AffectShower.MALL_DESC_IDX_START+player.POINT_MALL_DEFBONUS : (localeInfo.TOOLTIP_MALL_DEFBONUS_STATIC, "d:/ymir work/ui/skill/common/affect/def_bonus.sub",),
|
||||
AffectShower.MALL_DESC_IDX_START+player.POINT_MALL_EXPBONUS : (localeInfo.TOOLTIP_MALL_EXPBONUS, "d:/ymir work/ui/skill/common/affect/exp_bonus.sub",),
|
||||
AffectShower.MALL_DESC_IDX_START+player.POINT_MALL_ITEMBONUS : (localeInfo.TOOLTIP_MALL_ITEMBONUS, "d:/ymir work/ui/skill/common/affect/item_bonus.sub",),
|
||||
AffectShower.MALL_DESC_IDX_START+player.POINT_MALL_GOLDBONUS : (localeInfo.TOOLTIP_MALL_GOLDBONUS, "d:/ymir work/ui/skill/common/affect/gold_bonus.sub",),
|
||||
AffectShower.MALL_DESC_IDX_START+player.POINT_CRITICAL_PCT : (localeInfo.TOOLTIP_APPLY_CRITICAL_PCT,"d:/ymir work/ui/skill/common/affect/critical.sub"),
|
||||
AffectShower.MALL_DESC_IDX_START+player.POINT_PENETRATE_PCT : (localeInfo.TOOLTIP_APPLY_PENETRATE_PCT, "d:/ymir work/ui/skill/common/affect/gold_premium.sub"),
|
||||
AffectShower.MALL_DESC_IDX_START+player.POINT_MAX_HP_PCT : (localeInfo.TOOLTIP_MAX_HP_PCT, "d:/ymir work/ui/skill/common/affect/gold_premium.sub"),
|
||||
AffectShower.MALL_DESC_IDX_START+player.POINT_MAX_SP_PCT : (localeInfo.TOOLTIP_MAX_SP_PCT, "d:/ymir work/ui/skill/common/affect/gold_premium.sub"),
|
||||
|
||||
AffectShower.MALL_DESC_IDX_START+player.POINT_PC_BANG_EXP_BONUS : (localeInfo.TOOLTIP_MALL_EXPBONUS_P_STATIC, "d:/ymir work/ui/skill/common/affect/EXP_Bonus_p_on.sub",),
|
||||
AffectShower.MALL_DESC_IDX_START+player.POINT_PC_BANG_DROP_BONUS: (localeInfo.TOOLTIP_MALL_ITEMBONUS_P_STATIC, "d:/ymir work/ui/skill/common/affect/Item_Bonus_p_on.sub",),
|
||||
}
|
||||
if app.ENABLE_DRAGON_SOUL_SYSTEM:
|
||||
AffectShower.AFFECT_DATA_DICT[chr.NEW_AFFECT_DRAGON_SOUL_DECK1] = (localeInfo.TOOLTIP_DRAGON_SOUL_DECK1, "d:/ymir work/ui/dragonsoul/buff_ds_sky1.tga")
|
||||
AffectShower.AFFECT_DATA_DICT[chr.NEW_AFFECT_DRAGON_SOUL_DECK2] = (localeInfo.TOOLTIP_DRAGON_SOUL_DECK2, "d:/ymir work/ui/dragonsoul/buff_ds_land1.tga")
|
||||
if app.ENABLE_WOLFMAN_CHARACTER:
|
||||
AffectShower.AFFECT_DATA_DICT[chr.AFFECT_BLEEDING] = (localeInfo.SKILL_BLEEDING, "d:/ymir work/ui/skill/common/affect/poison.sub")
|
||||
AffectShower.AFFECT_DATA_DICT[chr.AFFECT_RED_POSSESSION] = (localeInfo.SKILL_GWIGEOM, "d:/ymir work/ui/skill/wolfman/red_possession_03.sub")
|
||||
AffectShower.AFFECT_DATA_DICT[chr.AFFECT_BLUE_POSSESSION] = (localeInfo.SKILL_CHEONGEUN, "d:/ymir work/ui/skill/wolfman/blue_possession_03.sub")
|
||||
|
||||
def __init__(self):
|
||||
ui.Window.__init__(self)
|
||||
|
||||
|
||||
@ -75,6 +75,25 @@ class CharacterWindow(ui.ScriptWindow):
|
||||
|
||||
STAT_MINUS_DESCRIPTION = localeInfo.STAT_MINUS_DESCRIPTION
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
@staticmethod
|
||||
def ReloadVariables():
|
||||
CharacterWindow.SKILL_GROUP_NAME_DICT = {
|
||||
playerSettingModule.JOB_WARRIOR : { 1 : localeInfo.SKILL_GROUP_WARRIOR_1, 2 : localeInfo.SKILL_GROUP_WARRIOR_2, },
|
||||
playerSettingModule.JOB_ASSASSIN : { 1 : localeInfo.SKILL_GROUP_ASSASSIN_1, 2 : localeInfo.SKILL_GROUP_ASSASSIN_2, },
|
||||
playerSettingModule.JOB_SURA : { 1 : localeInfo.SKILL_GROUP_SURA_1, 2 : localeInfo.SKILL_GROUP_SURA_2, },
|
||||
playerSettingModule.JOB_SHAMAN : { 1 : localeInfo.SKILL_GROUP_SHAMAN_1, 2 : localeInfo.SKILL_GROUP_SHAMAN_2, },
|
||||
}
|
||||
if app.ENABLE_WOLFMAN_CHARACTER:
|
||||
CharacterWindow.SKILL_GROUP_NAME_DICT.update({playerSettingModule.JOB_WOLFMAN : { 1 : localeInfo.JOB_WOLFMAN1, 2 : localeInfo.JOB_WOLFMAN2, },})
|
||||
|
||||
CharacterWindow.STAT_DESCRIPTION = {
|
||||
"HTH" : localeInfo.STAT_TOOLTIP_CON,
|
||||
"INT" : localeInfo.STAT_TOOLTIP_INT,
|
||||
"STR" : localeInfo.STAT_TOOLTIP_STR,
|
||||
"DEX" : localeInfo.STAT_TOOLTIP_DEX,
|
||||
}
|
||||
|
||||
def __init__(self):
|
||||
ui.ScriptWindow.__init__(self)
|
||||
self.state = "STATUS"
|
||||
|
||||
@ -68,7 +68,7 @@ class CharacterDetailsUI(ui.ScriptWindow):
|
||||
self.labelTextList[i].SetOverOutEvent( ui.__mem_func__(self.__ButtonOverOut), i )
|
||||
if localeInfo.IsARABIC():
|
||||
(x,y) = self.labelTextList[i].GetLocalPosition()
|
||||
self.labelTextList[i].SetPosition(65, y+7)
|
||||
self.labelTextList[i].SetPosition(30, y)
|
||||
self.labelTextList[i].SetWindowHorizontalAlignLeft()
|
||||
self.labelTextList[i].ButtonText.SetHorizontalAlignRight()
|
||||
(x,y) = self.labelList[i].GetLocalPosition()
|
||||
|
||||
@ -10,6 +10,10 @@ import colorInfo
|
||||
import constInfo
|
||||
import systemSetting
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
import uiScriptLocale
|
||||
import uiToolTip
|
||||
|
||||
ENABLE_CHAT_COMMAND = True
|
||||
ENABLE_LAST_SENTENCE_STACK = True
|
||||
ENABLE_INSULT_CHECK = True
|
||||
@ -117,6 +121,16 @@ class ChatLine(ui.EditLine):
|
||||
chat.CHAT_TYPE_GUILD : localeInfo.CHAT_GUILD,
|
||||
chat.CHAT_TYPE_SHOUT : localeInfo.CHAT_SHOUT, }
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
@staticmethod
|
||||
def ReloadVariables():
|
||||
ChatLine.CHAT_MODE_NAME = {
|
||||
chat.CHAT_TYPE_TALKING : localeInfo.CHAT_NORMAL,
|
||||
chat.CHAT_TYPE_PARTY : localeInfo.CHAT_PARTY,
|
||||
chat.CHAT_TYPE_GUILD : localeInfo.CHAT_GUILD,
|
||||
chat.CHAT_TYPE_SHOUT : localeInfo.CHAT_SHOUT,
|
||||
}
|
||||
|
||||
def __init__(self):
|
||||
ui.EditLine.__init__(self)
|
||||
self.SetWindowName("Chat Line")
|
||||
@ -367,14 +381,30 @@ class ChatLine(ui.EditLine):
|
||||
|
||||
def OnMouseLeftButtonDown(self):
|
||||
hyperlink = ui.GetHyperlink()
|
||||
if hyperlink:
|
||||
if app.IsPressed(app.DIK_LALT):
|
||||
link = chat.GetLinkFromHyperlink(hyperlink)
|
||||
ime.PasteString(link)
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
country = chat.GetCountry()
|
||||
empire = chat.GetEmpire()
|
||||
if hyperlink:
|
||||
if app.IsPressed(app.DIK_LALT):
|
||||
link = chat.GetLinkFromHyperlink(hyperlink)
|
||||
ime.PasteString(link)
|
||||
else:
|
||||
self.interface.MakeHyperlinkTooltip(hyperlink)
|
||||
elif country:
|
||||
self.interface.MakeCountryTooltip(country)
|
||||
elif empire:
|
||||
self.interface.MakeEmpireTooltip(empire)
|
||||
else:
|
||||
self.interface.MakeHyperlinkTooltip(hyperlink)
|
||||
ui.EditLine.OnMouseLeftButtonDown(self)
|
||||
else:
|
||||
ui.EditLine.OnMouseLeftButtonDown(self)
|
||||
if hyperlink:
|
||||
if app.IsPressed(app.DIK_LALT):
|
||||
link = chat.GetLinkFromHyperlink(hyperlink)
|
||||
ime.PasteString(link)
|
||||
else:
|
||||
self.interface.MakeHyperlinkTooltip(hyperlink)
|
||||
else:
|
||||
ui.EditLine.OnMouseLeftButtonDown(self)
|
||||
|
||||
class ChatInputSet(ui.Window):
|
||||
|
||||
@ -499,6 +529,8 @@ class ChatWindow(ui.Window):
|
||||
|
||||
EDIT_LINE_HEIGHT = 25
|
||||
CHAT_WINDOW_WIDTH = 600
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
IMAGE_DISABLE_ALPHA = 0.5
|
||||
|
||||
class ChatBackBoard(ui.Window):
|
||||
def __init__(self):
|
||||
@ -607,6 +639,47 @@ class ChatWindow(ui.Window):
|
||||
imgChatBarMiddle.Show()
|
||||
self.imgChatBarMiddle = imgChatBarMiddle
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
self.EMPIRE_NAME = {
|
||||
net.EMPIRE_A : localeInfo.EMPIRE_A,
|
||||
net.EMPIRE_B : localeInfo.EMPIRE_B,
|
||||
net.EMPIRE_C : localeInfo.EMPIRE_C
|
||||
}
|
||||
|
||||
self.flag_bar = ui.ThinBoardGold()
|
||||
self.lang_image_dict = {}
|
||||
self.empire_image_dict = {}
|
||||
self.toolTip = uiToolTip.ToolTip()
|
||||
|
||||
x = 12 + 11
|
||||
step = 28
|
||||
for lang in sorted(uiScriptLocale.LOCALE_NAME_DICT.iterkeys()):
|
||||
image = ui.ImageBox()
|
||||
image.SetParent(self.flag_bar)
|
||||
image.LoadImage("D:/ymir work/ui/intro/login/server_flag_{}.sub".format(lang))
|
||||
image.SetPosition(x, 7)
|
||||
image.SetEvent(ui.__mem_func__(self.__EventCountry), "mouse_click", lang)
|
||||
image.SetEvent(ui.__mem_func__(self.__EventCountry), "mouse_over_in", lang)
|
||||
image.SetEvent(ui.__mem_func__(self.__EventCountry), "mouse_over_out", 0)
|
||||
image.Show()
|
||||
self.lang_image_dict[lang] = image
|
||||
x += step
|
||||
|
||||
for empire in self.EMPIRE_NAME.iterkeys():
|
||||
image = ui.ExpandedImageBox()
|
||||
image.SetParent(self.flag_bar)
|
||||
image.LoadImage("D:/ymir work/ui/intro/empire_01/empireflag_{}.sub".format(chr(96 + empire)))
|
||||
image.SetScale(22.0 / image.GetWidth(), 17.0 / image.GetHeight())
|
||||
image.SetPosition(x, 7)
|
||||
image.SetEvent(ui.__mem_func__(self.__EventEmpire), "mouse_click", empire)
|
||||
image.SetEvent(ui.__mem_func__(self.__EventEmpire), "mouse_over_in", empire)
|
||||
image.SetEvent(ui.__mem_func__(self.__EventEmpire), "mouse_over_out", 0)
|
||||
image.Show()
|
||||
self.empire_image_dict[empire] = image
|
||||
x += step
|
||||
|
||||
self.RefreshChatFilterSettings()
|
||||
|
||||
scrollBar = ui.ScrollBar()
|
||||
scrollBar.AddFlag("float")
|
||||
scrollBar.SetScrollEvent(ui.__mem_func__(self.OnScroll))
|
||||
@ -646,6 +719,11 @@ class ChatWindow(ui.Window):
|
||||
self.btnSendWhisper = 0
|
||||
self.btnChatLog = 0
|
||||
self.btnChatSizing = 0
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
self.flag_bar = None
|
||||
self.lang_image_dict = {}
|
||||
self.empire_image_dict = {}
|
||||
self.toolTip = None
|
||||
|
||||
################
|
||||
## Open & Close
|
||||
@ -666,6 +744,8 @@ class ChatWindow(ui.Window):
|
||||
|
||||
if self.IsShow():
|
||||
self.btnChatSizing.Show()
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
self.flag_bar.Show()
|
||||
|
||||
self.Refresh()
|
||||
|
||||
@ -696,6 +776,8 @@ class ChatWindow(ui.Window):
|
||||
self.btnSendWhisper.Hide()
|
||||
self.btnChatLog.Hide()
|
||||
self.btnChatSizing.Hide()
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
self.flag_bar.Hide()
|
||||
|
||||
self.Refresh()
|
||||
|
||||
@ -705,6 +787,64 @@ class ChatWindow(ui.Window):
|
||||
def SetOpenChatLogEvent(self, event):
|
||||
self.btnChatLog.SetEvent(event)
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
def __EventCountry(self, event_type, lang):
|
||||
if "mouse_click" == event_type :
|
||||
if systemSetting.IsChatFilterCountry(lang):
|
||||
systemSetting.RemoveChatFilterCountry(lang)
|
||||
else:
|
||||
systemSetting.AddChatFilterCountry(lang)
|
||||
|
||||
self.RefreshChatFilterSettings()
|
||||
elif "mouse_over_in" == event_type :
|
||||
lang = uiScriptLocale.LOCALE_NAME_DICT.get(lang, "")
|
||||
if lang:
|
||||
arglen = len(lang)
|
||||
pos_x, pos_y = wndMgr.GetMousePosition()
|
||||
|
||||
self.toolTip.ClearToolTip()
|
||||
self.toolTip.SetThinBoardSize(11 * arglen)
|
||||
self.toolTip.SetToolTipPosition(pos_x + 50, pos_y + 50)
|
||||
self.toolTip.AppendTextLine(lang, 0xffffff00)
|
||||
self.toolTip.Show()
|
||||
elif "mouse_over_out" == event_type :
|
||||
self.toolTip.Hide()
|
||||
|
||||
def __EventEmpire(self, event_type, empire):
|
||||
if "mouse_click" == event_type :
|
||||
if systemSetting.IsChatFilterEmpire(empire):
|
||||
systemSetting.RemoveChatFilterEmpire(empire)
|
||||
else:
|
||||
systemSetting.AddChatFilterEmpire(empire)
|
||||
|
||||
self.RefreshChatFilterSettings()
|
||||
elif "mouse_over_in" == event_type :
|
||||
empire = self.EMPIRE_NAME.get(empire, "")
|
||||
if empire:
|
||||
arglen = len(empire)
|
||||
pos_x, pos_y = wndMgr.GetMousePosition()
|
||||
|
||||
self.toolTip.ClearToolTip()
|
||||
self.toolTip.SetThinBoardSize(11 * arglen)
|
||||
self.toolTip.SetToolTipPosition(pos_x + 50, pos_y + 50)
|
||||
self.toolTip.AppendTextLine(empire, 0xffffff00)
|
||||
self.toolTip.Show()
|
||||
elif "mouse_over_out" == event_type :
|
||||
self.toolTip.Hide()
|
||||
|
||||
def RefreshChatFilterSettings(self):
|
||||
for lang, btn in self.lang_image_dict.iteritems():
|
||||
if systemSetting.IsChatFilterCountry(lang):
|
||||
btn.SetAlpha(self.IMAGE_DISABLE_ALPHA)
|
||||
else:
|
||||
btn.SetAlpha(1.0)
|
||||
|
||||
for empire, btn in self.empire_image_dict.iteritems():
|
||||
if systemSetting.IsChatFilterEmpire(empire):
|
||||
btn.SetAlpha(self.IMAGE_DISABLE_ALPHA)
|
||||
else:
|
||||
btn.SetAlpha(1.0)
|
||||
|
||||
def IsEditMode(self):
|
||||
if chat.BOARD_STATE_EDIT == self.boardState:
|
||||
return True
|
||||
@ -763,6 +903,9 @@ class ChatWindow(ui.Window):
|
||||
if btnY > y:
|
||||
self.btnChatSizing.SetPosition(btnX, y)
|
||||
self.heightBar = self.EDIT_LINE_HEIGHT
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
self.flag_bar.SetSize(width, 30)
|
||||
self.flag_bar.SetPosition(btnX, btnY - self.flag_bar.GetHeight())
|
||||
|
||||
def RefreshBoardViewState(self):
|
||||
(x, y, width, height) = self.GetRect()
|
||||
@ -858,6 +1001,13 @@ class ChatLogWindow(ui.Window):
|
||||
CHAT_LOG_WINDOW_MINIMUM_WIDTH = 450
|
||||
CHAT_LOG_WINDOW_MINIMUM_HEIGHT = 120
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
@staticmethod
|
||||
def ReloadVariables():
|
||||
ChatLogWindow.CHAT_MODE_NAME = [ localeInfo.CHAT_NORMAL, localeInfo.CHAT_PARTY, localeInfo.CHAT_GUILD, localeInfo.CHAT_SHOUT, localeInfo.CHAT_INFORMATION, localeInfo.CHAT_NOTICE, ]
|
||||
if app.ENABLE_DICE_SYSTEM:
|
||||
ChatLogWindow.CHAT_MODE_NAME.append(localeInfo.CHAT_DICE_INFO)
|
||||
|
||||
class ResizeButton(ui.DragButton):
|
||||
|
||||
def __init__(self):
|
||||
@ -1165,9 +1315,23 @@ class ChatLogWindow(ui.Window):
|
||||
|
||||
def OnMouseLeftButtonDown(self):
|
||||
hyperlink = ui.GetHyperlink()
|
||||
if hyperlink:
|
||||
if app.IsPressed(app.DIK_LALT):
|
||||
link = chat.GetLinkFromHyperlink(hyperlink)
|
||||
ime.PasteString(link)
|
||||
else:
|
||||
self.interface.MakeHyperlinkTooltip(hyperlink)
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
country = chat.GetCountry()
|
||||
empire = chat.GetEmpire()
|
||||
if hyperlink:
|
||||
if app.IsPressed(app.DIK_LALT):
|
||||
link = chat.GetLinkFromHyperlink(hyperlink)
|
||||
ime.PasteString(link)
|
||||
else:
|
||||
self.interface.MakeHyperlinkTooltip(hyperlink)
|
||||
elif country:
|
||||
self.interface.MakeCountryTooltip(country)
|
||||
elif empire:
|
||||
self.interface.MakeEmpireTooltip(empire)
|
||||
else:
|
||||
if hyperlink:
|
||||
if app.IsPressed(app.DIK_LALT):
|
||||
link = chat.GetLinkFromHyperlink(hyperlink)
|
||||
ime.PasteString(link)
|
||||
else:
|
||||
self.interface.MakeHyperlinkTooltip(hyperlink)
|
||||
|
||||
@ -24,6 +24,16 @@ ITEM_FLAG_APPLICABLE = 1 << 14
|
||||
class DragonSoulWindow(ui.ScriptWindow):
|
||||
KIND_TAP_TITLES = [uiScriptLocale.DRAGONSOUL_TAP_TITLE_1, uiScriptLocale.DRAGONSOUL_TAP_TITLE_2,
|
||||
uiScriptLocale.DRAGONSOUL_TAP_TITLE_3, uiScriptLocale.DRAGONSOUL_TAP_TITLE_4, uiScriptLocale.DRAGONSOUL_TAP_TITLE_5, uiScriptLocale.DRAGONSOUL_TAP_TITLE_6]
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
@staticmethod
|
||||
def ReloadVariables():
|
||||
DragonSoulWindow.KIND_TAP_TITLES = [
|
||||
uiScriptLocale.DRAGONSOUL_TAP_TITLE_1, uiScriptLocale.DRAGONSOUL_TAP_TITLE_2,
|
||||
uiScriptLocale.DRAGONSOUL_TAP_TITLE_3, uiScriptLocale.DRAGONSOUL_TAP_TITLE_4,
|
||||
uiScriptLocale.DRAGONSOUL_TAP_TITLE_5, uiScriptLocale.DRAGONSOUL_TAP_TITLE_6
|
||||
]
|
||||
|
||||
def __init__(self):
|
||||
ui.ScriptWindow.__init__(self)
|
||||
self.questionDialog = None
|
||||
|
||||
@ -716,6 +716,18 @@ class GuildWindow(ui.ScriptWindow):
|
||||
|
||||
MEMBER_LINE_COUNT = 13
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
@staticmethod
|
||||
def ReloadVariables():
|
||||
GuildWindow.JOB_NAME = {
|
||||
0 : localeInfo.JOB_WARRIOR,
|
||||
1 : localeInfo.JOB_ASSASSIN,
|
||||
2 : localeInfo.JOB_SURA,
|
||||
3 : localeInfo.JOB_SHAMAN,
|
||||
}
|
||||
if app.ENABLE_WOLFMAN_CHARACTER:
|
||||
GuildWindow.JOB_NAME.update({4 : localeInfo.JOB_WOLFMAN,})
|
||||
|
||||
class PageWindow(ui.ScriptWindow):
|
||||
def __init__(self, parent, filename):
|
||||
ui.ScriptWindow.__init__(self)
|
||||
@ -2035,6 +2047,15 @@ class BuildGuildBuildingWindow(ui.ScriptWindow):
|
||||
START_INSTANCE_INDEX = 123450
|
||||
#WALL_SET_INSTANCE = 14105
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
@staticmethod
|
||||
def ReloadVariables():
|
||||
BuildGuildBuildingWindow.GUILD_CATEGORY_LIST = (
|
||||
("HEADQUARTER", localeInfo.GUILD_HEADQUARTER),
|
||||
("FACILITY", localeInfo.GUILD_FACILITY),
|
||||
("OBJECT", localeInfo.GUILD_OBJECT),
|
||||
)
|
||||
|
||||
def __init__(self):
|
||||
ui.ScriptWindow.__init__(self)
|
||||
self.__LoadWindow()
|
||||
|
||||
@ -14,6 +14,98 @@ class MapNameShower(ui.ExpandedImageBox):
|
||||
STATE_SHOW = 2
|
||||
STATE_FADE_OUT = 3
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
@staticmethod
|
||||
def ReloadVariables():
|
||||
global LOCALE_PATH
|
||||
LOCALE_PATH = uiScriptLocale.MAPNAME_PATH
|
||||
|
||||
if localeInfo.IsARABIC():
|
||||
MapNameShower.MAP_NAME_IMAGE = {
|
||||
"metin2_map_a1" : LOCALE_PATH+"a1.tga",
|
||||
"map_a2" : LOCALE_PATH+"a2.tga",
|
||||
"season2/metin2_map_a2_1": LOCALE_PATH+"a2_2.tga",
|
||||
"metin2_map_a3" : LOCALE_PATH+"a3.tga",
|
||||
"metin2_map_b1" : LOCALE_PATH+"b1.tga",
|
||||
"map_b2" : LOCALE_PATH+"b2.tga",
|
||||
"metin2_map_b3" : LOCALE_PATH+"b3.tga",
|
||||
"metin2_map_c1" : LOCALE_PATH+"c1.tga",
|
||||
"map_c2" : LOCALE_PATH+"c2.tga",
|
||||
"metin2_map_c3" : LOCALE_PATH+"c3.tga",
|
||||
"metin2_map_deviltower1" : LOCALE_PATH+"devil1_title.tga",
|
||||
"metin2_map_n_desert_01" : LOCALE_PATH+"desert1.tga",
|
||||
"season2/metin2_map_n_desert_02": LOCALE_PATH+"desert2.tga",
|
||||
"metin2_map_n_flame_01" : LOCALE_PATH+"frame1.tga",
|
||||
"season2/metin2_map_n_flame_02": LOCALE_PATH+"frame2.tga",
|
||||
"metin2_map_milgyo" : LOCALE_PATH+"milgyo.tga",
|
||||
"season2/metin2_map_milgyo_a": LOCALE_PATH+"milgyo2.TGA",
|
||||
"metin2_map_monkeydungeon" : LOCALE_PATH+"monkey1.tga",
|
||||
"metin2_map_monkeydungeon_02" : LOCALE_PATH+"monkey2.tga",
|
||||
"metin2_map_monkeydungeon_03" : LOCALE_PATH+"monkey3.tga",
|
||||
"metin2_map_guild_01" : LOCALE_PATH+"guild1.tga",
|
||||
"metin2_map_guild_02" : LOCALE_PATH+"guild2.tga",
|
||||
"metin2_map_guild_03" : LOCALE_PATH+"guild3.tga",
|
||||
"season2/metin2_map_skipia_dungeon_01": LOCALE_PATH+"skipia.tga",
|
||||
"season2/metin2_map_skipia_dungeon_02": LOCALE_PATH+"skipia.tga",
|
||||
"map_n_snowm_01" : LOCALE_PATH+"snow1.tga",
|
||||
"season2/map_n_snowm_02": LOCALE_PATH+"snow2.tga",
|
||||
"metin2_map_spiderdungeon" : LOCALE_PATH+"spider1.tga",
|
||||
"metin2_map_trent" : LOCALE_PATH+"trent.tga",
|
||||
"metin2_map_trent02" : LOCALE_PATH+"trent02.tga",
|
||||
"season2/metin2_map_trent_a": LOCALE_PATH+"trent_a.tga",
|
||||
"season2/metin2_map_trent02_a": LOCALE_PATH+"trent02_a.tga",
|
||||
"metin2_map_dd" : LOCALE_PATH+"devil_basement.tga",
|
||||
"metin2_map_devilsCatacomb" : LOCALE_PATH+"devil_basement.tga",
|
||||
"metin2_map_dd" : LOCALE_PATH+"devil_basement.tga",
|
||||
"season1/metin2_map_WL_01" : LOCALE_PATH+"wl.tga",
|
||||
"season1/metin2_map_nusluck01": LOCALE_PATH+"nusluck.tga",
|
||||
}
|
||||
else:
|
||||
MapNameShower.MAP_NAME_IMAGE = {
|
||||
"metin2_map_a1" : LOCALE_PATH+"a1.tga",
|
||||
"map_a2" : LOCALE_PATH+"a2.tga",
|
||||
"metin2_map_a3" : LOCALE_PATH+"a3.tga",
|
||||
"metin2_map_b1" : LOCALE_PATH+"b1.tga",
|
||||
"map_b2" : LOCALE_PATH+"b2.tga",
|
||||
"metin2_map_b3" : LOCALE_PATH+"b3.tga",
|
||||
"metin2_map_c1" : LOCALE_PATH+"c1.tga",
|
||||
"map_c2" : LOCALE_PATH+"c2.tga",
|
||||
"metin2_map_c3" : LOCALE_PATH+"c3.tga",
|
||||
"map_n_snowm_01" : LOCALE_PATH+"snow1.tga",
|
||||
"metin2_map_deviltower1" : LOCALE_PATH+"devil1_title.tga",
|
||||
"metin2_map_n_flame_01" : LOCALE_PATH+"frame1.tga",
|
||||
"metin2_map_n_desert_01" : LOCALE_PATH+"desert1.tga",
|
||||
"metin2_map_milgyo" : LOCALE_PATH+"milgyo.tga",
|
||||
"metin2_map_monkeydungeon" : LOCALE_PATH+"monkey1.tga",
|
||||
"metin2_map_monkeydungeon_02" : LOCALE_PATH+"monkey2.tga",
|
||||
"metin2_map_monkeydungeon_03" : LOCALE_PATH+"monkey3.tga",
|
||||
"metin2_map_guild_01" : LOCALE_PATH+"guild1.tga",
|
||||
"metin2_map_guild_02" : LOCALE_PATH+"guild2.tga",
|
||||
"metin2_map_guild_03" : LOCALE_PATH+"guild3.tga",
|
||||
"metin2_map_trent" : LOCALE_PATH+"trent.tga",
|
||||
"metin2_map_trent02" : LOCALE_PATH+"trent02.tga",
|
||||
"season2/map_n_snowm_02": LOCALE_PATH+"snow2.tga",
|
||||
"season2/metin2_map_a2_1": LOCALE_PATH+"a2_2.tga",
|
||||
"season2/metin2_map_n_desert_02": LOCALE_PATH+"desert2.tga",
|
||||
"season2/metin2_map_n_flame_02": LOCALE_PATH+"frame2.tga",
|
||||
"season2/metin2_map_milgyo_a": LOCALE_PATH+"milgyo2.TGA",
|
||||
"season2/metin2_map_trent_a": LOCALE_PATH+"trent_a.tga",
|
||||
"season2/metin2_map_trent02_a": LOCALE_PATH+"trent02_a.tga",
|
||||
"season2/metin2_map_skipia_dungeon_01": LOCALE_PATH+"skipia.tga",
|
||||
"season2/metin2_map_skipia_dungeon_02": LOCALE_PATH+"skipia.tga",
|
||||
"metin2_map_devilsCatacomb" : LOCALE_PATH+"devil_basement.tga",
|
||||
"metin2_guild_village_01" : LOCALE_PATH+"a4.tga",
|
||||
"metin2_guild_village_02" : LOCALE_PATH+"b4.tga",
|
||||
"metin2_guild_village_03" : LOCALE_PATH+"c4.tga",
|
||||
"metin2_map_BayBlackSand" : LOCALE_PATH+"bay.tga",
|
||||
"metin2_map_Mt_Thunder" : LOCALE_PATH+"thunder.tga",
|
||||
"metin2_map_dawnmistwood" : LOCALE_PATH+"dawn.tga",
|
||||
"Metin2_map_CapeDragonHead" : LOCALE_PATH+"cape.tga",
|
||||
"metin2_map_spiderdungeon" : LOCALE_PATH+"sd01.tga",
|
||||
"metin2_map_spiderdungeon_02" : LOCALE_PATH+"sd02.tga",
|
||||
"metin2_map_spiderdungeon_03" : LOCALE_PATH+"sd03.tga",
|
||||
}
|
||||
|
||||
def __init__(self):
|
||||
if localeInfo.IsARABIC():
|
||||
self.MAP_NAME_IMAGE = {
|
||||
|
||||
@ -7,6 +7,7 @@ import localeInfo
|
||||
import uiScriptLocale
|
||||
import constInfo
|
||||
import mouseModule
|
||||
import app
|
||||
|
||||
class PartyMemberInfoBoard(ui.ScriptWindow):
|
||||
if localeInfo.IsJAPAN():
|
||||
@ -65,6 +66,30 @@ class PartyMemberInfoBoard(ui.ScriptWindow):
|
||||
player.PARTY_STATE_BUFFER : localeInfo.PARTY_SET_BUFFER,
|
||||
player.PARTY_STATE_SKILL_MASTER : localeInfo.PARTY_SET_SKILL_MASTER, }
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
@staticmethod
|
||||
def ReloadVariables():
|
||||
PartyMemberInfoBoard.AFFECT_STRING_DICT = {
|
||||
PartyMemberInfoBoard.PARTY_AFFECT_EXPERIENCE : localeInfo.PARTY_BONUS_EXP,
|
||||
PartyMemberInfoBoard.PARTY_AFFECT_ATTACKER : localeInfo.PARTY_BONUS_ATTACKER,
|
||||
PartyMemberInfoBoard.PARTY_AFFECT_TANKER : localeInfo.PARTY_BONUS_TANKER,
|
||||
PartyMemberInfoBoard.PARTY_AFFECT_BUFFER : localeInfo.PARTY_BONUS_BUFFER,
|
||||
PartyMemberInfoBoard.PARTY_AFFECT_SKILL_MASTER : localeInfo.PARTY_BONUS_SKILL_MASTER,
|
||||
PartyMemberInfoBoard.PARTY_AFFECT_BERSERKER : localeInfo.PARTY_BONUS_BERSERKER,
|
||||
PartyMemberInfoBoard.PARTY_AFFECT_DEFENDER : localeInfo.PARTY_BONUS_DEFENDER,
|
||||
PartyMemberInfoBoard.PARTY_AFFECT_INCREASE_AREA_150 : localeInfo.PARTY_INCREASE_AREA_150,
|
||||
PartyMemberInfoBoard.PARTY_AFFECT_INCREASE_AREA_200 : localeInfo.PARTY_INCREASE_AREA_200,
|
||||
}
|
||||
|
||||
PartyMemberInfoBoard.STATE_NAME_DICT = {
|
||||
player.PARTY_STATE_ATTACKER : localeInfo.PARTY_SET_ATTACKER,
|
||||
player.PARTY_STATE_BERSERKER : localeInfo.PARTY_SET_BERSERKER,
|
||||
player.PARTY_STATE_TANKER : localeInfo.PARTY_SET_TANKER,
|
||||
player.PARTY_STATE_DEFENDER : localeInfo.PARTY_SET_DEFENDER,
|
||||
player.PARTY_STATE_BUFFER : localeInfo.PARTY_SET_BUFFER,
|
||||
player.PARTY_STATE_SKILL_MASTER : localeInfo.PARTY_SET_SKILL_MASTER,
|
||||
}
|
||||
|
||||
def __init__(self):
|
||||
ui.ScriptWindow.__init__(self)
|
||||
|
||||
@ -396,6 +421,11 @@ class PartyMenu(ui.ThinBoard):
|
||||
|
||||
BUTTON_NAME = ( localeInfo.PARTY_HEAL_ALL_MEMBER, localeInfo.PARTY_BREAK_UP, localeInfo.PARTY_LEAVE )
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
@staticmethod
|
||||
def ReloadVariables():
|
||||
PartyMenu.BUTTON_NAME = ( localeInfo.PARTY_HEAL_ALL_MEMBER, localeInfo.PARTY_BREAK_UP, localeInfo.PARTY_LEAVE )
|
||||
|
||||
def __init__(self):
|
||||
ui.ThinBoard.__init__(self)
|
||||
self.buttonDict = {}
|
||||
|
||||
@ -10,26 +10,121 @@ OPTION_SHADOW = "SHADOW"
|
||||
|
||||
CODEPAGE = str(app.GetDefaultCodePage())
|
||||
|
||||
def LoadLocaleFile(srcFileName, localeDict):
|
||||
localeDict["CUBE_INFO_TITLE"] = "Recipe"
|
||||
localeDict["CUBE_REQUIRE_MATERIAL"] = "Requirements"
|
||||
localeDict["CUBE_REQUIRE_MATERIAL_OR"] = "or"
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
def LoadLocaleFile(srcFileName):
|
||||
localeDict = {}
|
||||
localeDict["CUBE_INFO_TITLE"] = "Recipe"
|
||||
localeDict["CUBE_REQUIRE_MATERIAL"] = "Requirements"
|
||||
localeDict["CUBE_REQUIRE_MATERIAL_OR"] = "or"
|
||||
|
||||
try:
|
||||
lines = open(srcFileName, "r").readlines()
|
||||
except IOError:
|
||||
import dbg
|
||||
dbg.LogBox("LoadUIScriptLocaleError(%(srcFileName)s)" % locals())
|
||||
app.Abort()
|
||||
try:
|
||||
lines = open(srcFileName, "r").readlines()
|
||||
except IOError:
|
||||
import dbg
|
||||
dbg.LogBox("LoadUIScriptLocaleError(%(srcFileName)s)" % localeDict)
|
||||
app.Abort()
|
||||
|
||||
for line in lines:
|
||||
tokens = line[:-1].split("\t")
|
||||
for line in lines:
|
||||
tokens = line[:-1].split("\t")
|
||||
|
||||
if len(tokens) >= 2:
|
||||
localeDict[tokens[0]] = tokens[1]
|
||||
if len(tokens) >= 2:
|
||||
localeDict[tokens[0]] = tokens[1]
|
||||
|
||||
else:
|
||||
print(len(tokens), lines.index(line), line)
|
||||
|
||||
globals().update(localeDict)
|
||||
|
||||
def ReloadLocaleFile():
|
||||
global CODEPAGE
|
||||
CODEPAGE = str(app.GetDefaultCodePage())
|
||||
|
||||
global __IS_ARABIC
|
||||
__IS_ARABIC = "locale/ae" == app.GetLocalePath()
|
||||
|
||||
global LOCALE_UISCRIPT_PATH, LOGIN_PATH, EMPIRE_PATH, GUILD_PATH, SELECT_PATH, WINDOWS_PATH, MAPNAME_PATH
|
||||
if app.ENABLE_LOCALE_COMMON and not __IS_ARABIC:
|
||||
LOCALE_UISCRIPT_PATH = "locale/common/ui/"
|
||||
else:
|
||||
print(len(tokens), lines.index(line), line)
|
||||
LOCALE_UISCRIPT_PATH = "%s/ui/" % (app.GetLocalePath())
|
||||
LOGIN_PATH = "%s/ui/login/" % (app.GetLocalePath())
|
||||
EMPIRE_PATH = "%s/ui/empire/" % (app.GetLocalePath())
|
||||
if app.ENABLE_LOCALE_COMMON and not __IS_ARABIC:
|
||||
GUILD_PATH = "locale/common/ui/guild/"
|
||||
else:
|
||||
GUILD_PATH = "%s/ui/guild/" % (app.GetLocalePath())
|
||||
SELECT_PATH = "%s/ui/select/" % (app.GetLocalePath())
|
||||
WINDOWS_PATH = "%s/ui/windows/" % (app.GetLocalePath())
|
||||
MAPNAME_PATH = "%s/ui/mapname/" % (app.GetLocalePath())
|
||||
|
||||
global JOBDESC_WARRIOR_PATH, JOBDESC_ASSASSIN_PATH, JOBDESC_SURA_PATH, JOBDESC_SHAMAN_PATH
|
||||
JOBDESC_WARRIOR_PATH = "%s/jobdesc_warrior.txt" % (app.GetLocalePath())
|
||||
JOBDESC_ASSASSIN_PATH = "%s/jobdesc_assassin.txt" % (app.GetLocalePath())
|
||||
JOBDESC_SURA_PATH = "%s/jobdesc_sura.txt" % (app.GetLocalePath())
|
||||
JOBDESC_SHAMAN_PATH = "%s/jobdesc_shaman.txt" % (app.GetLocalePath())
|
||||
|
||||
global EMPIREDESC_A, EMPIREDESC_B, EMPIREDESC_C
|
||||
EMPIREDESC_A = "%s/empiredesc_a.txt" % (app.GetLocalePath())
|
||||
EMPIREDESC_B = "%s/empiredesc_b.txt" % (app.GetLocalePath())
|
||||
EMPIREDESC_C = "%s/empiredesc_c.txt" % (app.GetLocalePath())
|
||||
|
||||
global LOCALE_INTERFACE_FILE_NAME
|
||||
LOCALE_INTERFACE_FILE_NAME = "%s/locale_interface.txt" % (app.GetLocalePath())
|
||||
|
||||
LoadLocaleFile(LOCALE_INTERFACE_FILE_NAME)
|
||||
|
||||
if app.ENABLE_LOCALE_COMMON:
|
||||
def TryLoadLocaleFile(filename):
|
||||
if pack.Exist(filename) or os.path.exists(filename):
|
||||
LoadLocaleFile(filename)
|
||||
TryLoadLocaleFile("locale/common/locale_interface_ex.txt")
|
||||
TryLoadLocaleFile("%s/locale_interface_ex.txt" % app.GetLocalePath())
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
TryLoadLocaleFile("%s/locale_interface_maliml.txt" % app.GetLocalePath())
|
||||
|
||||
global LOCALE_NAME_DICT
|
||||
LOCALE_NAME_DICT = {
|
||||
"ae" : globals()['LANGUAGE_AE'],
|
||||
"cz" : globals()['LANGUAGE_CZ'],
|
||||
"dk" : globals()['LANGUAGE_DK'],
|
||||
"nl" : globals()['LANGUAGE_NL'],
|
||||
"en" : globals()['LANGUAGE_EN'],
|
||||
"fr" : globals()['LANGUAGE_FR'],
|
||||
"de" : globals()['LANGUAGE_DE'],
|
||||
"gr" : globals()['LANGUAGE_GR'],
|
||||
"hu" : globals()['LANGUAGE_HU'],
|
||||
"it" : globals()['LANGUAGE_IT'],
|
||||
"pl" : globals()['LANGUAGE_PL'],
|
||||
"pt" : globals()['LANGUAGE_PT'],
|
||||
"ro" : globals()['LANGUAGE_RO'],
|
||||
"ru" : globals()['LANGUAGE_RU'],
|
||||
"es" : globals()['LANGUAGE_ES'],
|
||||
"tr" : globals()['LANGUAGE_TR'],
|
||||
}
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
LOCALE_NAME_DICT["eu"] = globals()['LANGUAGE_ANONYMOUS']
|
||||
|
||||
else:
|
||||
def LoadLocaleFile(srcFileName, localeDict):
|
||||
localeDict["CUBE_INFO_TITLE"] = "Recipe"
|
||||
localeDict["CUBE_REQUIRE_MATERIAL"] = "Requirements"
|
||||
localeDict["CUBE_REQUIRE_MATERIAL_OR"] = "or"
|
||||
|
||||
try:
|
||||
lines = open(srcFileName, "r").readlines()
|
||||
except IOError:
|
||||
import dbg
|
||||
dbg.LogBox("LoadUIScriptLocaleError(%(srcFileName)s)" % locals())
|
||||
app.Abort()
|
||||
|
||||
for line in lines:
|
||||
tokens = line[:-1].split("\t")
|
||||
|
||||
if len(tokens) >= 2:
|
||||
localeDict[tokens[0]] = tokens[1]
|
||||
|
||||
else:
|
||||
print(len(tokens), lines.index(line), line)
|
||||
|
||||
name = app.GetLocalePath()
|
||||
|
||||
@ -60,10 +155,40 @@ EMPIREDESC_B = "%s/empiredesc_b.txt" % (name)
|
||||
EMPIREDESC_C = "%s/empiredesc_c.txt" % (name)
|
||||
|
||||
LOCALE_INTERFACE_FILE_NAME = "%s/locale_interface.txt" % (name)
|
||||
LoadLocaleFile(LOCALE_INTERFACE_FILE_NAME, locals())
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
LoadLocaleFile(LOCALE_INTERFACE_FILE_NAME)
|
||||
else:
|
||||
LoadLocaleFile(LOCALE_INTERFACE_FILE_NAME, locals())
|
||||
if app.ENABLE_LOCALE_COMMON:
|
||||
def TryLoadLocaleFile(filename):
|
||||
if pack.Exist(filename) or os.path.exists(filename):
|
||||
LoadLocaleFile(filename, globals())
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
LoadLocaleFile(filename)
|
||||
else:
|
||||
LoadLocaleFile(filename, globals())
|
||||
TryLoadLocaleFile("locale/common/locale_interface_ex.txt")
|
||||
TryLoadLocaleFile("%s/locale_interface_ex.txt" % app.GetLocalePath())
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
TryLoadLocaleFile("%s/locale_interface_maliml.txt" % app.GetLocalePath())
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
LOCALE_NAME_DICT = {
|
||||
"ae" : globals()['LANGUAGE_AE'],
|
||||
"cz" : globals()['LANGUAGE_CZ'],
|
||||
"dk" : globals()['LANGUAGE_DK'],
|
||||
"nl" : globals()['LANGUAGE_NL'],
|
||||
"en" : globals()['LANGUAGE_EN'],
|
||||
"fr" : globals()['LANGUAGE_FR'],
|
||||
"de" : globals()['LANGUAGE_DE'],
|
||||
"gr" : globals()['LANGUAGE_GR'],
|
||||
"hu" : globals()['LANGUAGE_HU'],
|
||||
"it" : globals()['LANGUAGE_IT'],
|
||||
"pl" : globals()['LANGUAGE_PL'],
|
||||
"pt" : globals()['LANGUAGE_PT'],
|
||||
"ro" : globals()['LANGUAGE_RO'],
|
||||
"ru" : globals()['LANGUAGE_RU'],
|
||||
"es" : globals()['LANGUAGE_ES'],
|
||||
"tr" : globals()['LANGUAGE_TR'],
|
||||
}
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
LOCALE_NAME_DICT["eu"] = globals()['LANGUAGE_ANONYMOUS']
|
||||
|
||||
@ -6,6 +6,11 @@ import uiScriptLocale
|
||||
FILE_NAME_LEN = 20
|
||||
DEFAULT_THEMA = localeInfo.MUSIC_METIN2_DEFAULT_THEMA
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
def ReloadVariables():
|
||||
global DEFAULT_THEMA
|
||||
DEFAULT_THEMA = localeInfo.MUSIC_METIN2_DEFAULT_THEMA
|
||||
|
||||
class Item(ui.ListBoxEx.Item):
|
||||
def __init__(self, fileName):
|
||||
ui.ListBoxEx.Item.__init__(self)
|
||||
|
||||
@ -164,3 +164,13 @@ class SystemDialog(ui.ScriptWindow):
|
||||
def OnPressEscapeKey(self):
|
||||
self.Close()
|
||||
return True
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
def LanguageChange(self):
|
||||
if self.systemOptionDlg:
|
||||
self.systemOptionDlg.LanguageChange()
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
def LanguageChangeAnonymous(self):
|
||||
if self.systemOptionDlg:
|
||||
self.systemOptionDlg.LanguageChangeAnonymous()
|
||||
|
||||
@ -14,15 +14,23 @@ import musicInfo
|
||||
import uiSelectMusic
|
||||
import background
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
import uiScriptLocale
|
||||
|
||||
MUSIC_FILENAME_MAX_LEN = 25
|
||||
|
||||
blockMode = 0
|
||||
|
||||
class OptionDialog(ui.ScriptWindow):
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
LANG_VIEW_COUNT = 5
|
||||
|
||||
def __init__(self):
|
||||
ui.ScriptWindow.__init__(self)
|
||||
self.__Initialize()
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
self.__LoadLocaleListFile()
|
||||
self.__Load()
|
||||
|
||||
def __del__(self):
|
||||
@ -37,6 +45,23 @@ class OptionDialog(ui.ScriptWindow):
|
||||
self.ctrlMusicVolume = 0
|
||||
self.ctrlSoundVolume = 0
|
||||
self.musicListDlg = 0
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
self.language_list = []
|
||||
self.language_button_list = []
|
||||
self.language_select_is_open = False
|
||||
self.selected_language_index = -1
|
||||
self.scroll_bar = None
|
||||
self.cur_language_text_window = None
|
||||
self.cur_language_text = None
|
||||
self.language_select_button = None
|
||||
self.language_change_button = None
|
||||
self.language_select_pivot_window = None
|
||||
self.language_over_img = None
|
||||
self.language_select_window = None
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
self.show_country_flag_button = None
|
||||
self.show_empire_flag_button = None
|
||||
self.anonymous_button = None
|
||||
self.tilingApplyButton = 0
|
||||
self.cameraModeButtonList = []
|
||||
self.fogModeButtonList = []
|
||||
@ -68,6 +93,16 @@ class OptionDialog(ui.ScriptWindow):
|
||||
self.ctrlSoundVolume = GetObject("sound_volume_controller")
|
||||
self.cameraModeButtonList.append(GetObject("camera_short"))
|
||||
self.cameraModeButtonList.append(GetObject("camera_long"))
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
self.cur_language_text_window = GetObject("cur_language_text_window")
|
||||
self.cur_language_text = GetObject("cur_language_text")
|
||||
self.language_select_button = GetObject("language_select_button")
|
||||
self.language_change_button = GetObject("language_change_button")
|
||||
self.language_select_pivot_window = GetObject("language_select_pivot_window")
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
self.show_country_flag_button = GetObject("show_country_flag_button")
|
||||
self.show_empire_flag_button = GetObject("show_empire_flag_button")
|
||||
self.anonymous_button = GetObject("anonymous_button")
|
||||
self.fogModeButtonList.append(GetObject("fog_level0"))
|
||||
self.fogModeButtonList.append(GetObject("fog_level1"))
|
||||
self.fogModeButtonList.append(GetObject("fog_level2"))
|
||||
@ -84,6 +119,8 @@ class OptionDialog(ui.ScriptWindow):
|
||||
self.__Load_BindObject()
|
||||
|
||||
self.SetCenterPosition()
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
self.__CreateLanguageSelectWindow()
|
||||
|
||||
self.titleBar.SetCloseEvent(ui.__mem_func__(self.Close))
|
||||
|
||||
@ -114,6 +151,20 @@ class OptionDialog(ui.ScriptWindow):
|
||||
|
||||
self.__ClickRadioButton(self.fogModeButtonList, constInfo.GET_FOG_LEVEL_INDEX())
|
||||
self.__ClickRadioButton(self.cameraModeButtonList, constInfo.GET_CAMERA_MAX_DISTANCE_INDEX())
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
self.language_select_button.SetEvent( ui.__mem_func__(self.__OnClickLanguageSelectButton) )
|
||||
self.cur_language_text_window.SetOnMouseLeftButtonUpEvent( ui.__mem_func__(self.__OnClickLanguageSelectButton) )
|
||||
self.language_change_button.SetEvent( ui.__mem_func__(self.__OnClickLanguageChangeButton) )
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
self.show_country_flag_button.SetToggleDownEvent(ui.__mem_func__(self.__EventShowFlags), "country")
|
||||
self.show_country_flag_button.SetToggleUpEvent(ui.__mem_func__(self.__EventShowFlags), "country")
|
||||
|
||||
self.show_empire_flag_button.SetToggleDownEvent(ui.__mem_func__(self.__EventShowFlags), "empire")
|
||||
self.show_empire_flag_button.SetToggleUpEvent(ui.__mem_func__(self.__EventShowFlags), "empire")
|
||||
|
||||
self.anonymous_button.SetEvent( ui.__mem_func__(self.__OnClickAnonymousButton) )
|
||||
|
||||
self.RefreshLanguageSettings()
|
||||
|
||||
if musicInfo.fieldMusic==musicInfo.METIN2THEMA:
|
||||
self.selectMusicFile.SetText(uiSelectMusic.DEFAULT_THEMA)
|
||||
@ -235,10 +286,16 @@ class OptionDialog(ui.ScriptWindow):
|
||||
|
||||
def Show(self):
|
||||
ui.ScriptWindow.Show(self)
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
self.__LanguageSelectShowHide(False)
|
||||
self.selected_language_index = -1
|
||||
self.cur_language_text.SetText(self.__GetStringCurLanguage())
|
||||
|
||||
def Close(self):
|
||||
self.__SetCurTilingMode()
|
||||
self.Hide()
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
self.__LanguageSelectShowHide(False)
|
||||
|
||||
def __SetCurTilingMode(self):
|
||||
if background.IsSoftwareTiling():
|
||||
@ -248,3 +305,212 @@ class OptionDialog(ui.ScriptWindow):
|
||||
|
||||
def __NotifyChatLine(self, text):
|
||||
chat.AppendChat(chat.CHAT_TYPE_INFO, text)
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
def OnTop(self):
|
||||
if self.language_select_window:
|
||||
self.language_select_window.SetTop()
|
||||
|
||||
def OnMoveWindow(self, x, y):
|
||||
if self.language_select_window and self.language_select_pivot_window:
|
||||
(x, y) = self.language_select_pivot_window.GetGlobalPosition()
|
||||
self.language_select_window.SetPosition(x, y)
|
||||
|
||||
def __AdjustLanguageSelectWindowPosition(self):
|
||||
pos = int(self.scroll_bar.GetPos() * self.Diff)
|
||||
|
||||
for i in xrange(len(self.language_button_list)) :
|
||||
idx = i + pos
|
||||
if idx >= len(self.language_list):
|
||||
return
|
||||
|
||||
text = self.language_list[idx]["name"]
|
||||
self.language_button_list[i].SetText(text)
|
||||
self.language_button_list[i].SetEvent(ui.__mem_func__(self.__OnClickLanguageSelect), idx)
|
||||
self.language_button_list[i].SetOverEvent(ui.__mem_func__(self.__OnClickLanguageButtonOver), i)
|
||||
self.language_button_list[i].SetOverOutEvent(ui.__mem_func__(self.__OnClickLanguageButtonOverOut), i)
|
||||
|
||||
def __CreateLanguageSelectWindow(self):
|
||||
self.language_select_window = ui.Window()
|
||||
self.language_select_window.AddFlag("float")
|
||||
self.language_select_window.SetSize(210, 80)
|
||||
(x, y) = self.language_select_pivot_window.GetGlobalPosition()
|
||||
self.language_select_window.SetPosition(x, y)
|
||||
|
||||
count = min(self.LANG_VIEW_COUNT, len(self.language_list))
|
||||
for i in range(count):
|
||||
btn = ui.Button()
|
||||
btn.SetParent(self.language_select_window)
|
||||
btn.SetPosition(0, i * 15)
|
||||
if i == 0:
|
||||
btn.SetUpVisual("d:/ymir work/ui/quest_re/button_top.sub")
|
||||
btn.SetDownVisual("d:/ymir work/ui/quest_re/button_top.sub")
|
||||
btn.SetOverVisual("d:/ymir work/ui/quest_re/button_top.sub")
|
||||
elif i == (count - 1):
|
||||
btn.SetUpVisual("d:/ymir work/ui/quest_re/button_bottom.sub")
|
||||
btn.SetDownVisual("d:/ymir work/ui/quest_re/button_bottom.sub")
|
||||
btn.SetOverVisual("d:/ymir work/ui/quest_re/button_bottom.sub")
|
||||
else:
|
||||
btn.SetUpVisual("d:/ymir work/ui/quest_re/button_middle.sub")
|
||||
btn.SetDownVisual("d:/ymir work/ui/quest_re/button_middle.sub")
|
||||
btn.SetOverVisual("d:/ymir work/ui/quest_re/button_middle.sub")
|
||||
btn.Show()
|
||||
self.language_button_list.append(btn)
|
||||
|
||||
self.language_over_img = ui.ImageBox()
|
||||
self.language_over_img.LoadImage("d:/ymir work/ui/quest_re/button_over.sub")
|
||||
self.language_over_img.SetParent(self.language_select_window)
|
||||
self.language_over_img.AddFlag("not_pick")
|
||||
|
||||
self.scroll_bar = ui.ScrollBar()
|
||||
self.scroll_bar.SetParent(self.language_select_window)
|
||||
self.scroll_bar.AddFlag("float")
|
||||
self.scroll_bar.SetPosition(195, 0)
|
||||
self.scroll_bar.SetScrollBarSize(75)
|
||||
self.scroll_bar.SetScrollEvent(ui.__mem_func__(self.__OnLanguageSelectScroll))
|
||||
|
||||
self.Diff = len(self.language_list) - self.LANG_VIEW_COUNT
|
||||
stepSize = 1.0 / self.Diff
|
||||
self.scroll_bar.SetScrollStep( stepSize )
|
||||
|
||||
self.__AdjustLanguageSelectWindowPosition()
|
||||
|
||||
def __LanguageSelectShowHide(self, is_show):
|
||||
self.language_select_is_open = is_show
|
||||
|
||||
if True == is_show:
|
||||
self.language_select_window.Show()
|
||||
|
||||
if self.LANG_VIEW_COUNT < len(self.language_list):
|
||||
self.scroll_bar.SetPos(0.0)
|
||||
self.scroll_bar.Show()
|
||||
else:
|
||||
self.scroll_bar.Hide()
|
||||
else:
|
||||
self.language_select_window.Hide()
|
||||
self.scroll_bar.Hide()
|
||||
|
||||
def __LoadLocaleListFile(self):
|
||||
try:
|
||||
with open("locale_list.txt", "rt") as file:
|
||||
lines = file.readlines()
|
||||
except:
|
||||
import dbg
|
||||
dbg.LogBox("__LoadLocaleListFile error locale_list.txt")
|
||||
app.Abort()
|
||||
|
||||
lineIndex = 1
|
||||
for line in lines:
|
||||
try:
|
||||
tokens = line[:-1].split(" ")
|
||||
if len(tokens) == 3:
|
||||
name = tokens[0]
|
||||
code_page = tokens[1]
|
||||
locale = tokens[2]
|
||||
|
||||
if locale in uiScriptLocale.LOCALE_NAME_DICT:
|
||||
name = uiScriptLocale.LOCALE_NAME_DICT[locale]
|
||||
|
||||
self.language_list.append({"name" : name, "code_page" : code_page, "locale" : locale})
|
||||
else:
|
||||
raise RuntimeError, "Unknown TokenSize"
|
||||
|
||||
lineIndex += 1
|
||||
except:
|
||||
import dbg
|
||||
dbg.LogBox("%s: line(%d): %s" % ("locale_list.txt", lineIndex, line), "Error")
|
||||
raise
|
||||
|
||||
def __OnClickLanguageButtonOver(self, index):
|
||||
if index >= len(self.language_button_list):
|
||||
return
|
||||
|
||||
btn = self.language_button_list[index]
|
||||
(x, y) = btn.GetLocalPosition()
|
||||
self.language_over_img.SetPosition(x, y)
|
||||
self.language_over_img.Show()
|
||||
|
||||
def __OnClickLanguageButtonOverOut(self, index):
|
||||
self.language_over_img.Hide()
|
||||
|
||||
def __OnClickLanguageChangeButton(self):
|
||||
if self.__GetStringCurLanguage() == self.cur_language_text.GetText():
|
||||
return
|
||||
|
||||
net.SendChatPacket("/language_change")
|
||||
|
||||
def __OnClickLanguageSelect(self, index):
|
||||
if index >= len(self.language_list):
|
||||
return
|
||||
|
||||
self.__LanguageSelectShowHide( False )
|
||||
self.selected_language_index = index
|
||||
|
||||
if self.cur_language_text:
|
||||
self.cur_language_text.SetText( self.language_list[index]["name"] )
|
||||
|
||||
def __OnClickLanguageSelectButton(self):
|
||||
self.__LanguageSelectShowHide( not self.language_select_is_open )
|
||||
|
||||
def __OnLanguageSelectScroll(self):
|
||||
self.__AdjustLanguageSelectWindowPosition()
|
||||
|
||||
def __SaveLoca(self, code_page, locale):
|
||||
try:
|
||||
with open("loca.cfg", "wt") as file:
|
||||
file.write("{} {}".format(code_page, locale))
|
||||
except:
|
||||
import dbg
|
||||
dbg.LogBox("__SaveLoca error")
|
||||
app.Abort()
|
||||
|
||||
def __GetStringCurLanguage(self):
|
||||
cur_locale = app.GetLocaleName()
|
||||
for lang in self.language_list:
|
||||
if lang["locale"] == cur_locale:
|
||||
return lang["name"]
|
||||
|
||||
return "-"
|
||||
|
||||
def LanguageChange(self):
|
||||
if self.selected_language_index == -1:
|
||||
return
|
||||
|
||||
if self.selected_language_index >= len(self.language_list):
|
||||
return
|
||||
|
||||
lang = self.language_list[self.selected_language_index]
|
||||
self.__SaveLoca(lang["code_page"], lang["locale"])
|
||||
app.SetReloadLocale(True)
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
def __EventShowFlags(self, type):
|
||||
if type == "country":
|
||||
systemSetting.SetShowCountryFlag(not systemSetting.IsShowCountryFlag())
|
||||
elif type == "empire":
|
||||
systemSetting.SetShowEmpireFlag(not systemSetting.IsShowEmpireFlag())
|
||||
|
||||
self.RefreshLanguageSettings()
|
||||
|
||||
def __OnClickAnonymousButton(self):
|
||||
net.SendChatPacket("/language_anonymous")
|
||||
|
||||
def LanguageChangeAnonymous(self):
|
||||
systemSetting.SetAnonymousCountryMode(not systemSetting.GetAnonymousCountryMode())
|
||||
self.RefreshLanguageSettings()
|
||||
|
||||
def RefreshLanguageSettings(self):
|
||||
if systemSetting.IsShowCountryFlag():
|
||||
self.show_country_flag_button.Down()
|
||||
else:
|
||||
self.show_country_flag_button.SetUp()
|
||||
|
||||
if systemSetting.IsShowEmpireFlag():
|
||||
self.show_empire_flag_button.Down()
|
||||
else:
|
||||
self.show_empire_flag_button.SetUp()
|
||||
|
||||
if systemSetting.GetAnonymousCountryMode():
|
||||
self.anonymous_button.SetText(uiScriptLocale.LANGUAGE_SETTINGS_ANON_OFF)
|
||||
else:
|
||||
self.anonymous_button.SetText(uiScriptLocale.LANGUAGE_SETTINGS_ANON_ON)
|
||||
|
||||
@ -68,6 +68,38 @@ class TargetBoard(ui.ThinBoard):
|
||||
}
|
||||
EXCHANGE_LIMIT_RANGE = 3000
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
@staticmethod
|
||||
def ReloadVariables():
|
||||
TargetBoard.BUTTON_NAME_LIST = (
|
||||
localeInfo.TARGET_BUTTON_WHISPER,
|
||||
localeInfo.TARGET_BUTTON_EXCHANGE,
|
||||
localeInfo.TARGET_BUTTON_FIGHT,
|
||||
localeInfo.TARGET_BUTTON_ACCEPT_FIGHT,
|
||||
localeInfo.TARGET_BUTTON_AVENGE,
|
||||
localeInfo.TARGET_BUTTON_FRIEND,
|
||||
localeInfo.TARGET_BUTTON_INVITE_PARTY,
|
||||
localeInfo.TARGET_BUTTON_LEAVE_PARTY,
|
||||
localeInfo.TARGET_BUTTON_EXCLUDE,
|
||||
localeInfo.TARGET_BUTTON_INVITE_GUILD,
|
||||
localeInfo.TARGET_BUTTON_DISMOUNT,
|
||||
localeInfo.TARGET_BUTTON_EXIT_OBSERVER,
|
||||
localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT,
|
||||
localeInfo.TARGET_BUTTON_REQUEST_ENTER_PARTY,
|
||||
localeInfo.TARGET_BUTTON_BUILDING_DESTROY,
|
||||
localeInfo.TARGET_BUTTON_EMOTION_ALLOW,
|
||||
"VOTE_BLOCK_CHAT",
|
||||
)
|
||||
|
||||
TargetBoard.GRADE_NAME = {
|
||||
nonplayer.PAWN : localeInfo.TARGET_LEVEL_PAWN,
|
||||
nonplayer.S_PAWN : localeInfo.TARGET_LEVEL_S_PAWN,
|
||||
nonplayer.KNIGHT : localeInfo.TARGET_LEVEL_KNIGHT,
|
||||
nonplayer.S_KNIGHT : localeInfo.TARGET_LEVEL_S_KNIGHT,
|
||||
nonplayer.BOSS : localeInfo.TARGET_LEVEL_BOSS,
|
||||
nonplayer.KING : localeInfo.TARGET_LEVEL_KING,
|
||||
}
|
||||
|
||||
def __init__(self):
|
||||
ui.ThinBoard.__init__(self)
|
||||
|
||||
|
||||
@ -129,8 +129,12 @@ class ToolTip(ui.ThinBoard):
|
||||
self.toolTipHeight += size
|
||||
self.ResizeToolTip()
|
||||
|
||||
def AppendHorizontalLine(self):
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
def SetThinBoardSize(self, width, height = 12) :
|
||||
self.toolTipWidth = width
|
||||
self.toolTipHeight = height
|
||||
|
||||
def AppendHorizontalLine(self):
|
||||
for i in xrange(2):
|
||||
horizontalLine = ui.Line()
|
||||
horizontalLine.SetParent(self)
|
||||
@ -511,6 +515,166 @@ class ItemToolTip(ToolTip):
|
||||
|
||||
FONT_COLOR = grp.GenerateColor(0.7607, 0.7607, 0.7607, 1.0)
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
@staticmethod
|
||||
def ReloadVariables():
|
||||
ItemToolTip.CHARACTER_NAMES = (
|
||||
localeInfo.TOOLTIP_WARRIOR,
|
||||
localeInfo.TOOLTIP_ASSASSIN,
|
||||
localeInfo.TOOLTIP_SURA,
|
||||
localeInfo.TOOLTIP_SHAMAN
|
||||
)
|
||||
|
||||
if app.ENABLE_WOLFMAN_CHARACTER:
|
||||
ItemToolTip.CHARACTER_NAMES += (
|
||||
localeInfo.TOOLTIP_WOLFMAN,
|
||||
)
|
||||
|
||||
ItemToolTip.CHARACTER_COUNT = len(ItemToolTip.CHARACTER_NAMES)
|
||||
|
||||
ItemToolTip.WEAR_NAMES = (
|
||||
localeInfo.TOOLTIP_ARMOR,
|
||||
localeInfo.TOOLTIP_HELMET,
|
||||
localeInfo.TOOLTIP_SHOES,
|
||||
localeInfo.TOOLTIP_WRISTLET,
|
||||
localeInfo.TOOLTIP_WEAPON,
|
||||
localeInfo.TOOLTIP_NECK,
|
||||
localeInfo.TOOLTIP_EAR,
|
||||
localeInfo.TOOLTIP_UNIQUE,
|
||||
localeInfo.TOOLTIP_SHIELD,
|
||||
localeInfo.TOOLTIP_ARROW,
|
||||
)
|
||||
|
||||
ItemToolTip.WEAR_COUNT = len(ItemToolTip.WEAR_NAMES)
|
||||
|
||||
ItemToolTip.AFFECT_DICT = {
|
||||
item.APPLY_MAX_HP : localeInfo.TOOLTIP_MAX_HP,
|
||||
item.APPLY_MAX_SP : localeInfo.TOOLTIP_MAX_SP,
|
||||
item.APPLY_CON : localeInfo.TOOLTIP_CON,
|
||||
item.APPLY_INT : localeInfo.TOOLTIP_INT,
|
||||
item.APPLY_STR : localeInfo.TOOLTIP_STR,
|
||||
item.APPLY_DEX : localeInfo.TOOLTIP_DEX,
|
||||
item.APPLY_ATT_SPEED : localeInfo.TOOLTIP_ATT_SPEED,
|
||||
item.APPLY_MOV_SPEED : localeInfo.TOOLTIP_MOV_SPEED,
|
||||
item.APPLY_CAST_SPEED : localeInfo.TOOLTIP_CAST_SPEED,
|
||||
item.APPLY_HP_REGEN : localeInfo.TOOLTIP_HP_REGEN,
|
||||
item.APPLY_SP_REGEN : localeInfo.TOOLTIP_SP_REGEN,
|
||||
item.APPLY_POISON_PCT : localeInfo.TOOLTIP_APPLY_POISON_PCT,
|
||||
item.APPLY_STUN_PCT : localeInfo.TOOLTIP_APPLY_STUN_PCT,
|
||||
item.APPLY_SLOW_PCT : localeInfo.TOOLTIP_APPLY_SLOW_PCT,
|
||||
item.APPLY_CRITICAL_PCT : localeInfo.TOOLTIP_APPLY_CRITICAL_PCT,
|
||||
item.APPLY_PENETRATE_PCT : localeInfo.TOOLTIP_APPLY_PENETRATE_PCT,
|
||||
|
||||
item.APPLY_ATTBONUS_WARRIOR : localeInfo.TOOLTIP_APPLY_ATTBONUS_WARRIOR,
|
||||
item.APPLY_ATTBONUS_ASSASSIN : localeInfo.TOOLTIP_APPLY_ATTBONUS_ASSASSIN,
|
||||
item.APPLY_ATTBONUS_SURA : localeInfo.TOOLTIP_APPLY_ATTBONUS_SURA,
|
||||
item.APPLY_ATTBONUS_SHAMAN : localeInfo.TOOLTIP_APPLY_ATTBONUS_SHAMAN,
|
||||
item.APPLY_ATTBONUS_MONSTER : localeInfo.TOOLTIP_APPLY_ATTBONUS_MONSTER,
|
||||
|
||||
item.APPLY_ATTBONUS_HUMAN : localeInfo.TOOLTIP_APPLY_ATTBONUS_HUMAN,
|
||||
item.APPLY_ATTBONUS_ANIMAL : localeInfo.TOOLTIP_APPLY_ATTBONUS_ANIMAL,
|
||||
item.APPLY_ATTBONUS_ORC : localeInfo.TOOLTIP_APPLY_ATTBONUS_ORC,
|
||||
item.APPLY_ATTBONUS_MILGYO : localeInfo.TOOLTIP_APPLY_ATTBONUS_MILGYO,
|
||||
item.APPLY_ATTBONUS_UNDEAD : localeInfo.TOOLTIP_APPLY_ATTBONUS_UNDEAD,
|
||||
item.APPLY_ATTBONUS_DEVIL : localeInfo.TOOLTIP_APPLY_ATTBONUS_DEVIL,
|
||||
item.APPLY_STEAL_HP : localeInfo.TOOLTIP_APPLY_STEAL_HP,
|
||||
item.APPLY_STEAL_SP : localeInfo.TOOLTIP_APPLY_STEAL_SP,
|
||||
item.APPLY_MANA_BURN_PCT : localeInfo.TOOLTIP_APPLY_MANA_BURN_PCT,
|
||||
item.APPLY_DAMAGE_SP_RECOVER : localeInfo.TOOLTIP_APPLY_DAMAGE_SP_RECOVER,
|
||||
item.APPLY_BLOCK : localeInfo.TOOLTIP_APPLY_BLOCK,
|
||||
item.APPLY_DODGE : localeInfo.TOOLTIP_APPLY_DODGE,
|
||||
item.APPLY_RESIST_SWORD : localeInfo.TOOLTIP_APPLY_RESIST_SWORD,
|
||||
item.APPLY_RESIST_TWOHAND : localeInfo.TOOLTIP_APPLY_RESIST_TWOHAND,
|
||||
item.APPLY_RESIST_DAGGER : localeInfo.TOOLTIP_APPLY_RESIST_DAGGER,
|
||||
item.APPLY_RESIST_BELL : localeInfo.TOOLTIP_APPLY_RESIST_BELL,
|
||||
item.APPLY_RESIST_FAN : localeInfo.TOOLTIP_APPLY_RESIST_FAN,
|
||||
item.APPLY_RESIST_BOW : localeInfo.TOOLTIP_RESIST_BOW,
|
||||
item.APPLY_RESIST_FIRE : localeInfo.TOOLTIP_RESIST_FIRE,
|
||||
item.APPLY_RESIST_ELEC : localeInfo.TOOLTIP_RESIST_ELEC,
|
||||
item.APPLY_RESIST_MAGIC : localeInfo.TOOLTIP_RESIST_MAGIC,
|
||||
item.APPLY_RESIST_WIND : localeInfo.TOOLTIP_APPLY_RESIST_WIND,
|
||||
item.APPLY_REFLECT_MELEE : localeInfo.TOOLTIP_APPLY_REFLECT_MELEE,
|
||||
item.APPLY_REFLECT_CURSE : localeInfo.TOOLTIP_APPLY_REFLECT_CURSE,
|
||||
item.APPLY_POISON_REDUCE : localeInfo.TOOLTIP_APPLY_POISON_REDUCE,
|
||||
item.APPLY_KILL_SP_RECOVER : localeInfo.TOOLTIP_APPLY_KILL_SP_RECOVER,
|
||||
item.APPLY_EXP_DOUBLE_BONUS : localeInfo.TOOLTIP_APPLY_EXP_DOUBLE_BONUS,
|
||||
item.APPLY_GOLD_DOUBLE_BONUS : localeInfo.TOOLTIP_APPLY_GOLD_DOUBLE_BONUS,
|
||||
item.APPLY_ITEM_DROP_BONUS : localeInfo.TOOLTIP_APPLY_ITEM_DROP_BONUS,
|
||||
item.APPLY_POTION_BONUS : localeInfo.TOOLTIP_APPLY_POTION_BONUS,
|
||||
item.APPLY_KILL_HP_RECOVER : localeInfo.TOOLTIP_APPLY_KILL_HP_RECOVER,
|
||||
item.APPLY_IMMUNE_STUN : localeInfo.TOOLTIP_APPLY_IMMUNE_STUN,
|
||||
item.APPLY_IMMUNE_SLOW : localeInfo.TOOLTIP_APPLY_IMMUNE_SLOW,
|
||||
item.APPLY_IMMUNE_FALL : localeInfo.TOOLTIP_APPLY_IMMUNE_FALL,
|
||||
item.APPLY_BOW_DISTANCE : localeInfo.TOOLTIP_BOW_DISTANCE,
|
||||
item.APPLY_DEF_GRADE_BONUS : localeInfo.TOOLTIP_DEF_GRADE,
|
||||
item.APPLY_ATT_GRADE_BONUS : localeInfo.TOOLTIP_ATT_GRADE,
|
||||
item.APPLY_MAGIC_ATT_GRADE : localeInfo.TOOLTIP_MAGIC_ATT_GRADE,
|
||||
item.APPLY_MAGIC_DEF_GRADE : localeInfo.TOOLTIP_MAGIC_DEF_GRADE,
|
||||
item.APPLY_MAX_STAMINA : localeInfo.TOOLTIP_MAX_STAMINA,
|
||||
item.APPLY_MALL_ATTBONUS : localeInfo.TOOLTIP_MALL_ATTBONUS,
|
||||
item.APPLY_MALL_DEFBONUS : localeInfo.TOOLTIP_MALL_DEFBONUS,
|
||||
item.APPLY_MALL_EXPBONUS : localeInfo.TOOLTIP_MALL_EXPBONUS,
|
||||
item.APPLY_MALL_ITEMBONUS : localeInfo.TOOLTIP_MALL_ITEMBONUS,
|
||||
item.APPLY_MALL_GOLDBONUS : localeInfo.TOOLTIP_MALL_GOLDBONUS,
|
||||
item.APPLY_SKILL_DAMAGE_BONUS : localeInfo.TOOLTIP_SKILL_DAMAGE_BONUS,
|
||||
item.APPLY_NORMAL_HIT_DAMAGE_BONUS : localeInfo.TOOLTIP_NORMAL_HIT_DAMAGE_BONUS,
|
||||
item.APPLY_SKILL_DEFEND_BONUS : localeInfo.TOOLTIP_SKILL_DEFEND_BONUS,
|
||||
item.APPLY_NORMAL_HIT_DEFEND_BONUS : localeInfo.TOOLTIP_NORMAL_HIT_DEFEND_BONUS,
|
||||
item.APPLY_PC_BANG_EXP_BONUS : localeInfo.TOOLTIP_MALL_EXPBONUS_P_STATIC,
|
||||
item.APPLY_PC_BANG_DROP_BONUS : localeInfo.TOOLTIP_MALL_ITEMBONUS_P_STATIC,
|
||||
item.APPLY_RESIST_WARRIOR : localeInfo.TOOLTIP_APPLY_RESIST_WARRIOR,
|
||||
item.APPLY_RESIST_ASSASSIN : localeInfo.TOOLTIP_APPLY_RESIST_ASSASSIN,
|
||||
item.APPLY_RESIST_SURA : localeInfo.TOOLTIP_APPLY_RESIST_SURA,
|
||||
item.APPLY_RESIST_SHAMAN : localeInfo.TOOLTIP_APPLY_RESIST_SHAMAN,
|
||||
item.APPLY_MAX_HP_PCT : localeInfo.TOOLTIP_APPLY_MAX_HP_PCT,
|
||||
item.APPLY_MAX_SP_PCT : localeInfo.TOOLTIP_APPLY_MAX_SP_PCT,
|
||||
item.APPLY_ENERGY : localeInfo.TOOLTIP_ENERGY,
|
||||
item.APPLY_COSTUME_ATTR_BONUS : localeInfo.TOOLTIP_COSTUME_ATTR_BONUS,
|
||||
|
||||
item.APPLY_MAGIC_ATTBONUS_PER : localeInfo.TOOLTIP_MAGIC_ATTBONUS_PER,
|
||||
item.APPLY_MELEE_MAGIC_ATTBONUS_PER : localeInfo.TOOLTIP_MELEE_MAGIC_ATTBONUS_PER,
|
||||
item.APPLY_RESIST_ICE : localeInfo.TOOLTIP_RESIST_ICE,
|
||||
item.APPLY_RESIST_EARTH : localeInfo.TOOLTIP_RESIST_EARTH,
|
||||
item.APPLY_RESIST_DARK : localeInfo.TOOLTIP_RESIST_DARK,
|
||||
item.APPLY_ANTI_CRITICAL_PCT : localeInfo.TOOLTIP_ANTI_CRITICAL_PCT,
|
||||
item.APPLY_ANTI_PENETRATE_PCT : localeInfo.TOOLTIP_ANTI_PENETRATE_PCT,
|
||||
item.APPLY_ATTBONUS_CZ : localeInfo.TOOLTIP_APPLY_ATTBONUS_CZ,
|
||||
item.APPLY_ATTBONUS_INSECT : localeInfo.TOOLTIP_APPLY_ATTBONUS_INSECT,
|
||||
item.APPLY_ATTBONUS_DESERT : localeInfo.TOOLTIP_APPLY_ATTBONUS_DESERT,
|
||||
item.APPLY_ATTBONUS_SWORD : localeInfo.TOOLTIP_APPLY_ATTBONUS_SWORD,
|
||||
item.APPLY_ATTBONUS_TWOHAND : localeInfo.TOOLTIP_APPLY_ATTBONUS_TWOHAND,
|
||||
item.APPLY_ATTBONUS_DAGGER : localeInfo.TOOLTIP_APPLY_ATTBONUS_DAGGER,
|
||||
item.APPLY_ATTBONUS_BELL : localeInfo.TOOLTIP_APPLY_ATTBONUS_BELL,
|
||||
item.APPLY_ATTBONUS_FAN : localeInfo.TOOLTIP_APPLY_ATTBONUS_FAN,
|
||||
item.APPLY_ATTBONUS_BOW : localeInfo.TOOLTIP_APPLY_ATTBONUS_BOW,
|
||||
item.APPLY_RESIST_HUMAN : localeInfo.TOOLTIP_APPLY_RESIST_HUMAN,
|
||||
item.APPLY_RESIST_MOUNT_FALL : localeInfo.TOOLTIP_APPLY_RESIST_MOUNT_FALL,
|
||||
}
|
||||
|
||||
if app.ENABLE_WOLFMAN_CHARACTER:
|
||||
ItemToolTip.AFFECT_DICT.update({
|
||||
item.APPLY_BLEEDING_PCT : localeInfo.TOOLTIP_APPLY_BLEEDING_PCT,
|
||||
item.APPLY_BLEEDING_REDUCE : localeInfo.TOOLTIP_APPLY_BLEEDING_REDUCE,
|
||||
item.APPLY_ATTBONUS_WOLFMAN : localeInfo.TOOLTIP_APPLY_ATTBONUS_WOLFMAN,
|
||||
item.APPLY_RESIST_CLAW : localeInfo.TOOLTIP_APPLY_RESIST_CLAW,
|
||||
item.APPLY_RESIST_WOLFMAN : localeInfo.TOOLTIP_APPLY_RESIST_WOLFMAN,
|
||||
item.APPLY_ATTBONUS_CLAW : localeInfo.TOOLTIP_APPLY_ATTBONUS_CLAW,
|
||||
})
|
||||
|
||||
if app.ENABLE_MAGIC_REDUCTION_SYSTEM:
|
||||
ItemToolTip.AFFECT_DICT.update({
|
||||
item.APPLY_RESIST_MAGIC_REDUCTION : localeInfo.TOOLTIP_RESIST_MAGIC_REDUCTION,
|
||||
})
|
||||
|
||||
ItemToolTip.AFFECT_DICT.update({
|
||||
item.APPLY_ENCHANT_ELECT : localeInfo.TOOLTIP_APPLY_ENCHANT_ELECT,
|
||||
item.APPLY_ENCHANT_FIRE : localeInfo.TOOLTIP_APPLY_ENCHANT_FIRE,
|
||||
item.APPLY_ENCHANT_ICE : localeInfo.TOOLTIP_APPLY_ENCHANT_ICE,
|
||||
item.APPLY_ENCHANT_WIND : localeInfo.TOOLTIP_APPLY_ENCHANT_WIND,
|
||||
item.APPLY_ENCHANT_EARTH : localeInfo.TOOLTIP_APPLY_ENCHANT_EARTH,
|
||||
item.APPLY_ENCHANT_DARK : localeInfo.TOOLTIP_APPLY_ENCHANT_DARK,
|
||||
})
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
ToolTip.__init__(self, *args, **kwargs)
|
||||
self.itemVnum = 0
|
||||
@ -2241,6 +2405,17 @@ class HyperlinkItemToolTip(ItemToolTip):
|
||||
def OnMouseLeftButtonDown(self):
|
||||
self.Hide()
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
class CountryToolTip(ToolTip):
|
||||
def __init__(self):
|
||||
ToolTip.__init__(self, isPickable=True)
|
||||
|
||||
def __del__(self):
|
||||
ToolTip.__del__(self)
|
||||
|
||||
def OnMouseLeftButtonDown(self):
|
||||
self.Hide()
|
||||
|
||||
class SkillToolTip(ToolTip):
|
||||
|
||||
POINT_NAME_DICT = {
|
||||
@ -2288,6 +2463,31 @@ class SkillToolTip(ToolTip):
|
||||
"REFLECT_MELEE" : "%",
|
||||
}
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
@staticmethod
|
||||
def ReloadVariables():
|
||||
SkillToolTip.POINT_NAME_DICT = {
|
||||
player.LEVEL : localeInfo.SKILL_TOOLTIP_LEVEL,
|
||||
player.IQ : localeInfo.SKILL_TOOLTIP_INT,
|
||||
}
|
||||
|
||||
SkillToolTip.SKILL_GRADE_NAME = {
|
||||
player.SKILL_GRADE_MASTER : localeInfo.SKILL_GRADE_NAME_MASTER,
|
||||
player.SKILL_GRADE_GRAND_MASTER : localeInfo.SKILL_GRADE_NAME_GRAND_MASTER,
|
||||
player.SKILL_GRADE_PERFECT_MASTER : localeInfo.SKILL_GRADE_NAME_PERFECT_MASTER,
|
||||
}
|
||||
|
||||
SkillToolTip.AFFECT_NAME_DICT = {
|
||||
"HP" : localeInfo.TOOLTIP_SKILL_AFFECT_ATT_POWER,
|
||||
"ATT_GRADE" : localeInfo.TOOLTIP_SKILL_AFFECT_ATT_GRADE,
|
||||
"DEF_GRADE" : localeInfo.TOOLTIP_SKILL_AFFECT_DEF_GRADE,
|
||||
"ATT_SPEED" : localeInfo.TOOLTIP_SKILL_AFFECT_ATT_SPEED,
|
||||
"MOV_SPEED" : localeInfo.TOOLTIP_SKILL_AFFECT_MOV_SPEED,
|
||||
"DODGE" : localeInfo.TOOLTIP_SKILL_AFFECT_DODGE,
|
||||
"RESIST_NORMAL" : localeInfo.TOOLTIP_SKILL_AFFECT_RESIST_NORMAL,
|
||||
"REFLECT_MELEE" : localeInfo.TOOLTIP_SKILL_AFFECT_REFLECT_MELEE,
|
||||
}
|
||||
|
||||
def __init__(self):
|
||||
ToolTip.__init__(self, self.SKILL_TOOL_TIP_WIDTH)
|
||||
def __del__(self):
|
||||
|
||||
@ -6,6 +6,8 @@ import app
|
||||
import localeInfo
|
||||
import ime
|
||||
import chr
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
import systemSetting
|
||||
|
||||
class WhisperButton(ui.Button):
|
||||
def __init__(self):
|
||||
@ -291,7 +293,15 @@ class WhisperDialog(ui.ScriptWindow):
|
||||
net.SendWhisperPacket(self.targetName, text)
|
||||
self.chatLine.SetText("")
|
||||
|
||||
chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, self.targetName, player.GetName() + " : " + text)
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
country = app.GetLocaleName()
|
||||
empire = net.GetEmpireID()
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
if systemSetting.GetAnonymousCountryMode():
|
||||
country = "eu"
|
||||
chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, self.targetName, player.GetName() + " : " + text, empire, country)
|
||||
else:
|
||||
chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, self.targetName, player.GetName() + " : " + text)
|
||||
|
||||
def OnTop(self):
|
||||
self.chatLine.SetFocus()
|
||||
@ -301,9 +311,23 @@ class WhisperDialog(ui.ScriptWindow):
|
||||
|
||||
def OnMouseLeftButtonDown(self):
|
||||
hyperlink = ui.GetHyperlink()
|
||||
if hyperlink:
|
||||
if app.IsPressed(app.DIK_LALT):
|
||||
link = chat.GetLinkFromHyperlink(hyperlink)
|
||||
ime.PasteString(link)
|
||||
else:
|
||||
self.interface.MakeHyperlinkTooltip(hyperlink)
|
||||
if app.__BL_MULTI_LANGUAGE_PREMIUM__:
|
||||
country = chat.GetCountry()
|
||||
empire = chat.GetEmpire()
|
||||
if hyperlink:
|
||||
if app.IsPressed(app.DIK_LALT):
|
||||
link = chat.GetLinkFromHyperlink(hyperlink)
|
||||
ime.PasteString(link)
|
||||
else:
|
||||
self.interface.MakeHyperlinkTooltip(hyperlink)
|
||||
elif country:
|
||||
self.interface.MakeCountryTooltip(country)
|
||||
elif empire:
|
||||
self.interface.MakeEmpireTooltip(empire)
|
||||
else:
|
||||
if hyperlink:
|
||||
if app.IsPressed(app.DIK_LALT):
|
||||
link = chat.GetLinkFromHyperlink(hyperlink)
|
||||
ime.PasteString(link)
|
||||
else:
|
||||
self.interface.MakeHyperlinkTooltip(hyperlink)
|
||||
|
||||
@ -0,0 +1,18 @@
|
||||
LANGUAGE_ANONYMOUS مجهول
|
||||
LANGUAGE_ANONYMOUS_MODE وضع مجهول
|
||||
LANGUAGE_SETTINGS_FILTER_COUNTRY مرشح الدردشة (البلد)
|
||||
LANGUAGE_SETTINGS_FILTER_EMPIRE مرشح الدردشة (الإمبراطورية)
|
||||
LANGUAGE_SETTINGS_OTHER آخر
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_COUNTRY عرض أعلام الدول
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_EMPIRE عرض أعلام الإمبراطورية
|
||||
LANGUAGE_SETTINGS اعدادات اللغة
|
||||
OPTION_LANGUAGE_SETTINGS اعدادات اللغة
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE1 مرشح الدردشة: يمكنك تعديل اللغات التي يمكن عرضها في الدردشة.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE2 إظهار الأعلام: يمكنك التحكم في ظهور الأعلام في الدردشة والهمسات وبجوار عناوين الشخصيات.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE3 الوضع المجهول: سيكون علمك مجهولاً ولكن لغتك لن تتغير.
|
||||
LANGUAGE_SETTINGS_COUNTRY دولة
|
||||
LANGUAGE_SETTINGS_EMPIRE إمبراطورية
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG إظهار العلم
|
||||
LANGUAGE_SETTINGS_ANON_ON على
|
||||
LANGUAGE_SETTINGS_ANON_OFF عن
|
||||
LANGUAGE_WILL_CHANGE سوف تتغير اللغة عند تسجيل الدخول.
|
||||
@ -0,0 +1,18 @@
|
||||
LANGUAGE_ANONYMOUS Anonymní
|
||||
LANGUAGE_ANONYMOUS_MODE Anonymní Režim
|
||||
LANGUAGE_SETTINGS_FILTER_COUNTRY Filtr Chatu (Zeme)
|
||||
LANGUAGE_SETTINGS_FILTER_EMPIRE Filtr Chatu (Impérium)
|
||||
LANGUAGE_SETTINGS_OTHER Jiný
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_COUNTRY Zobrazit Vlajky Zemí
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_EMPIRE Zobrazit ríšské Vlajky
|
||||
LANGUAGE_SETTINGS Nastavení Jazyka
|
||||
OPTION_LANGUAGE_SETTINGS Nastavení Jaz.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE1 Filtr Chatu: Mužete upravit, které jazyky mohou být zobrazeny v chate.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE2 Zobrazit Príznaky: Mužete urcit, zda se príznaky objeví v chatu, šepotu a vedle názvu postav.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE3 Anonymní Režim: Vaše vlajka bude anonymní, ale váš jazyk se nezmení.
|
||||
LANGUAGE_SETTINGS_COUNTRY Zeme
|
||||
LANGUAGE_SETTINGS_EMPIRE Ríše
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG Zobrazit Vlajku
|
||||
LANGUAGE_SETTINGS_ANON_ON Na
|
||||
LANGUAGE_SETTINGS_ANON_OFF Vypnuto
|
||||
LANGUAGE_WILL_CHANGE Jazyk se zmení, když se prihlásíte.
|
||||
@ -0,0 +1,18 @@
|
||||
LANGUAGE_ANONYMOUS Anonym
|
||||
LANGUAGE_ANONYMOUS_MODE Anonym Modus
|
||||
LANGUAGE_SETTINGS_FILTER_COUNTRY Chat-Filter (Land)
|
||||
LANGUAGE_SETTINGS_FILTER_EMPIRE Chat-Filter (Empire)
|
||||
LANGUAGE_SETTINGS_OTHER Andere
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_COUNTRY Länderflaggen Anzeigen
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_EMPIRE Flaggen des Imperiums Anzeigen
|
||||
LANGUAGE_SETTINGS Spracheinstellungen
|
||||
OPTION_LANGUAGE_SETTINGS Spracheinstel.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE1 Chat-Filter: Sie können bearbeiten, welche Sprachen im Chat angezeigt werden können.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE2 Flaggen anzeigen: Sie können steuern, ob Flaggen im Chat, im Flüsterton und neben den Charaktertiteln angezeigt werden.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE3 Anonymous Mode: Ihre Flagge bleibt anonym, Ihre Sprache ändert sich jedoch nicht.
|
||||
LANGUAGE_SETTINGS_COUNTRY Land
|
||||
LANGUAGE_SETTINGS_EMPIRE Reich
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG Flagge Anzeigen
|
||||
LANGUAGE_SETTINGS_ANON_ON An
|
||||
LANGUAGE_SETTINGS_ANON_OFF Aus
|
||||
LANGUAGE_WILL_CHANGE Die Sprache ändert sich, wenn Sie sich anmelden.
|
||||
@ -0,0 +1,18 @@
|
||||
LANGUAGE_ANONYMOUS Anonym
|
||||
LANGUAGE_ANONYMOUS_MODE Anonym Tilstand
|
||||
LANGUAGE_SETTINGS_FILTER_COUNTRY Chatfilter (Land)
|
||||
LANGUAGE_SETTINGS_FILTER_EMPIRE Chatfilter (Imperium)
|
||||
LANGUAGE_SETTINGS_OTHER Andet
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_COUNTRY Vis Landeflag
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_EMPIRE Vis Empire Flag
|
||||
LANGUAGE_SETTINGS Sprogindstillinger
|
||||
OPTION_LANGUAGE_SETTINGS Sprogindstil.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE1 Chatfilter: Du kan redigere, hvilke sprog der kan vises i chatten.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE2 Vis Flag: Du kan kontrollere, om flag vises i chat, hvisken og ved siden af ??karaktertitler.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE3 Anonym Tilstand: Dit flag vil være anonymt, men dit sprog ændres ikke.
|
||||
LANGUAGE_SETTINGS_COUNTRY Land
|
||||
LANGUAGE_SETTINGS_EMPIRE Imperium
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG Vis Flag
|
||||
LANGUAGE_SETTINGS_ANON_ON På
|
||||
LANGUAGE_SETTINGS_ANON_OFF Af
|
||||
LANGUAGE_WILL_CHANGE Sproget ændres, når du logger ind.
|
||||
@ -0,0 +1,18 @@
|
||||
LANGUAGE_ANONYMOUS Anonymous
|
||||
LANGUAGE_ANONYMOUS_MODE Anonymous Mode
|
||||
LANGUAGE_SETTINGS_FILTER_COUNTRY Chat Filter (Country)
|
||||
LANGUAGE_SETTINGS_FILTER_EMPIRE Chat Filter (Empire)
|
||||
LANGUAGE_SETTINGS_OTHER Other
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_COUNTRY Show Country Flags
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_EMPIRE Show Empire Flags
|
||||
LANGUAGE_SETTINGS Language Settings
|
||||
OPTION_LANGUAGE_SETTINGS Language Sett.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE1 Chat Filter: You can edit which languages can be displayed in the chat.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE2 Show Flags: You can control whether flags appear in chat, whispers, and next to character titles.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE3 Anonymous Mode: Your flag will be anonymous but your language will not change.
|
||||
LANGUAGE_SETTINGS_COUNTRY Country
|
||||
LANGUAGE_SETTINGS_EMPIRE Empire
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG Show Flag
|
||||
LANGUAGE_SETTINGS_ANON_ON On
|
||||
LANGUAGE_SETTINGS_ANON_OFF Off
|
||||
LANGUAGE_WILL_CHANGE The language will change when you log in.
|
||||
@ -0,0 +1,18 @@
|
||||
LANGUAGE_ANONYMOUS Anónimo
|
||||
LANGUAGE_ANONYMOUS_MODE Modo Anónimo
|
||||
LANGUAGE_SETTINGS_FILTER_COUNTRY Filtro De Chat (País)
|
||||
LANGUAGE_SETTINGS_FILTER_EMPIRE Filtro De Chat (Imperio)
|
||||
LANGUAGE_SETTINGS_OTHER Otro
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_COUNTRY Mostrar Nanderas De Países
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_EMPIRE Mostrar Banderas Del Imperio
|
||||
LANGUAGE_SETTINGS Ajustes De Idioma
|
||||
OPTION_LANGUAGE_SETTINGS Ajustes De Idi.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE1 Filtro de chat: Puede editar qué idiomas se pueden mostrar en el chat.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE2 Mostrar Banderas: Puedes controlar si las banderas aparecen en el chat, en los susurros y junto a los títulos de los personajes.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE3 Modo Anónimo: Su bandera será anónima pero su idioma no cambiará.
|
||||
LANGUAGE_SETTINGS_COUNTRY País
|
||||
LANGUAGE_SETTINGS_EMPIRE Imperio
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG Mostrar Bandera
|
||||
LANGUAGE_SETTINGS_ANON_ON En
|
||||
LANGUAGE_SETTINGS_ANON_OFF Apagado
|
||||
LANGUAGE_WILL_CHANGE El idioma cambiará cuando inicies sesión.
|
||||
@ -0,0 +1,18 @@
|
||||
LANGUAGE_ANONYMOUS Anonyme
|
||||
LANGUAGE_ANONYMOUS_MODE Mode Anonyme
|
||||
LANGUAGE_SETTINGS_FILTER_COUNTRY Filtre De Discussion (Pays)
|
||||
LANGUAGE_SETTINGS_FILTER_EMPIRE Filtre De Discussion (Empire)
|
||||
LANGUAGE_SETTINGS_OTHER Autre
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_COUNTRY Afficher Les Drapeaux Des Pays
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_EMPIRE Afficher Les Drapeaux De l'Empire
|
||||
LANGUAGE_SETTINGS Paramètres De Langue
|
||||
OPTION_LANGUAGE_SETTINGS Paramètres De La.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE1 Filtre De Discussion : Vous pouvez modifier les langues pouvant être affichées dans la discussion.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE2 Afficher Les Drapeaux : Vous pouvez contrôler si les drapeaux apparaissent dans le chat, les chuchotements et à côté des titres des personnages.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE3 Mode Anonyme : Votre drapeau sera anonyme mais votre langue ne changera pas.
|
||||
LANGUAGE_SETTINGS_COUNTRY Pays
|
||||
LANGUAGE_SETTINGS_EMPIRE Empire
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG Afficher Le Drapeau
|
||||
LANGUAGE_SETTINGS_ANON_ON Sur
|
||||
LANGUAGE_SETTINGS_ANON_OFF Désactivé
|
||||
LANGUAGE_WILL_CHANGE La langue changera lorsque vous vous connecterez.
|
||||
@ -0,0 +1,18 @@
|
||||
LANGUAGE_ANONYMOUS Ανώνυμος
|
||||
LANGUAGE_ANONYMOUS_MODE Ανώνυμη λειτουργία
|
||||
LANGUAGE_SETTINGS_FILTER_COUNTRY Φίλτρο συνομιλίας (Χώρα)
|
||||
LANGUAGE_SETTINGS_FILTER_EMPIRE Φίλτρο συνομιλίας (αμπίρ)
|
||||
LANGUAGE_SETTINGS_OTHER Αλλα
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_COUNTRY Εμφάνιση σημαιών χωρών
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_EMPIRE Εμφάνιση σημαιών της αυτοκρατορίας
|
||||
LANGUAGE_SETTINGS ΡΥΘΜΙΣΕΙΣ ΓΛΩΣΣΑΣ
|
||||
OPTION_LANGUAGE_SETTINGS ΡΥΘΜΙΣΕΙΣ ΓΛΩ.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE1 Φίλτρο συνομιλίας: Μπορείτε να επεξεργαστείτε ποιες γλώσσες μπορούν να εμφανίζονται στη συνομιλία.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE2 Εμφάνιση σημαιών: Μπορείτε να ελέγξετε εάν οι σημαίες εμφανίζονται στη συνομιλία, στους ψιθύρους και δίπλα σε τίτλους χαρακτήρων.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE3 Ανώνυμη λειτουργία: Η σημαία σας θα είναι ανώνυμη, αλλά η γλώσσα σας δεν θα αλλάξει.
|
||||
LANGUAGE_SETTINGS_COUNTRY Χώρα
|
||||
LANGUAGE_SETTINGS_EMPIRE αμπίρ
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG Εμφάνιση σημαίας
|
||||
LANGUAGE_SETTINGS_ANON_ON Επί
|
||||
LANGUAGE_SETTINGS_ANON_OFF Μακριά από
|
||||
LANGUAGE_WILL_CHANGE Η γλώσσα θα αλλάξει όταν συνδεθείτε.
|
||||
@ -0,0 +1,18 @@
|
||||
LANGUAGE_ANONYMOUS Névtelen
|
||||
LANGUAGE_ANONYMOUS_MODE Névtelen Mód
|
||||
LANGUAGE_SETTINGS_FILTER_COUNTRY Csevegés Szuro (Ország)
|
||||
LANGUAGE_SETTINGS_FILTER_EMPIRE Csevegés Szuro (Empire)
|
||||
LANGUAGE_SETTINGS_OTHER Egyéb
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_COUNTRY Országzászló Megjelenítése
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_EMPIRE Mutasd A Birodalom Zászlóit
|
||||
LANGUAGE_SETTINGS Nyelvi Beállítások
|
||||
OPTION_LANGUAGE_SETTINGS Nyelvi Beáll.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE1 Csevegésszuro: Módosíthatja, hogy mely nyelvek jelenjenek meg a csevegésben.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE2 Zászlók Megjelenítése: Beállíthatja, hogy a zászlók megjelenjenek-e a csevegésben, a suttogásban és a karakterek címei mellett.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE3 Névtelen Mód: A zászló névtelen lesz, de a nyelve nem változik.
|
||||
LANGUAGE_SETTINGS_COUNTRY Ország
|
||||
LANGUAGE_SETTINGS_EMPIRE Empire
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG Zászló Megjelenítése
|
||||
LANGUAGE_SETTINGS_ANON_ON Tovább
|
||||
LANGUAGE_SETTINGS_ANON_OFF Ki
|
||||
LANGUAGE_WILL_CHANGE A nyelv megváltozik, amikor bejelentkezik.
|
||||
@ -0,0 +1,18 @@
|
||||
LANGUAGE_ANONYMOUS Anonima
|
||||
LANGUAGE_ANONYMOUS_MODE Modalità Anonima
|
||||
LANGUAGE_SETTINGS_FILTER_COUNTRY Filtro Chat (Paese)
|
||||
LANGUAGE_SETTINGS_FILTER_EMPIRE Filtro Chat (Impero)
|
||||
LANGUAGE_SETTINGS_OTHER Altro
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_COUNTRY Mostra Le Bandiere Dei Paesi
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_EMPIRE Mostra Le Bandiere Dell'Impero
|
||||
LANGUAGE_SETTINGS Impostazioni della lingua
|
||||
OPTION_LANGUAGE_SETTINGS Impostazioni Della Li.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE1 Filtro Chat: Puoi modificare le lingue che possono essere visualizzate nella chat.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE2 Mostra Bandiere: Puoi controllare se le bandiere appaiono nella chat, nei sussurri e accanto ai titoli dei personaggi.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE3 Modalità Anonima: La tua bandiera sarà anonima ma la tua lingua non cambierà.
|
||||
LANGUAGE_SETTINGS_COUNTRY Paese
|
||||
LANGUAGE_SETTINGS_EMPIRE Impero
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG Mostra Bandiera
|
||||
LANGUAGE_SETTINGS_ANON_ON Attiva
|
||||
LANGUAGE_SETTINGS_ANON_OFF Disattiva
|
||||
LANGUAGE_WILL_CHANGE La lingua cambierà quando effettuerai l'accesso.
|
||||
@ -0,0 +1,18 @@
|
||||
LANGUAGE_ANONYMOUS Anoniem
|
||||
LANGUAGE_ANONYMOUS_MODE Anonieme Modus
|
||||
LANGUAGE_SETTINGS_FILTER_COUNTRY Chatfilter (Land)
|
||||
LANGUAGE_SETTINGS_FILTER_EMPIRE Chatfilter (Empire)
|
||||
LANGUAGE_SETTINGS_OTHER Ander
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_COUNTRY Toon Landvlaggen
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_EMPIRE Toon Empire-Vlaggen
|
||||
LANGUAGE_SETTINGS Taal Instellingen
|
||||
OPTION_LANGUAGE_SETTINGS Taal Instel.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE1 Chatfilter: U kunt bewerken welke talen in de chat kunnen worden weergegeven.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE2 Vlaggen Tonen: Je kunt bepalen of vlaggen verschijnen in chats, gefluister en naast karaktertitels.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE3 Anonieme Modus: Uw vlag is anoniem, maar uw taal verandert niet.
|
||||
LANGUAGE_SETTINGS_COUNTRY Land
|
||||
LANGUAGE_SETTINGS_EMPIRE Empire
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG Vlag Tonen
|
||||
LANGUAGE_SETTINGS_ANON_ON Op
|
||||
LANGUAGE_SETTINGS_ANON_OFF Uit
|
||||
LANGUAGE_WILL_CHANGE De taal verandert wanneer u inlogt.
|
||||
@ -0,0 +1,18 @@
|
||||
LANGUAGE_ANONYMOUS Anonimowy
|
||||
LANGUAGE_ANONYMOUS_MODE Tryb Anonimowy
|
||||
LANGUAGE_SETTINGS_FILTER_COUNTRY Filtr Czatu (Kraj)
|
||||
LANGUAGE_SETTINGS_FILTER_EMPIRE Filtr Czatu (Imperium)
|
||||
LANGUAGE_SETTINGS_OTHER Inny
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_COUNTRY Pokaz Flagi Krajów
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_EMPIRE Pokaz Flagi Imperium
|
||||
LANGUAGE_SETTINGS Ustawienia Jezyka
|
||||
OPTION_LANGUAGE_SETTINGS Ustawienia Jez.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE1 Filtr Czatu: Mozesz edytowac, które jezyki moga byc wyswietlane na czacie.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE2 Pokaz Flagi: Mozesz kontrolowac, czy flagi pojawiaja sie na czacie, szeptach i obok tytulów postaci.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE3 Tryb Anonimowy: Twoja flaga bedzie anonimowa, ale Twój jezyk nie ulegnie zmianie.
|
||||
LANGUAGE_SETTINGS_COUNTRY Kraj
|
||||
LANGUAGE_SETTINGS_EMPIRE Imperium
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG Pokaz Flage
|
||||
LANGUAGE_SETTINGS_ANON_ON Na
|
||||
LANGUAGE_SETTINGS_ANON_OFF Wylaczony
|
||||
LANGUAGE_WILL_CHANGE Jezyk zmieni sie po zalogowaniu.
|
||||
@ -0,0 +1,18 @@
|
||||
LANGUAGE_ANONYMOUS Anônimo
|
||||
LANGUAGE_ANONYMOUS_MODE Modo Anônimo
|
||||
LANGUAGE_SETTINGS_FILTER_COUNTRY Filtro De Bate-Papo (País)
|
||||
LANGUAGE_SETTINGS_FILTER_EMPIRE Filtro De Bate-Papo (Império)
|
||||
LANGUAGE_SETTINGS_OTHER Outro
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_COUNTRY Mostrar Bandeiras Do País
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_EMPIRE Mostrar Bandeiras Do Império
|
||||
LANGUAGE_SETTINGS Configurações De Linguagem
|
||||
OPTION_LANGUAGE_SETTINGS Configurações De Lin.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE1 Filtro De Bate-Papo: Você pode editar quais idiomas podem ser exibidos no bate-papo.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE2 Mostrar Sinalizadores: Você pode controlar se os sinalizadores aparecem no bate-papo, nos sussurros e ao lado dos títulos dos personagens.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE3 Modo Anônimo: Sua bandeira será anônima, mas seu idioma não mudará.
|
||||
LANGUAGE_SETTINGS_COUNTRY País
|
||||
LANGUAGE_SETTINGS_EMPIRE Império
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG Mostrar Bandeira
|
||||
LANGUAGE_SETTINGS_ANON_ON Sobre
|
||||
LANGUAGE_SETTINGS_ANON_OFF Desligado
|
||||
LANGUAGE_WILL_CHANGE O idioma mudará quando você fizer login.
|
||||
@ -0,0 +1,18 @@
|
||||
LANGUAGE_ANONYMOUS Anonim
|
||||
LANGUAGE_ANONYMOUS_MODE Mod Anonim
|
||||
LANGUAGE_SETTINGS_FILTER_COUNTRY Filtru De Chat (Tara)
|
||||
LANGUAGE_SETTINGS_FILTER_EMPIRE Filtru De Chat (Imperiu)
|
||||
LANGUAGE_SETTINGS_OTHER Alte
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_COUNTRY Afisati Steaguri De Tara
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_EMPIRE Arata Steaguri Imperiului
|
||||
LANGUAGE_SETTINGS Setarile De Limba
|
||||
OPTION_LANGUAGE_SETTINGS Setarile De Lim.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE1 Filtru De Chat: Puteti edita ce limbi pot fi afisate în chat.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE2 Afisati steaguri: Puteti controla daca steaguri apar în chat, în soapta si lânga titlurile personajelor.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE3 Mod Anonim: Steagul tau va fi anonim, dar limba ta nu se va schimba.
|
||||
LANGUAGE_SETTINGS_COUNTRY Tara
|
||||
LANGUAGE_SETTINGS_EMPIRE Imperiu
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG Arata Steagul
|
||||
LANGUAGE_SETTINGS_ANON_ON Pe
|
||||
LANGUAGE_SETTINGS_ANON_OFF Oprit
|
||||
LANGUAGE_WILL_CHANGE Limba se va schimba când va conectati.
|
||||
@ -0,0 +1,18 @@
|
||||
LANGUAGE_ANONYMOUS áÎÏÎÉÍÎÙÊ
|
||||
LANGUAGE_ANONYMOUS_MODE áÎÏÎÉÍÎÙÊ òÅÖÉÍ
|
||||
LANGUAGE_SETTINGS_FILTER_COUNTRY æÉÌØÔÒ ÞÁÔÁ (óÔÒÁÎÁ)
|
||||
LANGUAGE_SETTINGS_FILTER_EMPIRE æÉÌØÔÒ ÞÁÔÁ (éÍÐÅÒÉÑ)
|
||||
LANGUAGE_SETTINGS_OTHER äÒÕÇÏÊ
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_COUNTRY ðÏËÁÚÁÔØ ÆÌÁÇÉ ÓÔÒÁÎ
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_EMPIRE ðÏËÁÚÁÔØ ÆÌÁÇÉ ÉÍÐÅÒÉÉ
|
||||
LANGUAGE_SETTINGS ñÚÙËÏ×ÙÅ ÎÁÓÔÒÏÊËÉ
|
||||
OPTION_LANGUAGE_SETTINGS ñÚÙËÏ×ÙÅ ÎÁÓ.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE1 æÉÌØÔÒ ÞÁÔÁ: ×Ù ÍÏÖÅÔÅ ÉÚÍÅÎÉÔØ ÑÚÙËÉ, ËÏÔÏÒÙÅ ÂÕÄÕÔ ÏÔÏÂÒÁÖÁÔØÓÑ × ÞÁÔÅ.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE2 ðÏËÁÚÙ×ÁÔØ ÆÌÁÇÉ: ×Ù ÍÏÖÅÔÅ ËÏÎÔÒÏÌÉÒÏ×ÁÔØ, ÂÕÄÕÔ ÌÉ ÆÌÁÇÉ ÐÏÑ×ÌÑÔØÓÑ × ÞÁÔÅ, ÐÒÉ ÛÅÐÏÔÅ É ÒÑÄÏÍ Ó ÎÁÚ×ÁÎÉÑÍÉ ÐÅÒÓÏÎÁÖÅÊ.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE3 áÎÏÎÉÍÎÙÊ ÒÅÖÉÍ: ×ÁÛ ÆÌÁÇ ÂÕÄÅÔ ÁÎÏÎÉÍÎÙÍ, ÎÏ ×ÁÛ ÑÚÙË ÎÅ ÉÚÍÅÎÉÔÓÑ.
|
||||
LANGUAGE_SETTINGS_COUNTRY óÔÒÁÎÁ
|
||||
LANGUAGE_SETTINGS_EMPIRE éÍÐÅÒÉÑ
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG ðÏËÁÚÁÔØ ÆÌÁÇ
|
||||
LANGUAGE_SETTINGS_ANON_ON îÁ
|
||||
LANGUAGE_SETTINGS_ANON_OFF ÷ÙËÌÀÞÅÎÎÙÊ
|
||||
LANGUAGE_WILL_CHANGE ñÚÙË ÉÚÍÅÎÉÔÓÑ ÐÒÉ ×ÈÏÄÅ × ÓÉÓÔÅÍÕ.
|
||||
@ -0,0 +1,18 @@
|
||||
LANGUAGE_ANONYMOUS Anonim
|
||||
LANGUAGE_ANONYMOUS_MODE Anonim Modu
|
||||
LANGUAGE_SETTINGS_FILTER_COUNTRY Sohbet Filtresi (Ülke)
|
||||
LANGUAGE_SETTINGS_FILTER_EMPIRE Sohbet Filtresi (Krallik)
|
||||
LANGUAGE_SETTINGS_OTHER Diger
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_COUNTRY Ülke Bayraklarini Göster
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG_EMPIRE Krallik Bayraklarini Göster
|
||||
LANGUAGE_SETTINGS Dil Ayarlari
|
||||
OPTION_LANGUAGE_SETTINGS Dil Ayarlari
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE1 Sohbet Filtresi: Sohbette hangi dillerin görüntülenebilecegini düzenleyebilirsiniz.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE2 Bayraklari Göster: Bayraklarin sohbette, özel mesajlarda ve karakter basliklarinin yaninda görünüp görünmeyecegini kontrol edebilirsiniz.
|
||||
LANGUAGE_SETTINGS_TOOLTIP_LINE3 Anonim Modu: Bayraginiz anonim olarak gözükecek ancak diliniz degismeyecektir.
|
||||
LANGUAGE_SETTINGS_COUNTRY Ülke
|
||||
LANGUAGE_SETTINGS_EMPIRE Krallik
|
||||
LANGUAGE_SETTINGS_SHOW_FLAG Bayrak Göster
|
||||
LANGUAGE_SETTINGS_ANON_ON Aç
|
||||
LANGUAGE_SETTINGS_ANON_OFF Kapat
|
||||
LANGUAGE_WILL_CHANGE Giriþ yaptýðýnýzda dil deðiþecektir.
|
||||
BIN
client/pack/special_patch_maliml/ymir work/ui/form_lang_01.dds
Normal file
BIN
client/pack/special_patch_maliml/ymir work/ui/form_lang_01.dds
Normal file
Binary file not shown.
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "party_001.dds"
|
||||
left 134
|
||||
top 109
|
||||
right 150
|
||||
bottom 125
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "party_001.dds"
|
||||
left 166
|
||||
top 109
|
||||
right 182
|
||||
bottom 125
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "party_001.dds"
|
||||
left 150
|
||||
top 109
|
||||
right 166
|
||||
bottom 125
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "IntroEmpire_01.dds"
|
||||
left 313
|
||||
top 357
|
||||
right 441
|
||||
bottom 436
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "IntroEmpire_01.dds"
|
||||
left 359
|
||||
top 479
|
||||
right 487
|
||||
bottom 558
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "IntroEmpire_01.dds"
|
||||
left 0
|
||||
top 669
|
||||
right 128
|
||||
bottom 748
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 52
|
||||
top 21
|
||||
right 74
|
||||
bottom 38
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 26
|
||||
top 63
|
||||
right 48
|
||||
bottom 80
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 0
|
||||
top 42
|
||||
right 22
|
||||
bottom 59
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 78
|
||||
top 0
|
||||
right 100
|
||||
bottom 17
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 52
|
||||
top 0
|
||||
right 74
|
||||
bottom 17
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 78
|
||||
top 21
|
||||
right 100
|
||||
bottom 38
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 26
|
||||
top 21
|
||||
right 48
|
||||
bottom 38
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 104
|
||||
top 63
|
||||
right 126
|
||||
bottom 80
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 104
|
||||
top 42
|
||||
right 126
|
||||
bottom 59
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 0
|
||||
top 0
|
||||
right 22
|
||||
bottom 17
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 0
|
||||
top 63
|
||||
right 22
|
||||
bottom 80
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 104
|
||||
top 21
|
||||
right 126
|
||||
bottom 38
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 52
|
||||
top 63
|
||||
right 74
|
||||
bottom 80
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 26
|
||||
top 0
|
||||
right 48
|
||||
bottom 17
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 78
|
||||
top 42
|
||||
right 100
|
||||
bottom 59
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 52
|
||||
top 42
|
||||
right 74
|
||||
bottom 59
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 0
|
||||
top 21
|
||||
right 22
|
||||
bottom 38
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 104
|
||||
top 0
|
||||
right 126
|
||||
bottom 17
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "severflags_01.dds"
|
||||
left 26
|
||||
top 42
|
||||
right 48
|
||||
bottom 59
|
||||
BIN
client/pack/special_patch_maliml/ymir work/ui/introempire_01.dds
Normal file
BIN
client/pack/special_patch_maliml/ymir work/ui/introempire_01.dds
Normal file
Binary file not shown.
BIN
client/pack/special_patch_maliml/ymir work/ui/party_001.dds
Normal file
BIN
client/pack/special_patch_maliml/ymir work/ui/party_001.dds
Normal file
Binary file not shown.
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "form_lang_01.dds"
|
||||
left 0
|
||||
top 32
|
||||
right 210
|
||||
bottom 48
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "form_lang_01.dds"
|
||||
left 0
|
||||
top 16
|
||||
right 210
|
||||
bottom 32
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "form_lang_01.dds"
|
||||
left 0
|
||||
top 68
|
||||
right 210
|
||||
bottom 84
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "form_lang_01.dds"
|
||||
left 0
|
||||
top 50
|
||||
right 210
|
||||
bottom 66
|
||||
@ -0,0 +1,7 @@
|
||||
title subImage
|
||||
version 1.0
|
||||
image "form_lang_01.dds"
|
||||
left 0
|
||||
top 0
|
||||
right 210
|
||||
bottom 16
|
||||
BIN
client/pack/special_patch_maliml/ymir work/ui/severflags_01.dds
Normal file
BIN
client/pack/special_patch_maliml/ymir work/ui/severflags_01.dds
Normal file
Binary file not shown.
@ -373,24 +373,6 @@ if app.ENABLE_ENVIRONMENT_EFFECT_OPTION:
|
||||
"over_image" : ROOT_PATH + "small_Button_02.sub",
|
||||
"down_image" : ROOT_PATH + "small_Button_03.sub",
|
||||
},
|
||||
|
||||
# {
|
||||
# "name" : "shadow_mode",
|
||||
# "type" : "text",
|
||||
|
||||
# "x" : 30,
|
||||
# "y" : 210,
|
||||
|
||||
# "text" : uiScriptLocale.OPTION_SHADOW,
|
||||
# },
|
||||
|
||||
# {
|
||||
# "name" : "shadow_bar",
|
||||
# "type" : "sliderbar",
|
||||
|
||||
# "x" : 110,
|
||||
# "y" : 210,
|
||||
# },
|
||||
),
|
||||
},
|
||||
),
|
||||
@ -646,26 +628,156 @@ else:
|
||||
"over_image" : ROOT_PATH + "middle_Button_02.sub",
|
||||
"down_image" : ROOT_PATH + "middle_Button_03.sub",
|
||||
},
|
||||
|
||||
|
||||
# {
|
||||
# "name" : "shadow_mode",
|
||||
# "type" : "text",
|
||||
|
||||
# "x" : 30,
|
||||
# "y" : 210,
|
||||
|
||||
# "text" : uiScriptLocale.OPTION_SHADOW,
|
||||
# },
|
||||
|
||||
# {
|
||||
# "name" : "shadow_bar",
|
||||
# "type" : "sliderbar",
|
||||
|
||||
# "x" : 110,
|
||||
# "y" : 210,
|
||||
# },
|
||||
),
|
||||
},
|
||||
),
|
||||
}
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE__:
|
||||
MULTI_LANGUAGE_WINDOW_Y = 210
|
||||
window["height"] = window["height"] + 10
|
||||
window["children"][0]["height"] = window["children"][0]["height"] + 10
|
||||
window["children"][0]["children"] = window["children"][0]["children"] + (
|
||||
{
|
||||
"name" : "language_change_window",
|
||||
"type" : "window",
|
||||
|
||||
"x" : 0,
|
||||
"y" : MULTI_LANGUAGE_WINDOW_Y,
|
||||
"width" : 305,
|
||||
"height" : 22+15,
|
||||
|
||||
"children" :
|
||||
(
|
||||
{
|
||||
"name" : "language_select_text",
|
||||
"type" : "text",
|
||||
|
||||
"x" : 40 + TEXT_TEMPORARY_X,
|
||||
"y" : 2,
|
||||
|
||||
"text" : uiScriptLocale.OPTION_LANGUAGE_SELECT,
|
||||
},
|
||||
{
|
||||
"name" : "language_select_img",
|
||||
"type" : "image",
|
||||
"x" : 40 + TEXT_TEMPORARY_X,
|
||||
"y" : 20,
|
||||
"image" : "d:/ymir work/ui/quest_re/button_one.sub",
|
||||
},
|
||||
{
|
||||
"name" : "cur_language_text_window",
|
||||
"type" : "window",
|
||||
|
||||
"x" : 40 + TEXT_TEMPORARY_X,
|
||||
"y" : 20,
|
||||
"width" : 210-16,
|
||||
"height" : 16,
|
||||
|
||||
"children" :
|
||||
(
|
||||
{"name":"cur_language_text", "type":"text", "x":0, "y":0, "text": "-", "all_align" : "center"},
|
||||
),
|
||||
},
|
||||
{
|
||||
"name" : "language_select_button",
|
||||
"type" : "button",
|
||||
|
||||
"x" : 40 + TEXT_TEMPORARY_X + 210 -16,
|
||||
"y" : 20,
|
||||
|
||||
"default_image" : "d:/ymir work/ui/game/party_match/arrow_default.sub",
|
||||
"over_image" : "d:/ymir work/ui/game/party_match/arrow_over.sub",
|
||||
"down_image" : "d:/ymir work/ui/game/party_match/arrow_down.sub",
|
||||
},
|
||||
{
|
||||
"name" : "language_change_button",
|
||||
"type" : "button",
|
||||
|
||||
"x" : 40 + TEXT_TEMPORARY_X + 210 + 10,
|
||||
"y" : -3 + 20,
|
||||
|
||||
"text" : uiScriptLocale.OPTION_LANGUAGE_CHANGE,
|
||||
|
||||
"default_image" : ROOT_PATH + "small_Button_01.sub",
|
||||
"over_image" : ROOT_PATH + "small_Button_02.sub",
|
||||
"down_image" : ROOT_PATH + "small_Button_03.sub",
|
||||
"disable_image" : ROOT_PATH + "small_Button_03.sub",
|
||||
},
|
||||
{
|
||||
"name" : "language_select_pivot_window",
|
||||
"type" : "window",
|
||||
|
||||
"x" : 40 + TEXT_TEMPORARY_X,
|
||||
"y" : 16+20,
|
||||
"width" : 210,
|
||||
"height" : 0,
|
||||
},
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
if app.__BL_MULTI_LANGUAGE_ULTIMATE__:
|
||||
window["height"] = window["height"] + 50
|
||||
window["children"][0]["height"] = window["children"][0]["height"] + 50
|
||||
window["children"][0]["children"] = window["children"][0]["children"] + (
|
||||
{
|
||||
"name" : "show_flags_text",
|
||||
"type" : "text",
|
||||
|
||||
"x" : 40 + TEXT_TEMPORARY_X,
|
||||
"y" : MULTI_LANGUAGE_WINDOW_Y + 50 + 2,
|
||||
|
||||
"text" : uiScriptLocale.LANGUAGE_SETTINGS_SHOW_FLAG,
|
||||
},
|
||||
|
||||
{
|
||||
"name" : "show_country_flag_button",
|
||||
"type" : "toggle_button",
|
||||
|
||||
"x" : 110,
|
||||
"y" : MULTI_LANGUAGE_WINDOW_Y + 50,
|
||||
|
||||
"text" : uiScriptLocale.LANGUAGE_SETTINGS_COUNTRY,
|
||||
|
||||
"default_image" : ROOT_PATH + "Middle_Button_01.sub",
|
||||
"over_image" : ROOT_PATH + "Middle_Button_02.sub",
|
||||
"down_image" : ROOT_PATH + "Middle_Button_03.sub",
|
||||
},
|
||||
|
||||
{
|
||||
"name" : "show_empire_flag_button",
|
||||
"type" : "toggle_button",
|
||||
|
||||
"x" : 110+70,
|
||||
"y" : MULTI_LANGUAGE_WINDOW_Y + 50,
|
||||
|
||||
"text" : uiScriptLocale.LANGUAGE_SETTINGS_EMPIRE,
|
||||
|
||||
"default_image" : ROOT_PATH + "Middle_Button_01.sub",
|
||||
"over_image" : ROOT_PATH + "Middle_Button_02.sub",
|
||||
"down_image" : ROOT_PATH + "Middle_Button_03.sub",
|
||||
},
|
||||
|
||||
{
|
||||
"name" : "anonymous_text",
|
||||
"type" : "text",
|
||||
|
||||
"x" : 40 + TEXT_TEMPORARY_X,
|
||||
"y" : MULTI_LANGUAGE_WINDOW_Y + 75 + 2,
|
||||
|
||||
"text" : uiScriptLocale.LANGUAGE_ANONYMOUS_MODE,
|
||||
},
|
||||
|
||||
{
|
||||
"name" : "anonymous_button",
|
||||
"type" : "button",
|
||||
|
||||
"x" : 110,
|
||||
"y" : MULTI_LANGUAGE_WINDOW_Y + 75,
|
||||
|
||||
"default_image" : ROOT_PATH + "Middle_Button_01.sub",
|
||||
"over_image" : ROOT_PATH + "Middle_Button_02.sub",
|
||||
"down_image" : ROOT_PATH + "Middle_Button_03.sub",
|
||||
},
|
||||
)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user