Active Member Mind Rapist 188 Posted May 20, 2016 Active Member Share Posted May 20, 2016 Hey guys I need some immediate assistance after adding Sash System I'm getting a pop-up window every time I try to open the game. The pop-up says LoadLocaleError(locale/gr/locale_game.txt). I have added Sash before and I never had this. I just don't know where to look for this problem I have tried the client procedure twice already (both bin and py part). Can somebody help me please? Thank you for reading this... 1 Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted May 20, 2016 Author Active Member Share Posted May 20, 2016 Well I checked everything and still... I don't know what else to do... Is there a chance to be a py error that causes this? Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted May 20, 2016 Author Active Member Share Posted May 20, 2016 Thank you for specifying that but in my last update I did not changed anything in localeInfo.py Here is the file: Spoiler 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 = "Client by Claws vizitati wwww.dream-gaming.ro !" 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, "†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, "Δ³":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 long(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,], [JOB_WOLFMAN0, JOB_WOLFMAN1, JOB_WOLFMAN2,], ] JOBINFO_DATA_LIST = [ [ [ "ΕΈ°ν³ ΏλΈΝ°ϊ ±ΑΘχΑφ ΎΚ΄Β Ή«»ηΐΗ", "±β°³Έ¦ »η¶χµιΐΊ ΐΟΔΓΎξ [ΏλΐΪ]¶σ°ν", "ΊΞΈ¥΄Ω. Ύξ¶°ΗΡ ΐ§±βΏ΅Όµµ ±ΧµιΐΊ ", "µΪ·Ξ Ή°·―ΌΑφ ΎΚΐΈΈη, ΄ΩΔ΅°ν ΏςΑχ", "ΐΜ±β Θϋµη µΏ·αΈ¦ ΐ§ΗΨ ΄ά½ΕΐΈ·Ξ", "ΐϋµι°ϊ Έ¶ΑΦ ½ΞΏμ±βµµ ΗΡ΄Ω. ΐΜµιΐΊ", "ΐί ΄ά·ΓµΘ ±Ωΐ°°ϊ Θϋ, °·ΒΗΡ °ψ°έ·Β", "ΐΈ·Ξ ΐόΐε ΓΦΌ±µΞΏ΅Ό °ψ°έΑψΐΈ·Ξ", "Θ°ΎΰΗΡ΄Ω.", ], [ "°΅ΐε ΐΟΉέΐϋΐΞ °ψ°έΗό Ή«»η·Ξ, ", "ΐϋΑΆΐόΏ΅ µϋΈ¥ ΑχΑΆ °ψ°έΐΈ·Ξ ΐόΐε", "Ώ΅Ό Θ°ΎΰΗΡ΄Ω. ±ΊΑχ Ζ―ΌΊ»σ ±Ω·Βΐ»", "ΈήΐΞΐΈ·Ξ ½ΊΕέ ΖχΐΞΖ®Έ¦ ΕυΐΪΗΟµΗ, ", "ΐϋΑΆΐόΏ΅ µϋΈ¥ »ύΈν·Β / ΉζΎξ·Β", "Θ®ΊΈΈ¦ ΐ§ΗΨ ΓΌ·Βΐ» ΏΓΈ°΄Ω. ¶ΗΗΡ", "°ψ°έΐΗ Α¤Θ®ΌΊΐ» ³τΐΜ±β ΐ§ΗΨ ΉΞΓΈ", "Ώ΅µµ ΖχΐΞΖ®Έ¦ ΕυΐΪΗ ΗΚΏδ°΅ ΐΦ΄Ω.", ], [ "»σ΄η ΌφΑΨΐΗ Α¤½Ε·Βΐ» ΐΜΏλΗΟ΄Β", "Αί/±Ω°ΕΈ® ΑΆΐόΗό Ή«»η·Ξ, °Ά ±βΌϊ", "ΗΟ³ΗΟ³ΐΗ ³τΐΊ °ψ°έ·ΒΐΈ·Ξ ΐόΐεΏ΅Ό", "Θ°ΎΰΗΡ΄Ω. ±ΊΑχ Ζ―ΌΊ»σ ±Ω·Βΐ» ΈήΐΞ", "ΐΈ·Ξ ½ΊΕΘ ΖχΐΞΖ®Έ¦ ΕυΐΪΗΟµΗ, ", "Αί/±Ω°ΕΈ® °ψ°έΐΗ Α¤Θ®ΌΊ°ϊ ΈνΑί·όΐ»", "ΐ§ΗΨ ΉΞΓΈΐ» ΏΓΈ°΄Ω. ¶ΗΗΡ ΑΆΐό ½Γ ", "ΐϋ °ψ°έΏ΅ µϋΈ¥ »ύΈν·Β / ΉζΎξ·Β", "Θ®ΊΈΈ¦ ΐ§ΗΨ ΓΌ·ΒΏ΅µµ ΖχΐΞΖ®Έ¦", "ΕυΐΪΗ ΗΚΏδ°΅ ΐΦ΄Ω.", ], ], [ [ "ΐΪ°΄ΐΊ Ύξ¶°ΗΡ »σΘ²Ώ΅Όµµ ΐΪ½ΕΐΗ", "Έφΐ» Όϋ±β°ν ΐΊΉΠΗΡ ΎξµΐΗ ΐΣΉ«Έ¦", "ΌφΗΰΗΟΈιΌ ΐόΐεΐΗ ΘΔΐ§Έ¦ ΑφΏψΗΟ΄Β", "ΐΪµιΐΜ΄Ω. ΐΜµιΐΊ ΎΖΑΦ ΊόΈ£°ν ½ΕΌΣ", "ΗΟΈη, ΊρΗ µ¥ ΎψΐΜ °ϊ°¨ΗΟ°ν ΐύΑ¦µΘ", "ΗΰµΏΐΈ·Ξ ΐϋΐΗ ±ήΌΏ΅ Δ΅ΈνΕΈΈ¦ ³―Έ®", "µΗ, ΐόΐεΏ΅Ό± ΐϋΑψΐ» ΗβΗΨ Ή«ΌφΗΡ", "Θ»μΐ» ³»»ΥΐΈΈη ΐΪ½ΕΐΗ ΏλΈΝΐ»", "Ό±ΊΈΐΞ΄Ω." ], [ "µΞΌΥ ΄ά°Λΐ» ΑΦΉ«±β·Ξ ΄Ω·ηΈη, ½ΕΌΣ", "ΗΟ°Τ Δ΅°ν ΊόΑφ΄Β ΐΪ°΄ Ζ―ΐ―ΐΗ ΏςΑχΐΣ", "ΐΈ·Ξ ΐόΐεΏ΅Ό Θ°ΎΰΗΡ΄Ω. ±ΊΑχ Ζ―ΌΊ»σ", "ΉΞΓΈΐ» ΈήΐΞΐΈ·Ξ ½ΊΕέ ΖχΐΞΖ®Έ¦ ΕυΐΪ", "ΗΟµΗ, ±Ω·Βΐ» ΏΓ·Α °ψ°έ·Βΐ» ³τΐΞ΄Ω.", "¶ΗΗΡ ±ΩΑΆΐόΏ΅ µϋΈ¥ »ύΈν·Β/ΉζΎξ·Β ", "»σ½Βΐ» ΐ§ΗΨ ΓΌ·ΒΏ΅µµ ΖχΐΞΖ®Έ¦", "ΕυΐΪΗ ΗΚΏδ°΅ ΐΦ΄Ω.", ], [ "Θ°ΐ» ΑΦΉ«±β·Ξ ΄Ω·ηΈη, ±δ ½ΓΎίΏΝ", "»ηΑ¤°ΕΈ®Ώ΅ µϋΈ¥ Ώψ°ΕΈ® °ψ°έΐΈ·Ξ", "ΐόΐεΏ΅Ό Θ°ΎΰΗΡ΄Ω. ±ΊΑχ Ζ―ΌΊ»σ", "°ψ°έ ΌΊ°ψ·όΐΗ Αυ°΅Έ¦ ΐ§ΗΨ ΉΞΓΈΐ»", "ΈήΐΞΐΈ·Ξ ΏΓ·ΑΎί ΗΟΈη, Ώψ°ΕΈ®", "°ψ°έΐΗ µ¥ΉΜΑφ Αυ°΅Έ¦ ΐ§ΗΨ ±Ω·Βΐ»", "ΏΓΈ± ΗΚΏδ°΅ ΐΦ΄Ω. ¶ΗΗΡ ΐϋµιΏ΅°Τ", "Ζχΐ§µΗΎϊΐ» ½Γ, ΐϋ °ψ°έΏ΅ ΉφΖΌ±β", "ΐ§ΗΡ »ύΈν·Β/ΉζΎξ·Β »σ½Βΐ» ΐ§ΗΨ", "ΓΌ·ΒΏ΅µµ ΖχΐΞΖ®Έ¦ ΕυΐΪΗ ΗΚΏδ°΅", "ΐΦ΄Ω.", ], ], [ [ "Όφ¶σ΄Β [µ¶ΐΊ µ¶ΐΈ·Ξ]ΐΗ ΌΣΌΊΐΈ·Ξ", "ΓΆΌ³µΘ Ζ―Όφ ΌΣΌΊΐΗ ±ΊΑχΐΜ΄Ω. ", "±ΧµιΐΊ ΐόΐεΏ΅Ό ΐϋµιΐΗ »η±βΈ¦ ΐϊΗΟ", "½ΓΕ°°ν, ΎΗΈ¶ΐΗ Θϋΐ» ½ΗΐΊ Έ¶ΕΊΐΈ·Ξ", "ΐϋΐΗ ΏµΘ¥°ϊ ΐ°½Εΐ» ΑώΉ¶°µ΄Ω. ¶§·Ξ", "ΐΜµιΐΊ ΐΪ½ΕΐΗ °Λ°ϊ °©ΏΚΏ΅ ΎξµΐΗ", "Θϋΐ» ½ΗΎξ, ΐόΐεΏ΅Ό Ή«»η ΈψΑφ ΎΚΐΊ", "°ψ°έ·Βΐ» ΉίΘΦΗΟ±βµµ Ηϴµ¥, ΐϋµιΐ»", "ΑΧΏ©΄λ΄Β±Χ Έπ½ΐΐΜ Ώφ³«Ώ΅ ²ϋΒοΗΨ", "»η¶χµιΐΊ Όφ¶σΈ¦ ΐΟΔΓΎξ [Έ¶½Ε]ΐΜ¶σ", "ΊΞΈ£±βΈ¦ ΑΦΐϊ ΎΙ΄Β΄Ω." ], [ "Θ―Ή«±ΊΐΗ Όφ¶σ΄Β ΎΗΈ¶ΐΗ ΎΎΏ΅Ό", "ΎςΎξΑφ΄Β Έ¶·Βΐ» Ή«±β³ ΉζΎξ±ΈΏ΅", "½ΗΎξ Ή«»η ΈψΑφ ΎΚΐΊ ΐόΕυ·ΒΐΈ·Ξ", "ΐόΐεΏ΅Ό Θ°ΎΰΗΡ΄Ω. ±ΊΑχ Ζ―ΌΊ»σ", "Αφ΄ΙΐΜ ³τΎΖΑϊΌφ·Ο ΒψΏλ ΐεΊρΏ΅", "½ΗΈ®΄Β Έ¶·ΒΐΗ ΐ§·ΒΐΜ Αυ΄λµΗΉΗ·Ξ,", "Αφ΄Ι°ϊ ±Ω·Βΐ» ΈήΐΞΐΈ·Ξ ½ΊΕΘ", "ΖχΐΞΖ®Έ¦ ΕυΐΪΗΟµΗ, ΑΆΐόΏ΅ µϋΈ¥", "»ύΈν·Β/ΉζΎξ·Β Θ®ΊΈΈ¦ ΐ§ΗΨ ΓΌ·Βΐ»", "ΏΓΈ°΄Ω. ¶ΗΗΡ °ψ°έΐΗ Α¤Θ®ΌΊ°ϊ", "ΘΈΗΗΈ¦ ΐ§ΗΨΌ ΉΞΓΈΏ΅µµ ΖχΐΞΖ®Έ¦", "ΕυΐΪΗ ΗΚΏδ°΅ ΐΦ΄Ω.", ], [ "ΘζΈ¶±ΊΐΗ Όφ¶σµιΐΊ °ΆΑΎ ΎξµΐΗ", "ΑΦΉ®°ϊ ΎΗΈ¶ΐΗ Έ¶ΉύΐΈ·Ξ ΐόΐεΏ΅Ό", "Θ°ΎΰΗΡ΄Ω. ±ΊΑχ Ζ―ΌΊ»σ Έ¶Ήύ °ψ°έΐΜ", "ΑΦΐΜΉΗ·Ξ Αφ΄Ιΐ» ΈήΐΞΐΈ·Ξ ½ΊΕέ", "ΖχΐΞΖ®Έ¦ ΕυΐΪΗΟµΗ, Ώψ°ΕΈ® Έ¶Ήύ", "°ψ°έΐΗ Α¤Θ®ΌΊΐ» ΐ§ΗΨ ΉΞΓΈΐ» ΏΓΈ°΄Ω.", "¶ΗΗΡ Ζχΐ§ µΗΎϊΐ»½Γ, ΐϋ °ψ°έΏ΅ µϋΈ¥", "»ύΈν·Β / ΉζΎξ·Β Θ®ΊΈΈ¦ ΐ§ΗΨ ΓΌ·ΒΏ΅µµ", "ΖχΐΞΖ®Έ¦ ΕυΐΪΗ ΗΚΏδ°΅ ΐΦ΄Ω.", ], ], [ [ "Ή«΄ηΐΊ Ώλ½Ε°ϊ ΐΪΏ¬, µΞ °ν΄λΐΗ", "Θϋΐ» ΄Ω·κ Όφ ΐΦ΄Β ΐ―ΐΟΗΡ ΑχΑΎΐΜ΄Ω.", "±ΧµιΐΊ ΘΔΉζΏ΅Ό ΎΖ±Ίΐ» ΊΈΑ¶ΗΟ°ν", "΄ΩΔ£ µΏ·αΐΗ ΊΞ»σΐ» ΘΈΊΉ ½ΓΕ°Έη", "¶³ΎξΑψ »η±βΈ¦ »σ½Β½ΓΕ²΄Ω. ±ΧµιΐΊ", "ΎΖ±ΊΐΗ ΌφΈι°ϊ Θή½Δΐ» ΉζΗΨΗϴ ΐΪΈ¦ ", "ΐύ΄λ ΏλΌΗΟΑφ ΎΚΐΈΈη, ±Χ·± ΐΪµι", "Ώ΅°Τ΄Β ΗΡ Α΅ ΑΦΐϊ ΎψΐΜ ΑΦΉ®ΐ»", "ΕΝΖ®·Α ±Χ Ίρ°ΜΗΤΐ» ΎφΘχ Β΅°θΗΡ΄Ω.", ], [ "Γµ·ζ±ΊΐΗ Ή«΄ηµιΐΊ °ΆΑΎ ΊΞΐϋΌϊ°ϊ", "ΊΈΑ¶ΑΦΉ®Ώ΅ ΄ΙΗΟΈη, ΐϋΐΗ Αχ / °£ΑΆ", "°ψ°έΐΈ·ΞΊΞΕΝ ΎΖ±Ίΐ» ΑφΕ²΄Ω. ±ΊΑχ", "Ζ―ΌΊ»σ Έ¶Ήύ ΄Ι·ΒΐΜ ΑΦΐΜΉΗ·Ξ Αφ΄Ιΐ»", "ΈήΐΞΐΈ·Ξ ½ΊΕέ ΖχΐΞΖ®Έ¦ ΕυΐΪΗΟµΗ,", "Ζχΐ§µΗΎϊΐ» ½Γ, ΐϋ °ψ°έΏ΅ µϋΈ¥", "»ύΈν·Β / ΉζΎξ·Β Θ®ΊΈΈ¦ ΐ§ΗΨ ΓΌ·Βΐ»", "ΏΓΈ°΄Ω. ¶ΗΗΡ Ώψ°ΕΈ® Έ¶Ήύ °ψ°έΐΗ", "Α¤Θ®ΌΊΐ» ΐ§Ώ΅ ΉΞΓΈΏ΅µµ ΖχΐΞΖ®Έ¦", "ΕυΐΪΗ ΗΚΏδ°΅ ΐΦ΄Ω.", ], [ "±¤·Ϊ±ΊΐΗ Ή«΄ηµιΐΊ ΐΪΏ¬ΐΗ Θϋΐ»", "Ίτ·Α ΎΖ±Ίΐ» ΘΈΊΉΗΟ°ν, ³ϊ½ΕΐΗ ", "ΘϋΐΈ·Ξ ΉΠΑύΗΡ ΐϋµιΏ΅°Τ Ε« Γζ°έΐ»", "ΐΤΘϊ Όφ ΐΦ΄Β ΐΜµιΐΜ΄Ω. ±ΊΑχΐΗ", "Ζ―ΌΊ»σ Έ¶Ήύ ΄Ι·ΒΐΜ ΑΦΐΜΉΗ·Ξ Αφ΄Ιΐ»", "ΈήΐΞΐΈ·Ξ ½ΊΕέ ΖχΐΞΖ®Έ¦ ΕυΐΪΗΟµΗ,", "Ζχΐ§µΗΎϊΐ»½Γ, ΐϋ °ψ°έΏ΅ µϋΈ¥", "»ύΈν·Β / ΉζΎξ·Β Θ®ΊΈΈ¦ ΐ§ΗΨ ΓΌ·Βΐ»", "ΏΓΈ°΄Ω. ¶ΗΗΡ Ώψ°ΕΈ® Έ¶Ήύ °ψ°έΐΗ", "Α¤Θ®ΌΊΐ» ΐ§Ώ΅ ΉΞΓΈΏ΅µµ ΖχΐΞΖ®Έ¦", "ΕυΐΪΗ ΗΚΏδ°΅ ΐΦ΄Ω.", ], ], [ [ "Lycans are formidable wolf", "creatures which were once", "infected by an incurable", "virus, losing their human", "forms and mutating into", ], [ "beasts. Thanks to their", "unbridled power and", "heightened instincts they", "make exceptional close", "combat fighters. Fearless in", ], [ "the face of conflict, they", "always seek out the front", "lines.", ], ], ] 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‚Ι”„‚θ‚ά‚·‚©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 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) Could it also be a binary issue? Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted May 20, 2016 Author Active Member Share Posted May 20, 2016 Nope I didn't touch Locale_inc.h Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted May 20, 2016 Author Active Member Share Posted May 20, 2016 I do not use debug console... I checked everything 100 times I can't find what's wrong! Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted May 21, 2016 Author Active Member Share Posted May 21, 2016 Well it was working before I add sash system... Do you have a good packer for me to download? I use Eter Nexus... Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now