Giter VIP home page Giter VIP logo

sextractor's People

Contributors

allrobot avatar cosetto avatar satan53x avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

sextractor's Issues

关于编码和使用的查询

谢谢您制作这个工具,有些问题我想咨询一下。
我来这里是为了寻找Kaguya Engine游戏的有效Unpack工具,多亏了**室友,在一定程度上认识到了使用方法。

image

我想把日语翻译成韩语,中间过程可以正常进行。

image

tblstr.arc重新包装后运行游戏的话,虽然会输出韩语,但是部分文字不会输出,稍微进行一下就会发生Crash。

image
image

我正在使用的选项如下。
再次感谢您制造出这么好的工具。

我只能有限地听懂中文,别的不能做。 如果可以的话,下次开始可以用英语提问吗?

提取www/data时报错:TypeError: 'type' object is not subscriptable

{'file': 'json', 'workpath': 'F:/BaiduNetdiskDownload/MV20 りおんのご奉仕♡温泉/www/data', 'engineName': 'RPGMV', 'outputFormat': 0, 'outputPartMode': 0, 'nameList': '', 'regDic': '00_skip=^<.+?>$\n01_skip=^<code\n02_skip=^<(?=bgm|bgs|se|battleb)\n20_search=^<.+?>([\\S\\s]+)$\nextractKey=all\npostSkip=^[ -~]|_\n', 'outputFormatExtra': -1, 'encode': 'UTF-8', 'print': [False, True, True, True, True], 'splitParaSep': '\\r\\n', 'maxCountPerLine': 512, 'cutoff': False, 'cutoffCopy': True, 'noInput': False, 'splitAuto': False, 'ignoreSameLineCount': False, 'ignoreNotMaxCount': False, 'fixedMaxPerLine': False, 'binEncodeValid': False, 'pureText': False, 'tunnelJis': False, 'subsJis': False, 'transReplace': False, 'preReplace': False, 'skipIgnoreCtrl': False, 'skipIgnoreUnfinish': False, 'ignoreEmptyFile': True}
---------------------------提取或导入时发生错误---------------------------
Traceback (most recent call last):
  File "C:\Tools\H_RPG_TOOLS\其它解包工具\SExtractor的GalGame脚本提取和导入文本工具\main\thread.py", line 18, in run
    self.window.extractFileThread()
  File "C:\Tools\H_RPG_TOOLS\其它解包工具\SExtractor的GalGame脚本提取和导入文本工具\main\mainWindow.py", line 201, in extractFileThread
    mainExtractJson(args)
  File "./src\main_extract_json.py", line 54, in mainExtractJson
    mainExtract(args, parse)
  File "./src\main_extract.py", line 627, in mainExtract
    if initArgs(args) != 0: return
  File "./src\main_extract.py", line 555, in initArgs
    ret = chooseEngine(args)
  File "./src\main_extract.py", line 462, in chooseEngine
    module = import_module('extract_' + engineName)
  File "C:\Users\li\.conda\envs\python38\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "./src\extract_RPGMV.py", line 3, in <module>
    from extract_TXT import ParseVar, dealLastCtrl, searchLine, initParseVar
  File "./src\extract_TXT.py", line 31, in <module>
    def GetPos(var:ParseVar, searchData:str, r:re.Match[str], i):
TypeError: 'type' object is not subscriptable
--------------------------------------------------------------------------
异常中断文件名:
运行时间:0.01 秒

image

挑的MV游戏目录下的www/data文件夹,使用预配的MV规则,结果报错TypeError: 'type' object is not subscriptable

RPGMV引擎

我用SExtractor测试提取了多个RPGMV引擎的游戏,总结出了几个问题
1、当data目录下存在TrpParticles.json和ContainerProperties.json这两个文件之一时提取文本会导致程序崩溃
不知道这两个文件的作用,不过里面没有文本
报错信息

值查找失败, 请检查Json格式 -1
Traceback (most recent call last):
(省略)
    events = content['events']
