KeyFC欢迎致辞,点击播放
资源、介绍、历史、Q群等新人必读
KeyFC 社区总索引
如果你找到这个笔记本,请把它邮寄给我们的回忆
KeyFC 漂流瓶传递活动 Since 2011
 

請教如何解開SEEN.TXT

[ 16767 查看 / 11 回复 ]

大家好
我才加入沒多久
若有什麼地方做錯還請各位不吝批評指教

我現在正在玩AIR
已裝上貴Club所推出的補丁
可使用
但我想嘗試自行更改人物的對話

無論用notepad或十六進位編輯程式開啟SEEN.TXT都一堆亂碼
只能看到一些像SEEN030.TXT
後來得知SEEN.TXT有編碼過

我已下載RLDev
但 kprl -d SEEN.TXT(原日文版)出現錯誤訊息
Error: not a bytecode file.
不太會用

請教高手
要如何才能解出SEEN.TXT的內容?
還有更改後要如何存回去?
分享 转发
TOP

回复:請教如何解開SEEN.TXT

你可以把系统的区域语言中的《高级》选项简体中文选成日语的 !
然后把xp的安装盘放在里面按照提示就可以了!
但再重起之后只支持日文的!
简体的都读不出来了!
要有思想准备啊
TOP

回复:請教如何解開SEEN.TXT

改過來了
現在是可以用日文版玩
但RLDev仍出現同樣的錯誤訊息...
TOP

回复: 請教如何解開SEEN.TXT

原帖由 ahbi0302 于 2007-7-5 18:36:00 发表
大家好
我才加入沒多久
若有什麼地方做錯還請各位不吝批評指教

我現在正在玩AIR
已裝上貴Club所推出的補丁
可使用
但我想嘗試自行更改人物的對話

無論用notepad或十六進位編輯程式開啟SEEN.TXT都一堆亂碼......



楼主语句写的不对....

解包顺序是这样的
开始  运行  cmd

set RLDEV=x:\RLdev                      <===设置解包路径  kprl程序需要找一些库文件所以一定要设  注意大小写区分
x:
cd\
cd RLdev
cd bin
kprl -o xxxx -d x:\xxx\seen.txt                    -o 参数后面跟 解包后文件存放目录  最后的 x:\xxx\seen.txt  是seen.txt存放的路径 请根据实际情况更改

到这里seen.txt就解开了  在解包的文件夹中 可以找到 SEEN####.ke SEEN####.sjs 文件
想要更改对话的地方都在*.sjs 文件中
具体要更改的包 这样查找  进入游戏前 配置游戏目录中的GAMEEXE.INI 文件  打开后在最后一行添加  #MEMORY = 1 进入调试模式运行游戏

然后再进行游戏  在游戏窗口标题拦就会出现现在正在进行中的seen

回到解包文件夹 打开对应的SEEN####.sjs 文件 更改即可  (日文版的游戏需要用Microsoft AppLocale用日文语言打开notapad.exe 然后再用notepad.exe打开sjs文件 或者设置windows为日区)

sjs文件更改保存后 需要再编译
cmd 下进入RLdev\bin 文件夹  具体进入方法参考上方
for %a in (xxx\*.ke) rlc %a
完成后
解包文件中 会出SEEN####.txt 文件

打包
进入程序文件夹方法参考上方
kprl -a seen.txt xxx\*.txt                                  seen.txt 为打包后的文件名 不设置路径即存在程序目录下        xxx\*.txt  xxx为解包的路径


整个过程就是这样了....  搂主自己多研究吧
TOP

回复:請教如何解開SEEN.TXT

赫赫,楼主说的是AVG32的脚本,RLDev只是针对AVG2000/Reallive引擎的。

这种原始的格式,只有有限的几种工具,而且大部分都已经失传了。
事隔这么多年,具体指令我基本忘光了。
但是,如果你实在想改文字,而且愿意写程序的话,我倒是可以给你相关资料。

** 广告模式 **
试试我N年前写的这个工具,可以满足你的求知欲(不过只能读,不能改):
AVG32脚本解析工具

使用方法请参阅:
初回版说明(基本操作方法)
修订版说明(更新部分操作)
最后编辑Prz 最后编辑于 2007-07-11 12:31:05
飛べない翼に、意味はあるんでしょうか?
TOP

回复: 請教如何解開SEEN.TXT

千砂与美纱的神隐 你好. 我是新来的.

这几天我在找 关于一些 AVG 引擎的资料. 我想获得一些有关老版 AIR 使用的 AVG32 引擎在脚本解析方面的文档资料. (关于 PDT 的格式以及解压缩部分已经解决了). 希望你能提供. pi3orama@gmail.com, 谢谢.

