Project1

标题: 脚本导出RMXP地图MAP数据带通行优先级地形标志 [打印本页]

作者: SZero    时间: 2010-7-22 12:30
标题: 脚本导出RMXP地图MAP数据带通行优先级地形标志

  1. $data_actors        = load_data("Data/Actors.rxdata")
  2. $data_classes       = load_data("Data/Classes.rxdata")
  3. $data_skills        = load_data("Data/Skills.rxdata")
  4. $data_items         = load_data("Data/Items.rxdata")
  5. $data_weapons       = load_data("Data/Weapons.rxdata")
  6. $data_armors        = load_data("Data/Armors.rxdata")
  7. $data_enemies       = load_data("Data/Enemies.rxdata")
  8. $data_troops        = load_data("Data/Troops.rxdata")
  9. $data_states        = load_data("Data/States.rxdata")
  10. $data_animations    = load_data("Data/Animations.rxdata")
  11. $data_tilesets      = load_data("Data/Tilesets.rxdata")
  12. $data_common_events = load_data("Data/CommonEvents.rxdata")
  13. $data_system        = load_data("Data/System.rxdata")
  14. $mapinfos           = load_data("Data/MapInfos.rxdata")

  15. for key in $mapinfos.keys
  16.   
  17.   for name in $mapinfos[key].name
  18.     text = sprintf("%s",name)
  19.     file = open("#{text}.txt","w")
  20.     file.write(sprintf("[地图%03d名称]\t%s\n",key,name))
  21.     file.write(sprintf("[地图的父地图ID编号]\t%s\n",$mapinfos[key].parent_id))
  22.     file.write(sprintf("[地图树状显示的顺序]\t%s\n",$mapinfos[key].order))
  23.     file.write(sprintf("[地图树状显示已展开的标记]\t%s\n",$mapinfos[key].expanded))
  24.     file.write(sprintf("[横向滚动的位置]\t%s\n",$mapinfos[key].scroll_x))
  25.     file.write(sprintf("[纵向滚动的位置]\t%s\n",$mapinfos[key].scroll_y))
  26.     map = load_data(sprintf("Data/Map%03d.rxdata",key))
  27.     file.write(sprintf("[地图数据]\n[宽度]\t%s\n[高度]\t%s\n",map.width,map.height))
  28.     file.write("0x01 : 下方向通行不能,0x02 : 左方向通行不能,0x04 : 右方向通行不能\n")
  29.     file.write("0x08 : 上方向通行不能,0x40 : 草木繁茂处标记,0x80 : 柜台标记\n")
  30.     #导出3层数据 图标ID,通行
  31.     for i in [0,1,2]
  32.       file.write(sprintf("[第%d层]\n",i+1))
  33.         for h in 0...map.height
  34.           for w in 0...map.width
  35.             pass = $data_tilesets[map.tileset_id].passages[map.data[w,h,i]]
  36.             if map.data[w,h,i] == 0
  37.               file.write(sprintf("%1d,%X:",0,pass))
  38.             else
  39.               file.write(sprintf("%1d,%X:",map.data[w,h,i]-384,pass))
  40.             end
  41.           end
  42.           file.write("\n")
  43.         end
  44.       file.write("========================================")
  45.       file.write("========================================\n")
  46.     end
  47.     #导出图块通行表-图块优先级-地形标志表
  48.     file.write("[导出图块通行表-图块优先级-地形标志表]\n")
  49.     file.write(sprintf("[图块名字]\t%s\n",$data_tilesets[map.tileset_id].name))
  50.     file.write(sprintf("[图块图像的文件名]\t%s",$data_tilesets[map.tileset_id].tileset_name))
  51.     for i in 0...384
  52.       pass  = $data_tilesets[map.tileset_id].passages[384+i]
  53.       prior = $data_tilesets[map.tileset_id].priorities[384+i]
  54.       tags  = $data_tilesets[map.tileset_id].terrain_tags[384+i]
  55.       if(i%8==0)
  56.           file.write("\n")
  57.       end
  58.       file.write(sprintf("%3X-%d-%d,",pass,prior,tags))
  59.     end
  60.   end
  61.   file.close
  62. end
  63. exit
复制代码
直接插入脚本顶部
输出3层地图数据加通行
还有优先级和标志的查看表
方便使RMXP当作地图编辑器 使用别的编程工具导入RMXP制作的地图
作者: newplayer    时间: 2010-7-24 13:32
原来是方便用其他工具导入RMXP地图时使用
我还在想导出了,怎么导入。。
作者: 9244579    时间: 2010-7-26 12:57
很好`已经有人写了``顶`
被你这么一弄,我想数据库的数据都可以导出来用了...
作者: wzcgame    时间: 2011-12-6 11:24
谢了,先收藏了!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1