KeyError: 'events'

顺带一提,在出现报错时能不能不关闭主窗口,因为自己编辑的正则不会及时保存,有时候因为上述问题或者编码选择错误导致丢失自己编辑的正则表达式
2、选择name,message导出格式,提取不出人名
extractName=^MapInfos|^(?!Map)的含义是从Map文件以外的文件里提取出人名吗?实在是不会用这个功能

Valkyria引擎

在正则预设里看到了Valkyria_ODN,问一下这个引擎的游戏有封包或者免封包的方法吗?
在网上没找到相关信息

Cyberworks引擎疑问……

Cyberworks引擎,导出为txt文档 { 文本 }格式,放上对应文本格式勾选填充为原文长度可以替换。
但用其他格式放上对应的译文文件写入都失败,包括json列表 [ { name : 名字, message : 带换行对话 } ]格式……都提示”译文为空,不替换“……
这应该怎么设置好……?

建议:更改安装依赖的方式为从requirements.txt安装

如题,原来安装依赖依靠bat批处理文件,但我观察到大部分项目将依赖储存在requirements.txt文件,我认为可以将安装依赖的方式改为更常见的为从requirements.txt安装。
作此更改,requirements.txt的内容(如果不能确定以后版本的依赖是否适用于该项目的代码,可以限定依赖的版本,格式示例:pyqt5==5.15.10):

pyqt5
colorama
pandas

安装依赖.bat的内容将被更改为:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install -r requirements.txt

译文存在未知符号就无法注入

分隔符是😅😅😅😅,但存在♪♡这类字符就无法注入了

  "勇太のニッコリ満面の笑みの背後に、赤黒いオーラが見える。": "在勇太咧嘴笑的背后,可以看到一股红黑色的气息。",
  "「……ひ、ひいいいいい………」": "「…唔、唔唔唔唔……」",
  "「そんな事はどーでもいいーーのデス! さ! 早くおイモ! 食べま😅😅😅😅しょう~っ! イモイモ♪ イモイモ♪ デ~~ス♪」": "「这种事情不重要!来!快吃马铃薯!吃吧~~!♡马铃薯♪马、\r\n铃薯♪♡」",
  "「……なんか怪しいなあ~ ま、いいか」": "「…有点可疑啊~嘛,算了」",

image

操作截图:
notepad++_0itPEv6Uhq

Kaguya引擎问题

2023年10月31日copy下来的版本能够正常写入译文,但是封包的.arc文件和.ari文件放回游戏目录后,在游戏文本中出现人名时就会卡死退出。

2024年1月15日copy下来的版本在写入译文时会直接报译文为空,不替换
image
且这种未经过替换就直接重新封包的arc和ari放回游戏目录也会出现上述游戏卡死问题。
这里附上我操作的游戏原文件:
tblstr.zip
游戏名:肉牝R30 肉欲に堕ちた牝たち

新一点的Kaguya引擎似乎只有arc文件,已经没有ari了,目前工具无法处理这类arc;例如:
tblstr(2).zip
游戏名:ペンペンペナルティ 箱入り娘たちをHにオシオキ

SExtractor 和VNT对RealLive文本的提取

一个裸足少女的游戏,用arc_conv解包,解密后用SExtractor和VNT都提了一遍,SExtractor好像大多数json里跟VNT比起来少提了一句或者有一句提取不完整,不过用VNT提的时候有些文件没法提取,可能是这个原因,哪怕没改文本用VNT写入用arc_conv封包后游戏也会闪退
SExtractor写入则没有这个问题
Seen.zip

部分翻译没有导入\r\n

导入时分隔符填的\r\n,新覆盖的transDic.output.json也表明有翻译:

  "「他に、と言われても、今はただ驚いてるんだ」": "「就算你说其他的,我现在也只是吃惊而已」",
  "「何かあるだろう、再会を喜ぶとか、感動するとか、いままでの事とか」": "「肯定有什么吧,像是为了再次相见而高兴,或者感动,或者是过去、\r\n的事情」",