另外你当年是通过逆向工程分析脚本的, 还是有 Kpacx 的源码? 后者似乎已经找不到了. 我是最近才知道有 rldev 和一系列开源的 AVG 引擎的, 前一段时间一直在反汇编+调试.
最后编辑Serw 最后编辑于 2007-07-11 16:28:51
TOP

回复: 請教如何解開SEEN.TXT

另外 LZ 如果只是想修改文字, 可以看看 xclannad 的代码,  ARCINFO_AVG32::ExecExtract 及相关函数.
最后编辑Serw 最后编辑于 2007-07-11 16:19:50
TOP

回复:請教如何解開SEEN.TXT

...嗯
謝謝樓上大大們的指導
不好意思今天才看到...
TOP

回复:請教如何解開SEEN.TXT

楼上的楼上,rldev里面的那段仅仅是从SEEN.TXT解出单独脚本而已,不能用来直接修改文字。
因为脚本里面包含着许多跳转指令,如果改变了文本而不改变跳转目标地址的话,引擎会"死火"的。

解密: 以下是我N年前苦心搜索整理的AVG32全指令集(基本上是全的,不作保证)

事实上,上面的AVG32脚本解析工具也就是根据这个指令集实现的。
当然,要实现脚本解析,还需要一些更加细节的信息。
这些在我收集的日本牛人为非Windows/Intel 系统/平台写的AVG32兼容引擎中都有详细的实现。
但是因为直接编译多半是不行的,需要人工阅读理解源码,然后自己再实现才行。
  1. 资料的格式为:

  2. 主指令        类型        说明

  3.                 [副指令]        具体说明

  4.                         [子指令]        具体说明



  5. 注意: 禁止无断转载;仅供个人研究学习之用,禁止用于任何其他用途!



  6. $01        User        等待鼠标点击, 然后清除文字

  7. $02        Text        换行

  8.                 $01        清除缩进

  9.                 $02        保留缩进

  10.                 $03        未知

  11. $03        User        等待点击, 然后接着显示

  12. $04        Text        隐藏文本窗口

  13.                 $01        清除消息缓存

  14.                 $02        特效隐藏并清除消息缓存

  15.                 $03        重绘窗口并清除消息缓存

  16.                 $04        等待鼠标点击并清除消息缓存

  17.                 $05        清除消息缓存,但不隐藏窗口

  18. $05        Text        特效文本

  19.                 $01 $11 普通文本

  20.                 $02 $12        两倍大文本

  21. $0B        Graphic        PDT图像

  22.                 $01 $03 $05        以指定编号的特效显示

  23.                 $02 $04 $06        以指定参数的特效显示

  24.                 $08        显示屏后缓冲

  25.                 $09        直接显示画像不屏后缓冲

  26.                 $10        仅载入屏后缓冲

  27.                 $11        载入图像缓存

  28.                 $13        清空图像缓存

  29.                 $22        载入并显示多幅PDT图像 (底图为文件)

  30.                         $01        直接显示

  31.                         $02        以选定区域大小显示

  32.                         $03        以指定区域大小显示

  33.                         $04        以指定区域大小和参数显示

  34.                 $24        载入并显示多幅PDT图像 (底图为缓存)

  35.                         $01        直接显示

  36.                         $02        以选定区域大小显示

  37.                         $03        以指定区域大小显示

  38.                         $04        以指定区域大小和参数显示

  39.                 $30        清除宏缓存

  40.                 $31        清除指定宏

  41.                 $32        宏操作

  42.                 $33        将宏数量写入变量

  43.                 $50        保存屏后缓冲

  44.                 $52        指定编号的特效显示屏后缓冲

  45.                 $54        以另一文件的Mask显示屏后缓冲

  46. $0C        Anime        动画播放

  47.                 $10        从指定位置开始播放

  48.                 $12        动画文件分段播放

  49.                 $13        初始化动画计时器

  50.                 $16        从指定位置开始带参数播放

  51.                 $18        从头开始带参数播放

  52.                 $20 $24        停止动画分段播放段落

  53.                 $21 $25        清空动画分段播放缓存并停止播放

  54.                 $30        动画文件分段播放 (同步语音)

  55. $0E        Sound        播放声音

  56.                 $01        循环播放CD

  57.                 $02        播放CD并等待

  58.                 $03        播放CD

  59.                 $05        渐入循环播放CD

  60.                 $06        渐入播放CD并等待

  61.                 $07        渐入播放CD

  62.                 $10        渐出停止CD

  63.                 $11        停止CD

  64.                 $12        CD寻址播放

  65.                 $20        播放KOE文件并等待

  66.                 $21        播放KOE文件

  67.                 $22        播放KOE文件 (付参数)

  68.                 $30        播放WAV文件

  69.                 $31        播放WAV文件 (付参数)

  70.                 $32        循环播放WAV文件

  71.                 $33        循环播放WAV文件 (付参数)

  72.                 $34        播放WAV文件并等待

  73.                 $35        播放WAV文件并等待 (付参数)

  74.                 $36        停止WAV

  75.                 $37        停止WAV (付参数)

  76.                 $38        停止WAV

  77.                 $39        更改PCM播放方式 (付参数)

  78.                 $3A        更改PCM播放方式 (付编号)

  79.                         #        Bits        Hz        Channel

  80.                         $0        8        11025        2

  81.                         $1        16        11025        2

  82.                         $2        8        22050        2

  83.                         $3        8        44100        2

  84.                         $4        16        44100        2

  85.                         $5        16        22050        2

  86.                 $44        播放SE文件 (GAMEEXE.INI中指定)

  87.                 $50        播放AVI文件

  88.                 $51        循环播放AVI文件

  89.                 $52        播放AVI文件并等待,鼠标终止不能

  90.                 $53        播放AVI文件并等待,鼠标终止可

  91.                 $54        播放AVI文件并等待,鼠标终止不能 (付参数)

  92.                 $55        播放AVI文件并等待,鼠标终止可 (付参数)

  93.                 $60        停止AVI

  94.                 $61        暂停AVI

  95.                 $62        继续AVI

  96.                 $70-$73        播放MPEG文件

  97.                 $78        停止MPEG

  98. $10        Text        作为图像写入

  99.                 $01        将变量写为文字

  100.                 $02        将变量写为文字 (指定位数)

  101.                 $03        将编号的字符串写入

  102. $11        Graphic        图像渐变

  103.                 $01        全屏渐变 (指定色彩编号)

  104.                 $02        全屏渐变 (指定色彩编号,速度)

  105.                 $03        全屏渐变 (指定色彩参数)

  106.                 $04        全屏渐变 (指定色彩参数,速度)

  107.                 $10        高速全屏渐变 (指定色彩编号)

  108.                 $11        高速全屏渐变 (指定色彩参数)

  109. $15        Jump        条件转移

  110. $16        Jump        $01        跳入脚本

  111.                 $02        嵌套脚本

  112. $17        Graphic        $01        画面摇动 (指定参数)

  113. $18        Text        $01        改变字符颜色

  114. $19        Wait        $01        等待指定时间

  115.                 $02        等待指定时间,鼠标终止可

  116.                 $03        设定基准时间

  117.                 $04        等待指定基准时间差

  118.                 $05        等待指定基准时间差,鼠标终止可

  119.                 $06        将基准时间写入变量

  120.                 $10        允许显示文字

  121.                 $11        禁止显示文字

  122.                 $12        暂停显示文字 (?)

  123.                 $13        完成显示文字

  124. $1B        Jump        脚本内嵌入跳转

  125. $1C        Jump        无条件跳转

  126. $1D        Jump        查表格条件嵌入跳转

  127. $1E        Jump        查表格条件跳转

  128. $20        Jump        $01        返回同一嵌入脚本

  129.                 $02        返回前一嵌入脚本

  130.                 $03        取消上一嵌入

  131.                 $06        取消所有嵌入

  132. $37        Var        Bit变量赋值

  133. $39        Var        Bit变量复制

  134. $3B        Var        整数变量赋值

  135. $3C        Var        整数变量+

  136. $3D        Var        整数变量-

  137. $3E        Var        整数变量*

  138. $3F        Var        整数变量/

  139. $40        Var        整数变量%

  140. $41        Var        整数变量AND

  141. $42        Var        整数变量OR

  142. $43        Var        整数变量XOR

  143. $49        Var        整数变量复制

  144. $4A        Var        整数变量+整数变量

  145. $4B        Var        整数变量-整数变量

  146. $4C        Var        整数变量*整数变量

  147. $4D        Var        整数变量/整数变量

  148. $4E        Var        整数变量%整数变量

  149. $4F        Var        整数变量AND整数变量

  150. $50        Var        整数变量OR整数变量

  151. $51        Var        整数变量XOR整数变量

  152. $56        Var        随机Bit变量

  153. $57        Var        随机整数变量

  154. $58        Select        $01        开新窗口选择

  155.                 $02        本窗口选择

  156.                 $04        打开Load菜单

  157. $59        String        字符串操作

  158.                 $01        字符串赋值

  159.                 $02        字符串长度写入变量

  160.                 $03        字符串比较结果写入变量

  161.                 $04        字符串连接

  162.                 $05        字符串复制

  163.                 $06        变量写入字符串 (10/16进制)

  164.                 $07        字符串转换到全角

  165.                 $08        字符串写入变量

  166. $5B        Var        $01        设定多个整数变量

  167.                 $02        设定多个Bit变量

  168. $5C        Var        $01        统一多个整数变量

  169.                 $02        统一多个Bit变量

  170. $5D        Var        $01        多个整数变量顺序复制

  171.                 $02        多个Bit变量顺序复制

  172. $5E        Var        $01-$04        获得当前日期时间

  173.                 $10        获得当前脚本ID

  174. $5F        Var        多变量统计操作

  175.                 $01        多变量求和

  176.                 $10        计算变量百分比

  177.                 $20        多变量变值赋值 (付初始值,差值表)

  178. $60        System        $02        载入进度

  179.                 $03        保存进度

  180.                 $04        设定窗口标题

  181.                 $05        弹出菜单

  182.                 $20        结束游戏

  183.                 $30        设定储存进度标题

  184.                 $31        检查储存进度

  185.                 $35        检查储存进度标题

  186.                 $36        获取储存进度日期

  187.                 $37        获取储存进度时间

  188. $61        System        名称操作

  189.                 $01        名称输入框

  190.                 $02 $03        保存输入名称

  191.                 $04        输入框关闭

  192.                 $11        名称赋值

  193.                 $10 $12        获得名称

  194.                 $20        输入名字

  195.                 $21        选择名字

  196.                 $22        输入姓名

  197. $63        Graphic        图像Get/Put

  198.                 $01        Get PDT图像

  199.                 $02        Put PDT图像

  200. $64        Graphic        图像处理

  201.                 $02        清除指定区域内容

  202.                 $04        画方框直线

  203.                 $07        反转指定区域图像颜色

  204.                 $10        用指定颜色编号对指定区域图像进行Mask处理

  205.                 $11 $12        指定区域图像变暗 (黑色Alpha处理)

  206.                 $15        用指定颜色参数对指定区域图像进行Mask处理

  207.                 $20        指定区域图像灰度化

  208.                 $30        画面放缩

  209.                 $32        画面特效放缩

  210. $66        Graphic        写字符串到图像缓存

  211. $67        Graphic        $00        显示指定区域屏后缓冲内容

  212.                 $01        指定区域图像复制

  213.                 $02        指定区域图像复制 (使用Mask)

  214.                 $03        指定区域图像复制 (使用彩色Mask)

  215.                 $05        指定区域图像交换

  216.                 $11        全屏图像复制

  217.                 $12        全屏图像复制 (使用Mask)

  218.                 $13        全屏图像复制 (使用彩色Mask)

  219.                 $15        全屏图像交换

  220.                 $20        显示数字转换PDT图像

  221.                 $21        显示数字转换PDT图像 (使用Mask)

  222.                 $21        显示数字转换PDT图像 (使用彩色Mask)

  223. $68        Graphic        $01        全屏填充

  224.                 $10        画面闪烁

  225. $69        Graphic        图像滚动切换

  226. $6A        Graphic        多PDT处理

  227.                 $10        多PDT滚动,鼠标终止不能

  228.                 $20        多PDT滚动

  229.                 $30        多PDT滚动,鼠标终止可

  230.                 $03        多PDT顺序显示

  231.                 $04        多PDT顺序循环显示

  232.                 $05        停止多PDT显示

  233. $6C        Area        $02        从ARD/CUR文件读取区域信息

  234.                 $03        初始化区域信息

  235.                 $04 $05        返回鼠标所在区域

  236.                 $10        使指定区域失效

  237.                 $11        使指定区域有效

  238.                 $15        查找指定点所在区域

  239.                 $20        更改区域编号

  240. $6D        Mouse        $01        等待点击后获得鼠标状态

  241.                 $02        获得鼠标状态

  242.                 $03        清除鼠标点击状态

  243.                 $20        鼠标光标关闭

  244.                 $21        鼠标光标打开

  245. $6E        Graphic        CG模式控制

  246.                 $01        获取CG总数

  247.                 $02        显示过的CG数目

  248.                 $03        CG完成度

  249.                 $04        CG显示

  250.                 $05        获取CG名称,状态

  251. $70        System        $01        获得文字窗口的半透明状态,参数

  252.                 $02        设定文字窗口的半透明状态,参数

  253.                 $03 $04        获得/设定[Window Move]

  254.                 $05 $06        获得/设定[Window Clear Box]

  255.                 $10 $11        获得/设定[Window Waku Type]

  256. $72        System        $01        获得文字窗口的位置

  257.                 $02        获得[COM]窗口的位置

  258.                 $03        获得[SYS]窗口的位置

  259.                 $04        获得[SUB]窗口的位置

  260.                 $05        获得[GRP]窗口的位置

  261.                 $11        设定文字窗口的位置

  262.                 $12        设定[COM]窗口的位置

  263.                 $13        设定[SYS]窗口的位置

  264.                 $14        设定[SUB]窗口的位置

  265.                 $15        设定[GRP]窗口的位置

  266. $73        System        $01        获得当前文字窗口显示文字数

  267.                 $02        设定文字窗口显示文字数

  268.                 $05        获得当前文字窗口字体大小

  269.                 $06        设定文字窗口字体大小

  270.                 $10        获得当前文字窗口字体颜色

  271.                 $11        设定文字窗口字体颜色

  272.                 $12        获得当前文字窗口鼠标取消状态

  273.                 $13        设定文字窗口鼠标取消状态

  274.                 $16        获得当前文字窗口文字阴影状态

  275.                 $17        设定文字窗口文字阴影状态

  276.                 $18        获得当前文字窗口文字阴影颜色

  277.                 $19        设定文字窗口文字阴影颜色

  278.                 $1A        获得当前文字窗口选择取消状态

  279.                 $1B        设定文字窗口选择取消状态

  280.                 $1C        获得当前Ctrl键状态

  281.                 $1D        设定Ctrl键有效状态

  282.                 $1E        获得当前保存开始位置

  283.                 $1F        设定保存开始位置

  284.                 $20        获得当前取消Novel文字状态

  285.                 $21        设定取消Novel文字状态

  286.                 $22        获得当前[Fade Time]

  287.                 $23        设定[Fade Time]

  288.                 $24        获得当前[Cursor Mono]状态

  289.                 $25        设定[Cursor Mono]状态

  290.                 $26        获得当前[Copy Wind SW]状态

  291.                 $27        设定[Copy Wind SW]状态

  292.                 $28 $2A        获得当前文字速度

  293.                 $29 $2B        设定文字速度

  294.                 $2C        获得当前[Return Key Wait]状态

  295.                 $2D        设定[Return Key Wait]状态

  296.                 $2E        获得当前[KOE Text Type]状态

  297.                 $2F        设定[KOE Text Type]状态

  298.                 $30 $33        获得当前[Game Speck Init]状态

  299.                 $31        设定光标位置

  300.                 $32        设定禁止键盘鼠标状态

  301.                 $34        设定[Game Speck Init]状态

  302. $74        System        弹出菜单控制

  303.                 $01        获得当前禁止弹出菜单状态

  304.                 $02        设定禁止弹出菜单状态

  305.                 $03        获得当前弹出菜单项状态

  306.                 $04        设定弹出菜单项状态

  307. $75        Sound        音量控制

  308.                 $01        获得当前CD音量

  309.                 $02        获得当前WAV音量

  310.                 $03        获得当前KOE音量

  311.                 $04        获得当前SE音量

  312.                 $11        设定CD音量

  313.                 $12        设定WAV音量

  314.                 $13        设定KOE音量

  315.                 $14        设定SE音量

  316.                 $21        CD禁音

  317.                 $22        WAV禁音

  318.                 $23        KOE禁音

  319.                 $24        SE禁音

  320. $76        System        Novel模式控制

  321.                 $01        设定[Novel Mode]状态

  322. $FE        Text        半角文字显示

  323. $FF        Text        全角文字显示



  324. 注意: 禁止无断转载;仅供个人研究学习之用,禁止用于任何其他用途!

复制代码
最后编辑Prz 最后编辑于 2007-07-17 03:32:18
飛べない翼に、意味はあるんでしょうか?
TOP

回复:請教如何解開SEEN.TXT

问题是上文还有你的AVG32脚本解析工具都只能得到指令, 看不到操作数的格式. 比如 $1C        Jump        无条件跳转, 最后会跳转到什么地方? $37        Var        Bit变量赋值 是给哪个变量赋什么值?

如果你提到的引擎源码还有的话, 能不能给我发一份? google 上实在找不到了. 没有也没关系, 有了这些信息再 debug 就容易多了.

多谢.
TOP