赞 | 287 |
VIP | 11 |
好人卡 | 74 |
积分 | 228 |
经验 | 281171 |
最后登录 | 2024-12-21 |
在线时间 | 9435 小时 |
Lv5.捕梦者 (暗夜天使) 只有笨蛋才会看到
- 梦石
- 1
- 星屑
- 21815
- 在线时间
- 9435 小时
- 注册时间
- 2012-6-19
- 帖子
- 7120
|
本帖最后由 喵呜喵5 于 2016-6-18 17:20 编辑
怕鼠的猫 发表于 2016-6-18 16:43
话说,完全不能改脚本,有点作茧自缚了。 毕竟默认脚本中有些不太方便的地方,例如 “自用开关”只能在事件 ...
'自用开关'本身的设计理念就是只给事件自己来使用,如果某个开关要通用,推荐的做法是改用公用开关
将自用开关当成公用开关来使用才容易导致各种内部冲突
直接以你自己说的情况为例子
你可以走到一盏灯旁边去关掉它,但是你很难一下把所有的灯都关掉(除非浪费公用开关,这种行为导致地图不便于移植,容易内部冲突的问题)
为了能够储存到存档中,自用开关的数据是和事件的 ID 本身绑定的,而每一张地图上的每一个事件都是拥有一个唯一的 ID 的,你把一个事件移植到另外一个地图时,如果 ID 重复了,其中一个事件的 ID 是会强制改变的,这样一来,即使是内容完全相同的两个事件,在不同的地图 ID 要想操作其自用开关方法也完全不同,这才是真正会导致冲突的问题
一个简单的冲突的例子
事件1,复制到地图2,设置了地图2的事件2的出现条件为事件1的自用开关打开
然后,把事件1复制到了地图3上,并复制了两个事件1
然后,复制了另外一个事件1到地图2上
事件2的出现条件彻底混乱了,RM 必须去猜测,你这个事件2的出现条件到底是地图3上的事件1的自用开关打开了呢,还是地图2上新的事件1的自用开关打开了呢,如果是地图3的事件1,那么是第一个事件1的自用开关打开呢,还是第二个事件1的自用开关打开呢……
总之
自用开关本来就不是设计来让人外部操作的,既然要外部操作某些事件的状态,更好的做法是直接用一个只属于这些事件的公共开关,并且给开关起一个足够独特的名字避免日后误用,
不要扯什么开关太多浪费游戏资源让游戏变卡,自用开关比开关占用的资源还大
以关灯事件为例,需要统一关灯的事件可以新建一个出现条件为 公共开关打开 的自动执行事件页,该事件页的内容为关闭其自身的自用开关 |
|