复制脚本到游戏里,关掉工程正常运行,查看生成的txt文件,就知道这些事件的位置了。去掉最后 save_data 前面的注释会直接修改对应的地图文件。
请做好data文件夹的备份以防万一,使用完毕后删掉此脚本。
这个脚本只要在main前,放哪都行,反正就用一次,最好放在最前面。
因为可能出现不在同一行的情况,所以也顺便检测了帕秋和帕,这个自己去替换吧
file = File.open('result-paqiuli.txt', 'w') Dir.glob('Data/Map*.rxdata') do |fn| # 排除掉地图设置文件 next if fn == 'Data/MapInfos.rxdata' # 读取地图内容 file.puts fn data_map = load_data(fn) data_map.events.each do |id, event| event.pages.each do |page| page.list.each do |cmd| case cmd.code when 101, 401 if cmd.parameters[0] =~ /帕秋丽/ file.puts "Event#{id}: 帕秋丽" cmd.parameters[0].gsub!('帕秋丽', '帕秋莉') elsif cmd.parameters[0] =~ /帕秋/ file.puts "Event#{id}: 帕秋" elsif cmd.parameters[0] =~ /帕/ file.puts "Event#{id}: 帕" end end end end end # 取消下面一行的注释以修改地图文件 # save_data(data_map, fn) end file.close p '请查看txt文件!' exit
file = File.open('result-paqiuli.txt', 'w')
Dir.glob('Data/Map*.rxdata') do |fn|
# 排除掉地图设置文件
next if fn == 'Data/MapInfos.rxdata'
# 读取地图内容
file.puts fn
data_map = load_data(fn)
data_map.events.each do |id, event|
event.pages.each do |page|
page.list.each do |cmd|
case cmd.code
when 101, 401
if cmd.parameters[0] =~ /帕秋丽/
file.puts "Event#{id}: 帕秋丽"
cmd.parameters[0].gsub!('帕秋丽', '帕秋莉')
elsif cmd.parameters[0] =~ /帕秋/
file.puts "Event#{id}: 帕秋"
elsif cmd.parameters[0] =~ /帕/
file.puts "Event#{id}: 帕"
end
end
end
end
end
# 取消下面一行的注释以修改地图文件
# save_data(data_map, fn)
end
file.close
p '请查看txt文件!'
exit
|