查看: 1763|回复: 0

[已经解决] 求助,这个索敌方式有办法改进吗

[复制链接]
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2016-2-7 21:37:41 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 yang1zhi 于 2016-2-7 21:54 编辑

这是用来队友寻找范围内的敌人用的。
目前这个脚本使用后队友会把整个地图上的敌人按顺序一个个打过来,而不会打面前的敌人。
BFS_Setting::SENSOR_RANGE
这个是用来设置队友索敌范围的变量
索敌范围也是有索敌范围,但是就是还是按顺序打地图上的敌人,而不是打最近的。
就算敌人在索敌范围内,不是那个顺序的敌人,就不去。


已经解决,删掉了break就可以了

[pre lang="ruby"]   def update_sensor
     @enemy_in_range = nil
     #I是地图上的所有名字叫Enemy的敌人事件
     for i in $game_map.events.values.select{|ev| ev.event.name == "Enemy"}
       if i.battler != nil and i.battler.is_a?(Game_Enemy) and not
         #索敌标记
         BFS_Setting::NOT_ATTACK_ID.include?(i.enemy_id)
         distance = (i.x - self.x).abs + (i.y - self.y).abs
         @enemy_in_range = i.id if (distance <= BFS_Setting::SENSOR_RANGE)
         break
       end
     end
   end  
end
[/pre]
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

在本版发帖返回顶部