biffjunior Colaborador
Mensagens : 325 Idade : 44 Data de inscrição : 20/11/2011 Localização : Lisboa
Personagem Level: Moderador Global Metin2 Nome: Biff Júnior Jogo: Metin2 Oficial Alemanha https://www.youtube.com/watch?v=cwDDZ-Bc5sA
| Assunto: Traduzir um Cliente Completo Tutorial Dom 5 Fev 2012 - 14:10 | |
| PASSO 1 Deixe o cliente que deseja editar, procure o arquivo "serverinfo.py" abri-lo com o editor de texto que vai ser este: - Código:
-
import app import locale import debugInfo
CHINA_PORT = 50000 app.ServerName = None if (locale.IsEUROPE() and app.GetLocalePath()): STATE_NONE = "NORM"
STATE_DICT = { 0 : "ON", 1 : "NORM", 2 : "BUSY", 3 : "FULL" }
SERVER01_CHANNEL_DICT = { #EL NOMBRE DE NUESTRO CLIENTE 1:{"key":11,"name":"CH1 ","ip":"192.168.5.100","tcp_port":13000,"udp_port":13000,"state":STATE_NONE,}, }
REGION_NAME_DICT = { 0 : "POLAND", }
REGION_AUTH_SERVER_DICT = { 0 : { 1 : { "ip":"192.168.5.100", "port":11002, }, #Sud2010
} }
REGION_DICT = { 0 : { 1 : { "name" : "EL NOMBRE DE EL SERVIDOR DEL CLIENTE", "channel" : SERVER01_CHANNEL_DICT, },
}, }
MARKADDR_DICT = { 10 : { "ip" : "192.168.5.100", "tcp_port" : 13000, "mark" : "10.tga", "symbol_path" : "10", }, #Sud2010
}
TESTADDR = { "ip" : "192.168.5.100", "tcp_port" : 50000, "udp_port" : 50000, }
Bem, depois de ter feito isso, vamos editar o que você diz "O nome do nosso cliente" e logicamente será o nome do nosso cliente, uma vez que está pronto, vai editar "O NOME DO SERVIDOR CLIENTE" e logicamente vamos editar o nome do servidor do cliente. Depois de fazer isso e nós manter o cliente para ver como nós queda.Como ver o nome acima o cliente não for alterado, na próxima etapa, vamos ver como alterar PASSO 2 Deixe o cliente que deseja editar, procure o arquivo "locale.py" abri-lo com o editor de texto que vai ser este: - Código:
-
import app import constInfo APP_TITLE = "NOMBRE DE TU SERVIDOR"
GUILD_HEADQUARTER = "Main Building" GUILD_FACILITY = "Facility" GUILD_OBJECT = "Object"
LOGIN_FAILURE_BLOCK_LOGIN = "BLOCK_LOGIN" CHANNEL_NOTIFY_FULL = "CHANNEL_NOTIFY_FULL"
GUILD_BUILDING_LIST_TXT = app.GetLocalePath() + "/GuildBuildingList.txt" ERROR_MARK_UPLOAD_NEED_RECONNECT = "UploadMark: Reconnect to game" ERROR_MARK_CHECK_NEED_RECONNECT = "CheckMark: Reconnect to game"
__IS_YMIR = "YMIR" == app.GetLocaleServiceName() __IS_CIBN = "CIBN" == app.GetLocaleServiceName() __IS_LETSGAME = "LETSGAME" == app.GetLocaleServiceName() __IS_JAPAN = "JAPAN" == app.GetLocaleServiceName() __IS_ENGLISH = "ENGLISH" == app.GetLocaleServiceName() __IS_GERMANY = "GERMANY" == app.GetLocaleServiceName() __IS_HONGKONG = "HONGKONG" == app.GetLocaleServiceName() __IS_NEWCIBN = "NEWCIBN" == app.GetLocaleServiceName() __IS_TAIWAN = "TAIWAN" == app.GetLocaleServiceName() __IS_EUROPE = "EUROPE" == app.GetLocaleServiceName() __IS_ITALY = "ITALY" == app.GetLocaleServiceName() __IS_UK = "UK" == app.GetLocaleServiceName() __IS_SPAIN = "SPAIN" == app.GetLocaleServiceName() __IS_POLAND = "POLAND" == app.GetLocaleServiceName() __IS_PORTUGAL = "PORTUGAL" == app.GetLocaleServiceName() __IS_CANADA = "locale/ca" == app.GetLocalePath() __IS_BRAZIL = "locale/br" == app.GetLocalePath()
if __IS_TAIWAN: __IS_HONGKONG = TRUE
if __IS_ITALY: __IS_EUROPE = TRUE
if __IS_UK: __IS_EUROPE = TRUE
if __IS_SPAIN: __IS_EUROPE = TRUE
if __IS_POLAND: __IS_EUROPE = TRUE
if __IS_PORTUGAL: __IS_EUROPE = TRUE
if __IS_CANADA: __IS_EUROPE = TRUE
def IsYMIR(): global __IS_YMIR return __IS_YMIR
def IsCIBN(): global __IS_CIBN return __IS_CIBN
def IsLETSGAME(): global __IS_LETSGAME return __IS_LETSGAME
def IsJAPAN(): global __IS_JAPAN return __IS_JAPAN
def IsENGLISH(): global __IS_ENGLISH return __IS_ENGLISH
def IsGERMANY(): global __IS_GERMANY return __IS_GERMANY
def IsHONGKONG(): global __IS_HONGKONG return __IS_HONGKONG
def IsNEWCIBN(): global __IS_NEWCIBN return __IS_NEWCIBN
def IsTAIWAN(): global __IS_TAIWAN return __IS_TAIWAN
def IsEUROPE(): global __IS_EUROPE return __IS_EUROPE
def IsITALY(): global __IS_ITALY return __IS_ITALY
def IsUK(): global __IS_UK return __IS_UK
def IsSPAIN(): global __IS_SPAIN return __IS_SPAIN
def IsPOLAND(): global __IS_POLAND return __IS_POLAND
def IsPORTUGAL(): global __IS_PORTUGAL return __IS_PORTUGAL
def IsCANADA(): global __IS_CANADA return __IS_CANADA
def IsBRAZIL(): global __IS_BRAZIL return __IS_BRAZIL
# SUPPORT_NEW_KOREA_SERVER def LoadLocaleData(): if IsYMIR(): import net CHEONMA = "õ¸¶ ¼¹ö" if CHEONMA == net.GetServerInfo()[:len(CHEONMA)]: app.SetCHEONMA(1) app.LoadLocaleData("locale/ymir") constInfo.ADD_DEF_BONUS_ENABLE = 1 else: app.SetCHEONMA(0) app.LoadLocaleData("locale/korea") constInfo.ADD_DEF_BONUS_ENABLE = 0 else: app.LoadLocaleData(app.GetLocalePath())
def IsCHEONMA(): if IsYMIR(): return app.IsCHEONMA() else: return 0 # 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 IsLETSGAME(): FN_GM_MARK = "locale/letgame/effect/gm.mse" LOCALE_FILE_NAME = "locale/letsgamelocale_game.txt" elif IsCIBN(): FN_GM_MARK = "locale/cibn/effect/gm.mse" LOCALE_FILE_NAME = "locale/cibn/locale_game.txt"
constInfo.KEEP_ACCOUNT_CONNETION_ENABLE = 0 constInfo.MINIMAP_POSITIONINFO_ENABLE = 1 constInfo.USE_ITEM_WEAPON_TABLE_ATTACK_BONUS = 1 constInfo.LOGIN_COUNT_LIMIT_ENABLE = 1 constInfo.KEEP_ACCOUNT_CONNETION_ENABLE = 1 constInfo.PVPMODE_PROTECTED_LEVEL = 10
elif IsJAPAN(): FN_GM_MARK = "locale/japan/effect/gm.mse" LOCALE_FILE_NAME = "locale/japan/locale_game.txt" elif IsENGLISH(): FN_GM_MARK = "locale/english/effect/gm.mse" LOCALE_FILE_NAME = "locale/english/locale_game.txt" elif IsGERMANY(): FN_GM_MARK = "locale/germany/effect/gm.mse" LOCALE_FILE_NAME = "locale/germany/locale_game.txt" elif IsHONGKONG(): APP_TITLE = "Às¾s" FN_GM_MARK = "locale/hongkong/effect/gm.mse" LOCALE_FILE_NAME = "locale/hongkong/locale_game.txt" elif IsNEWCIBN(): FN_GM_MARK = "locale/newcibn/effect/gm.mse" LOCALE_FILE_NAME = "locale/newcibn/locale_game.txt" elif IsEUROPE(): FN_GM_MARK = "%s/effect/gm.mse" % app.GetLocalePath() LOCALE_FILE_NAME = "%s/locale_game.txt" % app.GetLocalePath() else: FN_GM_MARK = "locale/ymir/effect/gm.mse" LOCALE_FILE_NAME = "locale/ymir/locale_game.txt"
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, "†v":1, "³×":1, "³é":1, "³ö":1, "‡R":1, "´²":1, "´´":1, "³ú":1, "´µ":1, "´Ì":1, "´Ù":1, "´ô":1, "´õ":1, "µ®":1, "µµ":1, "µÍ":1, "µÎ":1, "µà":1, "µå":1, "µð":1, "´ë":1, "ˆÛ":1, "µ¥":1, "µ³":1, "µÂ":1, "µÅ":1, "µÖ":1, "µØ":1, "µÇ":1, "µÚ":1, "µï":1, "µû":1, "‹x":1, "¶°":1, "¶Å":1, "¶Ç":1, "ŒÃ":1, "¶Ñ":1, "":1, "¶ß":1, "¶ì":1, "¶§":1, "‹š":1, "¶¼":1, "‹ó":1, "¶Ì":1, "¶Î":1, "Œô":1, "¶Ø":1, "¶Ï":1, "¶Ù":1, "¶ç":1, "¶ó":1, "·ª":1, "·¯":1, "·Á":1, "·Î":1, "·á":1, "·ç":1, "·ù":1, "¸£":1, "¸®":1, "·¡":1, "Žm":1, "·¹":1, "·Ê":1, "·Ö":1, "O":1, "·ï":1, "·ñ":1, "·Ú":1, "·ò":1, "l":1, "¸¶":1, "¸Ï":1, "¸Ó":1, "¸ç":1, "¸ð":1, "¹¦":1, "¹«":1, "¹Â":1, "¹Ç":1, "¹Ì":1, "¸Å":1, "Ù":1, "¸Þ":1, "¸ï":1, "¸ú":1, "‘À":1, "¹¹":1, "¹¾":1, "¸þ":1, "¹¿":1, "’Þ":1, "¹Ù":1, "¹ò":1, "¹ö":1, "º":1, "º¸":1, "ºÌ":1, "ºÎ":1, "ºä":1, "ºê":1, "ºñ":1, "¹è":1, "“Ž":1, "º£":1, "º¶":1, "ºÁ":1, "ºÄ":1, "ºÛ":1, "ºÞ":1, "ºÆ":1, "ºß":1, "•‘":1, "ºü":1, "»²":1, "»µ":1, "»À":1, "»Ç":1, "»Ï":1, "»Ñ":1, "»Ø":1, "»Ú":1, "»ß":1, "»©":1, "•û":1, "»¾":1, "–§":1, "–Ø":1, "–ô":1, "—¨":1, "—Ä":1, "»Î":1, "—à":1, "˜u":1, "»ç":1, "»þ":1, "¼":1, "¼Å":1, "¼Ò":1, "¼î":1, "¼ö":1, "½´":1, "½º":1, "½Ã":1, "»õ":1, "¼¨":1, "¼¼":1, "¼Î":1, "¼Ý":1, "¼â":1, "½¤":1, "½¦":1, "¼è":1, "½¬":1, "šÃ":1, "½Î":1, "›X":1, "½á":1, "›Ç":1, "½î":1, "¾¤":1, "¾¥":1, "o":1, "¾²":1, "¾¾":1, "½Ø":1, "›y":1, "½ê":1, "›ã":1, "½÷":1, "½û":1, "¾¬":1, "¾®":1, "½ý":1, "¾¯":1, "¾º":1, "¾Æ":1, "¾ß":1, "¾î":1, "¿©":1, "¿À":1, "¿ä":1, "¿ì":1, "À¯":1, "À¸":1, "ÀÌ":1, "¾Ö":1, "¾ê":1, "¿¡":1, "¿¹":1, "¿Í":1, "¿Ö":1, "¿ö":1, "¿þ":1, "¿Ü":1, "À§":1, "ÀÇ":1, "ÀÚ":1, "Àð":1, "Àú":1, "Á®":1, "Á¶":1, "ÁÒ":1, "ÁÖ":1, "Áê":1, "Áî":1, "Áö":1, "Àç":1, "À÷":1, "Á¦":1, "Áµ":1, "ÁÂ":1, "ÁÈ":1, "Áà":1, "Áâ":1, "ÁË":1, "Áã":1, "£p":1, "Â¥":1, "¹":1, "¼":1, "ÂÇ":1, "ÂÉ":1, "§c":1, "ÂÞ":1, "Âé":1, "Âê":1, "Âî":1, "°":1, "¤Š":1, "ÂÅ":1, "¥™":1, "ÂÒ":1, "ÂÖ":1, "Âå":1, "¨R":1, "ÂØ":1, "Âè":1, "©n":1, "Â÷":1, "Ã":1, "ó":1, "ÃÄ":1, "ÃÊ":1, "ÃÝ":1, "Ãß":1, "Ãò":1, "Ã÷":1, "Ä¡":1, "ä":1, "ª‰":1, "ü":1, "ÃÇ":1, "ÃÒ":1, "¬‚":1, "Ãç":1, "Ãé":1, "ÃÖ":1, "Ãë":1, "¯M":1, "Ä«":1, "ļ":1, "Ä¿":1, "ÄÑ":1, "ÄÚ":1, "Äì":1, "Äí":1, "Å¥":1, "Å©":1, "Å°":1, "ij":1, "°m":1, "ÄÉ":1, "ÄÙ":1, "Äâ":1, "Äè":1, "Äõ":1, "Äù":1, "Äê":1, "Äû":1, "´”":1, "Ÿ":1, "ÅË":1, "ÅÍ":1, "Åß":1, "Åä":1, "Åô":1, "Åõ":1, "Æ©":1, "Æ®":1, "Ƽ":1, "ÅÂ":1, "¶O":1, "Å×":1, "Åâ":1, "Åí":1, "Åï":1, "Åý":1, "Æ¡":1, "Åð":1, "Æ¢":1, "Æ·":1, "ÆÄ":1, "ÆÙ":1, "ÆÛ":1, "Æì":1, "Æ÷":1, "Ç¥":1, "Ǫ":1, "Ç»":1, "ÇÁ":1, "ÇÇ":1, "ÆÐ":1, "»—":1, "Æä":1, "Æó":1, "Ç¡":1, "½":1, "Ç´":1, "¿R":1, "Ç£":1, "Ƕ":1, "Àc":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: 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: 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, }
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, }
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 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 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) + "¾ò¾ú½À´Ï´Ù!"
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 IsCIBN(): 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 + "ÉϹ³ÁË¡£" 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
elif 932==app.GetDefaultCodePage(): def DO_YOU_SELL_ITEM(sellItemName, sellItemCount, sellItemPrice): if sellItemCount > 1 : return "%s %s ŒÂ‚ð %s‚É”„‚è‚Ü‚·‚©H" % ( sellItemName, sellItemCount, NumberToMoneyString(sellItemPrice) ) else: return "%s ‚ð %s‚Å”„‚è‚Ü‚·‚©H" % (sellItemName, NumberToMoneyString(sellItemPrice) )
def DO_YOU_BUY_ITEM(buyItemName, buyItemCount, buyItemPrice) : if buyItemCount > 1 : return "%s %sŒÂ‚ð %s‚Å”ƒ‚¢‚Ü‚·‚©H" % ( buyItemName, buyItemCount, buyItemPrice ) else: return "%s‚ð %s‚Å”ƒ‚¢‚Ü‚·‚©H" % ( buyItemName, buyItemPrice )
def REFINE_FAILURE_CAN_NOT_ATTACH(attachedItemName) : return "%s‚ð‘•’…‚Å‚«‚È‚¢ƒAƒCƒeƒ€‚Å‚·B" % (attachedItemName)
def REFINE_FAILURE_NO_SOCKET(attachedItemName) : return "%s‚ð‘•’…‚·‚éƒ\ƒPƒbƒg‚ª‚ ‚è‚Ü‚¹‚ñB" % (attachedItemName)
def REFINE_FAILURE_NO_GOLD_SOCKET(attachedItemName) : return "%s‚ð‘•’…‚Å‚«‚鉩‹àƒ\ƒPƒbƒg‚ª‚ ‚è‚Ü‚¹‚ñB" % (attachedItemName)
def HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, dropItemCount) : if dropItemCount > 1 : return "%s %d ŒÂ‚ðŽÌ‚Ä‚Ü‚·‚©H" % (dropItemName, dropItemCount) else : return "%s‚ðŽÌ‚Ä‚Ü‚·‚©H" % (dropItemName)
def FISHING_NOTIFY(isFish, fishName) : if isFish : return "%s ‚ªH‚¢‚‚¢‚½‚悤‚Å‚·" % ( fishName ) else : return "%s ‚ª‚©‚©‚Á‚½‚悤‚Å‚·" % ( fishName )
def FISHING_SUCCESS(isFish, fishName) : if isFish : return "%s ‚ð•ß‚Ü‚¦‚Ü‚µ‚½I" % (fishName) else : return "%s ‚ðŽè‚É“ü‚ê‚Ü‚µ‚½I" % (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 elif IsGERMANY():
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)
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 if IsNEWCIBN(): 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 + "ÉϹ³ÁË¡£" 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
if IsEUROPE():
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)
if (IsEUROPE() and app.GetLocalePath() == "locale/ca"): 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) Como é lógico que iremos editar "Your Server Name" e vamos colocar o nome do nosso servidor, então, salvar e que nós temos feito comprovamos. PASSO 3 Locale Vamos - é - ui Estamos à procura de algumas fotos para nosso servidor, então vamos colocar o nome do exemplo eu quero mudar o login, eu procuro me colocar uma imagem no desktop e chamá-lo o login substituição. PASSO 4 Locale Vamos - é Buscamos a insultar o arquivo de texto (este arquivo contém todas as palavras consideradas como um insulto) abri-lo apagar tudo e salve. PASSO 5 Locale Vamos - é Procuramos arquivo de texto locale_game (este arquivo contém todos os bônus a) abrir, editar o bônus (NOTA Somente os nomes) e loja. Saudações e espero que eu ajudei a enfermeira do guia. Creditos:BiffJúnior O Demônio Das Trevas | |
|