Пытался парировать игру c Nscripter на Rren'py нашел на
github готовый код
работает он так
он заменяет все Nscrirptовсие команды на renpyовские
вот только он был написан с расчетом на английский язык и когда пытаешься ему скормит код с русским текстом он начинает на все ругаться
D:\ren'py games\nscripter2renpy-master\src>python parsar.py 0.txt > script2.rpy
Traceback (most recent call last):
File "parsar.py", line 905, in <module>
parser.tokenize(input.read())
File "parsar.py", line 59, in tokenize
self.tokens = [token for token in lex.scan(content) if token is not None and token.type != "COMMENT"]
File "parsar.py", line 59, in <listcomp>
self.tokens = [token for token in lex.scan(content) if token is not None and token.type != "COMMENT"]
File "D:\ren'py games\nscripter2renpy-master\src\lexer.py", line 49, in __next__
return self.scan_next()
File "D:\ren'py games\nscripter2renpy-master\src\lexer.py", line 74, in scan_next
raise UnknownTokenError(self.input[self._position], self.lineno)
lexer.UnknownTokenError: Line #9866, Found token:
он ругается на пробелы я полагаю
если попробовать поменять
input = open(sys.argv[1], 'r', encoding = 'utf-8')
на
input = open(sys.argv[1], 'r', encoding='windows-1251')
то он начинает выдоват
D:\ren'py games\nscripter2renpy-master\src>python parsar.py 0.txt > script2.rpy
Traceback (most recent call last):
File "parsar.py", line 905, in <module>
parser.tokenize(input.read())
File "C:\Users\gama\AppData\Local\Programs\Python\Python38\lib\encodings\cp1251.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 248964: character maps to <undefined>
если перевести кириллицу на латиницу с ним то он начинает ругаться на букву ''И'' 0x98 точки запитые на знак дефиса и все прочее как мне заставить работать с русским текстом ?
Код
заранее спасибо за ответ