UltimaForum

Wsparcie [XP] - Część Menu

Yoroiookami - Sob 06 Mar, 2010 13:12
Temat postu: Część Menu
Witam, mam kolejny bardzo ciekawy problem, który w moim wypadku jest w stanie narobić sporo bałaganu.
Spodziewam się że to będzie trudne, ale już wyjaśniam:
W moich grach najczęściej używam wielu przedmiotów niepotrzebnych, żeby zrobić takie przełączniki dla zdarzeń. Chodzi o warunki, że przy pierwszej rozmowie to, przy drugiej tamto.
Niestety w ten sposób postać zaopatrzona jest w stertę niepotrzebnych przedmiotów, które wyświetlają się w menu. Chciałbym prosić o skrypt(najlepiej), albo poradę - czy da się 'wyłączyć' te przedmioty z Menu? Tak żeby te wybrane tam pozostały?

A jeżeli nie, to da się usunąć cały ten dział "Przedmioty" z Menu?

*Używam Menu w formie koła.

pw115 - Sob 06 Mar, 2010 13:34

Chcesz usunąć opcję "Przedmioty" w menu ?
Yoroiookami - Sob 06 Mar, 2010 13:57

Time - w skrócie, to opcja numer 2, wolałbym po prostu "uniewidocznić" przedmioty, których gracz nie powinien widzieć.
Ayene - Sob 06 Mar, 2010 14:11

Zobacz, czy o to Tobie chodziło (wklej nad Main):
Spoiler:

Kod:
# Ukrycie przedmiotu w Menu
# By Ayene
# www.ultimateam.pl

module Ayene
  UKRYTE_PRZEDMIOTY = [1, 4] # ID przedmiotu, który ma być ukryty w menu
  UKRYTA_BRON = [1, 2] # ID broni, która ma być ukryta w menu
  UKRYTY_PANCERZ = [1, 4] # ID pancerza, który ma być ukryty w menu
end

class Window_Item < Window_Selectable

  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []   
    for i in 1...$data_items.size
      if $game_party.item_number(i) > 0 && !Ayene::UKRYTE_PRZEDMIOTY.include?(i)
        @data.push($data_items[i])
      end
    end   
    unless $game_temp.in_battle
      for i in 1...$data_weapons.size
        if $game_party.weapon_number(i) > 0 && !Ayene::UKRYTA_BRON.include?(i)
          @data.push($data_weapons[i])
        end
      end
      for i in 1...$data_armors.size
        if $game_party.armor_number(i) > 0 && !Ayene::UKRYTY_PANCERZ.include?(i)
          @data.push($data_armors[i])
        end
      end
    end   
    @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
end


Yoroiookami - Sob 06 Mar, 2010 14:44

Dzięki Ayane :* z tego co widzę to dokładnie to, czego potrzebowałem!
Jeszcze przetestuję, ale wygląda obiecująco. :)

Działa!
Jeszcze raz ci dziękuję. :przytul:


Powered by phpBB modified by Przemo © 2003 phpBB Group