Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Zamknięty przez: Ayene
Pią 04 Maj, 2012 17:45
Przedmiot w menu
Autor Wiadomość
marsonek 




Preferowany:
RPG Maker VX

Dołączył: 18 Gru 2011
Posty: 18
Wysłany: Nie 15 Kwi, 2012 23:08
Przedmiot w menu
Siemka. Potrzebuję w swojej grze coś takiego żeby jak zdobędę przedmiot w grze a jest ich sporo, wyskakiwał on w głównym menu(jak na print screenie). Chodzi mi o skrypt.
Z góry dzięki za pomoc


________________________
Avara is the best
 
 
 
marsonek 




Preferowany:
RPG Maker VX

Dołączył: 18 Gru 2011
Posty: 18
Wysłany: Pon 16 Kwi, 2012 15:50
Bravo. Oczywiście wielkie dzięki za pomoc :D Nie wiem czy zaóważyłeś ale temat postu jest zupełnie inny. Mogłeś zachowac dla siebie zirytowanie moim czynem zakrywania nazw w menu.
Bardzo potrzebne mi jest do gry to co zamieściłem wyżej. Nie wiem czy będe wrzucał ją tu, bo ta gierka idzie na konkurs :D oczywiście zamieszczę podziękowania osobom które pomogły
________________________
Avara is the best
 
 
 
przemusiek25 



Pomógł: 21 razy
Dołączył: 26 Sty 2012
Posty: 84
Wysłany: Wto 17 Kwi, 2012 14:52
Mógł bym coś takiego zrobić.... ale muszę dopytać... to ma się tyczyć jednego zdobywanego w różnych ilościach przedmiotu, czy jak napisałeś w pierwszym poście przedmiotów będzie wiele różnej maści i jakości?
Bo jeśli miało by być ich sporo to menu było by zbyt długie przez co podstawowe opcje trochę by zjechały.
 
 
marsonek 




Preferowany:
RPG Maker VX

Dołączył: 18 Gru 2011
Posty: 18
Wysłany: Wto 17 Kwi, 2012 22:42
"to ma się tyczyć jednego zdobywanego w różnych ilościach"

Dokładnie o to mi chodzi ^^
________________________
Avara is the best
 
 
 
przemusiek25 



Pomógł: 21 razy
Dołączył: 26 Sty 2012
Posty: 84
Wysłany: Pią 20 Kwi, 2012 18:15
Zacząłem już robić skrypt, zrobiony jest w 80% ale niestety ze względu na brak czasu, prace nad skryptem się przedłużają
 
 
przemusiek25 



Pomógł: 21 razy
Dołączył: 26 Sty 2012
Posty: 84
Wysłany: Nie 22 Kwi, 2012 19:33
Skrypt zrobiony, przerobiłem skrypt Scene_Menu, ale należy i tak najlepiej wrzucić go do skryptów, wszystko opisane jest i tak jeszcze raz w skrypcie.
http://www.ultimateam.pl/viewtopic.php?t=8944
 
 
marsonek 




Preferowany:
RPG Maker VX

Dołączył: 18 Gru 2011
Posty: 18
Wysłany: Nie 22 Kwi, 2012 21:25
Dzięki wielkie :P A mógł byś do tego zrobić tak żeby nie było w menu tego "UZYJ POTION" ?
________________________
Avara is the best
 
 
 
przemusiek25 



Pomógł: 21 razy
Dołączył: 26 Sty 2012
Posty: 84
Wysłany: Pon 23 Kwi, 2012 14:01
Ten tekst możesz zmienić w pierwszych linijkach skryptu. Albo że chcesz tak że jeśli nie ma takiego przedmiotu to ma nie pojawiać sie w menu, a jeśli będzie chociaż jeden to ma sie pojawic?
 
 
marsonek 




Preferowany:
RPG Maker VX

Dołączył: 18 Gru 2011
Posty: 18
Wysłany: Pon 23 Kwi, 2012 16:30
Ja nie chcę zmienić tekst, tylko żeby w ogóle go nie było...
Poradziłem już sobie :D

Wyrzuciłem całe "Create Command Window"
________________________
Avara is the best
 
 
 
marsonek 




Preferowany:
RPG Maker VX

