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

Project1

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

[原创发布] 【加工】PNG Map Extractor for XP-地图PNG图片导出器Ver 1.3

[复制链接]

Lv1.梦旅人

梦石
0
星屑
82
在线时间
26 小时
注册时间
2010-12-3
帖子
16
1
发表于 2014-12-8 08:52:27 | 显示全部楼层
(ΦωΦ)多谢大大!~ 其实就是类似做攻略啊 或者 其他什么的用的说~不一定要事件和角色都截取~ 太感谢了~

点评

部分测试在7楼~再次感谢大大~  发表于 2014-12-8 09:59
中文名字确实有这个问题,这是因为编码方式不一致。这个目前还没有很好的处理办法。我可以改下让它的文件名变为Map+三位地图ID  发表于 2014-12-8 09:34
有的中文乱码会导致停止工作 可能是DLL内部不怎么兼容中文的问题~不过DLL好像不是LZ的。。。  发表于 2014-12-8 09:27
地图名称含有中文会乱码 囧  发表于 2014-12-8 09:24
做攻略这个功能我已经想到了,我曾经看过一些攻略上用的图是一张张截然后拼起来的233  发表于 2014-12-8 08:56
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
82
在线时间
26 小时
注册时间
2010-12-3
帖子
16
2
发表于 2014-12-8 09:08:57 | 显示全部楼层
本帖最后由 pjy612 于 2014-12-8 09:58 编辑

恩 导出了前几个地图~速度不慢的赶脚~
全导出的时候
小瑕疵修正
Q1:
导出全部时 提示参数不足
62.  def self.make_map_bitmap(id, mapinfos)
自解决:
62.  def self.make_map_bitmap(id, mapinfos, layers = [0, 1, 2])

Q2:地图名称如果包含中文可能导致程序停止工作
自解决:
换成Map+数字 fileName=sprintf("#{DIR_OUT}Map%03d.png", id)

Q3:
if tilesets.priorities[new_orders[k-1]] > tilesets.priorities[temp]
小概率出现 '>': comparison of Fixnum with nil failed (ArgumentError) 问题。。。
自解决:
前部分插入
break if tilesets.priorities[new_orders[k-1]].nil?
break if tilesets.priorities[temp].nil?
不过效果不理想 可能会 ”备份脚本“
期待LZ尝试优化。。。

其他自行优化部分:
PS1:
导出全部地图时可以尝试加入
45.插入
      fileName=sprintf("#{DIR_OUT}Map%03d.png", id)
      if File.exists?(fileName)        
        next if File.size(fileName)>100
      end
51.替换
bitmap.save_as_png(fileName)
避免中途出错后重复导出


PS2:
make_map_bitmap函数 第三行
可以改成
map = load_data(fileName=sprintf("Data/Map%03d.rxdata", id)) rescue return
兼容 如果 MapInfo有 ID 但是实际上没有MapXXX文件的情况
{:2_264:}
因为有时候MapInfo坏掉了。。。为了以防万一,就手动生成一个999的MapInfo。。。
多么痛的领悟。。。

其他的 在测试测试~ Σ(っ °Д °;)っ竟然发现LZ秒回!醉了~

点评

感谢测试,部分BUG已经修复,不过暂时没有找到Q3发生的原因  发表于 2014-12-8 13:29

评分

参与人数 1星屑 +60 收起 理由
RyanBern + 60 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-13 20:21

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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