Project1

标题: 【试作·测试】图块通行度增强(原墙壁通行) [打印本页]

作者: andrewx    时间: 2015-11-23 19:07
标题: 【试作·测试】图块通行度增强(原墙壁通行)
本帖最后由 andrewx 于 2016-2-6 13:43 编辑

注意:更换了插件名,请在插件管理器里重新选择以生效
注意:为了减少对于地图的副作用,降低不可预期图块通行错误的可能,插件中涉及地形标记的功能将只对A类图块组起效。同时插件新增通过区域ID对地图通行和优先度进行调整的功能。因此B~E图块组的相关效果可以通过手动使用区域ID功能实现。

很久以前的RMXP党,现在重新拿起MV玩,慢慢摸索学习脚本,所以一定很拙劣&有bug,请多多包涵,有问题请回复告知

一直很不满VX后的自动单层地图的绘制系统,感觉很难画出美观复杂的地图了。这个脚本允许角色从墙壁后通行。

比如下图的地图:


实际不可通行的只有黄色区域(只是展示用,使用时不需要画区域)


此外本脚本还提供通过区域ID强制改变图块通行度和优先度的功能:
    强制可通行并处于主角上方(星形通行)
    强制处于主角上方(不更改通行)
    强制可通行(不更改优先级)
    强制不可通行(不更改优先级)


食用方法:

1. 直接安装插件;
2. 设置参数:
    Wall Top Terrain Tag:设定为这个地形标记的图块将当作墙壁顶面,用来计算墙壁厚度。默认值7,不启用请设为大于7的数
    Wall Front Terrain Tag:设定为这个地形标记的图块将当作墙壁正面,用来计算墙壁高度。默认值6,不启用请设为大于7的数
    Default Wall Height:当墙壁正面不存在时(如地图底部),默认的墙壁高度。默认值2,不启用请设为0
    Star Terrain Tag:设定为这个地形标记的图块将强制显示在角色之上,并可通行。默认值99,不启用请设为大于7的数
    Star Region ID List:设定为这个区域ID的图块将强制显示在角色之上,并可通行。多个区域用半角逗号隔开。默认值0,不启用请设为0
    Higher Tile Region ID List: 设定为这个区域ID的图块将强制显示在角色之上,通行度不会改变。多个区域用半角逗号隔开。默认值0,不启用请设为0
    Passable Tile Region ID List: 设定为这个区域ID的图块将强制可以通行,优先级不会改变。多个区域用半角逗号隔开。默认值0,不启用请设为0
    Impassable Tile Region ID List: 设定为这个区域ID的图块将强制不可通行,优先级不会改变。多个区域用半角逗号隔开。默认值0,不启用请设为0
3. 进入数据库,给需要做为墙壁的图块设定相应的地形标记,比如自动墙壁图块的上部为7,下部为6

墙壁元件的通行将根据绘制情况自动计算
4. 如需使用区域ID功能,则根据需求用对应区域ID填在所需图块上。


注意:
以上tag和区域id元件不支持四方通行设置

如果需要在高层图块(遮挡角色的部分)上显示事件,事件的优先级需要在角色之上。

建议新建/复制图块组使用本插件,旧有图块设置请做好备份。由于RM自身图层设计很不灵活,复杂的遮挡效果难以正确实现,建议墙壁通行的功能只用在以墙壁为主的迷宫场景。

使用条款:非商业·商业皆可,请credit AndrewX

更新履历:
Version 0.82:
-修改:指定插件参数默认值

Version 0.81:
-修改:插件名称更改为 Enhanced Tile Passage
-新增:可通行图块行区域ID功能(强制图块可通行)
-修改:插件参数描述提升

Version 0.80:
-新增:高层图块区域ID功能(强制图块处于角色之上)
-新增:不可通行图块区域ID功能(强制图块不可通行)
-移除:取消Default Wall Thickness参数,因为实用性很低
-移除:为了减少对于地图的副作用,降低不可预期图块通行错误的可能,插件中涉及地形标记的功能将只对A类图块组起效。B~E图块组的相关效果可以通过手动使用区域ID功能实现

Version 0.71:
- 修改:优化通行度判定逻辑
- 修改:优化高层图块判定逻辑

Version 0.70:
- 新增:支持多个区域ID
- 修改:修正小bug

