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

Project1

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

[有事请教] 【已解决】如何做到行人在大地图上的来回循环

[复制链接]

Lv2.观梦者

梦石
0
星屑
638
在线时间
74 小时
注册时间
2024-1-30
帖子
47
跳转到指定楼层
1
发表于 2024-10-11 13:05:04 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 西北孤狼 于 2024-10-12 18:42 编辑

我之前在较小,并且行人不多的地图上制造行人循环的方法,就是按照图1的方式输入一连串向x(上/下/左/右)移动+事件变透明+往回走+事件不透明+走回来的指令,但我有一个很长的地图(将近100格)需要安排很多很多无限循环的行人npc,要是每个npc都要输入上百个向x移动还要往回走上百格的话真的太麻烦而且占资源,所以想知道有没有以“重复向x移动+如果前方有不可通行方块的话就把本事件传送回起点”思路实现行人循环效果的方法?又或者各位大佬也许有更简便的方法或者插件?

长廊.png (228 KB, 下载次数: 30)

长廊.png

Lv2.观梦者

梦石
0
星屑
638
在线时间
74 小时
注册时间
2024-1-30
帖子
47
11
 楼主| 发表于 2024-10-12 13:10:49 | 只看该作者
结合下各位的宝贵建议,其实发现个不用写脚本的方法:如果只有单方向移动的话就直接自定义路线里面循环向x移动,然后事件页里面设置一个并行事件:变量=npc事件的x,以及一个分支条件:当npc事件的x=终点的x坐标的时候,就改变npc事件位置到起点不过这个只适用于行人朝一个方向移动的情况,如果想要设计行人中途躲避障碍或者转弯的话,可能用楼上说的drill插件要方便一点?

点评

如果只朝两个相互垂直的方向移动(比如右和上)那么用这个办法同时记录x和y是可以的。某些特定的y值时向右移动,某些特定的x值时向上移动。  发表于 2024-10-12 14:43
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
638
在线时间
74 小时
注册时间
2024-1-30
帖子
47
10
 楼主| 发表于 2024-10-11 18:29:04 | 只看该作者
HM495 发表于 2024-10-11 18:01
我的意思是,如果按照你目前提到的逻辑,就会产生上述的结果
因为撞到玩家角色也属于不可通行的情况

这个方法很详细,一会马上试试,先多谢详细解答啦

点评

我有个损招,把地图做成水平循环的,这样【走到地图边缘的NPC就会自动瞬移到另一边继续走】了……  发表于 2024-10-12 10:23
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5174
在线时间
736 小时
注册时间
2018-1-16
帖子
151
9
发表于 2024-10-11 18:28:56 | 只看该作者
西北孤狼 发表于 2024-10-11 17:29
也就是等待、跳过、重复三个都选吧,然后npc卡在不可通行图块之前就不动了,感觉得有一个判断是否可以移 ...

你可以使用 Drill 大佬的插件合集,里面有
Drill_CoreOfMoveRoute 移动路线核心 (插件核心)
Drill_RouteCommandGroup 指令集
可以满足你的需求
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6580
在线时间
1494 小时
注册时间
2013-12-3
帖子
321
8
发表于 2024-10-11 18:01:09 | 只看该作者
本帖最后由 HM495 于 2024-10-11 18:12 编辑
西北孤狼 发表于 2024-10-11 17:25
不用玩家触碰,就是npc遇到不可通行图块npc的位置就会回到起点,我试了下楼上的方法,npc确实会一直走, ...


我的意思是,如果按照你目前提到的逻辑,就会产生上述的结果
因为撞到玩家角色也属于不可通行的情况

那不用插件的做法就是用一个并行事件去循环处理“路人A、路人B、路人C……路人Z需不需要向右走“一”步”这个行为
什么时候往右走一步呢?

该路人事件此时的坐标是XY,这能获取到,那就用脚本去判定(X+1,Y)这个坐标的可通行性
如果可通行,向右走一步,如果不可通行,那就设置事件位置到最初的坐标

你真要用这个方式去判定的话就是这么个思路
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
638
在线时间
74 小时
注册时间
2024-1-30
帖子
47
7
 楼主| 发表于 2024-10-11 17:34:12 | 只看该作者
灯笼菜刀王 发表于 2024-10-11 17:22
移动路线设置
    往左移动
    移动路线里的脚本:   当X坐标 == 0 时, 瞬移到右边指定坐标  

这个方法不错,尤其是在rm很难判定单个事件是否能继续移动的情况下,不过本脚本盲需要一些时间去实现这个效果
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
638
在线时间
74 小时
注册时间
2024-1-30
帖子
47
6
 楼主| 发表于 2024-10-11 17:29:29 | 只看该作者
shantianzu 发表于 2024-10-11 15:05
1:设置移动路线 里只选择一个向右移动,左下的 循环执行 勾选后,事件就会循环执行向右移动,不需要设置这 ...

也就是等待、跳过、重复三个都选吧,然后npc卡在不可通行图块之前就不动了,感觉得有一个判断是否可以移动的机制(但我感觉rmmv没有)
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
638
在线时间
74 小时
注册时间
2024-1-30
帖子
47
5
 楼主| 发表于 2024-10-11 17:25:14 | 只看该作者
HM495 发表于 2024-10-11 16:30
先不论实现方式,按照你表述的逻辑,NPC遇到阻挡就重置路线没错吧
那是不是代表最后的效果是:
1、玩家碰到 ...

不用玩家触碰,就是npc遇到不可通行图块npc的位置就会回到起点,我试了下楼上的方法,npc确实会一直走,但遇到不可通行图块就卡住了,感觉必须有一个方法判断npc可不可以移动,无法移动的话就传送回起点?
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39016
在线时间
5717 小时
注册时间
2006-11-10
帖子
6619
4
发表于 2024-10-11 17:22:59 | 只看该作者
本帖最后由 灯笼菜刀王 于 2024-10-11 17:24 编辑

移动路线设置
    往左移动
    移动路线里的脚本:   当X坐标 == 0 时, 瞬移到右边指定坐标  
勾上以上重复和忽略不能行动场合

MV的移动脚本格式怎么写, 自己研究下, 笑
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6580
在线时间
1494 小时
注册时间
2013-12-3
帖子
321
3
发表于 2024-10-11 16:30:13 | 只看该作者
先不论实现方式,按照你表述的逻辑,NPC遇到阻挡就重置路线没错吧
那是不是代表最后的效果是:
1、玩家碰到NPC后NPC就消失了
2、用1的方法可以把所有NPC堵回角落
你确定这是你要的效果……?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-22 15:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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