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

Project1

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

[已经过期] 怪物追踪脚本

[复制链接]

Lv5.捕梦者

梦石
0
星屑
35138
在线时间
4164 小时
注册时间
2007-12-15
帖子
10061
跳转到指定楼层
1
发表于 2018-2-15 10:21:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 89444640 于 2018-2-15 14:39 编辑

由rpg接龙2添加的脚本引发的。
怪物追踪脚本,我扔到自己工程中测试目前无冲突,所以准备拿过来用。
这个脚本使用方式是
在事件标题的任意位置添加<SensorX>,其中X是具体的数,象征角色距离本事件小于X格,启动本事件的一个特定的独立开关(脚本中我设定的是D,即角色本事件靠近X格内,自动开启独立开关D)

测试了一下,效果不错,比我以前用怪物随机移动好多了。怪物追的有理有据。
但是,有一些细节需要完善,现在怪物发现角色时候没有任何提示,由于可以根绝怪物种类不同设定不同视野,所以这个没提示会造成怪物追踪很难躲开。
我在测试中加了几个动画,试图让怪物在启动追踪时先播放一个发现角色的动画,但是……失败了,并不是开怪开启时播放,只能是接触的一瞬间显示。如图所示

我想了半天也不知道怎么从事件入手解决。
因此,求在此脚本中添加语句,以实现如下效果。
当怪物发现敌人时,播放动画113,因为动画是8帧,会造成敌人行动暂停行动8帧,然后敌人再开始追击角色,因为我有角色加速,如果能有这样的提示,完全来得及跑开避免战斗。
虽然不能干别的用了,我这脚本确实只用于做怪物追踪角色用,所以实现此效果即可。
谢谢。
工程如下。
Project1.rar (280.01 KB, 下载次数: 159)
加个私货,我试ipad能不能播放XD
https://otowabi.com/category/material/oversea/

Lv5.捕梦者

梦石
0
星屑
36124
在线时间
10712 小时
注册时间
2009-3-15
帖子
4806
来自 7楼
发表于 2018-2-15 17:46:56 | 只看该作者
本帖最后由 soulsaga 于 2018-2-15 18:26 编辑

RUBY 代码复制
  1. def execute_sensor_effect(enable,key)      
  2.       @pattern = 0
  3.       @pattern_count = 0               
  4.       $game_self_switches[key] = enable
  5.       if $game_self_switches[key]
  6.       @animation_id = 113 #动画ID
  7.       @wait_count = 20 #等待帧数
  8.       else
  9.       @animation_id = 114 #动画ID
  10.       @wait_count = 20 #等待帧数
  11.       end
  12.       self.refresh
  13.    end
  14. end



这样就好..你可以加个流汗动画..

点评

刚才吃饭看春晚呢,这回回来了,我先试一下。  发表于 2018-2-15 21:51

评分

参与人数 1+1 收起 理由
89444640 + 1 非常感谢。

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19334
在线时间
3077 小时
注册时间
2013-1-11
帖子
1288
2
发表于 2018-2-15 10:51:37 | 只看该作者
脚本77行后面加上
  1. @animation_id = 113 #动画ID
  2. @wait_count = 20 #等待帧数
复制代码

点评

0是nil  发表于 2018-2-15 15:07
前面的被我占了,这里还有个空位置  发表于 2018-2-15 13:32
ID是133吗我记得RM是不是从0开始计数哇  发表于 2018-2-15 11:12

评分

参与人数 1+1 收起 理由
89444640 + 1 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35138
在线时间
4164 小时
注册时间
2007-12-15
帖子
10061
3
 楼主| 发表于 2018-2-15 11:18:24 | 只看该作者
张咚咚 发表于 2018-2-15 10:51
脚本77行后面加上

谢谢,测试了一下,这个在怪物靠近的时候没问题,但是会出现逃跑远离怪物的时候依然播放一次,是不是应该增加一些条件判断?就是角色逃离怪物追踪的时候,离开那个触发的范围时候不播放动画,或者播放一个汗水动画,表示怪物追不上角色了。
这个好像是轨迹系列通用表现手法- -b

点评

if self_switch_valid=ture then 什么的?我蒙着试试能不能运行  发表于 2018-2-15 15:40
还是那个地方判断独立开关打开或关闭,然后执行相应的动画  发表于 2018-2-15 14:56
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35138
在线时间
4164 小时
注册时间
2007-12-15
帖子
10061
4
 楼主| 发表于 2018-2-15 15:52:52 | 只看该作者
本帖最后由 89444640 于 2018-2-15 16:31 编辑
89444640 发表于 2018-2-15 11:18
谢谢,测试了一下,这个在怪物靠近的时候没问题,但是会出现逃跑远离怪物的时候依然播放一次,是不是应该 ...


蒙着来,写成这样
  if $game_self_switches[D] = true
      @animation_id = 113 #动画ID
      @wait_count = 8 #等待帧数
  end
能运行但是显示
无法识别独立开关D
蒙出来了  
if  @game_self_switches = enable
      @animation_id = 1 #动画ID
      @wait_count = 8 #等待帧数
  end  