Version 0.60:
- 修改:优化通行度判定逻辑

Version 0.51:
- 修改:优化高层和通行度判定逻辑
- 默认不启用default wall thickness属性

Version 0.50:
- 新增:可以设定区域ID来实现星形通行
- 新增: 墙壁的高层低层遮挡现已可以自动计算,不需要使用额外的遮挡修正插件
- 新增: B~E组元件可以正确显示在上层,无需额外修改星形通行
- 修改:调整参数显示顺序

Version 0.01:
- 完成插件原型

插件内容:
Ver 0.82

作者: 汪汪    时间: 2015-11-23 19:24
半透明显示的话有一种方法是创建一个随角色运动且一模一样的半透明对象,而这个对象在最上面显示
作者: andrewx    时间: 2015-11-23 21:02
汪汪 发表于 2015-11-23 19:24
半透明显示的话有一种方法是创建一个随角色运动且一模一样的半透明对象,而这个对象在最上面显示 ...

确实是个方法,感觉那个Large Sprite Fix也是这么干的。不过感觉还挺复杂的,需要做跟随队员的甚至还有npc的
作者: 死伤殆尽    时间: 2015-11-23 21:48
其实VX系的地图风格决定了这种遮挡的效果会很奇怪,总而言之果然还是XP棒
墙壁遮挡半透明显示太诡异了,不如改成被墙壁遮挡的部分显示成紫灰色阴影还好一点
作者: 墟源    时间: 2015-11-24 12:47
好好好,一直用自改素材的方式解决,有这个就方便多了。
作者: andrewx    时间: 2015-11-24 14:33
死伤殆尽 发表于 2015-11-23 21:48
其实VX系的地图风格决定了这种遮挡的效果会很奇怪,总而言之果然还是XP棒
墙壁遮挡半透明显示太诡异了,不 ...

确实,其实比较好的效果是像伊苏2里那样像素交错描绘被遮挡的角色(隔一个像素描绘)
作者: tianashena    时间: 2015-12-5 20:16
好东西支持呀,学到东西了
作者: tianashena    时间: 2015-12-6 03:26
不过我怎么知道他对于 的标识符 是哪个??
作者: andrewx    时间: 2015-12-6 09:17
tianashena 发表于 2015-12-6 03:26
不过我怎么知道他对于 的标识符 是哪个??

首先这个是区域id,跟地形标识是不同的东西。请看关于Star Region ID List的插件说明,在插件管理器中设定一个或几个数字,再用对应的区域id图块涂就行了
作者: wabcmcc    时间: 2015-12-6 14:21
可否造范例,新手我容易學習.
作者: tianashena    时间: 2015-12-6 21:23
本帖最后由 tianashena 于 2015-12-6 21:38 编辑
andrewx 发表于 2015-12-6 09:17
首先这个是区域id,跟地形标识是不同的东西。请看关于Star Region ID List的插件说明,在插件管理器中设 ...


1.

2.

这个上面第一张图的的设置与第二张图,有什么关系??我是将 地形标示 为 7了,不过第二张图为什么用253??
作者: andrewx    时间: 2015-12-6 22:39
tianashena 发表于 2015-12-6 21:23
1.

2.

你只需要使用插件里最后一行star region ID list功能,双击那行,弹出的窗口里填一个你想用的id号(1~255之间不会跟别的插件冲突的数字)。然后用那个数字的区域画到门上面那格。 示例里我在tar region ID list那里填的253,所以画了253。

