То что ты представил уже вправлено? Можно добавить в первый пост?
То что ты представил уже вправлено? Можно добавить в первый пост?
Да не, из того поста не надо. Ч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
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)
Социальные закладки