但写到原脚本中,没有写入\r\n,如图所示:

notepad++_FLcSqoc1un

怎么回事?其它的\r\n都有注入好好的,这个就不行了

是因为原文本没有\r\n,所以译文就没有\r\n了?

这个写入\r\n没事啊,如图所示:
notepad++_bfK04o7sSK

HSP引擎制作的游戏不支持自动换行,\r\n前必须有中文符号,我就填,写了python脚本根据字数上限插入\r\n和中文标点,似乎原文有\r\n,译文能正常换行,原文没\r\n,译文就不能换行?

具体文件:
scenario.zip

進行BIN暴力提取,翻譯完替換截斷處被插入了判斷式

我提取的文本是BIN格式,我自己判斷每句文本都是[\x04-\x50]\x09開頭
所以嘗試寫了以下正則
00_skip=^\x81\x40\x00\x02\x0a
01_skip=^\x81\x40\x00
04_search=^(?P[\x40-\xFE])\x2f\x63\x00
10_search=^(?P[\x40-\xFE]
)\x00\x02\x0a
11_search=^(?P[\x40-\xFE]*)\x00$
separate=[\x04-\x50]\x09
文本算是有提取出,所以我判斷"separate=[\x04-\x50]\x09"應該有生效
並進行了翻譯,但在進行替換時,分割處被替換成了5B042D505D09([\x04-\x50]\x09)
這算是正常的嗎? 分割判斷是否不能這樣寫?
另外也想請教想要知道正則功能有哪些參數可以設定可以參考什麼資料或教學嗎?
像是separate或是ignoreDecodeError PostSkip這些,沒找到相關的文檔

打了强化补丁后,很多不显示中文了。

Cyberworks / CSystem
https://vndb.org/v32026
大佬你好。这个游戏Arc04解包出来的文本我都汉化完了。不打强化补丁时,全部显示正常。但打了强化补丁后,很多原来显示中文的地方都变回了日文,一段剧情中文。一段剧情日文这样。强化补丁多了两个文件:tumamituadd01.app和tumamituadd01.dat。请问,这种情况有解决办法吗?

UIF字体替换求助

我在尝试HOOK Valkyria引擎的一个游戏时候发现字体无法通过font_manager - resource_files替换(配置如下所示)。
字体直接安装到系统则能够实现JIS汉字转简中。由于游戏不可能默认读取文泉驿,所以我认为spoof_creation部分应该是正常工作的。

{
  "injector": {
    "enable": true,
    "print_loaded_modules": false
  },
  "allocate_console": true,
  "font_manager": {
    "enable": true,
    "resource_files": [
      "./fonts/WenQuanYi_CNJP.ttf"
    ],
    "spoof_enumeration": {
      "enable": false,
      "filter_pitch_and_family": 0,
      "filter_charset": 0,
      "spoof_charset": 128
    },
    "spoof_creation": {
      "enable": true,
      "override_face": "WenQuanYi Micro Hei",
      "override_charset": 128
    }
  },
  "locale_emulator": {
    "enable": true,
    "codepage": 932,
    "locale": 1041,
    "charset": 128,
    "timezone": "Tokyo Standard Time",
    "wait_for_exit": false
  }
}

请问能提供一些建议吗,以下是启动时的console:

[injector] ======================================================
[injector] Injecting into module VAL-0042.exe at address 00F80000
[injector] Loading original library from C:\Windows\system32\winmm.dll
[font_manager] Imported 2 font(s) from ./fonts/WenQuanYi_CNJP.ttf
[font_manager] Unable to hook import CreateFontA because it does not exist
[font_manager] Unable to hook import CreateFontW because it does not exist
[font_manager] Hooking import CreateFontIndirectA in VAL-0042.exe at 0103706C --> 57F768C0
[font_manager] Unable to hook import CreateFontIndirectW because it does not exist
[font_manager] Unable to hook import CreateFontIndirectExA because it does not exist
[font_manager] Unable to hook import CreateFontIndirectExW because it does not exist
[locale_emulator] Codepage 932 matches expectation
[injector] Initialization complete
[injector] ======================================================

游戏的exe文件,需要的话可以传游戏本体:
链接:https://pan.quark.cn/s/88a5e60ade76
提取码:NRmt
解压密码:test

SiglusEngine引擎

您好,又有事要麻烦您了。就是我使用dump ss(copy text)生成很多.ss.txt文件,但是提取之后,发现得到的txt没有name,都只有message。
AMWW VFRW(}8N~RCPK9JE%Q
请问是我有啥操作不对吗?

希望增加提取功能

如果文本行混杂的代码过多,而且没有明显固定位置的话
需要二次甚至更多次提取才能完整过滤出代码。
比如在一行中出现多个换行符和<>标签,unfinish的命名分组对于固定位置的代码能够很好的处理,但是如果位置和数目随机的话就很麻烦了。应该只能写多个search分别考虑到所有情况。

所以希望新设立一个命名分组和一个对应的skip,这个skip用于跳过行内的代码部分。例如:
<a>文本1<b>\n文本2<c><d>
先用search将这行归入那个新的命名分组,然后对这个分组用\\n|<.+?>跳过代码部分,最后导出的文本就是完全不含代码的。

不知道这样的想法容不容易实现

JSON导入时存在翻译没有注入的情况,反而注入的是原文

  1. 字典json不会重复Key值,如果转换前同时存在【AAA】和AAA,输出会是同一个AAA。所以行数减少是正常情况。

注入后,有些翻译没有注入
原文件的某行: "「…んう…あ、ぁん……ダメ、んうぅ…コレ、く、癖になっちゃう…\r\nふあぁん…」": "",
ctrl目录的transDic.json的某行: "…んう…あ、ぁん……ダメ、んうぅ…コレ、く、癖になっちゃう…\r\nふあぁん…": "嗯呜…啊,啊啊……不行,嗯呜呜…这个,成了习惯了…\r\n呼啊啊…",
工具导入后的新增transDic.output.json文件的某行 "…んう…あ、ぁん……ダメ、んうぅ…コレ、く、癖になっちゃう…\r\nふあぁん…": "嗯呜…啊,啊啊……不行,嗯呜呜…这个,成了习惯了…\r\n呼啊啊…",

在new目录下的文件中,文件中的某行变成了: "「…んう…あ、ぁん……ダメ、んうぅ…コレ、く、癖になっちゃう…\r\nふあぁん…」": "「…んう…あ、ぁん……ダメ、んうぅ…コレ、く、癖になっちゃう…\r\nふあぁん…」",

这个为什么没有导入翻译,反而注入的是原文?

需要做什么才能使翻译项目注入到对应的原文呢

json_jp.zip

scenario.zip

Originally posted by @allrobot in #45 (comment)

SYSTEMC 无法提取

Traceback (most recent call last):
File "D:\汉化工具\SExtractor-main\main\thread.py", line 18, in run
self.window.extractFileThread()
File "D:\汉化工具\SExtractor-main\main\mainWindow.py", line 198, in extractFileThread
mainExtractBin(args)
File "D:\汉化工具\SExtractor-main./src\main_extract_bin.py", line 82, in mainExtractBin
mainExtract(args, parse, initDone)
File "D:\汉化工具\SExtractor-main./src\main_extract.py", line 641, in mainExtract
parseImp()
File "D:\汉化工具\SExtractor-main./src\main_extract_bin.py", line 61, in parse
var.parseImp(var.content, var.listCtrl, dealOnce)
File "D:\汉化工具\SExtractor-main./src\extract_SystemC.py", line 13, in parseImp
re.compile(rb'^[A-Za-z/*]', rb'^$')
File "C:\Users\Learner G\anaconda3\Lib\re_init_.py", line 227, in compile
return compile(pattern, flags)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Learner G\anaconda3\Lib\re_init
.py", line 287, in _compile
if flags & T:
~~~~~~^~~
TypeError: unsupported operand type(s) for &: 'bytes' and 'RegexFlag'