另外如果你不用其他功能的话可以把第一行和第二行的数值改成99,以免出现意料之外的效果
作者: tianashena    时间: 2015-12-6 22:55
本帖最后由 tianashena 于 2015-12-6 23:31 编辑
andrewx 发表于 2015-12-6 22:39
1.你只需要使用插件里最后一行star region ID list功能,双击那行,弹出的窗口里填一个你想用的id号(1~255 ...



呵呵好像还是出问题了,旁边可以穿过去

作者: andrewx    时间: 2015-12-7 10:23
tianashena 发表于 2015-12-6 22:55
呵呵好像还是出问题了,旁边可以穿过去

因为RM墙壁图块设计是如果进入了墙壁顶部,就算这个图块不能通行,角色也是可以在上面走的。如果用了我的插件前面的功能这里会自动屏蔽。

你现在只需要在哪个格子两边放两个优先级与角色相同的不能穿过透明事件就行了
作者: tseyik    时间: 2015-12-7 11:04
本帖最后由 tseyik 于 2015-12-7 11:20 编辑

會走了上面


現在用亊件解決


作者: andrewx    时间: 2015-12-7 13:13
tseyik 发表于 2015-12-7 11:04
會走了上面

对的,因为原本RM设计成墙壁自动元件的上部如果因为楼梯等图块进入了,那么顶部是可以行走的。用事件阻挡一下就可以了。也可以用Yanfly的YEP_RegionRestrictions这个插件阻挡。

如果用到了我的插件的自动的墙壁通行判定功能,那么这个现象已经被屏蔽了。
新的插件版本也加入了区域id阻挡功能,等测试一阵子OK了我再更新上来
作者: tianashena    时间: 2015-12-7 19:32
andrewx 发表于 2015-12-7 13:13
对的,因为原本RM设计成墙壁自动元件的上部如果因为楼梯等图块进入了,那么顶部是可以行走的。用事件阻挡 ...

呵呵原来事件和 是阻塞的的作用的,呵呵

请教一下,rpg maker 地形标识如何实现某区域出现敌人
作者: andrewx    时间: 2015-12-7 21:05
tianashena 发表于 2015-12-7 19:32
呵呵原来事件和 是阻塞的的作用的,呵呵

请教一下,rpg maker 地形标识如何实现某区域出现敌人 ...

都说了地形标识和区域ID是不同的东西,地形标识没有遇敌设置,要用区域id
地图属性设置遇敌的时候可以指定区域id
这些基本功能的问题麻烦先看看说明文档:http://miaowm5.github.io/RMMV-F1/
作者: 七尾夜行    时间: 2015-12-10 10:17
我是新手很愚钝,按照大大的说明设置,但是仍然不成功,请帮我看一下,谢谢!

插件设置01.jpg (258.12 KB, 下载次数: 23)

查件原始设置

查件原始设置

插件设置02.jpg (322.06 KB, 下载次数: 26)

图块设置

图块设置

插件设置03.jpg (187.52 KB, 下载次数: 27)

区域设置

区域设置

作者: andrewx    时间: 2015-12-10 22:48
七尾夜行 发表于 2015-12-10 10:17
我是新手很愚钝,按照大大的说明设置,但是仍然不成功,请帮我看一下,谢谢! ...

插件的文件名需要与插件里定义的一致参数才能生效,所以不要改插件文件名,换回AndrewX_WallPassage.js试试看
作者: 七尾夜行    时间: 2015-12-11 12:04
andrewx 发表于 2015-12-10 22:48
插件的文件名需要与插件里定义的一致参数才能生效,所以不要改插件文件名,换回AndrewX_WallPassage.js试 ...

问题已解决,非常非常感谢,我的很多想法都能够实现了!
作者: 七尾夜行    时间: 2015-12-11 12:05
andrewx 发表于 2015-12-10 22:48
插件的文件名需要与插件里定义的一致参数才能生效,所以不要改插件文件名,换回AndrewX_WallPassage.js试 ...

已解决,非常感谢!很多想法都能实现了!
作者: 埋头farm    时间: 2017-3-16 22:13
楼主还在吗?装了插件,把墙壁的那几个都设置成顶部7,正面6这样。墙壁顶部还是不能通行。然后我设置99还是不能用。是我实用方法错误了吗?还请楼主告知。
作者: 埋头farm    时间: 2017-3-16 22:17
截图如下所示。草块的顶部是7,正面是6.请问哪里有问题了。

1.jpg (45.41 KB, 下载次数: 27)

1.jpg

2.jpg (8.59 KB, 下载次数: 26)

2.jpg

3.jpg (54.67 KB, 下载次数: 27)

3.jpg

作者: wabcmcc    时间: 2017-3-18 12:51
楼主还在吗?装了插件,把墙壁

作者網站人去樓空
通行度插件可以用YEP_RegionRestrictions
星形通行https://rpg.blue/forum.php?mod=viewthread&tid=396305

作者: bualojio    时间: 2017-7-24 03:08
貌似对新版的MV没用了。 我用的steam 1.5.0版,   星形通行 只能达到通行的效果,遮不住玩家了
作者: luckywakeup    时间: 2018-5-1 07:28
好東西支持




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