Project1

标题: RMXP地图能扩展到999以上吗? [打印本页]

作者: 89444640    时间: 2019-5-20 17:58
标题: RMXP地图能扩展到999以上吗?
请问RMXP的地图上限是999个吗?能不能扩展到千位数?我为了防止地图不够用很多图的民宅都画一起的。
但是一旦要做小游戏关卡就会浪费不少地图,如果因此占用好多地图,等到了上限没法增加,写剧情没地方用了可就麻烦了。
求指点,谢谢。

作者: srwjrevenger    时间: 2019-5-20 23:11

不知道有没有比这个更好的解决方法

https://rpg.blue/article-41092.html

ps:大触好凶残,地图居然怕不够用。。。。。。



作者: srwjrevenger    时间: 2019-5-21 11:24
要是有人有权限50的话
看看下面的
特殊破限需求,地图规格破限、宽高破限  
合不合适楼主吧
反正我进不了

https://rpg.blue/search.php?mod=forum&searchid=63&orderby=lastpost&ascdesc=desc&searchsubmit=yes&kw=%E5%9C%B0%E5%9B%BE+%E7%A0%B4%E9%99%90


作者: qinghaiq1    时间: 2019-7-10 02:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: qinghaiq1    时间: 2019-7-12 03:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: guoxiaomi    时间: 2019-8-12 17:27
本帖最后由 guoxiaomi 于 2019-8-12 17:46 编辑

刚刚打开程序看了一下,发现编辑器只能显示1-999这999张地图,即使创建了地图1000,编辑器中也不能显示。

但是,地图1000是真实存在的!可以通过场所移动,利用变量指定地图ID跳转过去。所以可以用如下的操作方案:

1. 编辑好XX地图
2. 把XX地图的ID修改到1000之后
3. 把场所移动的条件进行修改

写了一个简单的脚本,允许将地图的数量扩张到2000,更多的地图会使得编辑器无法打开。这也意味着在不魔改编辑器的情况下,地图数量的上限是2000

请在 cmd 窗口中执行
  1. game debug
复制代码
以避免编辑器保存时覆盖掉 MapInfos.rxdata。或者在使用编辑器的调试功能创建了地图之后,立即关闭编辑器再启动。

RUBY 代码复制
  1. # encoding: utf-8
  2. # -----------------------------------------------------------------------------
  3. # RMXP 地图数量扩张
  4. # 作者: guoxiaomi
  5. # -----------------------------------------------------------------------------
  6. # 使用方法:
  7. # 1. 脚本插入到 main 前
  8. # 2. 在事件场所移动前添加一行事件脚本:shift_transfer_mapid,场所移动必须是指定地图ID。
  9. # 脚本功能:
  10. # 1. 调试模式运行下,会读取场所移动的目标地图,复制一份新地图到 ID+1000 的地图里,并跳转到新地图
  11. # 2. 复制的地图与跳转的地图完全一样,但复制完成后不会再同步改动
  12. # 3. 复制的地图因为 ID > 1000 所以在编辑器中不显示也无法编辑
  13. # 4. 地图只会复制 1 次,删掉 data 文件夹里的地图文件即可重新复制
  14. # 5. 普通模式运行下,会跳转到新地图
  15. # 6. 复制的地图 ID 超过 2000 时,会导致编辑器无法打开
  16. # 7. 此脚本正常使用不用担心 6 中的问题,但是仍然要做好数据备份
  17. # -----------------------------------------------------------------------------
  18.  
  19. class Interpreter
  20.   if $DEBUG
  21.     MapInfos = load_data("Data/MapInfos.rxdata")
  22.   end
  23.  
  24.   def shift_transfer_mapid
  25.     return if @list[@index + 1].code != 201
  26.     old_map_id = @list[@index + 1].parameters[1]
  27.  
  28.     max_index = 1000
  29.     if old_map_id < max_index
  30.       @list[@index + 1].parameters[1] += max_index
  31.  
  32.       if $DEBUG
  33.         new_map_id = old_map_id + max_index
  34.         new_map = "Data/Map%03d.rxdata" % new_map_id
  35.         old_map = "Data/Map%03d.rxdata" % old_map_id
  36.         if !File.exist?(new_map) || !MapInfos.keys.include?(new_map_id)
  37.           p "Create Map #{new_map_id}"
  38.           # Copy Files
  39.           save_data(load_data(old_map), new_map)
  40.           # Edit MapInfos
  41.           MapInfos[new_map_id] = MapInfos[old_map_id].clone
  42.           MapInfos[new_map_id].name = "MAP%03d" % new_map_id
  43.           save_data(MapInfos, "Data/MapInfos.rxdata")
  44.         end
  45.       end
  46.     end
  47.   end
  48. end

范例:
RMXP地图数量扩展.zip (204.31 KB, 下载次数: 115)





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