Project1

标题: 关于明雷遇敌[敌人视野] [打印本页]

作者: yangjunyin2002    时间: 2013-5-24 12:36
标题: 关于明雷遇敌[敌人视野]
本帖最后由 yangjunyin2002 于 2013-5-25 09:58 编辑

好像是这么说的吧。就是一个怪物的事件,平时会慢慢地在地图上徘徊,但是敌人有视野,一旦进入这事件的视区,这个事件就会加速移动,如果被主角碰到就会触发战斗。如果主角速度离开了他的视野,即没被他追上,他又想原来那样慢慢移动了。。。就是这样,我好不容易找到几个VX的这种问题,可都是没解决的。我今天找到了下面这个VA的脚本,就能达到那个效果,可惜这是VA的,咱VX无法用。如果是事件上的制作的话,似乎无法达成。
那个VA的脚本:
  1. #==============================================================================
  2. # +++ MOG - Event Sensor Range (v1.0) +++
  3. #==============================================================================
  4. # By Moghunter
  5. # http://www.atelier-rgss.com
  6. #==============================================================================
  7. # Permite que o evento tenha dois comportamentos, de curta distância e de
  8. # longa distância.
  9. #===============================================================================
  10. # - Utilização
  11. # Crie uma página com a condição de ativação Self Switch D, está página será
  12. # usada quando o player estiver perto do evento.
  13. # Defina a area do sensor do evento colocando este nome no evento.
  14. #
  15. # <SensorX>
  16. #
  17. # X = Area do Sensor
  18. #
  19. #===============================================================================
  20. module MOG_EVENT_SENSOR
  21.   #Definição da letra da Self Switch que ativará a página de curta distância.
  22.   SENSOR_SELF_SWITCH = "D"
  23. end

  24. #===============================================================================
  25. # ■ GAME EVENT
  26. #===============================================================================
  27. class Game_Event < Game_Character
  28.   
  29.   attr_reader   :sensor_range
  30.   
  31.   #--------------------------------------------------------------------------
  32.   # ● Initialize
  33.   #--------------------------------------------------------------------------            
  34.   alias mog_event_sensor_initialize initialize
  35.   def initialize(map_id, event)
  36.       mog_event_sensor_initialize(map_id, event)
  37.       setup_event_sensor
  38.   end
  39.   
  40.   #--------------------------------------------------------------------------
  41.   # ● Setup Event Sensor
  42.   #--------------------------------------------------------------------------         
  43.   def setup_event_sensor
  44.       @sensor_range =  @event.name =~ /<Sensor(\d+)>/ ? $1.to_i : 0
  45.   end  
  46.   
  47.   #--------------------------------------------------------------------------
  48.   # ● Update
  49.   #--------------------------------------------------------------------------            
  50.   alias mog_event_sensor_update update
  51.   def update
  52.       mog_event_sensor_update
  53.       update_event_sensor
  54.   end  
  55.   
  56.   #--------------------------------------------------------------------------
  57.   # ● Update Sensor
  58.   #--------------------------------------------------------------------------        
  59.   def update_event_sensor
  60.       return if @sensor_range == 0
  61.       distance = ($game_player.x - self.x).abs + ($game_player.y - self.y).abs
  62.       enable   = (distance <= @sensor_range)
  63.       key = [$game_map.map_id, self.id, MOG_EVENT_SENSOR::SENSOR_SELF_SWITCH]
  64.       last_enable = $game_self_switches[key]
  65.       execute_sensor_effect(enable,key) if enable != last_enable
  66.     end

  67.   #--------------------------------------------------------------------------
  68.   # ● Execute_Sensor Effect
  69.   #--------------------------------------------------------------------------            
  70.   def execute_sensor_effect(enable,key)      
  71.       @pattern = 0
  72.       @pattern_count = 0               
  73.       $game_self_switches[key] = enable
  74.       self.refresh
  75.   end
  76.    
  77. end

  78. $mog_rgss3_event_sensor = true
复制代码
又是自己解决自己结贴了...我就是把脚本简单移植下就能用了。。。
作者: Password    时间: 2013-5-24 18:24
纯事件就能达成了
http://rpg.blue/forum.php?mod=re ... &fromuid=292428
附赠手电筒效果一枚。

P.S.:我记得以前我弄过一个纯视野的啊……
作者: yangjunyin2002    时间: 2013-5-25 08:51
Password 发表于 2013-5-24 18:24
纯事件就能达成了
http://rpg.blue/forum.php?mod=redirect&goto=findpost&ptid=297105&pid= ...

话说咱不需要手电筒,不是你打开手电筒就被发现,是接近敌人会被发现,然后你离开敌人视野范围就...@protosssonny  




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