设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 5106|回复: 28
打印 上一主题 下一主题

[已经解决] 有没有办法批量导出替换全部当前地图中的某个字或者词

[复制链接]

Lv5.捕梦者

梦石
0
星屑
34877
在线时间
4148 小时
注册时间
2007-12-15
帖子
9983
跳转到指定楼层
1
发表于 2018-4-20 18:03:04 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
刚才测试,发现因为输入法和更换系统,造成 帕秋这个词汇 很多地方都打成了 帕秋,包括素材
素材就算了,反正那个名字都能用,但是事件里面的,就必须替换了。
目前只能根据记忆一个一个找地图中可能出现这个词的事件,查了两个小时了,觉得肯定有漏的。
只能重新走一遍测试了。
我印象中,RMXP好像是能用什么方法导入和导出文本的。
有办导出或者批量替换特殊单词中的某个字吗?

Lv5.捕梦者

梦石
0
星屑
31989
在线时间
5081 小时
注册时间
2012-11-19
帖子
4877

开拓者

来自 5楼
发表于 2018-4-20 22:52:03 | 只看该作者
本帖最后由 芯☆淡茹水 于 2018-4-20 23:00 编辑
89444640 发表于 2018-4-20 22:36
新建了个工程,把干净的Scripts放进去,然后复制脚本过去运行,还是跳出
...




  1. class Bitmap
  2.   alias xr_replace_draw_text draw_text
  3.   def draw_text(*args)
  4.     index = args[0].is_a?(Rect) ? 1 : 4
  5.     args[index].gsub!(/帕秋莉/, "帕秋丽")
  6.     xr_replace_draw_text(*args)
  7.   end
  8. end
复制代码


至于对话框里面的,可以这样(这个没测试)

RUBY 代码复制
  1. class Game_Temp
  2.   def message_text=(text)
  3.     @message_text = text
  4.     @message_text && @message_text.gsub!(/帕秋莉/, "帕秋丽")
  5.   end
  6. end

评分

参与人数 2星屑 +100 +2 收起 理由
RyanBern + 100 + 1 认可答案
89444640 + 1

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23963
在线时间
3338 小时
注册时间
2011-7-8
帖子
3925

开拓者

来自 10楼
发表于 2018-5-3 20:07:34 | 只看该作者
复制脚本到游戏里,关掉工程正常运行,查看生成的txt文件,就知道这些事件的位置了。去掉最后 save_data 前面的注释会直接修改对应的地图文件。
请做好data文件夹的备份以防万一,使用完毕后删掉此脚本。
这个脚本只要在main前,放哪都行,反正就用一次,最好放在最前面。
因为可能出现不在同一行的情况,所以也顺便检测了帕秋和帕,这个自己去替换吧
RUBY 代码复制
  1. file = File.open('result-paqiuli.txt', 'w')
  2. Dir.glob('Data/Map*.rxdata') do |fn|
  3.   # 排除掉地图设置文件
  4.   next if fn == 'Data/MapInfos.rxdata'
  5.   # 读取地图内容
  6.   file.puts fn
  7.   data_map = load_data(fn)
  8.   data_map.events.each do |id, event|
  9.     event.pages.each do |page|
  10.       page.list.each do |cmd|
  11.         case cmd.code
  12.         when 101, 401
  13.           if cmd.parameters[0] =~ /帕秋丽/
  14.             file.puts "Event#{id}: 帕秋丽"
  15.             cmd.parameters[0].gsub!('帕秋丽', '帕秋莉')
  16.           elsif cmd.parameters[0] =~ /帕秋/
  17.             file.puts "Event#{id}: 帕秋"
  18.           elsif cmd.parameters[0] =~ /帕/
  19.             file.puts "Event#{id}: 帕"
  20.           end
  21.         end
  22.       end
  23.     end
  24.   end
  25.   # 取消下面一行的注释以修改地图文件
  26.   # save_data(data_map, fn)
  27. end
  28. file.close
  29. p '请查看txt文件!'
  30. exit

评分

参与人数 1星屑 +100 +1 收起 理由
RyanBern + 100 + 1 认可答案

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6245
在线时间
558 小时
注册时间
2018-6-5
帖子
129
13
发表于 2018-6-9 13:43:49 | 只看该作者
实际显示的文本加脚本替换
俄罗斯帝国末代沙皇尼古拉二世
#俄文转写 = Царь Николай II
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
785
在线时间
59 小时
注册时间
2017-9-30
帖子
127
12
发表于 2018-6-8 10:54:36 | 只看该作者
理论可行,因为地图其实是ruby归档,不过要写程序

点评

我对ruby不是很懂,如果是rmmv的,我就能直接写段替换程序给你了  发表于 2018-6-8 11:36
这个,我已经手动全体换了,依然非常感谢提供方法。  发表于 2018-6-8 11:28
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6245
在线时间
558 小时
注册时间
2018-6-5
帖子
129
11
发表于 2018-6-8 01:14:20 | 只看该作者
没办法,只能重做
俄罗斯帝国末代沙皇尼古拉二世
#俄文转写 = Царь Николай II
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

9
发表于 2018-4-21 18:11:21 | 只看该作者
本帖最后由 yang1zhi 于 2018-4-21 18:13 编辑

因为你人名没有采用数据库里面的人名。
如果你是调用数据库里的人名,或者脚本里的变量
那只要修改一处就全改过来了


-----------
自从吃亏后。我现在都是把文字写在脚本里。事件的对话框里什么也没写。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9275
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

8
发表于 2018-4-21 17:58:32 | 只看该作者
在实际显示文本的脚本加替换就行了,然后你原来错误的也不需要改
这个应该是最保险的了当然坏处是你两个词只有一个可以用了(因为另一个会被换掉)
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
37844
在线时间
5420 小时
注册时间
2006-11-10
帖子
6549
7
发表于 2018-4-21 14:12:33 | 只看该作者
我觉得,你让新脚本和你的那一大群老住户搞好邻里关系的时间,足够你一个字一个字修回来了吧......
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23963
在线时间
3338 小时
注册时间
2011-7-8
帖子
3925

开拓者

6
发表于 2018-4-21 02:20:45 | 只看该作者
去看看sailcat的工具包,这个应该直接对数据下手,前面提到的方法不对。
data_map.events.pages.list类似的……判断一下code = 401或者101

评分

参与人数 1+1 收起 理由
ikki + 1 sailcat是超级大佬的说,各种工具特别多。.

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-3 00:16

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表