Dołączył: 18 Gru 2011
Posty: 18
Wysłany: Pon 23 Kwi, 2012 16:44
Jednak nie :( Wszystkie opcje w menu "przesunęły się w dół" (ich opcje)
________________________
Avara is the best
 
 
 
przemusiek25 



Pomógł: 21 razy
Dołączył: 26 Sty 2012
Posty: 84
Wysłany: Pon 23 Kwi, 2012 18:12
Na początku pisałeś że chcesz aby było w menu, teraz piszesz że nie chcesz, ale reszta z tym, w konfiguracjach skryptu można ustalić czy ma się pojawiać w menu czy nie ma się pojawiać.

Spoiler:

Kod:

#==============================================================================
# ** Konfiguracja
#------------------------------------------------------------------------------
#  Poniżej należy wpisać tylko Id przedmiotu w bazie oraz jego nazwę w Menu
#  Skrypt zalecam umieścić poniżej Materials ale powyżej wszystkimi skryptami
#==============================================================================

module Przedmiot
ID = 2   # ID przedmiotu
MENUNAZWA = "Użyj Potiona"  # Nazwa przedmiotu w menu, należy podać w cudzysłowiu
JESTMENU = false   # Jeśli true powyżej wpisana nazwa pokaże się w menu.
end

#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs the menu screen processing.
#==============================================================================
class Scene_Menu < Scene_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    create_command_window
    @PrzedmiotID = $data_items[Przedmiot::ID]
    @gold_window = Window_Gold.new(0, 360)
    @scene_item = Scene_Item.new
    @przedmiot_window = Window_Przedmiot.new(0, 304)
    @status_window = Window_MenuStatus.new(160, 0)
    @target_window = Window_MenuStatus.new(160, 0)
    @ILOSCPRZEDMIOTOW = 0
    hide_target_window
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
    @przedmiot_window.dispose
    @status_window.dispose
    @target_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    update_menu_background
    @command_window.update
    @gold_window.update
    @przedmiot_window.update
    @status_window.update
    @target_window.update
    if @command_window.active
      update_command_selection
    elsif @status_window.active
      update_actor_selection
    elsif @target_window.active
      update_target_selection
    end
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    s7 = Przedmiot::MENUNAZWA
    if Przedmiot::JESTMENU == true
      @command_window = Window_Command.new(160, [s7, s1, s2, s3, s4, s5, s6])
    else
      @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
    end
    @command_window.index = @menu_index
    if Przedmiot::JESTMENU == true
      if $game_party.members.size == 0          # If number of party members is 0
        @command_window.draw_item(1, false)     # Disable item
        @command_window.draw_item(2, false)     # Disable skill
        @command_window.draw_item(3, false)     # Disable equipment
        @command_window.draw_item(4, false)     # Disable status
      end
      if $game_system.save_disabled             # If save is forbidden
        @command_window.draw_item(5, false)     # Disable save
      end
      if $game_party.item_number($data_items[Przedmiot::ID]) == 0
        @command_window.draw_item(0, false)
      end
    else
      if $game_party.members.size == 0          # If number of party members is 0
        @command_window.draw_item(0, false)     # Disable item
        @command_window.draw_item(1, false)     # Disable skill
        @command_window.draw_item(2, false)     # Disable equipment
        @command_window.draw_item(3, false)     # Disable status
      end
      if $game_system.save_disabled             # If save is forbidden
        @command_window.draw_item(4, false)     # Disable save
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Update Command Selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if Przedmiot::JESTMENU == true
        if $game_party.members.size == 0 and @command_window.index < 5 and @command_window.index > 1
          Sound.play_buzzer
          return
        elsif $game_system.save_disabled and @command_window.index == 5
          Sound.play_buzzer
          return
        elsif $game_party.item_number($data_items[Przedmiot::ID]) == 0 and @command_window.index == 0
          Sound.play_buzzer
          return
        end
        Sound.play_decision
        case @command_window.index
        when 0      # Item
          @item = $data_items[Przedmiot::ID]
          if $game_party.item_can_use?(@item)
            Sound.play_decision
            determine_item
          else
            Sound.play_buzzer
          end
#~           $game_party.gain_item(@PrzedmiotID, -1)
          @przedmiot_window.refresh
          if $game_party.item_number($data_items[Przedmiot::ID]) == 0
            @command_window.draw_item(0, false)
          end
         # $game_party.gain_item($data_items[Przedmiot::ID], -1)
        when 1      # Item
          $scene = Scene_Item.new
        when 2,3,4  # Skill, equipment, status
          start_actor_selection
        when 5      # Save
          $scene = Scene_File.new(true, false, false)
        when 6      # End Game
          $scene = Scene_End.new
        end
      else
        if $game_party.members.size == 0 and @command_window.index < 4
          Sound.play_buzzer
          return
        elsif $game_system.save_disabled and @command_window.index == 4
          Sound.play_buzzer
          return
        end
        Sound.play_decision
        case @command_window.index
        when 0      # Item
          $scene = Scene_Item.new
        when 1,2,3  # Skill, equipment, status
          start_actor_selection
        when 4      # Save
          $scene = Scene_File.new(true, false, false)
        when 5      # End Game
          $scene = Scene_End.new
        end
      end
    end
  end
 
  #--------------------------------------------------------------------------
  # * Start Actor Selection
  #--------------------------------------------------------------------------
  def start_actor_selection
    @command_window.active = false
    @status_window.active = true
    if $game_party.last_actor_index < @status_window.item_max
      @status_window.index = $game_party.last_actor_index
    else
      @status_window.index = 0
    end
  end
  #--------------------------------------------------------------------------
  # * End Actor Selection
  #--------------------------------------------------------------------------
  def end_actor_selection
    @command_window.active = true
    @status_window.active = false
    @status_window.index = -1
  end
  #--------------------------------------------------------------------------
  # * Update Actor Selection
  #--------------------------------------------------------------------------
  def update_actor_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_actor_selection
    elsif Input.trigger?(Input::C)
      $game_party.last_actor_index = @status_window.index
      Sound.play_decision
      if Przedmiot::JESTMENU == true
        case @command_window.index
        when 2  # skill
          $scene = Scene_Skill.new(@status_window.index)
        when 3  # equipment
          $scene = Scene_Equip.new(@status_window.index)
        when 4  # status
          $scene = Scene_Status.new(@status_window.index)
        end
      else
        case @command_window.index
        when 1  # skill
          $scene = Scene_Skill.new(@status_window.index)
        when 2  # equipment
          $scene = Scene_Equip.new(@status_window.index)
        when 3  # status
          $scene = Scene_Status.new(@status_window.index)
        end
      end
    end
  end
 
#--------------------------------------------------------------------------
# * Używanie przedmiotu
#--------------------------------------------------------------------------
    def determine_item
    if @item.for_friend?
      show_target_window
      if @item.for_all?
        @target_window.index = 99
      else
        if $game_party.last_target_index < @target_window.item_max
          @target_window.index = $game_party.last_target_index
        else
          @target_window.index = 0
        end
      end
    else
      use_item_nontarget
    end
  end

  def update_target_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
#      if $game_party.item_number(@item) == 0    # If item is used up
#        @item_window.refresh                    # Recreate the window contents
#      end
      hide_target_window
    elsif Input.trigger?(Input::C)
      if not $game_party.item_can_use?(@item)
        Sound.play_buzzer
      else
        determine_target
      end
    end
  end


  def determine_target
    used = false
    if @item.for_all?
      for target in $game_party.members
        target.item_effect(target, @item)
        used = true unless target.skipped
      end
    else
      $game_party.last_target_index = @target_window.index
      target = $game_party.members[@target_window.index]
      target.item_effect(target, @item)
      used = true unless target.skipped
    end
    if used
      use_item_nontarget
    else
      Sound.play_buzzer
    end
#    @przedmiot_window.refresh
  end

  def show_target_window#(right)
    @command_window.active = false
    width_remain = 544 - @target_window.width
#    @target_window.x = right ? width_remain : 0
    @target_window.visible = true
    @target_window.active = true
#~     if right
#~       @viewport.rect.set(0, 0, width_remain, 416)
#~       @viewport.ox = 0
#~     else
#~       @viewport.rect.set(@target_window.width, 0, width_remain, 416)
#~       @viewport.ox = @target_window.width
#~     end
end

  def hide_target_window
    @command_window.active = true
    @target_window.visible = false
    @target_window.active = false
#~     @viewport.rect.set(0, 0, 544, 416)
#~     @viewport.ox = 0
  end

  def use_item_nontarget
    Sound.play_use_item
    $game_party.consume_item(@item)
#~     @item_window.draw_item(@item_window.index)
    @target_window.refresh
    @status_window.refresh
    @przedmiot_window.refresh
    if $game_party.all_dead?
      $scene = Scene_Gameover.new
    elsif @item.common_event_id > 0
      $game_temp.common_event_id = @item.common_event_id
      $scene = Scene_Map.new
    end
  end
end

#==============================================================================
# ** Window_Przedmiot
#------------------------------------------------------------------------------
#  This window displays the amount of item.
#==============================================================================

class Window_Przedmiot < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     x : window X coordinate
  #     y : window Y coordinate
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 160, WLH + 32)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    @ilosc = $game_party.item_number($data_items[Przedmiot::ID])
    @ILOSCPRZEDMIOTOW = @ilosc
    draw_icon($data_items[Przedmiot::ID].icon_index, 106, 0, true)
    self.contents.draw_text(4, 0, 100, 32, @ILOSCPRZEDMIOTOW, 2)
