| 
				
				
累计送礼:0 个
 累计收礼:0 个
 TA的每日心情|  | 开心 2025-10-18 22:41
 | 
|---|
 签到天数: 165 天 连续签到: 1 天 [LV.7]常住居民III 
 管理员   
 
    
        VIP6  
        卡币14603  
        OK点16  
    推广点0  
    同能卷0  
	积分17724 
 
  | 
 
| [Ruby] 纯文本查看 复制代码 $data_actors        = load_data("Data/Actors.rxdata")
$data_classes       = load_data("Data/Classes.rxdata")
$data_skills        = load_data("Data/Skills.rxdata")
$data_items         = load_data("Data/Items.rxdata")
$data_weapons       = load_data("Data/Weapons.rxdata")
$data_armors        = load_data("Data/Armors.rxdata")
$data_enemies       = load_data("Data/Enemies.rxdata")
$data_troops        = load_data("Data/Troops.rxdata")
$data_states        = load_data("Data/States.rxdata")
$data_animations    = load_data("Data/Animations.rxdata")
$data_tilesets      = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system        = load_data("Data/System.rxdata")
$mapinfos           = load_data("Data/MapInfos.rxdata")
for key in $mapinfos.keys
  
  for name in $mapinfos[key].name
    text = sprintf("%s",name)
    file = open("#{text}.txt","w")
    file.write(sprintf("[地图%03d名称]\t%s\n",key,name))
    file.write(sprintf("[地图的父地图ID编号]\t%s\n",$mapinfos[key].parent_id))
    file.write(sprintf("[地图树状显示的顺序]\t%s\n",$mapinfos[key].order))
    file.write(sprintf("[地图树状显示已展开的标记]\t%s\n",$mapinfos[key].expanded))
    file.write(sprintf("[横向滚动的位置]\t%s\n",$mapinfos[key].scroll_x))
    file.write(sprintf("[纵向滚动的位置]\t%s\n",$mapinfos[key].scroll_y))
    map = load_data(sprintf("Data/Map%03d.rxdata",key))
    file.write(sprintf("[地图数据]\n[宽度]\t%s\n[高度]\t%s\n",map.width,map.height))
    file.write("0x01 : 下方向通行不能,0x02 : 左方向通行不能,0x04 : 右方向通行不能\n")
    file.write("0x08 : 上方向通行不能,0x40 : 草木繁茂处标记,0x80 : 柜台标记\n")
    #导出3层数据 图标ID,通行
    for i in [0,1,2]
      file.write(sprintf("[第%d层]\n",i+1))
        for h in 0...map.height
          for w in 0...map.width
            pass = $data_tilesets[map.tileset_id].passages[map.data[w,h,i]]
            if map.data[w,h,i] == 0
              file.write(sprintf("%1d,%X:",0,pass))
            else
              file.write(sprintf("%1d,%X:",map.data[w,h,i]-384,pass))
            end
          end
          file.write("\n")
        end
      file.write("========================================")
      file.write("========================================\n")
    end
    #导出图块通行表-图块优先级-地形标志表
    file.write("[导出图块通行表-图块优先级-地形标志表]\n")
    file.write(sprintf("[图块名字]\t%s\n",$data_tilesets[map.tileset_id].name))
    file.write(sprintf("[图块图像的文件名]\t%s",$data_tilesets[map.tileset_id].tileset_name))
    for i in 0...384
      pass  = $data_tilesets[map.tileset_id].passages[384+i]
      prior = $data_tilesets[map.tileset_id].priorities[384+i]
      tags  = $data_tilesets[map.tileset_id].terrain_tags[384+i]
      if(i%8==0)
          file.write("\n")
      end
      file.write(sprintf("%3X-%d-%d,",pass,prior,tags))
    end
  end
  file.close
end
exit
直接插入脚本顶部 
输出3层地图数据加通行 
还有优先级和标志的查看表 
方便使RMXP当作地图编辑器 使用别的编程工具导入RMXP制作的地图 
             本帖来自P1论坛作者SZero,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg. blue/forum.php?mod=viewthread&tid=142268  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。 | 
 |