Closed yqw1231 closed 1 year ago
是的,我看他这个charset是1,所以我把上面的push 0x01改成了push 0x86
恩,有些游戏可能有多个createFont,有些并不是对话的文本用的,搜下是不是还有CreateFontIndirect? 还有就是有些游戏是不能转区或者是只能转区运行的,不然文字会有问题,都试试。
搜了一下只有createfontA,改完以后,运行保存的exe,一碰到文字,游戏就直接挂掉了,也没有什么报错。
搜了一下只有createfontA,改完以后,运行保存的exe,一碰到文字,游戏就直接挂掉了,也没有什么报错。
那不一定是编码问题,一般编码只会乱码,不会闪退,编码范围没改完导致闪退的情况更多。 你直接用你原版的日文包Seen.txt,然后用改过的exe看,如果已经是乱码了说明exe的编码是改到了的。
搜了一下只有createfontA,改完以后,运行保存的exe,一碰到文字,游戏就直接挂掉了,也没有什么报错。
那不一定是编码问题,一般编码只会乱码,不会闪退,编码范围没改完导致闪退的情况更多。 你直接用你原版的日文包Seen.txt,然后用改过的exe看,如果已经是乱码了说明exe的编码是改到了的。
试了一下用原版的seen.txt还是会崩溃。。我编码范围现在就只剩一个没改了,其他都改成FE72了
搜了一下只有createfontA,改完以后,运行保存的exe,一碰到文字,游戏就直接挂掉了,也没有什么报错。
那不一定是编码问题,一般编码只会乱码,不会闪退,编码范围没改完导致闪退的情况更多。 你直接用你原版的日文包Seen.txt,然后用改过的exe看,如果已经是乱码了说明exe的编码是改到了的。
我在使用dbg调试的时候,还是能显示乱码的文字的,但保存以后就会发生挂掉的状况
试了一下用原版的seen.txt还是会崩溃。。我编码范围现在就只剩一个没改了,其他都改成FE72了
奇怪了,原版Seen.txt即使不改exe也不会崩溃啊。原版seen再把charset改回去能正常运行吗?
试了一下用原版的seen.txt还是会崩溃。。我编码范围现在就只剩一个没改了,其他都改成FE72了
奇怪了,原版Seen.txt即使不改exe也不会崩溃啊。原版seen再把charset改回去能正常运行吗?
噢大佬,我的意思是用原版的seen和改过的exe,运行改过的exe还是会崩溃
噢大佬,我的意思是用原版的seen和改过的exe,运行改过的exe还是会崩溃
恩,我的意思是你改过的exe包括charset86吗?把86改回去,只剩改编码范围的FE,用原版seen也会崩溃? 那是不是FE72改多了啊?一般是314个左右。
噢大佬,我的意思是用原版的seen和改过的exe,运行改过的exe还是会崩溃
恩,我的意思是你改过的exe包括charset86吗?把86改回去,只剩改编码范围的FE,用原版seen也会崩溃? 那是不是FE72改多了啊?一般是314个左右。
只改编码范围不会崩溃,但是显示乱码,就跟dira佬视频里面那种乱码一样。
噢大佬,我的意思是用原版的seen和改过的exe,运行改过的exe还是会崩溃
恩,我的意思是你改过的exe包括charset86吗?把86改回去,只剩改编码范围的FE,用原版seen也会崩溃? 那是不是FE72改多了啊?一般是314个左右。
总共确实有314个FE72,但是我听你的剩了一个没改,模仿的别人的exe
噢大佬,我的意思是用原版的seen和改过的exe,运行改过的exe还是会崩溃
恩,我的意思是你改过的exe包括charset86吗?把86改回去,只剩改编码范围的FE,用原版seen也会崩溃? 那是不是FE72改多了啊?一般是314个左右。
只改编码范围不会崩溃,但是显示乱码,就跟dira佬视频里面那种乱码一样。
你这是中文包+只改了编码范围的exe吧。 那编码范围应该没问题,不确定你剩的那个是不是剩对了,测试也可以先全部改试试。 再试下日文包+只改86的exe呢,重新复制一个原版exe来只改charset。
噢大佬,我的意思是用原版的seen和改过的exe,运行改过的exe还是会崩溃
恩,我的意思是你改过的exe包括charset86吗?把86改回去,只剩改编码范围的FE,用原版seen也会崩溃? 那是不是FE72改多了啊?一般是314个左右。
只改编码范围不会崩溃,但是显示乱码,就跟dira佬视频里面那种乱码一样。
你这是中文包+只改了编码范围的exe吧。 那编码范围应该没问题,不确定你剩的那个是不是剩对了,测试也可以先全部改试试。 再试下日文包+只改86的exe呢,重新复制一个原版exe来只改charset。
只改86的exe,用日文包和中文包都会挂,一到显示文字的地方就会挂。 我是这样改的:
噢大佬,我的意思是用原版的seen和改过的exe,运行改过的exe还是会崩溃
恩,我的意思是你改过的exe包括charset86吗?把86改回去,只剩改编码范围的FE,用原版seen也会崩溃? 那是不是FE72改多了啊?一般是314个左右。
只改编码范围不会崩溃,但是显示乱码,就跟dira佬视频里面那种乱码一样。
你这是中文包+只改了编码范围的exe吧。 那编码范围应该没问题,不确定你剩的那个是不是剩对了,测试也可以先全部改试试。 再试下日文包+只改86的exe呢,重新复制一个原版exe来只改charset。
我把两个createfonta上面的push都改了,然后我发现如果只改第一个的话,显示文本不会挂掉,但用中文包还是会乱码。两个都改就会挂
噢大佬,我的意思是用原版的seen和改过的exe,运行改过的exe还是会崩溃
恩,我的意思是你改过的exe包括charset86吗?把86改回去,只剩改编码范围的FE,用原版seen也会崩溃? 那是不是FE72改多了啊?一般是314个左右。
只改编码范围不会崩溃,但是显示乱码,就跟dira佬视频里面那种乱码一样。
你这是中文包+只改了编码范围的exe吧。 那编码范围应该没问题,不确定你剩的那个是不是剩对了,测试也可以先全部改试试。 再试下日文包+只改86的exe呢,重新复制一个原版exe来只改charset。
只改86的exe,用日文包和中文包都会挂,一到显示文字的地方就会挂。 我是这样改的:
看到了,你改错了,你把其他参数改到了,等于是函数参数变少了,push 01下边的两个push 00是其他参数,不能少。 直接把6A 01改成6A 86,只改86这一个字节,不要通过语句来修改。
噢大佬,我的意思是用原版的seen和改过的exe,运行改过的exe还是会崩溃
恩,我的意思是你改过的exe包括charset86吗?把86改回去,只剩改编码范围的FE,用原版seen也会崩溃? 那是不是FE72改多了啊?一般是314个左右。
只改编码范围不会崩溃,但是显示乱码,就跟dira佬视频里面那种乱码一样。
你这是中文包+只改了编码范围的exe吧。 那编码范围应该没问题,不确定你剩的那个是不是剩对了,测试也可以先全部改试试。 再试下日文包+只改86的exe呢,重新复制一个原版exe来只改charset。
只改86的exe,用日文包和中文包都会挂,一到显示文字的地方就会挂。 我是这样改的:
看到了,你改错了,你把其他参数改到了,等于是函数参数变少了,push 01下边的两个push 00是其他参数,不能少。 直接把6A 01改成6A 86,只改86这一个字节,不要通过语句来修改。
噢噢噢,我恍然大悟了,之前有些疑问也解决了,十分感谢你的指点
请问现在Reallive引擎,写入的方式有什么改变吗,我用新版本写入的时候,发现没有任何文件输出在new文件夹,然后程序会直接结束。
提取也会失败。
{'file': 'bin', 'workpath': 'D:/SExtractor-main/tools/RealLive/Seen.txt~/new', 'engineName': 'BIN', 'outputFormat': 2, 'outputPartMode': 1, 'nameList': '', 'regDic': '00_skip=[^\x81-\xFE][^\x40-\xFC]$\n11_search=\x40[\x00-\xFF]{2}【(?P
写入应该是没变化,只改了下正则,之前有部分可能漏提取。不知道是不是正则变化引起的。 好像是加了13_search和ignoreDecodeError,你删了就是之前的正则了。 但是最多写入行数不一致报错,应该不会引起提取闪退,后边没有更多的报错了吗? 你从cmd里边运行看看有没有更多的打印呢。
写入应该是没变化,只改了下正则,之前有部分可能漏提取。不知道是不是正则变化引起的。 好像是加了13_search和ignoreDecodeError,你删了就是之前的正则了。 但是最多写入行数不一致报错,应该不会引起提取闪退,后边没有更多的报错了吗? 你从cmd里边运行看看有没有更多的打印呢。
这个是我从pycharm拷贝的打印,只打印了这些信息。
那你把13_search和ignoreDecodeError删了能提取吗?不要放译文,只是提取。 推荐还是用VNT提取吧,我是暴力匹配的长度不能变要截断,不如VNT好。
那你把13_search和ignoreDecodeError删了能提取吗?不要放译文,只是提取。 推荐还是用VNT提取吧,我是暴力匹配的长度不能变要截断,不如VNT好。
也不行了,老版本还是可以的。请问VNT是指的什么软件呀,是VNTextPatch吗
也不行了,老版本还是可以的。请问VNT是指的什么软件呀,是VNTextPatch吗
对,galTransl里有它的图形界面。
还不行那应该就不是正则问题了,是不是你设置有问题,不是纯文本的bin不要勾选BIN使用纯文本
主要是你这没错误打印就比较奇怪,光靠猜不好处理,建议直接cmd里运行。
或者是把运行.bat
里边的@pause
改成pause
,以便观察打印。
也不行了,老版本还是可以的。请问VNT是指的什么软件呀,是VNTextPatch吗
对,galTransl里有它的图形界面。 还不行那应该就不是正则问题了,是不是你设置有问题,不是纯文本的bin不要勾选
BIN使用纯文本
vnt可以用的,我之前就想过用vnt来提取,但是那时候不知道seen.txt需要解包,所以也忘了。设置的话,我因为是直接覆盖的文件,所以设置应该没啥变化。请问BIN使用纯文本
这个设置我好像没看到。
哦,那可能是覆盖的问题,不要覆盖,之前移动过一次mainWindow.py,新的最好直接解压到新文件。 然后把旧的config.ini复制到新的main文件夹下边就有之前的配置了。 因为mainWindow.py已经移动到main文件夹了,直接覆盖就覆盖不到之前的根目录的py,所以现在你是读的旧的mainWindow.py,但是src里的脚本又是新的。
哦,那可能是覆盖的问题,不要覆盖,之前移动过一次mainWindow.py,新的最好直接解压到新文件。 然后把旧的config.ini复制到新的main文件夹下边就有之前的配置了。 因为mainWindow.py已经移动到main文件夹了,直接覆盖就覆盖不到之前的根目录的py,所以现在你是读的旧的mainWindow.py,但是src里的脚本又是新的。
好的,谢谢啦
抱歉又要麻烦你了,我用seenfix以后得txt丢进script jp,然后提取成json jp,然后重新注入的时候报了这个错误,请问你有遇见过这种情况吗?
找到原因了,是因为vnt提取的时候把txt后缀删掉了,但是压回去的时候需要这个后缀
刚刚发现虽然压回去没有报错,但是文件和script jp里的一模一样,所以说还是压失败了,感觉还是得用你的工具去压回去
还是不行,没法用。 这个是我的文件,拜托大佬看一下是啥情况了 Seen.txt~.zip 麻烦您了
运行还是闪退吗?报错打印信息呢?
运行还是闪退吗?报错打印信息呢?
噢,忘记发了,抱歉
我因为用的是anaconda,所以没法直接跑那个bat脚本
python版本过低,要3.9以上。推荐是安装3.11,galTransl不支持3.12
python版本过低,要3.9以上。推荐是安装3.11,galTransl不支持3.12
我cmd是3.11的,但是没法装PyQt5,所以我才用的3.8
为啥没法装pyqt5,有报错吗?运行安装依赖那个脚本
为啥没法装pyqt5,有报错吗?运行安装依赖那个脚本
是会有报错,然后没法安装成功,所以我在anaconda装了,但是具体报什么错误我也有点忘记了,反正现在是没法装的,我记得我还特意去pyqt5的官网下载,也没有用,搜了很久说是python版本不兼容。
这个打印是说已经装过了啊,不是走的cmd吗? 你cmd是3.11的就用cmd运行bat。还是说因为cmd的pip是装到3.8的。 总之就是需要3.9以上,我平时是用的VSCode,VSCode的终端里可以切换python版本,如果你装了多个的话。
这个打印是说已经装过了啊,不是走的cmd吗? 你cmd是3.11的就用cmd运行bat。还是说因为cmd的pip是装到3.8的。 总之就是需要3.9以上,我平时是用的VSCode,VSCode的终端里可以切换python版本,如果你装了多个的话。
我知道他这个是什么意思,我cmd是python3.11装不了,也用不了那个pyqt5。但我现在用anaconda装了个python3.9,搞定了谢谢。这个reallive的暴力截断,应该是只影响提取不影响写入的吧。
我知道他这个是什么意思,我cmd是python3.11装不了,也用不了那个pyqt5。但我现在用anaconda装了个python3.9,搞定了谢谢。这个reallive的暴力截断,应该是只影响提取不影响写入的吧。
不是,是只影响写入,不影响提取,提取的时候勾不勾都不影响。
是写入的时候会截断和填充,让译文的字节长度和原文一致,就不会影响游戏读取文件里命令的偏移地址。
写入的时候要你自行勾选译文截断填充
我知道他这个是什么意思,我cmd是python3.11装不了,也用不了那个pyqt5。但我现在用anaconda装了个python3.9,搞定了谢谢。这个reallive的暴力截断,应该是只影响提取不影响写入的吧。
不是,是只影响写入,不影响提取,提取的时候勾不勾都不影响。 是写入的时候会截断和填充,让译文的字节长度和原文一致,就不会影响游戏读取文件里命令的偏移地址。
噢,我的意思是,把翻译好的json,回封成txt。就是我目前的方法就是用vnt提取文本,然后用galtransl翻译,然后把翻译好的json_cn和json_jp分别放入trans和orig这两个文件夹,然后再点击“提取/写入”。因为vntextpatch没法回封成txt
提取和写入要用相同工具。 因为json里边的信息是不足以直接生成txt的,json里只有文本文字信息。
提取和写入要用相同工具。 因为json里边的信息是不足以直接生成txt的,json里只有文本文字信息。
好吧,那也就是说,我无法使用vnt来提取文本了,因为vnt封不回去。。。
但既然json里面只有文本文字信息的话,只要我放入的是json,都可以封回去吧
那得VNT和SE提取的原文json是一样的才行啊,如果提取的原文内容都不一样就没法复用json。 倒不是说具体文字,如果拼接格式不一样也不行,\r\n是工具加的拼接符,如果拼接不一样就不能复用。 比如有两句话,有可能VNT拼接了但是SE没有,即使文字内容是一样的,但是行数就不一样了。
那得VNT和SE提取的原文json是一样的才行啊,如果提取的原文内容都不一样就没法复用json。 倒不是说具体文字,如果拼接格式不一样也不行,\r\n是工具加的拼接符,如果拼接不一样就不能复用。
是的,我发现了,点击“提取/写入”后,原先放在orig里的文件会被覆盖,导致行数不一样的没法被回封
是的,我发现了,点击“提取/写入”后,原先放在orig里的文件会被覆盖,导致行数不一样的没法被回封
可以用对比工具对比两个工具的原文json,如果差异不多的话也可以手动处理一下。如果已经翻译完了的话。
是的,我发现了,点击“提取/写入”后,原先放在orig里的文件会被覆盖,导致行数不一样的没法被回封
可以用对比工具对比两个工具的原文json,如果差异不多的话也可以手动处理一下。如果已经翻译完了的话。
嗯是的,目前只有这个办法了,意思就是说,我可以把vnt版本的json cn里多出来的句子合并成一个句子是吗?这样应该不会因为长度原因影响回封吧?
不一定是合并,是看差异,根据原文的差异去处理译文,最后译文和原文行数就一样了。
不一定是合并,是看差异,根据原文的差异去处理译文,最后译文和原文行数就一样了。
因为存在暴力截断,所以vnt提取的行数应该一定更长吧,所以我想的是用合并的方法
还有一种自动的方法,就是把galTransl的格式转成ainiee的。两个列表json合并成一个字典json,这样就不存在行数问题了,只是最后导入后会在字典末尾加上未翻译的。
您好,我打算使用您的工具提取Reallive引擎的文本(Seen.txt),工作目录底下就一个txt文件,选项如图所示,但是生成的文件夹是空文件夹,可以请您指导一下吗?