Hm, das Script ist bei mir an mehreren Stellen etwas buggy.

Bei mir in Zeile 1531:
Code:
# If \oi[n]
    if c == "\015"
      @text.sub!(/\[([0-9]+)\]/, "")
      index = $1.to_i
      @text.sub!("  ", "")
      item = $data_items[index]
      # draw the icon
      icon = RPG::Cache.icon(item.icon_name)
      self.contents.blt(@x + 2, (@y * 32) + 4, icon, Rect.new(0, 0, 24, 24))
      @x += 24

      # go to next text
      return
    end
(@y * 32) ist natürlich Unsinn und führt dazu, dass deine Icons ständig falsch positioniert sind. Du fügst unter der Zeile icon = RPG:ache usw. die Zeile
line = contents.text_size("j").height
und statt (@y * 32) schreibst du (@y * line).

Dann das Problem mit dem abgeschnittenen Icon. Ich nehme mal an du passt die Fenstergröße an die Textgröße an.
Das Problem daran ist generell, dass das UMS offenbar nur nach Zeilen geht und Texthöhe, nicht aber nach Iconhöhe geht. Das zu ändern wäre auch etwas aufwendig (Script ist ja leider recht lang). Du könntest aber den Skalierungscode so umändern, dass er das Fenster größer macht wenn Icons vorkommen. Bei mir Zeile 799:
Code:
# Resize the window to fit the contents?
if $game_system.ums_mode == FIT_WINDOW_TO_TEXT
  width = 1
  text = @text.split("\n")
  height = 0
  i = 0
  for line in text
    # don't count this line's width if it has the ignr code
    if !line.include?("\023")
      width = [width, self.contents.text_size(line).width].max
      delta = self.contents.text_size(line).height
      height += delta + (delta * 0.2).to_i
    end
  end
Änderst du um in
Code:
# Resize the window to fit the contents?
if $game_system.ums_mode == FIT_WINDOW_TO_TEXT
  width = 1
  text = @text.split("\n")
  height = 0
  i = 0
  for line in text
    # don't count this line's width if it has the ignr code
    if !line.include?("\023")
      width = [width, self.contents.text_size(line).width].max
      delta = self.contents.text_size(line).height

      #EDIT
      if (12..15).any? {|q| line.include?(q.chr)} then
        delta = [delta, 24].max
      end

      height += delta + (delta * 0.2).to_i
    end
  end