#    draw_currency_value(@IloscPrzedmiotuID, 4, 0, 120)
  end
end

 
 
marsonek 




Preferowany:
RPG Maker VX

Dołączył: 18 Gru 2011
Posty: 18
Wysłany: Pon 23 Kwi, 2012 21:09
Nie kompatybilny se skryptem "dziennik zadań"
________________________
Avara is the best
 
 
 
przemusiek25 



Pomógł: 21 razy
Dołączył: 26 Sty 2012
Posty: 84
Wysłany: Wto 24 Kwi, 2012 13:03
Skoro zależy tobie tylko na okienku z ilością przedmiotów, mam dla ciebie skrócony skrypt.
Powinien być kompatybilny ze wszystkimi skryptami

Spoiler:

Kod:

#==============================================================================
# ** Konfiguracja
#------------------------------------------------------------------------------
#  Poniżej należy wpisać tylko Id przedmiotu w bazie.
#  Skrypt zalecam umieścić poniżej Materials ale powyżej wszystkimi skryptami
#==============================================================================

module Przedmiot
ID = 2   # ID przedmiotu
end

#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs the menu screen processing.
#==============================================================================

class Scene_Menu < Scene_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    create_command_window
    @PrzedmiotID = $data_items[Przedmiot::ID]
    @przedmiot_window = Window_Przedmiot.new(0, 304)
    @gold_window = Window_Gold.new(0, 360)
    @status_window = Window_MenuStatus.new(160, 0)
    @ILOSCPRZEDMIOTOW = 0
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
    @przedmiot_window.dispose
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    update_menu_background
    @command_window.update
    @gold_window.update
    @przedmiot_window.update
    @status_window.update
    if @command_window.active
      update_command_selection
    elsif @status_window.active
      update_actor_selection
    end
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(4, false)     # Disable save
    end
  end
  #--------------------------------------------------------------------------
  # * Update Command Selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
      when 1,2,3  # Skill, equipment, status
        start_actor_selection
      when 4      # Save
        $scene = Scene_File.new(true, false, false)
      when 5      # End Game
        $scene = Scene_End.new
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Start Actor Selection
  #--------------------------------------------------------------------------
  def start_actor_selection
    @command_window.active = false
    @status_window.active = true
    if $game_party.last_actor_index < @status_window.item_max
      @status_window.index = $game_party.last_actor_index
    else
      @status_window.index = 0
    end
  end
  #--------------------------------------------------------------------------
  # * End Actor Selection
  #--------------------------------------------------------------------------
  def end_actor_selection
    @command_window.active = true
    @status_window.active = false
    @status_window.index = -1
  end
  #--------------------------------------------------------------------------
  # * Update Actor Selection
  #--------------------------------------------------------------------------
  def update_actor_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_actor_selection
    elsif Input.trigger?(Input::C)
      $game_party.last_actor_index = @status_window.index
      Sound.play_decision
      case @command_window.index
      when 1  # skill
        $scene = Scene_Skill.new(@status_window.index)
      when 2  # equipment
        $scene = Scene_Equip.new(@status_window.index)
      when 3  # status
        $scene = Scene_Status.new(@status_window.index)
      end
    end
  end
end


#==============================================================================
# ** Window_Przedmiot
#------------------------------------------------------------------------------
#  This window displays the amount of item.
#==============================================================================

class Window_Przedmiot < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     x : window X coordinate
  #     y : window Y coordinate
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 160, WLH + 32)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    @ilosc = $game_party.item_number($data_items[Przedmiot::ID])
    @ILOSCPRZEDMIOTOW = @ilosc
    draw_icon($data_items[Przedmiot::ID].icon_index, 106, 0, true)
    self.contents.draw_text(4, 0, 100, 32, @ILOSCPRZEDMIOTOW, 2)
#    draw_currency_value(@IloscPrzedmiotuID, 4, 0, 120)
  end
end

 
 
marsonek 




Preferowany:
RPG Maker VX

Dołączył: 18 Gru 2011
Posty: 18
Wysłany: Sro 25 Kwi, 2012 21:34
Niestety nie
________________________
Avara is the best
 
 
 
Wyświetl posty z ostatnich:   
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene