查看: 3360|回复: 16

[已经过期] 怪物范围攻击

[复制链接]
梦石
0
星屑
17561
在线时间
4249 小时
注册时间
2013-7-18
回帖
2491
发表于 2016-9-22 08:21:22 | 显示全部楼层 |阅读模式

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

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

×
明雷怪,让怪在离角色一定距离内就接近角色主动攻击,距离外就随机移动,如何实现
退隐....
梦石
0
星屑
1788
在线时间
1313 小时
注册时间
2012-8-4
回帖
724
发表于 2016-9-22 21:16:29 | 显示全部楼层
本帖最后由 夜狠简单 于 2016-9-22 21:23 编辑

思路事件里建2个事件页 勾选并行执行


第一页 设置移动方式随机移动  并在事件内容里判断距离 然后在一定距离内 独立开关A打开 否则 独立开关A关闭——(不用关闭应该没事)


第二页 独立开关A打开时执行第二个事件页 第二个事件页设置移动方式接近主角 然后判断距离 距离不在一段距离内独立开关A关闭

点评

感觉能做出来,如果下午千没人弄我就试试  发表于 2016-9-23 11:56
我想让怪到1格以内就主动触发战斗  发表于 2016-9-23 11:50
就是我帖子说的,我找到个脚本,但是怪到身边不攻击主角,设置与事件接触还要手动按一下  发表于 2016-9-23 11:49
脚本的话需要脚本里做些什么工作  发表于 2016-9-23 11:38
事件版的我看了有帖子介绍的,就是每个怪都要设置,有点麻烦,最好是脚本的  发表于 2016-9-23 10:43

评分

参与人数 1星屑 +20 收起 理由
y967 + 20 谢谢提供思路

查看全部评分

回复

使用道具 举报

梦石
0
星屑
1788
在线时间
1313 小时
注册时间
2012-8-4
回帖
724
发表于 2016-9-22 21:16:51 | 显示全部楼层
本帖最后由 夜狠简单 于 2016-9-23 12:06 编辑

看看这个
http://rpg.blue/thread-108850-1-1.html

点评

大概就是这个了,会主动攻击角色了,不过那个斜度什么的有点迷茫,我研究一下  发表于 2016-9-23 15:55
更新  发表于 2016-9-23 12:06
编辑提交出错,就突然多出了这楼  发表于 2016-9-22 21:25

评分

参与人数 1星屑 +40 收起 理由
y967 + 40 塞糖

查看全部评分

回复

使用道具 举报

梦石
0
星屑
35248
在线时间
4171 小时
注册时间
2007-12-15
回帖
9489
发表于 2016-9-23 12:53:31 | 显示全部楼层
本帖最后由 89444640 于 2016-9-23 13:17 编辑


看了,这个系统比较详细,非常感谢。但是没范例,应该怎么用呢?是不是用作者描述的代码在事件中写上然后并行处理?
试了一下好像知道了,应该是单独建立个事件开关D打开时候更改角色移动为接近。

那个颜色方面我还有个疑问, 这个帖子说 默认视线颜色是0xf0 16进制的颜色代码 我改为0XFF应该是红,可是显示出来却是青色,请问这是是为何?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
168 小时
注册时间
2007-7-26
回帖
427
发表于 2016-9-23 15:23:31 | 显示全部楼层
我看你需要这个

[pre lang="ruby"]#==============================================================================
# ■ XP敌人视野脚本 BY 万兽熊最高
# http://bearrpg.weebly.com
#==============================================================================
module SEEK
  #定义敌人事件的标记,把敌人事件的名字改成下面设定的字符串就成。
  ENE_TAG = "enemy"
  #定义敌人的视野距离,默认为5格
  SEEK_DIS = 5
  #定义逃出视野距离,默认为7格
  ESP_DIS = 7
  #定义发现目标时播放的动画ID,默认98
  ANI_ID = 98
end
class Game_Character
  alias bearrpg update
  def update
    seek_player
    bearrpg
  end
  #--------------------------------------------------------------------------
  # ● 敌人追击范围判定
  #--------------------------------------------------------------------------
  def viewrange
    if ($game_player.x-@x)**2 + ($game_player.y-@y)**2 < SEEK::SEEK_DIS**2
      case @direction
          when 2
           return false if $game_player.y < @y
          when 4
           return false if $game_player.x > @x
          when 6
           return false if $game_player.x < @x
          when 8
           return false if $game_player.y > @y
         end
         return true
       else
         return false
      end
  end
  #--------------------------------------------------------------------------
  # ● 逃出视野范围
  #--------------------------------------------------------------------------
  def viewout
    return false if ($game_player.x-@x)**2 + ($game_player.y-@y)**2 < SEEK::ESP_DIS**2
    return true
  end
  #--------------------------------------------------------------------------
  # ● 发现玩家
  #--------------------------------------------------------------------------
  def seek_player
    return if @event == nil
    return if @move_type == 0
    for event in $game_map.events.values
    if events = $game_map.events  
    if @event.name == SEEK::ENE_TAG
    if !@seeking && viewrange
        @animation_id = SEEK::ANI_ID
        @remain = [@move_type, @move_speed]
        @seeking = true
        @move_type = 2
        @move_speed = @remain[1] += 1
      elsif @seeking && viewout
      @seeking = false
      if @remain != nil
        @move_type = @remain[0]
        @move_speed -= 1
      end
    end
   end
  end
end
end
end[/pre]

点评

明白了,原来如此  发表于 2016-9-23 17:16
你测试一下啊,敌人随机移动比较慢,追的时候,明显快了啊  发表于 2016-9-23 16:15
这个也不错,还有动画,就是不能设置追的时候改变追的速度,如果能加个开关D就最好了  发表于 2016-9-23 16:05
敌人随机移动,或者自定义路线,当角色进入敌人范围就会被追,逃出范围敌人还是随机移动了。  发表于 2016-9-23 15:25

评分

参与人数 1星屑 +30 收起 理由
y967 + 30 塞糖

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部