应该是这样吧?试了一下不对……没效果
目前试蒙写了几十遍可能性,然后这样子是能运行  
if enable p self_switch_valid = true
      @animation_id = 1 #动画ID
      @wait_count = 8 #等待帧数
    else p
      self_switch_valid = false
  end
但是跳出的一个什么都没有的对话框写着ture 然后是undefined enable
rmxp F1里面写的是
GC.enable
允许使用垃圾回收。
返回此前的禁用状态(若此前已被禁用,则返回 true,若此前 GC 仍在工作,则返回 false)。
确实是返回ture了……怎么才能返回游戏正在执行的动作,而不是返回ture

点评

这里的等於是写成==代入才是=  发表于 2018-2-15 16:39
还是不行……我继续试……  发表于 2018-2-15 16:29
if enable p "独立开关打开" else p "独立开关关闭" end  发表于 2018-2-15 16:10
if game_self_switches[d] = enable也不轻,抱歉脚本我真的一点都不会,不知道应该怎么写实在不行  发表于 2018-2-15 16:06
直接判断enable就行  发表于 2018-2-15 15:58
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36124
在线时间
10712 小时
注册时间
2009-3-15
帖子
4806
5
发表于 2018-2-15 16:43:46 | 只看该作者
本帖最后由 soulsaga 于 2018-2-15 16:46 编辑

#3#獨立開關
  key = [$game_map.map_id, @event_id, "x"]
  if $game_self_switches[key]
  end

$game_self_switches[地图ID, 事件ID, "独立开关ABCD"]

是这样么..
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35138
在线时间
4164 小时
注册时间
2007-12-15
帖子
10061
6
 楼主| 发表于 2018-2-15 17:28:57 | 只看该作者
soulsaga 发表于 2018-2-15 16:43
#3#獨立開關
  key = [$game_map.map_id, @event_id, "x"]
  if $game_self_switches[key]

是这段

  #--------------------------------------------------------------------------
  # ● Execute_Sensor Effect
  #--------------------------------------------------------------------------            
  def execute_sensor_effect(enable,key)      
      @pattern = 0
      @pattern_count = 0
  if enable p self_switch_valid ["d"]= true
      @animation_id = 1 #动画ID
      @wait_count = 8 #等待帧数
    else p
      self_switch_valid = false
  end  
      $game_self_switches[key] = enable
      self.refresh
  end
end
不知道怎么写
说实话,写的是啥我基本看不懂- -b
我这是依然跳出无法定义什么什么的。
要不拿楼顶工程试试?

点评

人去哪了..解決了么..  发表于 2018-2-15 18:23
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35138
在线时间
4164 小时
注册时间
2007-12-15
帖子
10061
8
 楼主| 发表于 2018-2-15 22:17:49 | 只看该作者
soulsaga 发表于 2018-2-15 17:46
def execute_sensor_effect(enable,key)      
      @pattern = 0
      @pattern_count = 0              ...

效果……如下,还算可以接受,

这是一个追击问题,敌人追击速度是4,角色加速以后速度是5,不手残追不上。
设置敌人追击等待是8帧,追不上显示汗水等待30帧

但是如果怪物以速度5冲过来,等待8帧就有点难躲了。
速度6的情况根本就躲不开。


点评

可以扩大范围的<Sensor8>什么的 ,但是要记得有迷宫……迷宫经常两个格子三个格子的道,怪物堵口很恶心的。  发表于 2018-2-16 15:11
我觉得索敌范围太小了..不故意撞上去根本不用被怪追..  发表于 2018-2-16 14:56
专注躲怪三十年XD  发表于 2018-2-16 09:51
提示变得没意义啊..  发表于 2018-2-15 23:33
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33071
在线时间
5103 小时
注册时间
2012-11-19
帖子
4878

开拓者

9
发表于 2018-2-19 10:12:06 | 只看该作者
以前就明雷效果做了一系列的改造,包括随机和追击。

总感觉默认随机移动应用到怪身上稍微有那么点别扭,就那么有规律的不停走啊走,,,所有改造成了随机的停顿,随机的转向和随机的移动步数。
至于追击,在脚本里改就更方便了。
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35138
在线时间
4164 小时
注册时间
2007-12-15
帖子
10061
10
 楼主| 发表于 2018-2-19 10:36:05 | 只看该作者
芯☆淡茹水 发表于 2018-2-19 10:12
以前就明雷效果做了一系列的改造,包括随机和追击。

总感觉默认随机移动应用到怪身上稍微有那么点别扭,就 ...

嗯,随机移动一直不停确实闹心的慌,能随机停顿就好多了。
不知道会不会有冲突,我搜一下看看。然后默认的随机移动有个别地方做故意用了这个效果的事,
比如这个……

如果这个脚本是直接改成所有都这样……不是一直这么动,就没这么好玩了XD

一些通道过于狭窄的敌方,需要让这里的敌人是移动缓慢且不是经常移动,背面视野X格以内看不见玩家,这样容易躲避。

我这一直是先得有脚本,看看冲突和能不能用再确定优化方向,所以能实现一部分效果就知足了,
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-21 16:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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