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

Project1

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

[原创发布] TyPath - VA智能寻路脚本

[复制链接]

Lv4.逐梦者

梦石
2
星屑
6639
在线时间
501 小时
注册时间
2018-3-23
帖子
533

R考场第七期银奖

跳转到指定楼层
1
发表于 2020-3-14 17:16:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 MCCF 于 2021-1-27 15:03 编辑

众所周知,RPG Maker原版的寻路是不完备的,时常会遇到被墙壁/桌子卡住的现象。
TyPath脚本用A*算法扩展了原有寻路,部分解决了这个问题,并为更多的扩展和支持提供基础。

关于TyPath
前言
脚本
范例工程
实现说明
更新日志

评分

参与人数 13星屑 +310 +12 收起 理由
hightguy + 1
B612 + 1 塞糖
哇哇哇啊叭叭 + 1 塞糖
anyejie + 1 塞糖
KazamiMegumin + 1 精品文章
雪蓮姬 + 1 塞糖
fux2 + 310 精品文章
Cupidk爱呗茶 + 1 精品文章
又囧又怨的炅鸢 + 1 精品文章
一只中二酱 + 1 nb!

查看全部评分

祝好。

Lv4.逐梦者

梦石
2
星屑
6639
在线时间
501 小时
注册时间
2018-3-23
帖子
533

R考场第七期银奖

来自 2楼
 楼主| 发表于 2020-3-15 20:45:16 | 只看该作者
本帖最后由 MCCF 于 2020-3-17 13:18 编辑

1.1版本更新:
  • 现在即使目标不可到达,也会自动寻路到离目标最近的位置上。
  • 进一步优化寻路速度,减少寻路对游戏FPS的影响。
  • 可设置“堵截式寻路”,此时事件将忠贞不渝死缠烂打地堵截角色。
  • 可设置寻路精度及智能度,可以通过减小这两个设定值防止卡顿。
  • 可设置寻路避免通过有害地形的修正。
  • 以及更多奇奇怪怪的部分优化和一大堆BUG修复。

一个看的人都没有……WSL

评分

参与人数 1+1 收起 理由
怠惰な騎士 + 1 有看的人×

查看全部评分

祝好。
回复 支持 2 反对 0

使用道具 举报

Lv4.逐梦者

梦石
2
星屑
6639
在线时间
501 小时
注册时间
2018-3-23
帖子
533

R考场第七期银奖

来自 12楼
 楼主| 发表于 2020-9-25 23:00:14 | 只看该作者
1.2版本更新
修复了move_route和move_typath方法的BUG。
祝好。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
479
在线时间
35 小时
注册时间
2019-8-22
帖子
48
3
发表于 2020-3-16 17:41:41 | 只看该作者
!!!!好棒!支持!
回复 支持 0 反对 1

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
243
在线时间
28 小时
注册时间
2019-6-29
帖子
3
4
发表于 2020-3-17 02:06:19 | 只看该作者
result = @list.any? do |item|
这行报错了说是no method 还有未定义any?是什么原因QAQ,在设置里前两个我都设置了false,第三个用开关也设置过,可还是报错了。
脚本那么棒可惜我太菜

点评

能否看看问题截图?可能是any?不被某些RGSS系统支持,也可能是笔误……  发表于 2020-3-17 08:41
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1264
在线时间
127 小时
注册时间
2017-1-14
帖子
93

开拓者

5
发表于 2020-3-17 03:45:45 | 只看该作者
本帖最后由 怠惰な騎士 于 2020-3-17 03:52 编辑

A*大佬!!!!
我能想象出来用这个脚本可以做出多强的ARPG效果,不要停下来啊!!!

试验了一下,太dio了……复杂寻路很流畅搞定。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
799
在线时间
138 小时
注册时间
2014-2-8
帖子
15
6
发表于 2020-3-17 09:10:08 | 只看该作者
哦哦哦这个是好东西!
之前一直觉得默认的寻路太影响体验了……
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

职业の水客

梦石
0
星屑
12955
在线时间
6992 小时
注册时间
2010-6-16
帖子
3475

开拓者

7
发表于 2020-3-17 10:19:45 | 只看该作者
厉害 前来援一波
一个看图的地方
群爆炸重建后状态:论坛老人最多(只剩下了活跃的老人),技术力很强(依旧不变)的编程灌水群:901540785
专门讨论RM相关的Q群:56875149
PS:第一个群不是专门讨论RM的,第二个才是哦。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
243
在线时间
28 小时
注册时间
2019-6-29
帖子
3
8
发表于 2020-3-17 11:54:04 | 只看该作者
犬白希 发表于 2020-3-17 02:06
result = @list.any? do |item|
这行报错了说是no method 还有未定义any?是什么原因QAQ,在设置里前两个我 ...

游戏开始运行时不报错但到了某个地图的时候就弹出来了,这个地图也不是追逐战的那张地图

捕获.PNG (6.03 KB, 下载次数: 21)

捕获.PNG
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
2
星屑
6639
在线时间
501 小时
注册时间
2018-3-23
帖子
533

R考场第七期银奖

9
 楼主| 发表于 2020-3-17 13:32:11 | 只看该作者
本帖最后由 MCCF 于 2020-3-17 13:36 编辑

找到我的脚本中的以下部分:
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2. # ● 自动移动的更新
  3. #--------------------------------------------------------------------------
  4. alias typath_update_self_movement update_self_movement
  5. def update_self_movement
  6.   if typath?
  7.     if @stop_count > stop_count_threshold
  8.       if @move_type == 2
  9.         move_type_toward_player
  10.       elsif near_the_screen?
  11.         case @move_type
  12.           when 1;  move_type_random
  13.           when 2;  move_type_toward_player
  14.           when 3;  move_type_custom
  15.         end
  16.       end
  17.     end
  18.   else
  19.     typath_update_self_movement
  20.   end
  21. end

找到这一行:
  1. if typath?
复制代码

在这一行上方新增:
  1. return if @move_type == 0
复制代码

点评

问题解决了!谢谢大佬x  发表于 2020-3-17 15:38
祝好。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv4.逐梦者 (禁止发言)

梦石
0
星屑
5701
在线时间
922 小时
注册时间
2013-8-29
帖子
1468
10
发表于 2020-3-31 00:18:19 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-24 22:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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