#!/usr/bin/python # -*- coding: GBK -*- #--------------------------------------------------------------------- # #--------------------------------------------------------------------- ##@package DirtyList # ´æ´¢½ûÑÔÁбí # # @author eggxp # @date 2010-3-31 # @version 1.4 # # @change: "2010-10-08 11:05" panwei °Î³ý·þÎñÆ÷°æ±¾¿ØÖÆ´úÂë # @change: "2012-05-25 16:00" jiang ×Ö·ûºÏ·¨ÐÔ¼ì²éÔö¼Ó±àÂë¹æÔò¼ì²é # @change: "2012-06-28 15:00" jiang ±àÂë¸ñʽé_³öÅäÖà # @change: "2012-09-03 10:00" whx ÆÁ±ÎתÒå×Ö·û #--------------------------------------------------------------------- #"""Version = 2012-09-03 10:00""" #--------------------------------------------------------------------- import GameWorld import ShareDefine import IpyGameDataPY def IsWordForbidden(inputText): ## ÅжÏÊÇ·ñºÏ·¨ if not EncodingToUnicode(inputText): return True if "\xe3\x85\xa4" in inputText: GameWorld.Log("´æÔÚ·Ç·¨¿Õ°×Ìî³ä·û!") return True #ÆÁ±ÎתÒå×Ö·û for char in ShareDefine.Def_List_EscapeSequence: if char in inputText: return True #2008.12.21, ²»ÓÃpythonµÄfind, ¸ÄÓÃAnsiPos #³ö´í: ¶ÔÓÚ"Сºì"Ãû×Ö²»ÄÜ×¢²á, ÒòΪ"Сºì" ascIIÖаüº¬½ûÓÃ×Ö·û"¡º", ÔÚµÚÒ»¸ö×ֽں͵ڶþ¸ö×Ö½Ú #D0 A1 BA EC --> A1 BA #ËùÒÔ¸ÄÓÃbcbµÄAnsiPos #AnsiPos˵Ã÷: #Note: This function supports multi-byte character sets (MBCS). #if inputText.find(eachLine) >= 0: ipyDataMgr = IpyGameDataPY.IPY_Data() for index in xrange(ipyDataMgr.GetDirtyListCount()): ipyData = ipyDataMgr.GetDirtyListByIndex(index) if GameWorld.GetGameWorld().FindStr(inputText, ipyData.GetWord()): GameWorld.Log("ÆÁ±Î´Ê: ID=%s" % (ipyData.GetID())) return True for index in xrange(ipyDataMgr.GetDirtyNameCount()): ipyData = ipyDataMgr.GetDirtyNameByIndex(index) if GameWorld.GetGameWorld().FindStr(inputText, ipyData.GetWord()): GameWorld.Log("Íæ¼ÒÃûÆÁ±Î´Ê: ID=%s" % (ipyData.GetID())) return True return False def EncodingToUnicode(inputText): ## ¼ì²é×Ö·ûµÄ¹æÔòÊÇ·ñ·ûºÏ if IpyGameDataPY.GetFuncCfg("EncodingTex", 1): #²»™z²é return True try: unicode(inputText, IpyGameDataPY.GetFuncCfg("EncodingTex", 2)) except: return False return True