Project1

标题: TyPath - VA智能寻路脚本 [打印本页]

作者: MCCF    时间: 2020-3-14 17:16
标题: TyPath - VA智能寻路脚本
本帖最后由 MCCF 于 2021-1-27 15:03 编辑

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

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

作者: MCCF    时间: 2020-3-15 20:45
本帖最后由 MCCF 于 2020-3-17 13:18 编辑

1.1版本更新:

一个看的人都没有……WSL
作者: 落宁雪霜    时间: 2020-3-16 17:41
!!!!好棒!支持!

作者: 犬白希    时间: 2020-3-17 02:06
result = @list.any? do |item|
这行报错了说是no method 还有未定义any?是什么原因QAQ,在设置里前两个我都设置了false,第三个用开关也设置过,可还是报错了。
脚本那么棒可惜我太菜
作者: 怠惰な騎士    时间: 2020-3-17 03:45
本帖最后由 怠惰な騎士 于 2020-3-17 03:52 编辑

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

试验了一下,太dio了……复杂寻路很流畅搞定。
作者: 暗幽雪花    时间: 2020-3-17 09:10
哦哦哦这个是好东西!
之前一直觉得默认的寻路太影响体验了……
作者: 寂静的夜里    时间: 2020-3-17 10:19
厉害 前来援一波
作者: 犬白希    时间: 2020-3-17 11:54
犬白希 发表于 2020-3-17 02:06
result = @list.any? do |item|
这行报错了说是no method 还有未定义any?是什么原因QAQ,在设置里前两个我 ...

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

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

捕获.PNG

作者: MCCF    时间: 2020-3-17 13:32
本帖最后由 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
复制代码

作者: chanszeman1018    时间: 2020-3-31 00:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: 我妻寒十    时间: 2020-5-3 08:55
大佬厉害,支持一波=w=
作者: MCCF    时间: 2020-9-25 23:00
1.2版本更新
修复了move_route和move_typath方法的BUG。
作者: alexncf125    时间: 2020-12-30 21:05
本帖最后由 alexncf125 于 2020-12-30 21:19 编辑
  1. class Game_Character < Game_CharacterBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 获取指定ID的人物
  4.   #--------------------------------------------------------------------------
  5.   def get_character(id)
  6.     if $game_party.in_battle
  7.       nil
  8.     elsif param < 0
  9.       $game_player
  10.     else
  11.       $game_map.events[param > 0 ? param : @event.id]
  12.     end
  13.   end
  14. .
  15. .
  16. .
复制代码

大大这里的param是从那来的
作者: 白妹mina    时间: 2021-2-11 10:51
为什么我是这种情况吖,大佬在不在帮忙看一下

]3I~6U}({Y0T%YJHB)~3QTG(1).png (10.12 KB, 下载次数: 38)

]3I~6U}({Y0T%YJHB)~3QTG(1).png

作者: alexncf125    时间: 2021-2-11 11:19
本帖最后由 alexncf125 于 2021-2-11 11:21 编辑
白妹mina 发表于 2021-2-11 10:51
为什么我是这种情况吖,大佬在不在帮忙看一下


看不到有说能在事件中调用「追逐」二字...
请先充分了解並明白「使用方法」后, 才好正确地使用脚本...
作者: 白妹mina    时间: 2021-2-11 17:10
alexncf125 发表于 2021-2-11 11:19
看不到有说能在事件中调用「追逐」二字...
请先充分了解並明白「使用方法」后, 才好正确地使用脚本... ...

我不会用,怎么用啊
作者: “骨独”1265    时间: 2021-2-22 13:41
不错的脚本,但如果地图里超过3个事件用脚本寻路的话离远了就会非常卡…
希望能够优化一下,不然使用起来还是很有限制的…
作者: 雪蓮姬    时间: 2021-2-24 21:35
本帖最后由 雪蓮姬 于 2021-2-24 21:38 编辑

先推個,後來用1.2的腳本就解決了

擷取.PNG (19.43 KB, 下载次数: 38)

擷取.PNG

作者: MCCF    时间: 2021-2-27 15:33
“骨独”1265 发表于 2021-2-22 13:41
不错的脚本,但如果地图里超过3个事件用脚本寻路的话离远了就会非常卡…
希望能够优化一下,不然使用起来还 ...

找时间实现一个Ruby的堆基本上就能解决这个问题
理论上可以达到至少100*100大地图的10事件以下无卡顿寻路
作者: “骨独”1265    时间: 2021-3-12 14:55
MCCF 发表于 2021-2-27 15:33
找时间实现一个Ruby的堆基本上就能解决这个问题
理论上可以达到至少100*100大地图的10事件以下无卡顿寻路 ...

100x100的设计的话在绝大多数游戏里都能满足了,
脚本方面做追逐战的效果非常好,比原版一些寻路设计强很多。
作者: samnle    时间: 2021-3-16 18:27
先看看范例
作者: anyejie    时间: 2021-7-9 10:08
(挖坟)太强了!!解决了我系统追逐鬼畜的问题!!
作者: 多才不易必自闭    时间: 2021-11-28 21:37
66666666666666666666666
作者: lalamodiy    时间: 2021-12-5 10:00
不行,算法还是太暴力了,地图不能太大,有效率问题,范例工程一走到下面就直接卡屏了
作者: 人形丿星薇    时间: 2021-12-13 12:40
(挖坟人)这个脚本好棒!留个名使用去做自己的游戏(!?
作者: 斯巴拉西    时间: 2022-8-6 08:50
为什么加了之后放了堵墙就隔墙深情相望而不是从另一边绕过来
作者: C大小姐    时间: 2022-8-21 18:30
报错Invalid or unexpected token,怎么回事捏
作者: MTTsan    时间: 2022-10-23 21:35
太强了!!!




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