脚本提取和回写问题

我面对的一个脚本:提取时出现大量提取时原文为空,但可以正确提取出文本。
翻译完成后的文本无法正确写回,提示译文为空,不替换
脚本格式类似如下

#MESSAGE
>-1
name1 or EMPTY_LINE
>-1
message1
#OTHER_CONTROL_COMMAND or NONE
#MESSAGE
...

考虑处理多行文本所以选择了BIN引擎,并勾选BIN启用纯文本正则模式
我的正则表达式:

10_search=>-1\r\n(?P<name>.*)\r\n>-1\r\n(?P<msg>[\S\s]+?)(?:\r\n#|$)
separate=\r\n#MESSAGE\r\n

您要是方便能否帮忙看下?
脚本文件
链接:https://pan.quark.cn/s/4c065975b752
提取码:upiF
解压码:test

如何处理使用双空行来更换段落的文本

我遇到了类似这样的文本,使用两行空行换段而不是特定的格式控制符。

AAAAAA
BBBBBB


DDDDDD


【NAMEa】
「EEEE
   EEEE
   EEEE」


【NAMEb】
「FFFFF」


GGGGGGG

期望的输出是

[
  {
    "message": "AAAAAA\r\nBBBBBB"
  },
  {
    "message": "DDDDDD"
  },
  {
    "name": "NAMEa",
    "message": "「EEEE\r\nEEEE\r\nEEEE」"
  },
  {
    "name": "NAMEb",
    "message": "「FFFFF」"
  },
  {
    "message": "GGGGGGG"
  }
]

选用的引擎是TXT,正则表达式是

00_skip=^[;#/]
02_search=^【(?P<name>.+)】$
11_search=^(?P<unfinish>.+)$

得到的输出是

[
  {
    "message": "AAAAAA\r\nBBBBBB\r\nDDDDDD"
  },
  {
    "name": "NAMEa",
    "message": "「EEEE\r\n   EEEE\r\n   EEEE」"
  },
  {
    "name": "NAMEb",
    "message": "「FFFFF」\r\nGGGGGGG"
  }
]

我尝试了在表达式中使用\n来实现需求,但不起作用。
请问我该如何修改表达式来实现期望的输出?

UIF无法生效

satan53x大 您好~
きみはぐ
引擎是QLIE
請問有辦法支援這遊戲嗎?
或者有其他支持中文顯示的方法?
謝謝!

“生成VNT的JIS隧道” 功能

我这里的一个游戏使用SJIS编码的脚本。将提取的UTF-8JSON文件翻译成中文后,将将其应用回脚本中。
我在下面选中的TXT编码cp932,程序报错:

UnicodeEncodeError: 'cp932' codec can't encode character '\u55ef' in position 10: illegal multibyte sequence

我希望使用VNTextProxy对程序hook以实现中文显示,由于上面的报错,我尝试将原始脚本手动更改为UTF-8编码,并在下面也选中UTF-8编码,并勾选JIS配置中的生成VNT的JIS隧道选项。翻译正确应用到了脚本,但程序生成的sjis_ext.bin文件大小为0。

请问一下tools目录下的Font用法

游戏在用UniversalInjectorFramework的时候会字体会一粗一细,
image
font_manager里面的override_face改黑体没用,就想问问这个不用安装字体就加载怎么操作,(安装了倒是能用)
image

关于txt多行重新分割

好像是按标点和行数来的,「」 遇到这种符号在头尾,中间没有标点的可能会单独一个「分成一行,能不能设置成按原文行数尽量均分字符

关于kaguya填充截断

游戏是霧谷伯爵家の六姉妹,TBLSTR.ARC型
这游戏的每行最大字符数是25(应该),但是原文也有不足25就加\r\n分割的句子,我就想测试将这样的句子改成25分割看看会不会报错,于是在有一句24分割处删掉了\r\n,结果导入时提示译文超出原文长度。
但是导入游戏可以正常运行,那句话也正常25分割,感觉只是个提示bug
屏幕截图 2023-10-26 214026

无法添加regex规则

image

C:\Tools\H_RPG_TOOLS\其它解包工具\SExtractor的GalGame脚本提取和导入文本工具>C:\Users\li\.conda\envs\python311\python.exe run.py
qt.qpa.fonts: Unable to enumerate family ' "Kingnamtype Rounded Sinoheadline" '
Traceback (most recent call last):
  File "C:\Tools\H_RPG_TOOLS\其它解包工具\SExtractor的GalGame脚本提取和导入文本工具\main\mainWindow.py", line 181, in selectReg
    text = key + '=' + value + '\n'
           ~~~~~~~~~~^~~~~~~
TypeError: can only concatenate str (not "list") to str
请按任意键继续. . .

reg.ini添加自定义的regex,尝试让界面添加选择匹配规则的regex,结果报错can only concatenate str (not "list") to str

添加选择匹配规则需要注意哪些事项?

二次过滤JSON,没有提取\r\n,regex写错了?

python_uRlvgIJMWh

原文:
transDic.output.json

100_search=「(.*?)」
101_search=『(.*?)』
102_search=【(.*?)】
103_search=(.*?)$

JSON引擎
原来的json共1614行,过滤后只剩1500多行,提取的每行缺失\r\n
提取后:
transDic.output.json

换TXT引擎提取

000_skip=^[\{\}]
100_search=(?<=  "「)(.*?)(?=」":)
101_search=(?<=  "『)(.*?)(?=』":)
102_search=(?<=  "【)(.*?)(?=】":)
103_search=(?<=  ")(.*?)(?=":)

提取后只剩1604行,其中的\r\n变成\\r\\n

TXT提取后:
transDic.output.json

应该是regex写错了,不太想看源代码如何定义,直接问比较省事

JSON和TXT的正则表达式应该怎么写能过滤「」『』【】?

Reallive引擎

QK6E Y9F%Z5%WU2$2VWAMAW
您好,我打算使用您的工具提取Reallive引擎的文本(Seen.txt),工作目录底下就一个txt文件,选项如图所示,但是生成的文件夹是空文件夹,可以请您指导一下吗?

请问krkr2这种模式的脚本如何提取文本?

屏幕截图 2023-10-04 222111
如图,它的旁白有个Talk name=心の声,这个翻译成其它东西的话会被识别成人名显示(不翻译就不显示),有没有什么设置方法能让Talk name=心の声的语句提取为旁白的同时也能正常提取到其他人名?游戏是間宮くんちの五つ子事情

CSV文件导入JSON时报错IndexError: index 8 is out of bounds for axis 0 with size 5

transDic.json

CSV文件
00000001.csv

CSV导出为JSON,CSV引擎,编码UTF-8-SIG,分隔符⚔,正则表达式:

22_search=^([\s\S]+)$
extraData=^Original text$
writeOffset=4
sample=<不要启用纯文本模式>

JSON导入到CSV,正则表达式:

22_search=^([\s\S]+)$
extraData=^Original text$
writeOffset=5
sample=<不要启用纯文本模式>

报错:

---------------------------------
{'file': 'txt', 'workpath': 'F:\\BaiduNetdiskDownload\\[Nighthawk] Complete series ストッピング 13 [4G]\\ストッピング!!! 陸上競技編\\stopping_extract\\翻译工程', 'engineName': 'CSV', 'outputFormat': 3, 'outputPartMode': 0, 'nameList': '', 'regDic': '22_search=^([\\s\\S]+)$\nextraData=^Original text$\nwriteOffset=4\nsample=<不要启用纯文本模式>\n', 'outputFormatExtra': -1, 'encode': 'UTF-8-SIG', 'print': [False, True, True, True, True], 'splitParaSep': '⚔', 'maxCountPerLine': 365, 'cutoff': False, 'cutoffCopy': True, 'noInput': False, 'splitAuto': False, 'ignoreSameLineCount': False, 'ignoreNotMaxCount': True, 'fixedMaxPerLine': True, 'binEncodeValid': False, 'pureText': False, 'tunnelJis': False, 'subsJis': False, 'transReplace': True, 'preReplace': False, 'skipIgnoreCtrl': False, 'skipIgnoreUnfinish': False, 'ignoreEmptyFile': True}
正则规则: 22_search ^([\s\S]+)$
正则规则: extraData ^Original text$
正则规则: writeOffset 4
读入Json:  176 transDic.json
---------------------------提取或导入时发生错误---------------------------
Traceback (most recent call last):
  File "C:\Tools\H_RPG_TOOLS\其它解包工具\SExtractor的GalGame脚本提取和导入文本工具\main\thread.py", line 18, in run
    self.window.extractFileThread()
  File "C:\Tools\H_RPG_TOOLS\其它解包工具\SExtractor的GalGame脚本提取和导入文本工具\main\mainWindow.py", line 197, in extractFileThread
    mainExtractTxt(args)
  File "C:\Tools\H_RPG_TOOLS\其它解包工具\SExtractor的GalGame脚本提取和导入文本工具\./src\main_extract_txt.py", line 70, in mainExtractTxt
    mainExtract(args, parse)
  File "C:\Tools\H_RPG_TOOLS\其它解包工具\SExtractor的GalGame脚本提取和导入文本工具\./src\main_extract.py", line 644, in mainExtract
    parseImp()
  File "C:\Tools\H_RPG_TOOLS\其它解包工具\SExtractor的GalGame脚本提取和导入文本工具\./src\main_extract_txt.py", line 57, in parse
    write() #写入
    ^^^^^^^
  File "C:\Tools\H_RPG_TOOLS\其它解包工具\SExtractor的GalGame脚本提取和导入文本工具\./src\main_extract_txt.py", line 23, in write
    replace()
  File "C:\Tools\H_RPG_TOOLS\其它解包工具\SExtractor的GalGame脚本提取和导入文本工具\./src\main_extract.py", line 406, in replace
    ret = var.replaceOnceImp(var.content, [ctrl], [trans])
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Tools\H_RPG_TOOLS\其它解包工具\SExtractor的GalGame脚本提取和导入文本工具\./src\extract_CSV.py", line 81, in replaceOnceImp
    strOld = content.iat[contentIndex, colIndex + writeOffset]
             ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\li\.conda\envs\python311\Lib\site-packages\pandas\core\indexing.py", line 2527, in __getitem__
    return self.obj._get_value(*key, takeable=self._takeable)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\li\.conda\envs\python311\Lib\site-packages\pandas\core\frame.py", line 4199, in _get_value
    series = self._ixs(col, axis=1)
             ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\li\.conda\envs\python311\Lib\site-packages\pandas\core\frame.py", line 3996, in _ixs
    label = self.columns[i]
            ~~~~~~~~~~~~^^^
  File "C:\Users\li\.conda\envs\python311\Lib\site-packages\pandas\core\indexes\base.py", line 5389, in __getitem__
    return getitem(key)
           ^^^^^^^^^^^^
IndexError: index 7 is out of bounds for axis 0 with size 5
--------------------------------------------------------------------------
异常中断文件名: 00000001.csv
运行时间:0.039 秒

怎么把JSON的key值正确导入到CSV的Translated text这个第五列?我把writeOffset改5或4都是报错的,删掉分隔符后是不报错了,但4或5翻译没有导入到CSV

大佬有空可以解析一下MED的脚本吗

解包得到的脚本虽然是明文,但直接提取不会包含对话框的角色名(只有该文件第一次出现的角色名才会提取)。
比如:

巫小耶
「……ち、茅南……はぁ、はぁ……茅南……っ……
 ダメ……戦って……私はいいから、た、戦って……」
半ば意識を失ったままの巫小耶の、かすれた声が聞こえて
「く、くぅっ……本当……ですか?
 本当に、巫小耶ちゃんには何もしないと……約束して
 くれますか?」
「ああ、約束するぜ。
 お前がおとなしくなるんなら、倒れてる奴なんか
 襲っても意味ねえだろ?」

角色名巫小耶只出现了一次。

正则表达式匹配了整行,没有匹配部分字符串

notepad++_utrvyIIxO7

notepad编辑器能正常捕获后尾的字符串,但SExtractor似乎把整行给捕获了,添加()一个捕获组无济于事

为什么(?<=0,0,)([^,]+)$反向肯定预查直接捕获了整行字符呢,如何只匹配后尾的字符串呢?

image

NekoSDK提取/回嵌出现错误

image
如上图,这部分的文本在游戏内无法正常显示,原因不明。
表现为播放时完全不显示,查看log时则是显示日文未替换的部分。
image
在对文本日语部分进行了二进制替换后,游戏则会直接崩溃。
请问这是游戏自身的问题还是导入导出问题?

Reallive引擎文本封包

游戏是新妻こよみ
(官方最新的修正补丁的txt貌似去除了二次加密)
无论是选中全部子txt文件,还是放到一个文件夹拖到exe/bat都没有用,是不是这个封不了还是我的用法不对
用的VNT提取和导入的,因为我发现SE在第一处就少了一句
5770139365f2e2c2bdaedc1f4d7819ae
489d7250ada330764709c3111e3f0173
顺便贴一下最新的txtSeen.txt

unfinish未结束对话(导出时与下一行合并),关于断行的问题

使用表格翻译工具 https://github.com/NEKOparapa/AiNieehttps://github.com/cx2333-gt/GalTransl 每次并行发送十几个翻译请求,由于xlsx存在断行的问题,翻译容易引发误翻的问题

「…んう…あ、ぁん……ダメ、んうぅ…コレ、く、癖になっちゃう…
ふあぁん…」

断行翻译成这样:

……嗯…啊,啊呜……不行,嗯……这个,可恶,会上瘾的…
粉丝…

实际上准确翻译是

「嗯呐...啊,啊呜......不行,嗯呐呜...这个,会上瘾的...
呼啊呜...」

虽然能用python写个脚本把一堆明文脚本过滤一遍,然后把「」『』【】这些括号其中的\n去掉,然后用工具提取就可以,翻完了写入到脚本中,根据原文脚本的原文第xx行的日语字数上限,给译文脚本的第xx行的译文长度进行断行(和原文脚本的line行号一致,若译文长度没超出原文第xx行的日语字数上限,则不断行)

但这样稍微有些不便,设置能否加入一个勾选选项,unfinish未结束对话合并为一行,使用两个AI翻译工具就方便多了,不会引发误翻的问题

原文:
image

导出的xlsx:
image

Extract Scenario from Cyberworks

I tried to extract the game scenario using default setting and the default regex, Cyberworks JIS
10_search=^(?P【.+?】)
15_search=^(?P.+?)[\xFE]{0,1}$

it will throw error "UnicodeDecodeError: 'cp932' codec can't decode byte 0x84 in position 1935: illegal multibyte sequence
decoding with 'cp932' codec failed"

Then, I tried to change "?" with "?"
Screenshot_15

It went to the end, but the output only "{}" in every output file

Screenshot_14

Did I use wrong setting somewhere?

运行bat提示报错

你好,我这边是直接整包直接下载下来的,先安装成功了环境,然后运行了run.bat.
并没有窗口弹出来,直接提示有函数未找到,能看看是什么原因吗
Snipaste_2024-03-03_17-46-42

请求更改CSV的导出格式

用pylivemaker导入csv,但是并没有导入

pmrowla/pylivemaker#134 (comment)

询问作者后,说是CSV格式有问题,应该用""双引号表示单元格的内容,虽然excel能正常打开,但有些第三方库识别不了不带"双引号的CSV格式,为了避免麻烦,建议导出为csv格式文件应添加双引号"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.