Code:
class Game_Event
  alias trigger_refresh refresh
  attr_reader :triggertarget
  def refresh
    trigger_refresh
    @triggertarget = -1
    return if @list.nil?
    for i in 0...@list.size
      if @list[i].code == 108
        if @list[i].parameters.to_s.upcase == "TRIGGER"
          @trigger = -1
        end
        if @list[i+1].code == 408
          @triggertarget = @list[i+1].parameters.to_s.to_i
        end
      end
    end
  end
  def check_event_trigger_touch(x, y)
    if $game_system.map_interpreter.running?
      return
    end
    if @trigger == 2 and x == $game_player.x and y == $game_player.y
      if not jumping? and not over_trigger?
        start
      end
    else
      for event in $game_map.events.values
        next unless event.trigger == -1
        next if self.id != event.triggertarget and event.triggertarget != -1
        next if event == self
        if not jumping? and not over_trigger?
          if event.x == x and event.y == y
            event.start
            break
          end
        end
      end
    end
  end
  def lock
    if @locked
      return
    end
    @prelock_direction = @direction
    turn_toward_player if @trigger != -1
    @locked = true
  end
end
das vorherige script damit überschreiben.
aktiviert wird es wieder über ein kommentar mit trigger und wenn es nur durch ein bestimmtes event ausgelöst werden soll, musst du in die zeile darunter die id dieses events eingeben.
bsp
Code:
trigger
2
wenn keine zahl eingegeben wird, kann das event durch jedes event gestartet werden wie in der alten version.

außerdem hab ich den bug entfernt, dass sich das gestartete event zum spieler dreht.