Плохо! Плохо!:  0
Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 12 из 12

Тема: Event Sensor Range

  1. #11

    По умолчанию

    То что ты представил уже вправлено? Можно добавить в первый пост?

  2. #12
    Познающий Аватар для mephis
    Информация о пользователе
    Регистрация
    27.01.2011
    Адрес
    Новосибирск
    Сообщений
    330
    Записей в дневнике
    8
    Репутация: 34 Добавить или отнять репутацию

    По умолчанию

    Да не, из того поста не надо. Ч0 та стыдно с такими минимальными правками в главный пост пихать. Вот варианты с переведённой инструкцией и исправлениями для


    Для RPG Maker XP:
    Код:
    #==============================================================================
    # MOG XP - Event Sensor Range
    #==============================================================================
    # Автор: Moghunter 
    # http://www.atelier-rgss.com/
    #
    # ■ Переключение на определённую (Локальный свитч D) страницу ивента, в
    # зависимости от расстояния до игрока. Этот скрипт нужен для создания 
    # ивентов с двумя разными стилями поведения. Один - когда игрок далеко,
    # другой - когда он близко. Полезен при создании головоломок или ивентов
    # врагов.
    # ---------------------------------------------------------------------------
    # Чтобы определить расстояние срабатывания сенсора, допишите к имени ивента:
    #
    # <sensorX>
    #
    # X - Расстояние, на котором сработает сенсор.
    #
    # Например - <sensor5>
    # ---------------------------------------------------------------------------
    # ПРИМЕЧАНИЕ - Не забудьте создать новую страницу и указать на ней условие
    # с локальным свитчем, чтобы сенсор сработал как надо.
    #==============================================================================
    module MOG
      # Укажите свитч, который будет использоваться для сенсора. ( A, B, C, D )
      SENSOR_KEY = "D"
    end  
    #==============================================================================
    # Game_Event
    #==============================================================================
    class Game_Event < Game_Character
      #--------------------------------------------------------------------------
      # ● initialize
      #--------------------------------------------------------------------------
      alias mog_sensor_range initialize
      def initialize(map_id, event)
        if event.name =~ /<sensor(\d+)>/i
            @sensor_range = $1.to_i
        else    
            @sensor_range = 0
        end
        @key_act = false
        @key_act_old = @key_act
        mog_sensor_range(map_id, event)    
      end    
      #--------------------------------------------------------------------------
      # ● update
      #--------------------------------------------------------------------------
      alias mog_sensor_update update
      def update
          mog_sensor_update
          if @sensor_range > 0
             sx = $game_player.x - self.x
             sy = $game_player.y - self.y
             range = (sx.abs + sy.abs)
             sensor = (range >= @sensor_range)      
             if sensor
                @key_act = false
              else
                @key_act = true
             end
           end  
         page_check if @key_act_old != @key_act
       end  
      #--------------------------------------------------------------------------
      # ● page_check
      #--------------------------------------------------------------------------   
       def page_check
          @key_act_old = @key_act
          key = [@map_id, @event.id, MOG::SENSOR_KEY]
          $game_self_switches[key] = @key_act
          refresh
       end
    end
    
    
    $mog_rgssvx_event_sensor_range = true

    Для RPG Maker VX:
    Код:
    #==============================================================================
    # MOG VX - Event Sensor Range
    #==============================================================================
    # Автор: Moghunter 
    # http://www.atelier-rgss.com/
    #
    # ■ Переключение на определённую (Локальный свитч D) страницу ивента, в
    # зависимости от расстояния до игрока. Этот скрипт нужен для создания 
    # ивентов с двумя разными стилями поведения. Один - когда игрок далеко,
    # другой - когда он близко. Полезен при создании головоломок или ивентов
    # врагов.
    # ---------------------------------------------------------------------------
    # Чтобы определить расстояние срабатывания сенсора, допишите к имени ивента:
    #
    # <sensorX>
    #
    # X - Расстояние, на котором сработает сенсор.
    #
    # Например - <sensor5>
    # ---------------------------------------------------------------------------
    # ПРИМЕЧАНИЕ - Не забудьте создать новую страницу и указать на ней условие
    # с локальным свитчем, чтобы сенсор сработал как надо.
    #==============================================================================
    module MOG
      # Укажите свитч, который будет использоваться для сенсора. ( A, B, C, D )
      SENSOR_KEY = "D"
    end 
    #==============================================================================
    # Game_Event
    #==============================================================================
    class Game_Event < Game_Character
      #--------------------------------------------------------------------------
      # ● initialize
      #--------------------------------------------------------------------------
      alias mog_sensor_range initialize
      def initialize(map_id, event)
        if event.name =~ /<sensor(\d+)>/i
            @sensor_range = $1.to_i
        else    
            @sensor_range = 0
        end
        @key_act = false
        @key_act_old = @key_act
        mog_sensor_range(map_id, event)    
      end    
      #--------------------------------------------------------------------------
      # ● update
      #--------------------------------------------------------------------------
      alias mog_sensor_update update
      def update
          mog_sensor_update
          if @sensor_range > 0
             sx = distance_x_from_player
             sy = distance_y_from_player
             range = (sx.abs + sy.abs)
             sensor = (range >= @sensor_range)      
             if sensor
                @key_act = false
              else
                @key_act = true
             end
           end  
         page_check if @key_act_old != @key_act
       end  
      #--------------------------------------------------------------------------
      # ● page_check
      #--------------------------------------------------------------------------   
       def page_check
          @key_act_old = @key_act
          key = [@map_id, @event.id, MOG::SENSOR_KEY]
          $game_self_switches[key] = @key_act
          refresh
       end
    end
    
    
    $mog_rgssvx_event_sensor_range = true

Страница 2 из 2 ПерваяПервая 12

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •