01-17-2018, 12:21 AM 
	
	
	
		Try this. Not sure if this is what you are looking for but trying replacing refresh method in Shop Buy with this.
	
	
	
	
	
Code:
def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    for goods_item in @shop_goods
      case goods_item[0]
      when 0
        item = $data_items[goods_item[1]]
      when 1
        item = $data_weapons[goods_item[1]]
      when 2
        item = $data_armors[goods_item[1]]
      end
      if item != nil
        @data.push(item)
      end
    end
    # Sort by Name
    @data.sort! { |a,b| a.name <=> b.name }
    # If item count is not 0, make a bit map and draw all items
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      for i in 0...@item_max
        draw_item(i)
      end
    end
  end
 
 
 Sorting Items in Shop Window
 Sorting Items in Shop Window
 

