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

Project1

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

[已发主站] 【VA】场所移动后保存事件位置

[复制链接]

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

跳转到指定楼层
发表于 2012-5-2 12:38:44 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 feizhaodan 于 2015-7-31 15:43 编辑
  1. #==============================================================================
  2. # ■ Game_Event
  3. #------------------------------------------------------------------------------
  4. #  处理事件的类。拥有条件判断、事件页的切换、并行处理、执行事件等功能。
  5. #   在 Game_Map 类的内部使用。
  6. #==============================================================================

  7. class Game_Event < Game_Character
  8.   # 改为true将会变成保存被标记为不保存的事件
  9.   INVERSE_MARK = false
  10.   #--------------------------------------------------------------------------
  11.   # ● 是否储存位置
  12.   #--------------------------------------------------------------------------
  13.   def save_pos?
  14.     return !INVERSE_MARK unless @list
  15.     return !INVERSE_MARK if @list[0].code != 108
  16.     return (@list[0].parameters[0].include?("不保存事件位置") == INVERSE_MARK)
  17.   end
  18. end
  19. #==============================================================================
  20. # ■ Game_Map
  21. #------------------------------------------------------------------------------
  22. #  管理地图的类。拥有卷动地图以及判断通行度的功能。
  23. #   本类的实例请参考 $game_map 。
  24. #==============================================================================

  25. class Game_Map
  26.   #--------------------------------------------------------------------------
  27.   # ● 初始化对象
  28.   #--------------------------------------------------------------------------
  29.   alias save_event_pos_initialize initialize
  30.   def initialize
  31.     save_event_pos_initialize
  32.     @event_pos = {}
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   # ● 设置
  36.   #--------------------------------------------------------------------------
  37.   alias save_event_pos_setup setup
  38.   def setup(map_id)
  39.     save_event_pos
  40.     save_event_pos_setup(map_id)
  41.     load_event_pos
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   # ● 保存事件位置
  45.   #--------------------------------------------------------------------------
  46.   def save_event_pos
  47.     return if @map_id == 0
  48.     @event_pos[@map_id] ||= []
  49.     @events.each{|i,e|
  50.     if e.save_pos?
  51.       @event_pos[@map_id][i] = [e.x,e.y,e.direction]
  52.     else
  53.       @event_pos[@map_id][i] = nil
  54.     end
  55.     }
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   # ● 读取事件位置
  59.   #--------------------------------------------------------------------------
  60.   def load_event_pos
  61.     return if @map_id == 0
  62.     @event_pos[@map_id] ||= []
  63.     @events.each{|i,e|
  64.       next unless @event_pos[@map_id][i]
  65.       e.moveto(@event_pos[@map_id][i][0],@event_pos[@map_id][i][1])
  66.       e.set_direction(@event_pos[@map_id][i][2])
  67.     }
  68.   end
  69. end
复制代码
默认每次更换地图都会刷新事件位置。这个脚本让游戏保存事件位置,下次切换到这个地图时移动事件到上次所在的位置。

使用方法:直接插入到Main上方即可
       2012/6/11
           在不想保存事件位置时,在不想保存的事件页的第一行添加注释,内容要包含“不保存事件位置”
       2012/8/10
            修正在第一行添加内含“不保存事件位置”的注释的效果反了的傻逼错误
       2014/2/11
            增加只保存指定事件的功能。将INVERSE_MARK改为true时只保存被标记上"不保存事件位置"的事件的位置
            增加保存事件朝向
       2014/7/27
            修正不会正确设置事件朝向的问题,感谢DeathKing的提醒。
       2015/7/31
            修正在反向模式时未被标记的事件还是会被保存

评分

参与人数 6星屑 +347 +6 收起 理由
柍若 + 15 实用!
sai90306 + 24 超級實用阿!!
Shy07 + 6 主站收录
alann + 14 谢谢您的更新
fxwd + 14 脚本帝~
lsu666666 + 280 支持!!

查看全部评分

Lv2.观梦者

梦石
0
星屑
878
在线时间
576 小时
注册时间
2010-6-26
帖子
793
12
发表于 2016-10-16 09:37:52 | 只看该作者
这下方便多了   感谢大神
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
320 小时
注册时间
2014-9-2
帖子
267
11
发表于 2015-8-23 23:11:55 | 只看该作者
本帖最后由 蝉岭Cicada 于 2015-8-23 23:59 编辑

XP好像没有set_direction方法。。。
可以弄个吗?

点评

这个脚本只支持VA,抱歉  发表于 2015-9-3 16:23
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
965
在线时间
12 小时
注册时间
2015-8-12
帖子
2
10
发表于 2015-8-23 15:07:48 | 只看该作者
能不能设置为行走图与行走图也保存呢?每次切换地图再回来,人物行走图和速度又复位成原状了。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
3
星屑
65
在线时间
200 小时
注册时间
2008-7-8
帖子
180
9
发表于 2015-8-4 22:52:52 | 只看该作者
它能实现重进地图时跟离开时完全没变化的效果吗?时间流逝呢
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
22 小时
注册时间
2015-7-27
帖子
23
8
发表于 2015-7-30 20:38:25 | 只看该作者
现在还能问嘛?我建了两个时间进行测试,一个写了注释“不保存事件位置”,一个没写注释,然而测试结果是两个都被保存了进度啊_(:з」∠)_求解
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
120
在线时间
188 小时
注册时间
2014-1-18
帖子
254
7
发表于 2014-1-28 17:07:47 | 只看该作者
一直在纠结要不要用,因为我想要的刚好相反,在想要保存位置的事件里写上“保存事件位置”保存该多好...
没事的过来瞄一眼,有事的也过来瞄一眼...群组,XAS PS VA
http://rpg.blue/forum.php?mod=group&fid=537
XAS探索目录:http://rpg.blue/home.php?mo ... o=blog&id=12595
如果有人对你说,你如此帅气(美丽),你要分三个角度去想:
1.就像妈妈对你说:“你如此帅气(美丽)。”(安慰)
2.就像女(男)朋友对你说:“你如此帅气(美丽)”(欺瞒)
3.就像乞丐对你说:“你如此帅气(美丽)”(讨好)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
211
在线时间
905 小时
注册时间
2010-9-6
帖子
3229
6
发表于 2013-1-29 23:55:39 | 只看该作者
是不是通用的呢?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
158 小时
注册时间
2008-4-12
帖子
43
5
发表于 2013-1-29 02:50:55 | 只看该作者
作者您好~
我非常喜歡這個腳本
但我實用後發現
它沒有儲存"角色面向"的功能
(被事件更改過的面向,讀取後變回原來事件的面向)
是否可以請作者加上這個功能呢?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
131 小时
注册时间
2012-7-3
帖子
121
4
发表于 2012-10-29 23:05:35 | 只看该作者
VA VX XP 通用的???
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
616 小时
注册时间
2010-10-29
帖子
463
3
发表于 2012-10-22 08:45:19 | 只看该作者
感激不尽,有了这个脚本,就不用额外用事件保留家园系统中家居的位置了
我命令你给我点下面的东西!

LBQ Works
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-18 12:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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