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

Project1

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

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

[复制链接]

Lv1.梦旅人

Mr.Gandum

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

贵宾

跳转到指定楼层
1
发表于 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
            修正在反向模式时未被标记的事件还是会被保存

点评

更新后出现错误,详细看回复,是我的脚本冲突?  发表于 2012-6-11 14:28
怎么感觉VA和XP的脚本差不多的?  发表于 2012-5-3 18:28

评分

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

查看全部评分

Lv1.梦旅人

梦石
0
星屑
50
在线时间
174 小时
注册时间
2012-3-17
帖子
198
2
发表于 2012-5-3 16:22:18 | 只看该作者
我说这不是解决提问区新帖的问题~~脚本么?
大叔这行动也太——快了吧!(一没注意,你老人家就写出了)
佩服!ORZ请受我一拜!
那我也顺便收走了!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
68
在线时间
931 小时
注册时间
2009-5-25
帖子
430

开拓者

3
发表于 2012-6-10 01:00:09 | 只看该作者
本帖最后由 alann 于 2012-6-12 09:43 编辑




更新后需要保存位置的事件出现错误,是我的脚本冲突?


‘‘──alann于2012-6-12 09:42补充以下内容:

无论是这样……

还是那样……


都会保存事件位置……
’’

点评

更新提醒  发表于 2012-6-11 16:35
看主楼更新内容  发表于 2012-6-11 10:41
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

LBQ Works
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

使用道具 举报

Lv1.梦旅人

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

使用道具 举报

Lv1.梦旅人

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
120
在线时间
188 小时
注册时间
2014-1-18
帖子
254
8
发表于 2014-1-28 17:07:47 | 只看该作者
一直在纠结要不要用,因为我想要的刚好相反,在想要保存位置的事件里写上“保存事件位置”保存该多好...

点评

更新提醒。你想要的功能也有了(10分钟偷工减料改出来了囧  发表于 2014-2-11 11:54
没事的过来瞄一眼,有事的也过来瞄一眼...群组,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
星屑
50
在线时间
22 小时
注册时间
2015-7-27
帖子
23
9
发表于 2015-7-30 20:38:25 | 只看该作者
现在还能问嘛?我建了两个时间进行测试,一个写了注释“不保存事件位置”,一个没写注释,然而测试结果是两个都被保存了进度啊_(:з」∠)_求解

点评

是将INVERSE_MODE改为true的时候么?  发表于 2015-7-31 15:39
回复 支持 反对

使用道具 举报

Lv3.寻梦者

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

点评

这个脚本的功能就如主楼所说,要相近的功能我可以考虑加一下,但是我不太理解你说的這个是什么功能,现在的状态就是你说的一样  发表于 2015-8-5 10:47
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-5 09:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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