查看: 2200|回复: 11

[已经解决] 自动按需加载素材脚本不能识别中文的问题。

[复制链接]
梦石
0
星屑
1021
在线时间
90 小时
注册时间
2022-12-26
回帖
79
发表于 2023-1-2 14:29:59 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 寂静的夜里 于 2023-1-4 11:41 编辑

我用了这个脚本https://rpg.blue/thread-366394-1-1.html,但是它不能识别中文(会乱码,比如“人物”识别为“浜虹墿”),请问有什么办法解决吗?求助各位大佬!
此帖子已解决。
---------
解决问题不要改标题谢谢。(静寂留)
后来者也有参考的需要。
你好!
梦石
0
星屑
17038
在线时间
6058 小时
注册时间
2011-7-18
回帖
152

开拓者

发表于 2023-1-2 21:44:08 | 显示全部楼层
本帖最后由 gqxastg 于 2023-1-2 21:47 编辑

典型的编码问题
虽然看起来楼主放弃了,不过我这里还是试着解决了一下。确实原脚本因为年代久远也不推荐使用就是了
将以下代码新开一页置于“按需加载系统资源脚本”之下即可
[fold][pre lang="ruby"]module ZOZIENCODE
  MultiByteToWideChar =
  Win32API.new('kernel32', 'MultiByteToWideChar', 'iipipi', 'i')
  WideCharToMultiByte =
  Win32API.new('kernel32', 'WideCharToMultiByte', 'iipipipp', 'i')
  def self.u2a(str)
    m2w, w2m = MultiByteToWideChar, WideCharToMultiByte
    i = m2w.call(65001, 0, str, -1, nil, 0)
    buf = "\0" * i * 2
    m2w.call(65001, 0, str, -1, buf, i)
    i = w2m.call(0, 0, buf, -1, nil, 0, nil, nil)
    ret = "\0" * i
    w2m.call(0, 0, buf, -1, ret, i, nil, nil)
    ret.chop
  end
end
ZOZIRTPDIR = ZOZIENCODE.u2a(ZOZIRTPDIR)
alias fixencode_zozi_getfile zozi_getfile unless
defined?(fixencode_zozi_getfile)
def zozi_getfile(fname)
  fixencode_zozi_getfile(ZOZIENCODE.u2a(fname))
end[/pre][/fold]

评分

参与人数 1赞 +1 收起 理由
alexncf125 + 1 精品文章

查看全部评分

这里岚风·雷,任饭、PM理性粉、UT/DR原作粉、(Trans)Furry自萌,半吊子技术一枚_(:з」∠)_    游戏制作交流工(liao)作(tian)室欢迎来玩!
【无偿/有偿】RGSS3(VA)脚本定制 + 合作招募/同好交友    修正Firefox/火狐浏览器的代码框复制问题(油猴脚本)
Click→←Click
回复

使用道具 举报

梦石
0
星屑
29901
在线时间
5734 小时
注册时间
2016-3-8
回帖
1653
发表于 2023-1-2 14:59:21 | 显示全部楼层
办法:全部素材使用英文命名
回复

使用道具 举报

梦石
0
星屑
1021
在线时间
90 小时
注册时间
2022-12-26
回帖
79
 楼主| 发表于 2023-1-2 15:34:51 | 显示全部楼层
alexncf125 发表于 2023-1-2 14:59
办法:全部素材使用英文命名

额,原来真的没有办法了吗。不过还是谢谢你!

点评

可能有, 不过我不知道2333333  发表于 2023-1-2 16:21
你好!
回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2023-1-2 18:22:20 | 显示全部楼层
问了群里的大佬说是DLL没处理好 unicode
只要自己写个同步文件的脚本代替原来的DLL方法就行
回复

使用道具 举报

梦石
0
星屑
12824
在线时间
1010 小时
注册时间
2019-11-5
回帖
2329

极短27参与极短25参与极短24参与

发表于 2023-1-2 19:11:47 | 显示全部楼层
本帖最后由 哇哇哇啊叭叭 于 2023-1-2 14:16 编辑

  我靠,这是个14年的脚本,这问题没救了。要逆向编辑dll难度颇大,作者弄它的时候,可能得有七八个工程文件;像exescope、UltraEdit这种东西理论上能编辑dll,但这就像一个缺失了目录和页码又被全部打乱顺序的大部头书一样,光是检索都是个很大的工程。还得懂代码的含义,就像懂英文单词,后面还有语法、算法、数学逻辑布拉布拉之类的难题,放弃吧

  试试所有目录和文件都用英文代替吧!

评分

参与人数 1赞 +1 收起 理由
爱羊真知己 + 1 我很赞同

查看全部评分

风继续吹,不忍远离。年少轻狂,眼神明亮,最好的年纪,最好的时光。希望岁月是一场春梦
回复

使用道具 举报

梦石
0
星屑
1021
在线时间
90 小时
注册时间
2022-12-26
回帖
79
 楼主| 发表于 2023-1-2 22:20:29 | 显示全部楼层
gqxastg 发表于 2023-1-2 21:44
典型的编码问题
虽然看起来楼主放弃了,不过我这里还是试着解决了一下。确实原脚本因为年代久远也不推荐使 ...

额,居然解决了???膜拜大佬!(毕竟前面有人说了没办法)

点评

没人说过没办法  发表于 2023-1-2 23:10
你好!
回复

使用道具 举报

梦石
0
星屑
1021
在线时间
90 小时
注册时间
2022-12-26
回帖
79
 楼主| 发表于 2023-1-3 09:38:52 | 显示全部楼层
爱羊真知己 发表于 2023-1-2 22:20
额,居然解决了???膜拜大佬!(毕竟前面有人说了没办法)

回alexmcf125:“我靠,这是个14年的脚本,这问题没救了””没人说过没办法”

点评

不过其实99%的问题都有办法的, 差在有没有人知道而已  发表于 2023-1-3 11:27
喔喔, 看漏眼了...  发表于 2023-1-3 11:26
你好!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部