じ☆ve冰风 发表于 2024-4-21 21:48:15

脚本导出RMXP地图MAP数据带通行优先级地形标志

$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.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.parent_id))
    file.write(sprintf("[地图树状显示的顺序]\t%s\n",$mapinfos.order))
    file.write(sprintf("[地图树状显示已展开的标记]\t%s\n",$mapinfos.expanded))
    file.write(sprintf("[横向滚动的位置]\t%s\n",$mapinfos.scroll_x))
    file.write(sprintf("[纵向滚动的位置]\t%s\n",$mapinfos.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
      file.write(sprintf("[第%d层]\n",i+1))
      for h in 0...map.height
          for w in 0...map.width
            pass = $data_tilesets.passages]
            if map.data == 0
            file.write(sprintf("%1d,%X:",0,pass))
            else
            file.write(sprintf("%1d,%X:",map.data-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.name))
    file.write(sprintf("[图块图像的文件名]\t%s",$data_tilesets.tileset_name))
    for i in 0...384
      pass= $data_tilesets.passages
      prior = $data_tilesets.priorities
      tags= $data_tilesets.terrain_tags
      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在线咨询功能删除,谢谢。
页: [1]
查看完整版本: 脚本导出RMXP地图MAP数据带通行优先级地形标志