collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: Stark dezimiertes Menü  (Gelesen 2410 mal)

Rush

  • Gast
Stark dezimiertes Menü
« am: Juni 07, 2008, 09:56:40 »
Huhu liebe Community.

Folgendes:
Ich arbeite an einem Spiel, welches weniger rpg-lastig und mehr ein klassisches Adventure sein soll. Dafür benötige ich natürlich das Menü, so wie es im Spiel standard ist, nicht. Genaugenommen würde es mir reichen, wenn ich im Menü die Punkte Items, Save und End Game hätte. Auch die Anzeige der Gruppe brauche ich nicht. Hat jemand eine Idee, wie ich das am einfachsten verwirklichen kann oder noch besser, gibt es schon ein solches Script?


Stark dezimiertes Menü

ERZENGEL

  • Gast
Stark dezimiertes Menü
« Antwort #1 am: Juni 07, 2008, 11:38:26 »
Kopier erstmal Scene_Menu und fügs in Materials (bzw. unter den Skripten, die mit Scene_ anfangen) nochmal neu ein (wg. Backup und so). Dann gehst du in Zeile 23 und löscht diese. Das ist nämlich das mit der Gruppe. Okay, in terminate und findest du ebenfalls @status_window. Die Zeile wird auch gelöscht. Bei update steht zweimal @status_window. Das erste kannst du entfernen. Beim zweiten Mal musst du die ganze Zeile mit elsif @status_window.active löschen und die folgende Zeile mit update_actor_selection auch.
So als nächstes kommt das Auswahlmenü dran, das in der Methode (fängt mit def an und ist dunkelblau hervorgehoben. Hört mit end dann wieder auf.) create_command_window erstellt wird. Da findest du Zeilen wie s1 = Vocab::item. Lösche einfach die ganze Zeile mit s2, s3 und s4. Das s2, s3 und s4 ist darunter nochmals zu finden in eckigen Klammern. Da ebenfalls rauslöschen, jedoch mit dem folgenden Komma! Ist, wie man aus der Deutschen Grammatik kennt, eine Aufzählung, aber halt in eckigen Klammern. Wieder ein wenig darunter steht in grün Disable skill, disable equip, disable status. Da du dies nicht mehr existiert kannst du diesen zeilen auch entfernen. Die 4 bei Disable Save wird dann zur 1 verändert, da drei Auswahlmöglichkeiten ja jetzt fehlen (4-3=1 ;)).
In der Methode update_command_selection findest du in den ersten Zeilen ebenfalls ein paar 4en, die du in 1 verändern darfst. Darunter lässt sich case @command_window.index finden. Dort löscht du when 1,2,3 und die darauffolgende Zeile. Die 4 wird zu 1 und die 5 zur 2. Den restlichen Methoden kannst du stehen einfach lassen oder wenn du dich traust auch entfernen, da sie nicht mehr benötigt werden.

Füge jetzt noch unter dem letzten end noch das hier ein:
Spoiler for Hiden:
#==============================================================================
# ** Scene_End
#------------------------------------------------------------------------------
#  This class performs game end screen processing.
#==============================================================================

class Scene_End < Scene_Base
  #--------------------------------------------------------------------------
  # * Return to Original Screen
  #--------------------------------------------------------------------------
  def return_scene
    $scene = Scene_Menu.new(5)
  end
end

#==============================================================================
# ** Scene_File
#------------------------------------------------------------------------------
#  This class performs the save and load screen processing.
#==============================================================================

class Scene_File < Scene_Base
  #--------------------------------------------------------------------------
  # * Return to Original Screen
  #--------------------------------------------------------------------------
  def return_scene
    if @from_title
      $scene = Scene_Title.new
    elsif @from_event
      $scene = Scene_Map.new
    else
      $scene = Scene_Menu.new(4)
    end
  end
end
Die 5 und die 4 wieder minus 3 und schon bist du fertig. Dann kannst du dem Skript noch nen passenden Namen unten links geben und dann in nem Testplay im Spiel bestauen :)
« Letzte Änderung: Juni 07, 2008, 11:41:40 von ERZENGEL »

Stark dezimiertes Menü

Rush

  • Gast
Stark dezimiertes Menü
« Antwort #2 am: Juni 07, 2008, 14:49:43 »
Klasse. Vielen Dank. Werde ich gleich mal probieren.


Edit: Funktioniert perfekt, Erzengel! Nochmal meinen Dank, auch dafür, dass ich dadurch selbst auch noch mal dazu gelernt habe.

Für alle, die es eventuell auch mal gebrauchen könnten, hier das gesamte geänderte Script:

[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']#======================================================================
========
# ** 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
    @gold_window = Window_Gold.new(0, 360)

  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
   
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    update_menu_background
    @command_window.update
    @gold_window.update
 
    if @command_window.active
      update_command_selection
 
    end
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    s1 = Vocab::item

   
   
    s5 = Vocab::save
    s6 = Vocab::game_end
    @command_window = Window_Command.new(160, [s1, 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
 
     
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item (1,false)     # Disable save
    end
  end
  #--------------------------------------------------------------------------
  # * Update Command Selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::cool.gif\" style=\"vertical-align:middle\" emoid=\"B)\" border=\"0\" alt=\"cool.gif\" /]
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 1
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 1
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
     
      when 1      # Save
        $scene = Scene_File.new(true, false, false)
      when 2      # 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::cool.gif\" style=\"vertical-align:middle\" emoid=\"B)\" border=\"0\" alt=\"cool.gif\" /]
      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
#==============================================================================
# ** Scene_End
#------------------------------------------------------------------------------
#  This class performs game end screen processing.
#==============================================================================

class Scene_End < Scene_Base
  #--------------------------------------------------------------------------
  # * Return to Original Screen
  #--------------------------------------------------------------------------
  def return_scene
    $scene = Scene_Menu.new(5)
  end
end

#==============================================================================
# ** Scene_File
#------------------------------------------------------------------------------
#  This class performs the save and load screen processing.
#==============================================================================

class Scene_File < Scene_Base
  #--------------------------------------------------------------------------
  # * Return to Original Screen
  #--------------------------------------------------------------------------
  def return_scene
    if @from_title
      $scene = Scene_Title.new
    elsif @from_event
      $scene = Scene_Map.new
    else
      $scene = Scene_Menu.new(4)
    end
  end
end
« Letzte Änderung: Juni 07, 2008, 15:20:10 von Rush »

Stark dezimiertes Menü

ERZENGEL

  • Gast
Stark dezimiertes Menü
« Antwort #3 am: Juni 07, 2008, 20:17:14 »
Bitte, aber du hast noch vergessen die 4 und die 5 zu ändern in 1 und 2 ^^

 


 Bild des Monats

rooftop party

Views: 6012
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal