Servus, ich hab mal wieder eine Frage.

In einem der Script die ich nutze findet sich dieser Abschnitt hier, der den Spieler vermutlich die Waffe wechseln lässt.

Code:
 def change_weapon(id=2)
   unless @waffe_aktuell.nil?
     spezab = @waffen_atr[@waffe_aktuell['Name']]['Spezial_Ablegen']
     eval(spezab) unless spezab.nil?
   end
   if @waffe[id].nil?
     $game_actors[@actor].set_graphic(@actor_graphic, 0, '', 0)
    else
     $game_actors[@actor].set_graphic(@waffen_atr[@waffe[id]['Name']]['Spielergrafik'], 0, '', 0)
     spezan = @waffen_atr[@waffe[id]['Name']]['Spezial_Anlegen']
     eval(spezan) unless spezan.nil?
   end
   $game_system.se_play(@waffenwechselsound)
   @waffe[0] = id
   @waffe_aktuell = @waffe[@waffe[0]]
   @hud.refresh
   $game_player.refresh
 end
An einer anderen Stelle in einem anderen Script zuvor, wird der Waffenwechsel glaube ich ausgelöst.

Code:
  if @option_allow_weapon_change
    for taste in 0..@waffe.size - 2
      if @key.getkey_id(49+taste) and @waffe[0] != taste+1
      change_weapon(taste+1)
    end
   end
  end
Nun habe ich versucht den Waffenwechsel über ein Menü zu ermöglichen, dessen Script wiederum denen vorangestellt ist.
Ich habe dazu die Zeile: " change_weapon(x) " eingefügt, wobei x für 0,1,2,3,49,50,51 steht. Leider bekomme ich immer den
NoMethod-Fehler. Ich rufe die Funktion also scheinbar nicht richtig auf. Kann da jemand vielleicht etwas Licht ins Dunkel bringen?