Initial commit: UI-Quellcode (root + uiscript)
Enthaelt die editierbaren Python-UI-Skripte (root/, uiscript/) des EterNexus-Clients, u.a. die Aenderungen fuer aktivierbare Items (constinfo.py: IS_ACTIVATABLE_ITEM/IS_MOUNT_SEAL, uiinventory.py: RefreshBagSlotWindow). Kompilierte Pack-Dateien (.epk/.eix) sowie Binaries/DLLs/Locale-Assets sind bewusst nicht Teil dieses Repos.
This commit is contained in:
@@ -0,0 +1,959 @@
|
||||
import app
|
||||
import constInfo
|
||||
|
||||
MAP_TRENT02 = "MAP_TRENT02" # 烙矫
|
||||
MAP_WL = "MAP_WL" # 烙矫
|
||||
MAP_NUSLUCK = "MAP_NUSLUCK" # 烙矫
|
||||
MAP_TREE2 = "MAP_TREE2"
|
||||
|
||||
BLEND_POTION_NO_TIME = "BLEND_POTION_NO_TIME"
|
||||
BLEND_POTION_NO_INFO = "BLEND_POTION_NO_INFO"
|
||||
|
||||
APP_TITLE = "METIN2"
|
||||
|
||||
GUILD_HEADQUARTER = "Main Building"
|
||||
GUILD_FACILITY = "Facility"
|
||||
GUILD_OBJECT = "Object"
|
||||
GUILD_MEMBER_COUNT_INFINITY = "INFINITY"
|
||||
|
||||
LOGIN_FAILURE_WEB_BLOCK = "BLOCK_LOGIN(WEB)"
|
||||
LOGIN_FAILURE_BLOCK_LOGIN = "BLOCK_LOGIN"
|
||||
CHANNEL_NOTIFY_FULL = "CHANNEL_NOTIFY_FULL"
|
||||
|
||||
GUILD_BUILDING_LIST_TXT = app.GetLocalePath() + "/GuildBuildingList.txt"
|
||||
|
||||
GUILD_MARK_MIN_LEVEL = "3"
|
||||
GUILD_MARK_NOT_ENOUGH_LEVEL = "辨靛饭骇 3捞惑 何磐 啊瓷钦聪促."
|
||||
|
||||
ERROR_MARK_UPLOAD_NEED_RECONNECT = "UploadMark: Reconnect to game"
|
||||
ERROR_MARK_CHECK_NEED_RECONNECT = "CheckMark: Reconnect to game"
|
||||
|
||||
VIRTUAL_KEY_ALPHABET_LOWERS = r"[1234567890]/qwertyuiop\=asdfghjkl;`'zxcvbnm.,"
|
||||
VIRTUAL_KEY_ALPHABET_UPPERS = r'{1234567890}?QWERTYUIOP|+ASDFGHJKL:~"ZXCVBNM<>'
|
||||
VIRTUAL_KEY_SYMBOLS = '!@#$%^&*()_+|{}:"<>?~'
|
||||
VIRTUAL_KEY_NUMBERS = "1234567890-=\[];',./`"
|
||||
VIRTUAL_KEY_SYMBOLS_BR = '!@#$%^&*()_+|{}:"<>?~徉汊殍觏祗螋斛�'
|
||||
|
||||
__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()
|
||||
LOGIN_FAILURE_WRONG_SOCIALID = "ASDF"
|
||||
LOGIN_FAILURE_SHUTDOWN_TIME = "ASDF"
|
||||
|
||||
if __IS_CANADA:
|
||||
__IS_EUROPE = True
|
||||
|
||||
def IsYMIR():
|
||||
return "locale/ymir" == app.GetLocalePath()
|
||||
|
||||
def IsJAPAN():
|
||||
return "locale/japan" == app.GetLocalePath()
|
||||
|
||||
def IsENGLISH():
|
||||
global __IS_ENGLISH
|
||||
return __IS_ENGLISH
|
||||
|
||||
def IsHONGKONG():
|
||||
global __IS_HONGKONG
|
||||
return __IS_HONGKONG
|
||||
|
||||
def IsTAIWAN():
|
||||
return "locale/taiwan" == app.GetLocalePath()
|
||||
|
||||
def IsNEWCIBN():
|
||||
return "locale/newcibn" == app.GetLocalePath()
|
||||
|
||||
def IsCIBN10():
|
||||
global __IS_CIBN10
|
||||
return __IS_CIBN10
|
||||
|
||||
def IsEUROPE():
|
||||
global __IS_EUROPE
|
||||
return __IS_EUROPE
|
||||
|
||||
def IsCANADA():
|
||||
global __IS_CANADA
|
||||
return __IS_CANADA
|
||||
|
||||
def IsBRAZIL():
|
||||
global __IS_BRAZIL
|
||||
return __IS_BRAZIL
|
||||
|
||||
def IsVIETNAM():
|
||||
global __IS_VIETNAM
|
||||
return __IS_VIETNAM
|
||||
|
||||
def IsSINGAPORE():
|
||||
global __IS_SINGAPORE
|
||||
return __IS_SINGAPORE
|
||||
|
||||
def IsARABIC():
|
||||
global __IS_ARABIC
|
||||
return __IS_ARABIC
|
||||
|
||||
def IsWE_KOREA():
|
||||
return "locale/we_korea" == app.GetLocalePath()
|
||||
|
||||
# SUPPORT_NEW_KOREA_SERVER
|
||||
def LoadLocaleData():
|
||||
if IsYMIR():
|
||||
import net
|
||||
SERVER = "蔫档 辑滚"
|
||||
if SERVER == net.GetServerInfo()[:len(SERVER)]:
|
||||
app.SetCHEONMA(0)
|
||||
app.LoadLocaleData("locale/we_korea")
|
||||
constInfo.ADD_DEF_BONUS_ENABLE = 0
|
||||
else:
|
||||
app.SetCHEONMA(1)
|
||||
app.LoadLocaleData("locale/ymir")
|
||||
constInfo.ADD_DEF_BONUS_ENABLE = 1
|
||||
else:
|
||||
app.LoadLocaleData(app.GetLocalePath())
|
||||
|
||||
def IsCHEONMA():
|
||||
return IsYMIR() # 捞力 YMIR 肺纳老篮 公炼扒 玫付辑滚烙. 玫付辑滚啊 巩阑 摧扁 傈鳖瘤 函且 老 绝澜.
|
||||
|
||||
# END_OF_SUPPORT_NEW_KOREA_SERVER
|
||||
|
||||
def mapping(**kwargs): return kwargs
|
||||
|
||||
def SNA(text):
|
||||
def f(x):
|
||||
return text
|
||||
return f
|
||||
|
||||
def SA(text):
|
||||
def f(x):
|
||||
return text % x
|
||||
return f
|
||||
|
||||
def LoadLocaleFile(srcFileName, localeDict):
|
||||
|
||||
funcDict = {"SA":SA, "SNA":SNA}
|
||||
|
||||
lineIndex = 1
|
||||
|
||||
try:
|
||||
lines = pack_open(srcFileName, "r").readlines()
|
||||
except IOError:
|
||||
import dbg
|
||||
dbg.LogBox("LoadLocaleError(%(srcFileName)s)" % locals())
|
||||
app.Abort()
|
||||
|
||||
for line in lines:
|
||||
try:
|
||||
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]
|
||||
else:
|
||||
raise RuntimeError, "Unknown TokenSize"
|
||||
|
||||
lineIndex += 1
|
||||
except:
|
||||
import dbg
|
||||
dbg.LogBox("%s: line(%d): %s" % (srcFileName, lineIndex, line), "Error")
|
||||
raise
|
||||
|
||||
|
||||
|
||||
all = ["locale","error"]
|
||||
|
||||
if IsEUROPE() and IsBRAZIL() :
|
||||
FN_GM_MARK = "%s/effect/gm.mse" % app.GetLocalePath()
|
||||
LOCALE_FILE_NAME = "%s/locale_game.txt" % app.GetLocalePath()
|
||||
constInfo.IN_GAME_SHOP_ENABLE = 0
|
||||
elif IsSINGAPORE() :
|
||||
FN_GM_MARK = "%s/effect/gm.mse" % app.GetLocalePath()
|
||||
LOCALE_FILE_NAME = "%s/locale_game.txt" % app.GetLocalePath()
|
||||
constInfo.IN_GAME_SHOP_ENABLE = 0
|
||||
elif IsNEWCIBN() :
|
||||
##霸烙疙捞柄柳促.
|
||||
APP_TITLE = "新倚天2"
|
||||
FN_GM_MARK = "%s/effect/gm.mse" % app.GetLocalePath()
|
||||
LOCALE_FILE_NAME = "%s/locale_game.txt" % app.GetLocalePath()
|
||||
constInfo.IN_GAME_SHOP_ENABLE = 1
|
||||
elif IsTAIWAN():
|
||||
APP_TITLE = "矮III瓣"
|
||||
FN_GM_MARK = "%s/effect/gm.mse" % app.GetLocalePath()
|
||||
LOCALE_FILE_NAME = "%s/locale_game.txt" % app.GetLocalePath()
|
||||
|
||||
constInfo.IN_GAME_SHOP_ENABLE = 1
|
||||
|
||||
else:
|
||||
FN_GM_MARK = "%s/effect/gm.mse" % app.GetLocalePath()
|
||||
LOCALE_FILE_NAME = "%s/locale_game.txt" % app.GetLocalePath()
|
||||
|
||||
constInfo.IN_GAME_SHOP_ENABLE = 1
|
||||
|
||||
LoadLocaleFile(LOCALE_FILE_NAME, locals())
|
||||
|
||||
########################################################################################################
|
||||
## NOTE : 酒捞袍阑 滚副锭 "公均阑/甫 滚府矫摆嚼聪鳖?" 巩磊凯狼 炼荤 急琶阑 困茄 内靛
|
||||
dictSingleWord = {
|
||||
"m":1, "n":1, "r":1, "M":1, "N":1, "R":1, "l":1, "L":1, "1":1, "3":1, "6":1, "7":1, "8":1, "0":1,
|
||||
}
|
||||
|
||||
dictDoubleWord = {
|
||||
"啊":1, "凹":1, "芭":1, "败":1, "绊":1, "背":1, "备":1, "痹":1, "弊":1, "扁":1, "俺":1, "奥":1, "霸":1, "拌":1, "苞":1, "饱":1, "迸":1, "彼":1, "鲍":1, "蓖":1, "贬":1,
|
||||
"鳖":1, "播":1, "波":1, "哺":1, "部":1, "藏":1, "操":1, "搀":1, "掺":1, "尝":1, "柄":1, "兤":1, "膊":1, "簿":1, "彩":1, "蚕":1, "层":1, "茬":1, "惨":1, "差":1, "吺":1,
|
||||
"唱":1, "衬":1, "呈":1, "赤":1, "畴":1, "储":1, "穿":1, "春":1, "蠢":1, "聪":1, "郴":1, "唙":1, "匙":1, "抽":1, "出":1, "嘡":1, "床":1, "创":1, "锄":1, "吹":1, "刺":1,
|
||||
"促":1, "呆":1, "歹":1, "诞":1, "档":1, "低":1, "滴":1, "掂":1, "靛":1, "叼":1, "措":1, "堐":1, "单":1, "党":1, "德":1, "蹬":1, "抵":1, "地":1, "登":1, "第":1, "碉":1,
|
||||
"蝶":1, "媥":1, "栋":1, "杜":1, "肚":1, "屆":1, "堆":1, "崗":1, "哆":1, "鹅":1, "锭":1, "嫐":1, "都":1, "嬻":1, "短":1, "段":1, "岕":1, "敦":1, "断":1, "顿":1, "剁":1,
|
||||
"扼":1, "藩":1, "矾":1, "妨":1, "肺":1, "丰":1, "风":1, "幅":1, "福":1, "府":1, "贰":1, "巑":1, "饭":1, "肥":1, "分":1, "廜":1, "凤":1, "否":1, "汾":1, "夫":1, "恖":1,
|
||||
"付":1, "赶":1, "赣":1, "哥":1, "葛":1, "功":1, "公":1, "孤":1, "骨":1, "固":1, "概":1, "愘":1, "皋":1, "革":1, "跟":1, "懤":1, "构":1, "咕":1, "羹":1, "箍":1, "掁":1,
|
||||
"官":1, "跪":1, "滚":1, "涵":1, "焊":1, "禾":1, "何":1, "轰":1, "宏":1, "厚":1, "硅":1, "搸":1, "海":1, "憾":1, "毫":1, "耗":1, "痕":1, "恨":1, "浩":1, "哼":1, "晳":1,
|
||||
"狐":1, "徊":1, "坏":1, "焕":1, "磺":1, "幌":1, "谎":1, "回":1, "悔":1, "贿":1, "哗":1, "曽":1, "痪":1, "枾":1, "栘":1, "桇":1, "棬":1, "椖":1, "晃":1, "椸":1, "榰":1,
|
||||
"荤":1, "箕":1, "辑":1, "寂":1, "家":1, "碱":1, "荐":1, "酱":1, "胶":1, "矫":1, "货":1, "绩":1, "技":1, "嘉":1, "驾":1, "尖":1, "饯":1, "溅":1, "艰":1, "浆":1, "毭":1,
|
||||
"轿":1, "沊":1, "结":1, "浨":1, "筋":1, "兢":1, "茎":1, "漮":1, "静":1, "揪":1, "截":1, "泍":1, "疥":1, "涖":1, "谨":1, "禁":1, "粳":1, "井":1, "烬":1, "警":1, "竞":1,
|
||||
"酒":1, "具":1, "绢":1, "咯":1, "坷":1, "夸":1, "快":1, "蜡":1, "栏":1, "捞":1, "局":1, "娟":1, "俊":1, "抗":1, "客":1, "恐":1, "况":1, "傀":1, "寇":1, "困":1, "狼":1,
|
||||
"磊":1, "鲤":1, "历":1, "廉":1, "炼":1, "烈":1, "林":1, "陵":1, "令":1, "瘤":1, "犁":1, "厉":1, "力":1, "恋":1, "谅":1, "寥":1, "拎":1, "菱":1, "了":1, "零":1, "�":1,
|
||||
"楼":1, "鹿":1, "录":1, "虑":1, "律":1, "�":1, "罗":1, "麻":1, "玛":1, "骂":1, "掳":1, "�":1, "屡":1, "�":1, "乱":1, "轮":1, "洛":1, "≧":1, "仑":1, "妈":1, "﹏":1,
|
||||
"瞒":1, "铆":1, "贸":1, "媚":1, "檬":1, "幂":1, "眠":1, "抿":1, "明":1, "摹":1, "盲":1, "獕":1, "眉":1, "们":1, "靡":1, "瑐":1, "苗":1, "瞄":1, "弥":1, "秒":1, "疢":1,
|
||||
"墨":1, "募":1, "目":1, "难":1, "内":1, "撵":1, "捻":1, "钮":1, "农":1, "虐":1, "某":1, "癿":1, "纳":1, "馁":1, "拟":1, "蔫":1, "孽":1, "涅":1, "年":1, "柠":1, "磾":1,
|
||||
"鸥":1, "潘":1, "磐":1, "胚":1, "配":1, "鹏":1, "捧":1, "譬":1, "飘":1, "萍":1, "怕":1, "禣":1, "抛":1, "赔":1, "彭":1, "棚":1, "琵":1, "啤":1, "硼":1, "脾":1, "品":1,
|
||||
"颇":1, "瀑":1, "欺":1, "旗":1, "器":1, "钎":1, "仟":1, "腔":1, "橇":1, "乔":1, "菩":1, "粭":1, "其":1, "企":1, "恰":1, "綅":1, "谴":1, "縍":1, "牵":1, "嵌":1, "纁":1,
|
||||
"窍":1, "轻":1, "倾":1, "囚":1, "龋":1, "瓤":1, "饶":1, "绒":1, "儒":1, "洒":1, "秦":1, "羺":1, "庆":1, "驱":1, "拳":1, "瘸":1, "忍":1, "妊":1, "雀":1, "戎":1, "锐":1,
|
||||
}
|
||||
|
||||
locale = mapping(
|
||||
)
|
||||
|
||||
|
||||
def GetAuxiliaryWordType(text):
|
||||
|
||||
textLength = len(text)
|
||||
|
||||
if textLength > 1:
|
||||
|
||||
singleWord = text[-1]
|
||||
|
||||
if (singleWord >= '0' and singleWord <= '9') or\
|
||||
(singleWord >= 'a' and singleWord <= 'z') or\
|
||||
(singleWord >= 'A' and singleWord <= 'Z'):
|
||||
if not dictSingleWord.has_key(singleWord):
|
||||
return 1
|
||||
|
||||
elif dictDoubleWord.has_key(text[-2:]):
|
||||
return 1
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
def CutMoneyString(sourceText, startIndex, endIndex, insertingText, backText):
|
||||
|
||||
sourceLength = len(sourceText)
|
||||
|
||||
if sourceLength < startIndex:
|
||||
return backText
|
||||
|
||||
text = sourceText[max(0, sourceLength-endIndex):sourceLength-startIndex]
|
||||
|
||||
if not text:
|
||||
return backText
|
||||
|
||||
if int(text) <= 0:
|
||||
return backText
|
||||
|
||||
text = str(int(text))
|
||||
|
||||
if backText:
|
||||
backText = " " + backText
|
||||
|
||||
return text + insertingText + backText
|
||||
|
||||
def SecondToDHM(time):
|
||||
if time < 60:
|
||||
if IsARABIC():
|
||||
return "%.2f %s" % (time, SECOND)
|
||||
else:
|
||||
return "0" + MINUTE
|
||||
|
||||
second = int(time % 60)
|
||||
minute = int((time / 60) % 60)
|
||||
hour = int((time / 60) / 60) % 24
|
||||
day = int(int((time / 60) / 60) / 24)
|
||||
|
||||
text = ""
|
||||
|
||||
if day > 0:
|
||||
text += str(day) + DAY
|
||||
text += " "
|
||||
|
||||
if hour > 0:
|
||||
text += str(hour) + HOUR
|
||||
text += " "
|
||||
|
||||
if minute > 0:
|
||||
text += str(minute) + MINUTE
|
||||
|
||||
return text
|
||||
|
||||
def SecondToHM(time):
|
||||
|
||||
if time < 60:
|
||||
if IsARABIC():
|
||||
return "%.2f %s" % (time, SECOND)
|
||||
else:
|
||||
return "0" + MINUTE
|
||||
|
||||
second = int(time % 60)
|
||||
minute = int((time / 60) % 60)
|
||||
hour = int((time / 60) / 60)
|
||||
|
||||
text = ""
|
||||
|
||||
if hour > 0:
|
||||
text += str(hour) + HOUR
|
||||
if hour > 0:
|
||||
text += " "
|
||||
|
||||
if minute > 0:
|
||||
text += str(minute) + MINUTE
|
||||
|
||||
return text
|
||||
|
||||
|
||||
def GetAlignmentTitleName(alignment):
|
||||
if alignment >= 12000:
|
||||
return TITLE_NAME_LIST[0]
|
||||
elif alignment >= 8000:
|
||||
return TITLE_NAME_LIST[1]
|
||||
elif alignment >= 4000:
|
||||
return TITLE_NAME_LIST[2]
|
||||
elif alignment >= 1000:
|
||||
return TITLE_NAME_LIST[3]
|
||||
elif alignment >= 0:
|
||||
return TITLE_NAME_LIST[4]
|
||||
elif alignment > -4000:
|
||||
return TITLE_NAME_LIST[5]
|
||||
elif alignment > -8000:
|
||||
return TITLE_NAME_LIST[6]
|
||||
elif alignment > -12000:
|
||||
return TITLE_NAME_LIST[7]
|
||||
|
||||
return TITLE_NAME_LIST[8]
|
||||
|
||||
|
||||
OPTION_PVPMODE_MESSAGE_DICT = {
|
||||
0 : PVP_MODE_NORMAL,
|
||||
1 : PVP_MODE_REVENGE,
|
||||
2 : PVP_MODE_KILL,
|
||||
3 : PVP_MODE_PROTECT,
|
||||
4 : PVP_MODE_GUILD,
|
||||
}
|
||||
|
||||
error = mapping(
|
||||
CREATE_WINDOW = GAME_INIT_ERROR_MAIN_WINDOW,
|
||||
CREATE_CURSOR = GAME_INIT_ERROR_CURSOR,
|
||||
CREATE_NETWORK = GAME_INIT_ERROR_NETWORK,
|
||||
CREATE_ITEM_PROTO = GAME_INIT_ERROR_ITEM_PROTO,
|
||||
CREATE_MOB_PROTO = GAME_INIT_ERROR_MOB_PROTO,
|
||||
CREATE_NO_DIRECTX = GAME_INIT_ERROR_DIRECTX,
|
||||
CREATE_DEVICE = GAME_INIT_ERROR_GRAPHICS_NOT_EXIST,
|
||||
CREATE_NO_APPROPRIATE_DEVICE = GAME_INIT_ERROR_GRAPHICS_BAD_PERFORMANCE,
|
||||
CREATE_FORMAT = GAME_INIT_ERROR_GRAPHICS_NOT_SUPPORT_32BIT,
|
||||
NO_ERROR = ""
|
||||
)
|
||||
|
||||
|
||||
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]
|
||||
|
||||
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,
|
||||
}
|
||||
|
||||
|
||||
|
||||
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,],
|
||||
]
|
||||
|
||||
JOBINFO_DATA_LIST = [
|
||||
[
|
||||
["鸥绊抄 侩竿苞 绷洒瘤 臼绰 公荤狼",
|
||||
"扁俺甫 荤恩甸篮 老拿绢 [侩磊]扼绊",
|
||||
"何弗促. 绢栋茄 困扁俊辑档 弊甸篮 ",
|
||||
"第肺 拱矾辑瘤 臼栏哥, 促摹绊 框流",
|
||||
"捞扁 塞电 悼丰甫 困秦 窜脚栏肺",
|
||||
"利甸苞 付林 轿快扁档 茄促. 捞甸篮",
|
||||
"肋 窜访等 辟腊苞 塞, 碍仿茄 傍拜仿",
|
||||
"栏肺 傈厘 弥急滴俊辑 傍拜柳栏肺",
|
||||
"劝距茄促. ",],
|
||||
["啊厘 老馆利牢 傍拜屈 公荤肺, ",
|
||||
"利立傈俊 蝶弗 流立 傍拜栏肺 傈厘",
|
||||
"俊辑 劝距茄促. 焙流 漂己惑 辟仿阑",
|
||||
"皋牢栏肺 胶泡 器牢飘甫 捧磊窍登, ",
|
||||
"利立傈俊 蝶弗 积疙仿 / 规绢仿",
|
||||
"犬焊甫 困秦 眉仿阑 棵赴促. 肚茄",
|
||||
"傍拜狼 沥犬己阑 臭捞扁 困秦 刮酶",
|
||||
"俊档 器牢飘甫 捧磊且 鞘夸啊 乐促.",],
|
||||
["惑寸 荐霖狼 沥脚仿阑 捞侩窍绰",
|
||||
"吝/辟芭府 立傈屈 公荤肺, 阿 扁贱",
|
||||
"窍唱窍唱狼 臭篮 傍拜仿栏肺 傈厘俊辑",
|
||||
"劝距茄促. 焙流 漂己惑 辟仿阑 皋牢",
|
||||
"栏肺 胶湃 器牢飘甫 捧磊窍登, ",
|
||||
"吝/辟芭府 傍拜狼 沥犬己苞 疙吝伏阑",
|
||||
"困秦 刮酶阑 棵赴促. 肚茄 立傈 矫 ",
|
||||
"利 傍拜俊 蝶弗 积疙仿 / 规绢仿",
|
||||
"犬焊甫 困秦 眉仿俊档 器牢飘甫",
|
||||
"捧磊且 鞘夸啊 乐促. ",],
|
||||
],
|
||||
[
|
||||
["磊按篮 绢栋茄 惑炔俊辑档 磊脚狼",
|
||||
"个阑 见扁绊 篮剐茄 绢狄狼 烙公甫",
|
||||
"荐青窍搁辑 傈厘狼 饶困甫 瘤盔窍绰",
|
||||
"磊甸捞促. 捞甸篮 酒林 狐福绊 脚加",
|
||||
"窍哥, 厚且 单 绝捞 苞皑窍绊 例力等",
|
||||
"青悼栏肺 利狼 鞭家俊 摹疙鸥甫 朝府",
|
||||
"登, 傈厘俊急 利柳阑 氢秦 公荐茄",
|
||||
"拳混阑 郴徽栏哥 磊脚狼 侩竿阑",
|
||||
"急焊牢促. "],
|
||||
["滴颊 窜八阑 林公扁肺 促风哥, 脚加",
|
||||
"窍霸 摹绊 狐瘤绰 磊按 漂蜡狼 框流烙",
|
||||
"栏肺 傈厘俊辑 劝距茄促. 焙流 漂己惑",
|
||||
"刮酶阑 皋牢栏肺 胶泡 器牢飘甫 捧磊",
|
||||
"窍登, 辟仿阑 棵妨 傍拜仿阑 臭牢促.",
|
||||
"肚茄 辟立傈俊 蝶弗 积疙仿/规绢仿 ",
|
||||
"惑铰阑 困秦 眉仿俊档 器牢飘甫",
|
||||
"捧磊且 鞘夸啊 乐促. ",],
|
||||
["劝阑 林公扁肺 促风哥, 变 矫具客",
|
||||
"荤沥芭府俊 蝶弗 盔芭府 傍拜栏肺",
|
||||
"傈厘俊辑 劝距茄促. 焙流 漂己惑",
|
||||
"傍拜 己傍伏狼 刘啊甫 困秦 刮酶阑",
|
||||
"皋牢栏肺 棵妨具 窍哥, 盔芭府",
|
||||
"傍拜狼 单固瘤 刘啊甫 困秦 辟仿阑",
|
||||
"棵副 鞘夸啊 乐促. 肚茄 利甸俊霸",
|
||||
"器困登菌阑 矫, 利 傍拜俊 滚萍扁",
|
||||
"困茄 积疙仿/规绢仿 惑铰阑 困秦",
|
||||
"眉仿俊档 器牢飘甫 捧磊且 鞘夸啊",
|
||||
"乐促. ", ],
|
||||
],
|
||||
[
|
||||
["荐扼绰 [刀篮 刀栏肺]狼 加己栏肺",
|
||||
"芒汲等 漂荐 加己狼 焙流捞促. ",
|
||||
"弊甸篮 傈厘俊辑 利甸狼 荤扁甫 历窍",
|
||||
"矫虐绊, 厩付狼 塞阑 角篮 付藕栏肺",
|
||||
"利狼 康去苞 腊脚阑 窿苟暗促. 锭肺",
|
||||
"捞甸篮 磊脚狼 八苞 癌渴俊 绢狄狼",
|
||||
"塞阑 角绢, 傈厘俊辑 公荤 给瘤 臼篮",
|
||||
"傍拜仿阑 惯戎窍扁档 窍绰单, 利甸阑",
|
||||
"磷咯措绰弊 葛嚼捞 况倡俊 阐嘛秦",
|
||||
"荤恩甸篮 荐扼甫 老拿绢 [付脚]捞扼",
|
||||
"何福扁甫 林历 旧绰促."],
|
||||
["券公焙狼 荐扼绰 厩付狼 揪俊辑",
|
||||
"掘绢瘤绰 付仿阑 公扁唱 规绢备俊",
|
||||
"角绢 公荤 给瘤 臼篮 傈捧仿栏肺",
|
||||
"傈厘俊辑 劝距茄促. 焙流 漂己惑",
|
||||
"瘤瓷捞 臭酒龙荐废 馒侩 厘厚俊",
|
||||
"角府绰 付仿狼 困仿捞 刘措登骨肺,",
|
||||
"瘤瓷苞 辟仿阑 皋牢栏肺 胶湃",
|
||||
"器牢飘甫 捧磊窍登, 立傈俊 蝶弗",
|
||||
"积疙仿/规绢仿 犬焊甫 困秦 眉仿阑",
|
||||
"棵赴促. 肚茄 傍拜狼 沥犬己苞",
|
||||
"雀乔甫 困秦辑 刮酶俊档 器牢飘甫",
|
||||
"捧磊且 鞘夸啊 乐促. ",],
|
||||
["孺付焙狼 荐扼甸篮 阿辆 绢狄狼",
|
||||
"林巩苞 厩付狼 付过栏肺 傈厘俊辑",
|
||||
"劝距茄促. 焙流 漂己惑 付过 傍拜捞",
|
||||
"林捞骨肺 瘤瓷阑 皋牢栏肺 胶泡",
|
||||
"器牢飘甫 捧磊窍登, 盔芭府 付过",
|
||||
"傍拜狼 沥犬己阑 困秦 刮酶阑 棵赴促.",
|
||||
"肚茄 器困 登菌阑矫, 利 傍拜俊 蝶弗",
|
||||
"积疙仿 / 规绢仿 犬焊甫 困秦 眉仿俊档",
|
||||
"器牢飘甫 捧磊且 鞘夸啊 乐促. ",],
|
||||
],
|
||||
[
|
||||
["公寸篮 侩脚苞 磊楷, 滴 绊措狼",
|
||||
"塞阑 促逢 荐 乐绰 蜡老茄 流辆捞促.",
|
||||
"弊甸篮 饶规俊辑 酒焙阑 焊炼窍绊",
|
||||
"促模 悼丰狼 何惑阑 雀汗 矫虐哥",
|
||||
"冻绢柳 荤扁甫 惑铰矫挪促. 弊甸篮",
|
||||
"酒焙狼 荐搁苞 绒侥阑 规秦窍绰 磊甫 ",
|
||||
"例措 侩辑窍瘤 臼栏哥, 弊繁 磊甸",
|
||||
"俊霸绰 茄 痢 林历 绝捞 林巩阑",
|
||||
"磐飘妨 弊 厚疤窃阑 决洒 隆拌茄促.",],
|
||||
["玫锋焙狼 公寸甸篮 阿辆 何利贱苞",
|
||||
"焊炼林巩俊 瓷窍哥, 利狼 流 / 埃立",
|
||||
"傍拜栏肺何磐 酒焙阑 瘤挪促. 焙流",
|
||||
"漂己惑 付过 瓷仿捞 林捞骨肺 瘤瓷阑",
|
||||
"皋牢栏肺 胶泡 器牢飘甫 捧磊窍登,",
|
||||
"器困登菌阑 矫, 利 傍拜俊 蝶弗",
|
||||
"积疙仿 / 规绢仿 犬焊甫 困秦 眉仿阑",
|
||||
"棵赴促. 肚茄 盔芭府 付过 傍拜狼",
|
||||
"沥犬己阑 困俊 刮酶俊档 器牢飘甫",
|
||||
"捧磊且 鞘夸啊 乐促. ",],
|
||||
["堡汾焙狼 公寸甸篮 磊楷狼 塞阑",
|
||||
"呼妨 酒焙阑 雀汗窍绊, 锄脚狼 ",
|
||||
"塞栏肺 剐笼茄 利甸俊霸 奴 面拜阑",
|
||||
"涝鳃 荐 乐绰 捞甸捞促. 焙流狼",
|
||||
"漂己惑 付过 瓷仿捞 林捞骨肺 瘤瓷阑",
|
||||
"皋牢栏肺 胶泡 器牢飘甫 捧磊窍登,",
|
||||
"器困登菌阑矫, 利 傍拜俊 蝶弗",
|
||||
"积疙仿 / 规绢仿 犬焊甫 困秦 眉仿阑",
|
||||
"棵赴促. 肚茄 盔芭府 付过 傍拜狼",
|
||||
"沥犬己阑 困俊 刮酶俊档 器牢飘甫",
|
||||
"捧磊且 鞘夸啊 乐促. "],
|
||||
],
|
||||
]
|
||||
|
||||
|
||||
WHISPER_ERROR = {
|
||||
1 : CANNOT_WHISPER_NOT_LOGON,
|
||||
2 : CANNOT_WHISPER_DEST_REFUSE,
|
||||
3 : CANNOT_WHISPER_SELF_REFUSE,
|
||||
}
|
||||
|
||||
NOTIFY_MESSAGE = {
|
||||
"CANNOT_EQUIP_SHOP" : CANNOT_EQUIP_IN_SHOP,
|
||||
"CANNOT_EQUIP_EXCHANGE" : CANNOT_EQUIP_IN_EXCHANGE,
|
||||
}
|
||||
|
||||
|
||||
ATTACK_ERROR_TAIL_DICT = {
|
||||
"IN_SAFE" : CANNOT_ATTACK_SELF_IN_SAFE,
|
||||
"DEST_IN_SAFE" : CANNOT_ATTACK_DEST_IN_SAFE,
|
||||
}
|
||||
|
||||
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,
|
||||
}
|
||||
|
||||
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,
|
||||
}
|
||||
|
||||
LEVEL_LIST=["", HORSE_LEVEL1, HORSE_LEVEL2, HORSE_LEVEL3]
|
||||
|
||||
HEALTH_LIST=[
|
||||
HORSE_HEALTH0,
|
||||
HORSE_HEALTH1,
|
||||
HORSE_HEALTH2,
|
||||
HORSE_HEALTH3,
|
||||
]
|
||||
|
||||
|
||||
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,
|
||||
}
|
||||
|
||||
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,
|
||||
}
|
||||
|
||||
STAT_MINUS_DESCRIPTION = {
|
||||
"HTH-" : STAT_MINUS_CON,
|
||||
"INT-" : STAT_MINUS_INT,
|
||||
"STR-" : STAT_MINUS_STR,
|
||||
"DEX-" : STAT_MINUS_DEX,
|
||||
}
|
||||
|
||||
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, )
|
||||
|
||||
def GetLetterImageName():
|
||||
return "season1/icon/scroll_close.tga"
|
||||
def GetLetterOpenImageName():
|
||||
return "season1/icon/scroll_open.tga"
|
||||
def GetLetterCloseImageName():
|
||||
return "season1/icon/scroll_close.tga"
|
||||
|
||||
if 949 == app.GetDefaultCodePage():
|
||||
def EUL(name):
|
||||
if GetAuxiliaryWordType(name):
|
||||
return "甫 "
|
||||
else:
|
||||
return "阑 "
|
||||
|
||||
def I(name):
|
||||
if GetAuxiliaryWordType(name):
|
||||
return "啊 "
|
||||
else:
|
||||
return "捞 "
|
||||
|
||||
def DO_YOU_SELL_ITEM(sellItemName, sellItemCount, sellItemPrice):
|
||||
name = sellItemName
|
||||
if sellItemCount > 1:
|
||||
name += " "
|
||||
name += str(sellItemCount)
|
||||
name += "俺"
|
||||
|
||||
return name + EUL(name) + str(sellItemPrice) + "成俊 颇矫摆嚼聪鳖?"
|
||||
|
||||
def DO_YOU_BUY_ITEM(sellItemName, sellItemCount, sellItemPrice):
|
||||
name = sellItemName
|
||||
if sellItemCount > 1:
|
||||
name += " "
|
||||
name += str(sellItemCount)
|
||||
name += "俺"
|
||||
|
||||
return name + EUL(name) + str(sellItemPrice) + "俊 荤矫摆嚼聪鳖?"
|
||||
|
||||
def REFINE_FAILURE_CAN_NOT_ATTACH(attachedItemName):
|
||||
return attachedItemName+EUL(attachedItemName)+"何馒且 荐 绝绰 酒捞袍涝聪促"
|
||||
|
||||
def REFINE_FAILURE_NO_SOCKET(attachedItemName):
|
||||
return attachedItemName+EUL(attachedItemName)+"何馒且 荐 乐绰 家南捞 绝嚼聪促"
|
||||
|
||||
def REFINE_FAILURE_NO_GOLD_SOCKET(attachedItemName):
|
||||
return attachedItemName+EUL(attachedItemName)+"何馒且 荐 乐绰 炔陛 家南捞 绝嚼聪促"
|
||||
|
||||
def HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, dropItemCount):
|
||||
name = dropItemName
|
||||
if dropItemCount > 1:
|
||||
name += " "
|
||||
name += str(dropItemCount)
|
||||
name += "俺"
|
||||
|
||||
return name+EUL(name)+"滚府矫摆嚼聪鳖?"
|
||||
|
||||
def NumberToMoneyString(number):
|
||||
if number <= 0:
|
||||
return "0成"
|
||||
|
||||
number = str(number)
|
||||
result = CutMoneyString(number, 0, 4, "", "")
|
||||
result = CutMoneyString(number, 4, 8, "父", result)
|
||||
result = CutMoneyString(number, 8, 12, "撅", result)
|
||||
result = result + "成"
|
||||
|
||||
return result
|
||||
|
||||
def NumberToSecondaryCoinString(number):
|
||||
if number <= 0:
|
||||
return "0傈"
|
||||
|
||||
number = str(number)
|
||||
result = CutMoneyString(number, 0, 4, "", "")
|
||||
result = CutMoneyString(number, 4, 8, "父", result)
|
||||
result = CutMoneyString(number, 8, 12, "撅", result)
|
||||
result = result + "傈"
|
||||
|
||||
return result
|
||||
|
||||
def FISHING_NOTIFY(isFish, fishName):
|
||||
if isFish:
|
||||
return fishName + I(fishName) + "巩 淀 钦聪促."
|
||||
else:
|
||||
return fishName + I(fishName) + "吧赴淀 钦聪促."
|
||||
|
||||
def FISHING_SUCCESS(isFish, fishName):
|
||||
if isFish:
|
||||
return fishName + EUL(fishName) + "棱疽嚼聪促!"
|
||||
else:
|
||||
return fishName + EUL(fishName) + "掘菌嚼聪促!"
|
||||
|
||||
elif 932 == app.GetDefaultCodePage():
|
||||
def DO_YOU_SELL_ITEM(sellItemName, sellItemCount, sellItemPrice):
|
||||
if sellItemCount > 1 :
|
||||
return "%s %s 屄傪 %s偵攧傝傑偡偐丠" % ( sellItemName, sellItemCount, NumberToMoneyString(sellItemPrice) )
|
||||
else:
|
||||
return "%s 傪 %s偱攧傝傑偡偐丠" % (sellItemName, NumberToMoneyString(sellItemPrice) )
|
||||
|
||||
def DO_YOU_BUY_ITEM(buyItemName, buyItemCount, buyItemPrice) :
|
||||
if buyItemCount > 1 :
|
||||
return "%s %s屄傪 %s偱攦偄傑偡偐丠" % ( buyItemName, buyItemCount, buyItemPrice )
|
||||
else:
|
||||
return "%s傪 %s偱攦偄傑偡偐丠" % ( buyItemName, buyItemPrice )
|
||||
|
||||
def REFINE_FAILURE_CAN_NOT_ATTACH(attachedItemName) :
|
||||
return "%s傪憰拝偱偒側偄傾僀僥?偱偡丅" % (attachedItemName)
|
||||
|
||||
def REFINE_FAILURE_NO_SOCKET(attachedItemName) :
|
||||
return "%s傪憰拝偡傞?働僢僩偑偁傝傑偣傫丅" % (attachedItemName)
|
||||
|
||||
def REFINE_FAILURE_NO_GOLD_SOCKET(attachedItemName) :
|
||||
return "%s傪憰拝偱偒傞墿嬥?働僢僩偑偁傝傑偣傫丅" % (attachedItemName)
|
||||
|
||||
def HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, dropItemCount) :
|
||||
if dropItemCount > 1 :
|
||||
return "%s %d 屄傪幪偰傑偡偐丠" % (dropItemName, dropItemCount)
|
||||
else :
|
||||
return "%s傪幪偰傑偡偐丠" % (dropItemName)
|
||||
|
||||
def FISHING_NOTIFY(isFish, fishName) :
|
||||
if isFish :
|
||||
return "%s 偑怘偄偮偄偨傛偆偱偡" % ( fishName )
|
||||
else :
|
||||
return "%s 偑偐偐偭偨傛偆偱偡" % ( fishName )
|
||||
|
||||
def FISHING_SUCCESS(isFish, fishName) :
|
||||
if isFish :
|
||||
return "%s 傪曔傑偊傑偟偨両" % (fishName)
|
||||
else :
|
||||
return "%s 傪庤偵擖傟傑偟偨両" % (fishName)
|
||||
|
||||
def NumberToMoneyString(number) :
|
||||
if number <= 0 :
|
||||
return "0椉"
|
||||
|
||||
number = str(number)
|
||||
result = CutMoneyString(number, 0, 4, "", "")
|
||||
result = CutMoneyString(number, 4, 8, "枩", result)
|
||||
result = CutMoneyString(number, 8, 12, "壄", result)
|
||||
result = result + "椉"
|
||||
|
||||
return result
|
||||
def NumberToSecondaryCoinString(number) :
|
||||
if number <= 0 :
|
||||
return "0jun"
|
||||
|
||||
number = str(number)
|
||||
result = CutMoneyString(number, 0, 4, "", "")
|
||||
result = CutMoneyString(number, 4, 8, "枩", result)
|
||||
result = CutMoneyString(number, 8, 12, "壄", result)
|
||||
result = result + "jun"
|
||||
|
||||
return result
|
||||
elif IsHONGKONG():
|
||||
def DO_YOU_SELL_ITEM(sellItemName, sellItemCount, sellItemPrice):
|
||||
if sellItemCount > 1 :
|
||||
return DO_YOU_SELL_ITEM2 % (sellItemName, sellItemCount, NumberToMoneyString(sellItemPrice) )
|
||||
else:
|
||||
return DO_YOU_SELL_ITEM1 % (sellItemName, NumberToMoneyString(sellItemPrice) )
|
||||
|
||||
def DO_YOU_BUY_ITEM(buyItemName, buyItemCount, buyItemPrice) :
|
||||
if buyItemCount > 1 :
|
||||
return DO_YOU_BUY_ITEM2 % ( buyItemName, buyItemCount, buyItemPrice )
|
||||
else:
|
||||
return DO_YOU_BUY_ITEM1 % ( buyItemName, buyItemPrice )
|
||||
|
||||
def REFINE_FAILURE_CAN_NOT_ATTACH(attachedItemName) :
|
||||
return REFINE_FAILURE_CAN_NOT_ATTACH0 % (attachedItemName)
|
||||
|
||||
def REFINE_FAILURE_NO_SOCKET(attachedItemName) :
|
||||
return REFINE_FAILURE_NO_SOCKET0 % (attachedItemName)
|
||||
|
||||
def REFINE_FAILURE_NO_GOLD_SOCKET(attachedItemName) :
|
||||
return REFINE_FAILURE_NO_GOLD_SOCKET0 % (attachedItemName)
|
||||
|
||||
def HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, dropItemCount) :
|
||||
if dropItemCount > 1 :
|
||||
return HOW_MANY_ITEM_DO_YOU_DROP2 % (dropItemName, dropItemCount)
|
||||
else :
|
||||
return HOW_MANY_ITEM_DO_YOU_DROP1 % (dropItemName)
|
||||
|
||||
def FISHING_NOTIFY(isFish, fishName) :
|
||||
if isFish :
|
||||
return FISHING_NOTIFY1 % ( fishName )
|
||||
else :
|
||||
return FISHING_NOTIFY2 % ( fishName )
|
||||
|
||||
def FISHING_SUCCESS(isFish, fishName) :
|
||||
if isFish :
|
||||
return FISHING_SUCCESS1 % (fishName)
|
||||
else :
|
||||
return FISHING_SUCCESS2 % (fishName)
|
||||
|
||||
def NumberToMoneyString(number) :
|
||||
if number <= 0 :
|
||||
return "0 %s" % (MONETARY_UNIT0)
|
||||
|
||||
number = str(number)
|
||||
result = CutMoneyString(number, 0, 4, "", "")
|
||||
result = CutMoneyString(number, 4, 8, MONETARY_UNIT1, result)
|
||||
result = CutMoneyString(number, 8, 12, MONETARY_UNIT2, result)
|
||||
result = result + MONETARY_UNIT0
|
||||
|
||||
return result
|
||||
|
||||
def NumberToSecondaryCoinString(number) :
|
||||
if number <= 0 :
|
||||
return "0 %s" % (MONETARY_UNIT_JUN)
|
||||
|
||||
number = str(number)
|
||||
result = CutMoneyString(number, 0, 4, "", "")
|
||||
result = CutMoneyString(number, 4, 8, MONETARY_UNIT1, result)
|
||||
result = CutMoneyString(number, 8, 12, MONETARY_UNIT2, result)
|
||||
result = result + MONETARY_UNIT_JUN
|
||||
|
||||
return result
|
||||
|
||||
elif IsNEWCIBN() or IsCIBN10():
|
||||
def DO_YOU_SELL_ITEM(sellItemName, sellItemCount, sellItemPrice):
|
||||
if sellItemCount>1:
|
||||
return "确定要把%s个%s以%s金币卖掉吗?" % (str(sellItemCount), sellItemName, str(sellItemPrice))
|
||||
else:
|
||||
return "确定要把%s以%s金币卖掉吗?" % (sellItemName, str(sellItemPrice))
|
||||
|
||||
def DO_YOU_BUY_ITEM(sellItemName, sellItemCount, sellItemPrice):
|
||||
if sellItemCount>1:
|
||||
return "确定要把%s个%s以%s金币买进吗?" % (str(sellItemCount), sellItemName, str(sellItemPrice))
|
||||
else:
|
||||
return "确定要把%s以%s金币买进吗?" % (sellItemName, str(sellItemPrice))
|
||||
|
||||
def REFINE_FAILURE_CAN_NOT_ATTACH(attachedItemName):
|
||||
return "无法镶嵌%s 的装备" % (attachedItemName)
|
||||
|
||||
def REFINE_FAILURE_NO_SOCKET(attachedItemName):
|
||||
return "没有可以镶嵌%s 的孔" % (attachedItemName)
|
||||
|
||||
def REFINE_FAILURE_NO_GOLD_SOCKET(attachedItemName):
|
||||
return "没有可以镶嵌%s 的黄金孔" % (attachedItemName)
|
||||
|
||||
def HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, dropItemCount):
|
||||
if dropItemCount>1:
|
||||
return "确定要扔掉%d个%s吗?" % (dropItemCount, dropItemName)
|
||||
else:
|
||||
return "确定要扔掉%s吗?" % (dropItemName)
|
||||
|
||||
def FISHING_NOTIFY(isFish, fishName):
|
||||
if isFish:
|
||||
return fishName # 夯贰 咯扁俊 绢恫 富捞 嘿绢乐绰单, 牢内爹捞 柄廉乐绢辑 汗盔且 荐啊 绝促 ばば... cython俊辑 牢内爹 俊矾 唱辑 瘤况滚覆...
|
||||
else:
|
||||
return "钓着" + fishName + "了。"
|
||||
|
||||
def FISHING_SUCCESS(isFish, fishName):
|
||||
if isFish:
|
||||
return "钓着" + fishName + "了。"
|
||||
else:
|
||||
return "获得" + fishName + "了。"
|
||||
|
||||
def NumberToMoneyString(number):
|
||||
|
||||
if number <= 0:
|
||||
return "0两"
|
||||
|
||||
number = str(number)
|
||||
result = CutMoneyString(number, 0, 4, "", "")
|
||||
result = CutMoneyString(number, 4, 8, "万", result)
|
||||
result = CutMoneyString(number, 8, 12, "亿", result)
|
||||
result = result + "两"
|
||||
|
||||
return result
|
||||
|
||||
def NumberToSecondaryCoinString(number):
|
||||
|
||||
if number <= 0:
|
||||
return "0JUN"
|
||||
|
||||
number = str(number)
|
||||
result = CutMoneyString(number, 0, 4, "", "")
|
||||
result = CutMoneyString(number, 4, 8, "万", result)
|
||||
result = CutMoneyString(number, 8, 12, "亿", result)
|
||||
result = result + "JUN"
|
||||
|
||||
return result
|
||||
elif IsEUROPE() and not IsWE_KOREA() and not IsYMIR():
|
||||
def DO_YOU_SELL_ITEM(sellItemName, sellItemCount, sellItemPrice):
|
||||
if sellItemCount > 1 :
|
||||
return DO_YOU_SELL_ITEM2 % (sellItemName, sellItemCount, NumberToMoneyString(sellItemPrice) )
|
||||
else:
|
||||
return DO_YOU_SELL_ITEM1 % (sellItemName, NumberToMoneyString(sellItemPrice) )
|
||||
|
||||
def DO_YOU_BUY_ITEM(buyItemName, buyItemCount, buyItemPrice) :
|
||||
if buyItemCount > 1 :
|
||||
return DO_YOU_BUY_ITEM2 % ( buyItemName, buyItemCount, buyItemPrice )
|
||||
else:
|
||||
return DO_YOU_BUY_ITEM1 % ( buyItemName, buyItemPrice )
|
||||
|
||||
def REFINE_FAILURE_CAN_NOT_ATTACH(attachedItemName) :
|
||||
return REFINE_FAILURE_CAN_NOT_ATTACH0 % (attachedItemName)
|
||||
|
||||
def REFINE_FAILURE_NO_SOCKET(attachedItemName) :
|
||||
return REFINE_FAILURE_NO_SOCKET0 % (attachedItemName)
|
||||
|
||||
def REFINE_FAILURE_NO_GOLD_SOCKET(attachedItemName) :
|
||||
return REFINE_FAILURE_NO_GOLD_SOCKET0 % (attachedItemName)
|
||||
|
||||
def HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, dropItemCount) :
|
||||
if dropItemCount > 1 :
|
||||
return HOW_MANY_ITEM_DO_YOU_DROP2 % (dropItemName, dropItemCount)
|
||||
else :
|
||||
return HOW_MANY_ITEM_DO_YOU_DROP1 % (dropItemName)
|
||||
|
||||
def FISHING_NOTIFY(isFish, fishName) :
|
||||
if isFish :
|
||||
return FISHING_NOTIFY1 % ( fishName )
|
||||
else :
|
||||
return FISHING_NOTIFY2 % ( fishName )
|
||||
|
||||
def FISHING_SUCCESS(isFish, fishName) :
|
||||
if isFish :
|
||||
return FISHING_SUCCESS1 % (fishName)
|
||||
else :
|
||||
return FISHING_SUCCESS2 % (fishName)
|
||||
|
||||
def NumberToMoneyString(n) :
|
||||
if n <= 0 :
|
||||
return "0 %s" % (MONETARY_UNIT0)
|
||||
|
||||
return "%s %s" % ('.'.join([ i-3<0 and str(n)[:i] or str(n)[i-3:i] for i in range(len(str(n))%3, len(str(n))+1, 3) if i ]), MONETARY_UNIT0)
|
||||
|
||||
def NumberToSecondaryCoinString(n) :
|
||||
if n <= 0 :
|
||||
return "0 %s" % (MONETARY_UNIT_JUN)
|
||||
|
||||
return "%s %s" % ('.'.join([ i-3<0 and str(n)[:i] or str(n)[i-3:i] for i in range(len(str(n))%3, len(str(n))+1, 3) if i ]), MONETARY_UNIT_JUN)
|
||||
Reference in New Issue
Block a user